)]}'
{
  "log": [
    {
      "commit": "ae5de0ff0bc24664a053109c6caa782ba2ad7c53",
      "tree": "d1362b5cf494f2495d318f6ca6eccd79aae77997",
      "parents": [
        "672c6108a51bf559d19595d9f8193dfd81f0f752"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 04 21:32:01 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 04 21:32:01 2006 -0700"
      },
      "message": "[SPARC64]: Fix missing fold at end of checksums.\n\nBoth csum_partial() and the csum_partial_copy*() family of routines\nforget to do a final fold on the computed checksum value on sparc64.\nSo do the standard Sparc \"add + set condition codes, add carry\"\nsequence, then make sure the high 32-bits of the return value are\nclear.\n\nBased upon some excellent detective work and debugging done by\nRichard Braun and Samuel Thibault.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d78d4beb64eb07d50665432867971c481192ebf",
      "tree": "d007f5721ba96abff820f76db77f11ae578722f8",
      "parents": [
        "d59288b75797fd982546aee7ba24a495dee128dd"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:14 2006 -0800"
      },
      "message": "[PATCH] bitops: sparc64: use generic bitops\n\n- remove __{,test_and_}{set,clear,change}_bit() and test_bit()\n- remove ffz()\n- remove __ffs()\n- remove generic_fls()\n- remove generic_fls64()\n- remove sched_find_first_bit()\n- remove ffs()\n\n- unless defined(ULTRA_HAS_POPULATION_COUNT)\n\n  - remove generic_hweight{64,32,16,8}()\n\n- remove find_{next,first}{,_zero}_bit()\n- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb8646d8340fa7c1b66a037428e39f85f8738f0a",
      "tree": "931d4505a0ba65124b662f0f8b5935e0b154bd66",
      "parents": [
        "88d7079458f87d6f2d2261b2f87b7b9416019f5e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 18 23:55:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:16:41 2006 -0800"
      },
      "message": "[SPARC64]: Optimized TSB table initialization.\n\nWe only need to write an invalid tag every 16 bytes,\nso taking advantage of this can save many instructions\ncompared to the simple memset() call we make now.\n\nA prefetching implementation is implemented for sun4u\nand a block-init store version if implemented for Niagara.\n\nThe next trick is to be able to perform an init and\na copy_tsb() in parallel when growing a TSB table.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36344762396ca868d6076c41a84bda25f1ed9d3c",
      "tree": "7471ce9b78736e538417267f1bc27687a1b09542",
      "parents": [
        "c4e9249b1924118693f298ee8d38f7fe43587af3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 25 17:16:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:14:03 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized XOR functions for RAID.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ca2557c48000daa8183b07d83f582a597705ebe",
      "tree": "2ce53d5b4d6f21509dc4bc5fdeead1f559e626a0",
      "parents": [
        "d371c0c17466b7e7bb4d395f96aa885a23df1073"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 21 14:29:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:50 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized memset/bzero/clear_user.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3763be32d591cacf808c36390a8af3f2784cde5f",
      "tree": "124ae01bf91905a6d3af931caf28acf82900699b",
      "parents": [
        "3f19a84e39619053f117bd5bb9183c5bfea7db45"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 12:33:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:29 2006 -0800"
      },
      "message": "[SPARC64]: Define ARCH_HAS_READ_CURRENT_TIMER.\n\nThis gives more consistent bogomips and delay() semantics,\nespecially on sun4v.  It gives weird looking values though...\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c857e3fdbc306e95fdcaad1d8f3ea6bc8e7eea99",
      "tree": "6fb1cfc9b8742b56db032fcdb4294e693bb75ffa",
      "parents": [
        "46f860471483dce9ba5ce682a69c61cbceb54e52"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Feb 17 10:35:23 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:13:28 2006 -0800"
      },
      "message": "[SPARC64]: __bzero_noasi --\u003e __clear_user\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6241e5cc6afe2c5b75b51e1c890df18f05838cf6",
      "tree": "557eb4d7f530b9229a87c0a8d9f6013b9987f6f5",
      "parents": [
        "1a7a242c898dd131f2df005c492e9b44fb8900e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 23:28:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:29 2006 -0800"
      },
      "message": "[SPARC64]: Fix branch signedness bug in all code patching.\n\nThe bug that hit SUN4V TLB patching exists elsewhere.\nMake sure we cure all such cases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4bce90ea2069e5a87beac806de3090ab32128d5",
      "tree": "3983a206c8060ef65ba17945d1c9f69e68d88b3d",
      "parents": [
        "490384e752a43aa281ed533e9de2da36df25c337"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 21:57:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:25 2006 -0800"
      },
      "message": "[SPARC64]: Deal with PTE layout differences in SUN4V.\n\nYes, you heard it right, they changed the PTE layout for\nSUN4V.  Ho hum...\n\nThis is the simple and inefficient way to support this.\nIt\u0027ll get optimized, don\u0027t worry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d4bc95b9c205a7374afbe93b38d9c2757a45862",
      "tree": "e43b03a266da9786355941246b77f30058e7058d",
      "parents": [
        "e92b92571c85dfa1cdc56e88566134c51ae1d12b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 11 10:30:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:12:20 2006 -0800"
      },
      "message": "[SPARC64]: Fix some Niagara memcpy() bugs.\n\nWe need to restore the %asi register properly.\nFor the kernel this means get_fs(), for user this\nmeans ASI_PNF.\n\nAlso, NGcopy_to_user.S was including U3memcpy.S instead\nof NGmemcpy.S, oops :-)\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8591e3027235d6d11b958e43379f2ee7b7114841",
      "tree": "ce3f036ac64e20f7d75bae04e5362c97bc9228e6",
      "parents": [
        "df7d6aec96ab98cb182dd5138a85bdc363a9bf0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 07 16:09:12 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:54 2006 -0800"
      },
      "message": "[SPARC64]: Niagara copy/clear page.\n\nHappily we have no D-cache aliasing issues on these\nchips, so the implementation is very straightforward.\n\nAdd a stub in bootup which will be where the patching\ncalls will be made for niagara/sun4v/hypervisor.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "398d10830843bda7798f71052b54a5341a8ddd53",
      "tree": "3c2f7da709f2f5e21fe3e5678276eae2d665735f",
      "parents": [
        "30ddbdb03339fc62480ddbff800a44066bb14455"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 05 16:41:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:42 2006 -0800"
      },
      "message": "[SPARC64]: Niagara optimized memcpy() and copy_{to,from}_user().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4da808c352c290d3f762933d44d4ab90c2fd65f3",
      "tree": "da99326440777580a19c345a5b0d52fbf800042b",
      "parents": [
        "4753eb2ac7022b999e5e484f1a5dc001dba22bd3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 18:33:00 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 20 01:11:22 2006 -0800"
      },
      "message": "[SPARC64]: Fix bogus flush instruction usage.\n\nSome of the trap code was still assuming that alternate\nglobal %g6 was hard coded with current_thread_info().\nLet\u0027s just consistently flush at KERNBASE when we need\na pipeline synchronization.  That\u0027s locked into the TLB\nand will always work.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d000d5b9689734006d89fe9b7597c758b74a9fb",
      "tree": "1336c7805645b29eec0617b4554e5e0b37222123",
      "parents": [
        "501f74f29498543c27f4f9697f5c1e980dd2de0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 04 23:23:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 04 23:23:56 2006 -0800"
      },
      "message": "[SPARC64]: Mark __ex_table section correctly.\n\nWe must use the \"a\" (allocate) attribute every time we\nemit an entry into the __ex_table section.\n\nFor consistency, use \"a\" instead of #alloc which is some\nSolaris compat cruft GNU as provides on Sparc.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba6399334dd8a75bd295de26496196c720abae0a",
      "tree": "0535e4bcfe8da7d0dde0bcf1ba8cb914c5f12e46",
      "parents": [
        "d85c3553df5e24cb3117385f0a17e1cc0436d148"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 07 13:30:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 07 13:30:49 2005 -0700"
      },
      "message": "[SPARC64]: Fix userland FPU state corruption.\n\nWe need to use stricter memory barriers around the block\nload and store instructions we use to save and restore the\nFPU register file.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efdc1e2083e04cc70721d55803889b346c1a3de2",
      "tree": "9f24fab33f795a69bb2dc43a8f3613392762ff02",
      "parents": [
        "5fd29752f09cabff582f65c0ce35518db4c64937"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 21:06:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 21:06:47 2005 -0700"
      },
      "message": "[SPARC64]: Simplify user fault fixup handling.\n\nInstead of doing byte-at-a-time user accesses to figure\nout where the fault occurred, read the saved fault_address\nfrom the current thread structure.\n\nFor the sake of defensive programming, if the fault_address\ndoes not fall into the user buffer range, simply assume the\nwhole area faulted.  This will cause the fixup for\ncopy_from_user() to clear the entire kernel side buffer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fd29752f09cabff582f65c0ce35518db4c64937",
      "tree": "b46e5c2c596d26125a7c2aac619fe1b52431f978",
      "parents": [
        "8cf14af0a740fb7e9f94a203b5a989beb875d58f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 20:41:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 28 20:41:45 2005 -0700"
      },
      "message": "[SPARC64]: Fix fault handling in unaligned trap handler.\n\nWe were not calling kernel_mna_trap_fault() correctly.\nInstead of being fancy, just return 0 vs. -EFAULT from\nthe assembler stubs, and handle that return value as\nappropriate.\n\nCreate an \"__retl_efault\" stub for assembler exception\ntable entries and use it where possible.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4db2ce0199f04b6e99999f22e28ef9a0ae5f0d2f",
      "tree": "87a00c97e02a77cdfec517398caa3f1d8f6a2f0d",
      "parents": [
        "4a805e863d6b9466baf7084e1d6fdbe6e0628d8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:47:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:47:01 2005 -0700"
      },
      "message": "[LIB]: Consolidate _atomic_dec_and_lock()\n\nSeveral implementations were essentialy a common piece of C code using\nthe cmpxchg() macro.  Put the implementation in one spot that everyone\ncan share, and convert sparc64 over to using this.\n\nAlpha is the lone arch-specific implementation, which codes up a\nspecial fast path for the common case in order to avoid GP reloading\nwhich a pure C version would require.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d803fcdcd97dd346d4b39c3b76e5879cead8a31",
      "tree": "f30c8caa998261fc0983121021184f0f6cc555b4",
      "parents": [
        "1b11d78cf87a7014f96e5b7fa2e1233cc8081a00"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 14:37:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 14:37:53 2005 -0700"
      },
      "message": "[SPARC64]: Inline membar()\u0027s again.\n\nSince GCC has to emit a call and a delay slot to the\nout-of-line \"membar\" routines in arch/sparc64/lib/mb.S\nit is much better to just do the necessary predicted\nbranch inline instead as:\n\n\tba,pt\t%xcc, 1f\n\t membar\t#whatever\n1:\n\ninstead of the current:\n\n\tcall\tmembar_foo\n\t dslot\n\nbecause this way GCC is not required to allocate a stack\nframe if the function can be a leaf function.\n\nThis also makes this bug fix easier to backport to 2.4.x\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a36895c0ddac143b7f0e87d46153f4f75d9fff7",
      "tree": "eefe211a3b8ebe26e9d706c14760a5d3a91c56fb",
      "parents": [
        "5843e37e24d7cf32f7996dd015245633e0790595"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 31 15:01:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 31 15:01:33 2005 -0700"
      },
      "message": "[SPARC64]: Use \u0027unsigned long\u0027 for port argument to I/O string ops.\n\nThis kills warnings when building drivers/ide/ide-iops.c\nand puts us in-line with what other platforms do here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbd2fdf549317de00e0b5ea465de5372039b7ee8",
      "tree": "67fad29313468b3f232264e98b508d9f3bd6a4de",
      "parents": [
        "d7ce78fd9a51ca0d6b9a8cf35baef884ddb9a95c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 11:26:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 11:26:15 2005 -0700"
      },
      "message": "[SPARC64]: Kill BRANCH_IF_ANY_CHEETAH() from copy page.\n\nJust patch the branch at boot time instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f07118f656c179740cad35b827032e2e29b1210",
      "tree": "7ddeb17346fe25ae75aa5373659c053afb9ef5f5",
      "parents": [
        "442464a50077ff00454ff8d7628cbe1b8eacc034"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:22 2005 -0700"
      },
      "message": "[SPARC64]: More fully work around Spitfire Errata 51.\n\nIt appears that a memory barrier soon after a mispredicted\nbranch, not just in the delay slot, can cause the hang\ncondition of this cpu errata.\n\nSo move them out-of-line, and explicitly put them into\na \"branch always, predict taken\" delay slot which should\nfully kill this problem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "442464a50077ff00454ff8d7628cbe1b8eacc034",
      "tree": "d076c18c8f9d860ee9f357a78b87d0ede8286585",
      "parents": [
        "ca7c8d2c1e2a2f2445cb5e00f45b93af57f22c1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:46:07 2005 -0700"
      },
      "message": "[SPARC64]: Make debugging spinlocks usable again.\n\nWhen the spinlock routines were moved out of line into\nkernel/spinlock.c this made it so that the debugging\nspinlocks record lock acquisition program counts in the\nkernel/spinlock.c functions not in their callers.\nThis makes the debugging info kind of useless.\n\nSo record the correct caller\u0027s program counter and\nnow this feature is useful once more.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b445e26cbf784cdba10f2b6c3e2cd3ee7bab360a",
      "tree": "8c8c377a7e5cbf608d730ec45e091e4f2b826a82",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 15:42:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 15:42:04 2005 -0700"
      },
      "message": "[SPARC64]: Avoid membar instructions in delay slots.\n\nIn particular, avoid membar instructions in the delay\nslot of a jmpl instruction.\n\nUltraSPARC-I, II, IIi, and IIe have a bug, documented in\nthe UltraSPARC-IIi User\u0027s Manual, Appendix K, Erratum 51\n\nThe long and short of it is that if the IMU unit misses\non a branch or jmpl, and there is a store buffer synchronizing\nmembar in the delay slot, the chip can stop fetching instructions.\n\nIf interrupts are enabled or some other trap is enabled, the\nchip will unwedge itself, but performance will suffer.\n\nWe already had a workaround for this bug in a few spots, but\nit\u0027s better to have the entire tree sanitized for this rule.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
