)]}'
{
  "log": [
    {
      "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": "7bbedd521310547ca73cc77adcf61fb85723adc3",
      "tree": "f759d90c46bfbc48a9f396c9c6f839da11cdc6aa",
      "parents": [
        "f44702f49056c203341badaa2cb8a706160d9119",
        "a04ce0ffcaf561994ecf382cd3caad75556dc499"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 08 15:55:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 08 15:55:23 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 \n"
    },
    {
      "commit": "085ae41f66657a9655ce832b0a61832a06f0e1dc",
      "tree": "215690b947b14fa18cbb2810db1a4082ad607e7a",
      "parents": [
        "064b53dbcc977dbf2753a67c2b8fc1c061d74f21"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 08 13:19:08 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 08 14:57:25 2005 -0700"
      },
      "message": "[PATCH] Make sparc64 use setup-res.c\n\nThere were three changes necessary in order to allow\nsparc64 to use setup-res.c:\n\n1) Sparc64 roots the PCI I/O and MEM address space using\n   parent resources contained in the PCI controller structure.\n   I\u0027m actually surprised no other platforms do this, especially\n   ones like Alpha and PPC{,64}.  These resources get linked into the\n   iomem/ioport tree when PCI controllers are probed.\n\n   So the hierarchy looks like this:\n\n   iomem --|\n\t   PCI controller 1 MEM space --|\n\t\t\t\t        device 1\n\t\t\t\t\tdevice 2\n\t\t\t\t\tetc.\n\t   PCI controller 2 MEM space --|\n\t\t\t\t        ...\n   ioport --|\n            PCI controller 1 IO space --|\n\t\t\t\t\t...\n            PCI controller 2 IO space --|\n\t\t\t\t\t...\n\n   You get the idea.  The drivers/pci/setup-res.c code allocates\n   using plain iomem_space and ioport_space as the root, so that\n   wouldn\u0027t work with the above setup.\n\n   So I added a pcibios_select_root() that is used to handle this.\n   It uses the PCI controller struct\u0027s io_space and mem_space on\n   sparc64, and io{port,mem}_resource on every other platform to\n   keep current behavior.\n\n2) quirk_io_region() is buggy.  It takes in raw BUS view addresses\n   and tries to use them as a PCI resource.\n\n   pci_claim_resource() expects the resource to be fully formed when\n   it gets called.  The sparc64 implementation would do the translation\n   but that\u0027s absolutely wrong, because if the same resource gets\n   released then re-claimed we\u0027ll adjust things twice.\n\n   So I fixed up quirk_io_region() to do the proper pcibios_bus_to_resource()\n   conversion before passing it on to pci_claim_resource().\n\n3) I was mistakedly __init\u0027ing the function methods the PCI controller\n   drivers provide on sparc64 to implement some parts of these\n   routines.  This was, of course, easy to fix.\n\nSo we end up with the following, and that nasty SPARC64 makefile\nifdef in drivers/pci/Makefile is finally zapped.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "5ac353f9baf7169298ebb7de86b2d697b25bca44",
      "tree": "2591e241e07c96d19db85d418ff6623ec394f984",
      "parents": [
        "1abf62afb6e9cdc1b2618b69067a186b94281587"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:18:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up struct flock definitions\n\nThis patch just gathers together all the struct flock definitions except\nxtensa into asm-generic/fcntl.h.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1abf62afb6e9cdc1b2618b69067a186b94281587",
      "tree": "a3e3266a23d8d75bf6c302763327b60b7372a41c",
      "parents": [
        "e64ca97fd80a129e538ca42d0b12c379746b83db"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up the fcntl operations\n\nThis patch puts the most popular of each fcntl operation/flag into\nasm-generic/fcntl.h and cleans up the arch files.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e64ca97fd80a129e538ca42d0b12c379746b83db",
      "tree": "196c445874941ffbcca785be713338f647b42d5b",
      "parents": [
        "2b2fa38e5f3f17a5e1ef3fe29a9869d93197ebfd"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up the open flags\n\nThis patch puts the most popular of each open flag into asm-generic/fcntl.h\nand cleans up the arch files.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9317259ead88fe6c05120ae1e3ace99738e2c698",
      "tree": "b899748ca57a96d59003945f97ceae01b5fdc48c",
      "parents": [
        "5ba4d46dc44c5399bc4e7a39239de5a1690848a4"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:37 2005 -0700"
      },
      "message": "[PATCH] Create asm-generic/fcntl.h\n\nThis set of patches creates asm-generic/fcntl.h and consolidates as much as\npossible from the asm-*/fcntl.h files into it.\n\nThis patch just gathers all the identical bits of the asm-*/fcntl.h files into\nasm-generic/fcntl.h.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Yoichi Yuasa \u003cyuasa@hh.iij4u.or.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97de50c0add1e8f3b4e764c66a13c07235fee631",
      "tree": "161be1faee50800677bd01e1ca907cd135ffe0a0",
      "parents": [
        "5e5d7a22292613e55da8e91d75bcc062fd861f41"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Sep 06 15:17:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:35 2005 -0700"
      },
      "message": "[PATCH] remove verify_area(): remove verify_area() from various uaccess.h headers\n\nRemove the deprecated (and unused) verify_area() from various uaccess.h\nheaders.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8d127418d78aaeeb1a417ef7453dc09c9118146",
      "tree": "6d227f4604b3f13566cd5e93d04773e1ee5e42da",
      "parents": [
        "96d0821cacd095e25a39dfff5232a45b63ed18dd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 06 15:17:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:30 2005 -0700"
      },
      "message": "[PATCH] remove asm-*/hdreg.h\n\nunused and useless..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36d57ac4a818cb4aa3edbdf63ad2ebc31106f925",
      "tree": "445eda00ee5974a65e21152cd240fb604c6d112d",
      "parents": [
        "32605a18152b246df483fadc1c23854addde8755"
      ],
      "author": {
        "name": "H. J. Lu",
        "email": "hjl@lucon.org",
        "time": "Tue Sep 06 15:16:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:21 2005 -0700"
      },
      "message": "[PATCH] auxiliary vector cleanups\n\nThe size of auxiliary vector is fixed at 42 in linux/sched.h.  But it isn\u0027t\nvery obvious when looking at linux/elf.h.  This patch adds AT_VECTOR_SIZE\nso that we can change it if necessary when a new vector is added.\n\nBecause of include file ordering problems, doing this necessitated the\nextraction of the AT_* symbols into a standalone header file.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "202e5979af4d91c7ca05892641131dee22653259",
      "tree": "ba8443571add62bc93d29c1f6a3575381cccd167",
      "parents": [
        "8dbfc5cfdcac04d656f6f6789eb8fcdcc3d2dfda"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:19 2005 -0700"
      },
      "message": "[PATCH] compat: be more consistent about [ug]id_t\n\nWhen I first wrote the compat layer patches, I was somewhat cavalier about\nthe definition of compat_uid_t and compat_gid_t (or maybe I just\nmisunderstood :-)).  This patch makes the compat types much more consistent\nwith the types we are being compatible with and hopefully will fix a few\nbugs along the way.\n\n\tcompat type\t\ttype in compat arch\n\t__compat_[ug]id_t\t__kernel_[ug]id_t\n\t__compat_[ug]id32_t\t__kernel_[ug]id32_t\n\tcompat_[ug]id_t\t\t[ug]id_t\n\nThe difference is that compat_uid_t is always 32 bits (for the archs we\ncare about) but __compat_uid_t may be 16 bits on some.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4732efbeb997189d9f9b04708dc26bf8613ed721",
      "tree": "885308bb2b521e52e13aaa8a67c78b2ab3c18cd8",
      "parents": [
        "5b039e681b8c5f30aac9cc04385cc94be45d0823"
      ],
      "author": {
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com",
        "time": "Tue Sep 06 15:16:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:17 2005 -0700"
      },
      "message": "[PATCH] FUTEX_WAKE_OP: pthread_cond_signal() speedup\n\nATM pthread_cond_signal is unnecessarily slow, because it wakes one waiter\n(which at least on UP usually means an immediate context switch to one of\nthe waiter threads).  This waiter wakes up and after a few instructions it\nattempts to acquire the cv internal lock, but that lock is still held by\nthe thread calling pthread_cond_signal.  So it goes to sleep and eventually\nthe signalling thread is scheduled in, unlocks the internal lock and wakes\nthe waiter again.\n\nNow, before 2003-09-21 NPTL was using FUTEX_REQUEUE in pthread_cond_signal\nto avoid this performance issue, but it was removed when locks were\nredesigned to the 3 state scheme (unlocked, locked uncontended, locked\ncontended).\n\nFollowing scenario shows why simply using FUTEX_REQUEUE in\npthread_cond_signal together with using lll_mutex_unlock_force in place of\nlll_mutex_unlock is not enough and probably why it has been disabled at\nthat time:\n\nThe number is value in cv-\u003e__data.__lock.\n        thr1            thr2            thr3\n0       pthread_cond_wait\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n0       lll_futex_wait (\u0026cv-\u003e__data.__futex, futexval)\n0                       pthread_cond_signal\n1                       lll_mutex_lock (cv-\u003e__data.__lock)\n1                                       pthread_cond_signal\n2                                       lll_mutex_lock (cv-\u003e__data.__lock)\n2                                         lll_futex_wait (\u0026cv-\u003e__data.__lock, 2)\n2                       lll_futex_requeue (\u0026cv-\u003e__data.__futex, 0, 1, \u0026cv-\u003e__data.__lock)\n                          # FUTEX_REQUEUE, not FUTEX_CMP_REQUEUE\n2                       lll_mutex_unlock_force (cv-\u003e__data.__lock)\n0                         cv-\u003e__data.__lock \u003d 0\n0                         lll_futex_wake (\u0026cv-\u003e__data.__lock, 1)\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n          # Here, lll_mutex_unlock doesn\u0027t know there are threads waiting\n          # on the internal cv\u0027s lock\n\nNow, I believe it is possible to use FUTEX_REQUEUE in pthread_cond_signal,\nbut it will cost us not one, but 2 extra syscalls and, what\u0027s worse, one of\nthese extra syscalls will be done for every single waiting loop in\npthread_cond_*wait.\n\nWe would need to use lll_mutex_unlock_force in pthread_cond_signal after\nrequeue and lll_mutex_cond_lock in pthread_cond_*wait after lll_futex_wait.\n\nAnother alternative is to do the unlocking pthread_cond_signal needs to do\n(the lock can\u0027t be unlocked before lll_futex_wake, as that is racy) in the\nkernel.\n\nI have implemented both variants, futex-requeue-glibc.patch is the first\none and futex-wake_op{,-glibc}.patch is the unlocking inside of the kernel.\n The kernel interface allows userland to specify how exactly an unlocking\noperation should look like (some atomic arithmetic operation with optional\nconstant argument and comparison of the previous futex value with another\nconstant).\n\nIt has been implemented just for ppc*, x86_64 and i?86, for other\narchitectures I\u0027m including just a stub header which can be used as a\nstarting point by maintainers to write support for their arches and ATM\nwill just return -ENOSYS for FUTEX_WAKE_OP.  The requeue patch has been\n(lightly) tested just on x86_64, the wake_op patch on ppc64 kernel running\n32-bit and 64-bit NPTL and x86_64 kernel running 32-bit and 64-bit NPTL.\n\nWith the following benchmark on UP x86-64 I get:\n\nfor i in nptl-orig nptl-requeue nptl-wake_op; do echo time elf/ld.so --library-path .:$i /tmp/bench; \\\nfor j in 1 2; do echo ( time elf/ld.so --library-path .:$i /tmp/bench ) 2\u003e\u00261; done; done\ntime elf/ld.so --library-path .:nptl-orig /tmp/bench\nreal 0m0.655s user 0m0.253s sys 0m0.403s\nreal 0m0.657s user 0m0.269s sys 0m0.388s\ntime elf/ld.so --library-path .:nptl-requeue /tmp/bench\nreal 0m0.496s user 0m0.225s sys 0m0.271s\nreal 0m0.531s user 0m0.242s sys 0m0.288s\ntime elf/ld.so --library-path .:nptl-wake_op /tmp/bench\nreal 0m0.380s user 0m0.176s sys 0m0.204s\nreal 0m0.382s user 0m0.175s sys 0m0.207s\n\nThe benchmark is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00001.txt\nOlder futex-requeue-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00002.txt\nOlder futex-wake_op-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00003.txt\nWill post a new version (just x86-64 fixes so that the patch\napplies against pthread_cond_signal.S) to libc-hacker ml soon.\n\nAttached is the kernel FUTEX_WAKE_OP patch as well as a simple-minded\ntestcase that will not test the atomicity of the operation, but at least\ncheck if the threads that should have been woken up are woken up and\nwhether the arithmetic operation in the kernel gave the expected results.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Jamie Lokier \u003cjamie@shareable.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Yoichi Yuasa \u003cyuasa@hh.iij4u.or.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e766f1cc596078b1603ac2c96617660c4c7e2d81",
      "tree": "86f24a621dbe39fd25dcec539c2f969f50bfbcab",
      "parents": [
        "48467641bcc057f7cba3b6cbbe66cb834d64cc81",
        "ebede60741e2cec6d210f137fd22a30e37abc0be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:12:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:12:58 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 \n"
    },
    {
      "commit": "fa5b08d5f818063d18433194f20359ef2ae50254",
      "tree": "f2b2bc88347a618f0c4b535d57d2a5271a5eb98e",
      "parents": [
        "0e5c9f39f64d8a55c5db37a5ea43e37d3422fd92"
      ],
      "author": {
        "name": "Kyle Moffett",
        "email": "mrmacman_g4@mac.com",
        "time": "Sat Sep 03 15:55:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] sab: consolidate kmem_bufctl_t\n\nThis is used only in slab.c and each architecture gets to define whcih\nunderlying type is to be used.\n\nSeems a bit silly - move it to slab.c and use the same type for all\narchitectures: unsigned int.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd4fd5aac1282825195c6816ed40a2a6d42db5bf",
      "tree": "5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86",
      "parents": [
        "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Sep 03 15:54:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:39 2005 -0700"
      },
      "message": "[PATCH] mm: consolidate get_order\n\nSomeone mentioned that almost all the architectures used basically the same\nimplementation of get_order.  This patch consolidates them into\nasm-generic/page.h and includes that in the appropriate places.  The\nexceptions are ia64 and ppc which have their own (presumably optimised)\nversions.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7a6cac204147634aba7487e4d618b028ff54c0d",
      "tree": "8c68a738984d823a830e95c72fd3df4d6c4dc6f6",
      "parents": [
        "8a36895c0ddac143b7f0e87d46153f4f75d9fff7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 21:51:26 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 21:51:26 2005 -0700"
      },
      "message": "[SPARC]: Kill io_remap_page_range()\n\nIt\u0027s been deprecated long enough and there are no in-tree\nusers any longer.\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": "d7ce78fd9a51ca0d6b9a8cf35baef884ddb9a95c",
      "tree": "d7103663f1b5262d7a90f9d99e0c2af611ad07c9",
      "parents": [
        "826509f8110049663799bc20f2b5b6170e2f78ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 22:46:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 22:46:43 2005 -0700"
      },
      "message": "[SPARC64]: Eliminate irq_cpustat_t.\n\nWe can put the __softirq_pending mask in the cpudata,\nno need for the silly NR_CPUS array in kernel/softirq.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0573dea1fb32ebc72ffa05980fd840df1d80860",
      "tree": "ae10ad849dce6dbeec1b281fbd51214030f21902",
      "parents": [
        "f9e815b376dc19e6afc551cd755ac64e9e42d81f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 19:30:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:35 2005 -0700"
      },
      "message": "[NET]: Introduce SO_{SND,RCV}BUFFORCE socket options\n\nAllows overriding of sysctl_{wmem,rmrm}_max\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\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": "3d6364abcfdaedeb34418c2894f61251d48614f6",
      "tree": "931f13bef897515bc570b04394daf8018c7aaf96",
      "parents": [
        "6c52a96e6cacb35403b85c3b42db0faf26f3ed85"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "kumar.gala@freescale.com",
        "time": "Mon Aug 29 12:45:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:45:30 2005 -0700"
      },
      "message": "[SPARC64]: remove use of asm/segment.h\n\nRemoved sparc64 architecture specific users of asm/segment.h and\nasm-sparc64/segment.h itself\n\nSigned-off-by: Kumar Gala \u003ckumar.gala@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c52a96e6cacb35403b85c3b42db0faf26f3ed85",
      "tree": "07ebe2ce68511ffb75575603b0c58bf00c78f8c7",
      "parents": [
        "bde4e4ee9f90142d550e2684dec2c8df302f5f8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:45:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 29 12:45:11 2005 -0700"
      },
      "message": "[SPARC64]: Revamp Spitfire error trap handling.\n\nCurrent uncorrectable error handling was poor enough\nthat the processor could just loop taking the same\ntrap over and over again.  Fix things up so that we\nat least get a log message and perhaps even some register\nstate.\n\nIn the process, much consolidation became possible,\nparticularly with the correctable error handler.\n\nPrefix assembler and C function names with \"spitfire\"\nto indicate that these are for Ultra-I/II/IIi/IIe only.\n\nMore work is needed to make these routines robust and\nfeatureful to the level of the Ultra-III error handlers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3f9985843b674cbcb58f39fab8416675e7ab842",
      "tree": "aa869cd04ff618d018c5f39b7a3b0070d5e3957d",
      "parents": [
        "8d5290149ee1c6a4cea5f5146d64e2a0d48f4988"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 19 15:55:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 19 15:55:33 2005 -0700"
      },
      "message": "[SPARC64]: Move kernel unaligned trap handlers into assembler file.\n\nGCC 4.x really dislikes the games we are playing in\nunaligned.c, and the cleanest way to fix this is to\nmove things into assembler.\n\nNoted by Al Viro.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a085c41dc3d5991fdf90ed2557cc06cce0590a",
      "tree": "543409c3857d16760420b03666c44a605f55f4a5",
      "parents": [
        "ae6578fe9b65208dee8eda40629984efd23740c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 14:14:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 14:14:39 2005 -0700"
      },
      "message": "[SPARC]: Add inotify syscall entries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c9034735eccbf82608a4602c59aaf6053ea9416",
      "tree": "219e8cd4b5cfffeb261f42a2bd8e512be19cba40",
      "parents": [
        "abcd9e51f5b832439b119d530db1353c12fd4073"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:29:55 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Add emergency_restart()\n\nWhen the kernel is working well and we want to restart cleanly\nkernel_restart is the function to use.   But in many instances\nthe kernel wants to reboot when thing are expected to be working\nvery badly such as from panic or a software watchdog handler.\n\nThis patch adds the function emergency_restart() so that\ncallers can be clear what semantics they expect when calling\nrestart.  emergency_restart() is expected to be callable\nfrom interrupt context and possibly reliable in even more\ntrying circumstances.\n\nThis is an initial generic implementation for all architectures.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db7d9a4eb700be766cc9f29241483dbb1e748832",
      "tree": "48848384df15d9404ceab05867d7f4ef6b1a4bbe",
      "parents": [
        "cdd5186f753b23ab51f86679bdc4cc698ab0b893"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:36:26 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:36:26 2005 -0700"
      },
      "message": "[SPARC64]: Move syscall success and newchild state out of thread flags.\n\nThese two bits were accesses non-atomically from assembler\ncode.  So, in order to eliminate any potential races resulting\nfrom that, move these pieces of state into two bytes elsewhere\nin struct thread_info.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdd5186f753b23ab51f86679bdc4cc698ab0b893",
      "tree": "9de741421a4303d936687784d5a703641962c5d7",
      "parents": [
        "c5019a578f18cf3a76829626e91e5469dbd4a738"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:36:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:36:13 2005 -0700"
      },
      "message": "[SPARC64]: Privatize sun5_timer.\n\nIt is only used by some localized code in irq.c, and also\ndelete enable_prom_timer() as that is totally unused.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5019a578f18cf3a76829626e91e5469dbd4a738",
      "tree": "64c8ad3526439ddda5de8262a56e8a52f58b0830",
      "parents": [
        "620de54675e76f1369326bbe1fc75aff88917063"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:56 2005 -0700"
      },
      "message": "[SPARC64]: Kill totally unused inline functions from asm/spitfire.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "620de54675e76f1369326bbe1fc75aff88917063",
      "tree": "e50b449c94843e15c4dfa964ada5b50f1876e497",
      "parents": [
        "6593eaed814d50214d6056c683d52ac63153730e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:42 2005 -0700"
      },
      "message": "[SPARC64]: Simplify asm/rwsem.h slightly.\n\nrwsem_atomic_update and rwsem_atomic_add can be implemented\nstraightly using atomic_*() routines.\n\nAlso, rwsem_cmpxchgw() is totally unused, kill it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6593eaed814d50214d6056c683d52ac63153730e",
      "tree": "b5e803f1217dd26484a15816e84402d8d3ce8a84",
      "parents": [
        "4b502421aac89c8d4e61ecc89a70065a33305a0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:35:28 2005 -0700"
      },
      "message": "[SPARC64]: Non-atomic bitops do not need volatile operations\n\nNoticed this while comparing sparc64\u0027s bitops.h to ppc64\u0027s.\nWe can cast the volatile memory argument to be non-volatile.\n\nWhile we\u0027re here, __inline__ --\u003e inline.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5028770a42e7bc4d15791a44c28f0ad539323807",
      "tree": "74800e35129775413c13ce7caf036ca19e3ce56c",
      "parents": [
        "9f02d6b7b43d46a74dd385f06090104ecd0fb807",
        "d8683a0cb5d09cb7f19feefa708424a84577e68f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "message": "[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c9c3e457de24cca2ca688fa397d93a241f472048",
      "tree": "570b7a07f9c6f570341481500a2bff21c1328d8d",
      "parents": [
        "acf05f4b7f558051ea0028e8e617144123650272"
      ],
      "author": {
        "name": "David Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Apr 01 00:07:31 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 00:03:30 2005 -0400"
      },
      "message": "[ACPI] PNPACPI vs sound IRQ\n\nhttp://bugme.osdl.org/show_bug.cgi?id\u003d4016\n\nWritten-by: David Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Adam Belay \u003cabelay@novell.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "328f314a89fd24e50fdf22c81efb2a468fdf25b5",
      "tree": "da2814283e9b744e71d6adf9849b5050e268b6ff",
      "parents": [
        "200d481f28be4522464bb849dd0eb5f8cb6be781"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 13:44:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 13:44:56 2005 -0700"
      },
      "message": "[SPARC64]: Add missing asm-sparc64/seccomp.h file.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7ceba360cce9af3fbc4e5a5b1bd40b570b7021c",
      "tree": "1d138496048bbf5851cd60dee7acb912cffc6971",
      "parents": [
        "8d8a64796fdee4e20355c6c12c9cc630a2e7494d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 19:29:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 19:29:45 2005 -0700"
      },
      "message": "[SPARC64]: Add syscall auditing support.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb49bcda15f1bc1a52c7f887db278447f332eaa7",
      "tree": "dec754638f3cbc4123e715c42573648859e20735",
      "parents": [
        "af166d15c3ad4d501a0c4fb5b4547bb2ba205918"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 16:49:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 16:49:28 2005 -0700"
      },
      "message": "[SPARC64]: Add SECCOMP support.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9126dfde9e5efd76f9d4246819bdc7ea66de3af0",
      "tree": "4612cb20af3274a9037830736110ceed91bb612d",
      "parents": [
        "0109fd37046de64e8459f8c4f4706df9ac7cc82c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 15:11:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 10 15:11:45 2005 -0700"
      },
      "message": "[SPARC]: Add ioprio system call support.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6524813e032fb33bd1de807a98f8453414335e4",
      "tree": "4af95ee9310bb7f13de0272b21fec593f9da3b9b",
      "parents": [
        "dcc83a028552ac34538db52d82446d1da6ea8c22"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 15:21:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 15:21:51 2005 -0700"
      },
      "message": "[SPARC64]: Support CONFIG_HZ\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3e01d6005ab4b0877f1fb3efef7f5b745e743be",
      "tree": "0cb9fc0f68159edf52c08ee63b7891e0efba8942",
      "parents": [
        "9d7495330be2fd88ab939fa5080d3ca9f64368c2"
      ],
      "author": {
        "name": "Eddie C. Dost",
        "email": "ecd@brainaid.de",
        "time": "Wed Jul 06 15:41:54 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 15:41:54 2005 -0700"
      },
      "message": "[SPARC64]: Fix enable_dma() in asm-sparc64/parport.h\n\nCall ebus_dma_enable() before calling ebus_dma_request(), otherwise\nebus_dma_request() returns -EINVAL and enable_dma() calls BUG()...\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb6743f4f0aed5c1f09fa77cd8d3973c31792f4f",
      "tree": "c4fa3bbc3a0f1bd6a146e8ec1918c2076f8d5730",
      "parents": [
        "088dd1f81b3577c17c4c4381696bf2105ea0e43a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 13:26:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 13:26:04 2005 -0700"
      },
      "message": "[SPARC64]: Do proper DMA IRQ syncing on Tomatillo\n\nThis was the main impetus behind adding the PCI IRQ shim.\n\nIn order to properly order DMA writes wrt. interrupts, you have to\nwrite to a PCI controller register, then poll for that bit clearing.\nThere is one bit for each interrupt source, and setting this register\nbit tells Tomatillo to drain all pending DMA from that device.\n\nFurthermore, Tomatillo\u0027s with revision less than 4 require us to do a\nblock store due to some memory transaction ordering issues it has on\nJBUS.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "088dd1f81b3577c17c4c4381696bf2105ea0e43a",
      "tree": "11fda00dc3ae5c3202c6c0bb0a22fa3235f4f101",
      "parents": [
        "06326e40b7c66477d4a460bfc23c951f7b39f191"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 13:24:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 13:24:38 2005 -0700"
      },
      "message": "[SPARC64]: Add support for IRQ pre-handlers.\n\nThis allows a PCI controller to shim into IRQ delivery\nso that DMA queues can be drained, if necessary.\n\nIf some bus specific code needs to run before an IRQ\nhandler is invoked, the bus driver simply needs to setup\nthe function pointer in bucket-\u003eirq_info-\u003epre_handler and\nthe two args bucket-\u003eirq_info-\u003epre_handler_arg[12].\n\nThe Schizo PCI driver is converted over to use a pre-handler\nfor the DMA write-sync processing it needs when a device\nis behind a PCI-\u003ePCI bus deeper than the top-level APB\nbridges.\n\nWhile we\u0027re here, clean up all of the action allocation\nand handling.  Now, we allocate the irqaction as part of\nthe bucket-\u003eirq_info area.  There is an array of 4 irqaction\n(for PCI irq sharing) and a bitmask saying which entries\nare active.\n\nThe bucket-\u003eirq_info is allocated at build_irq() time, not\nat request_irq() time.  This simplifies request_irq() and\nfree_irq() tremendously.\n\nThe SMP dynamic IRQ retargetting code got removed in this\nchange too.  It was disabled for a few months now, and we\ncan resurrect it in the future if we want.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8644d2a42bdba2d513f71c07eaf1b6f9b718b8eb",
      "tree": "c43b6c2fdf1b68b66906a2de69446dcec0f9af6b",
      "parents": [
        "1cde8a16815bd85c8137d1ea556398983c597c11",
        "99f95e5286df2f69edab8a04c7080d986ee4233b"
      ],
      "author": {
        "name": "Greg KH",
        "email": "greg@press.(none)",
        "time": "Mon Jun 27 22:07:56 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 22:07:56 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "bb4a61b6eaee01707f24deeefc5d7136f25f75c5",
      "tree": "8d353d7b04addad950de8ae24eda7cdfe6fbea85",
      "parents": [
        "e24c2d963a604d9eaa560c90371fa387d3eec8f1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Jun 06 23:07:46 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 21:52:46 2005 -0700"
      },
      "message": "[PATCH] PCI: fix up errors after dma bursting patch and CONFIG_PCI\u003dn\n\nWith CONFIG_PCI\u003dn:\n\nIn file included from include/linux/pci.h:917,\n                 from lib/iomap.c:6:\ninclude/asm/pci.h:104: warning: `enum pci_dma_burst_strategy\u0027 declared inside parameter list\ninclude/asm/pci.h:104: warning: its scope is only this definition or declaration, which is probably not what you want.\ninclude/asm/pci.h: In function `pci_dma_burst_advice\u0027:\ninclude/asm/pci.h:106: dereferencing pointer to incomplete type\ninclude/asm/pci.h:106: `PCI_DMA_BURST_INFINITY\u0027 undeclared (first use in this function)\ninclude/asm/pci.h:106: (Each undeclared identifier is reported only once\ninclude/asm/pci.h:106: for each function it appears in.)\nmake[1]: *** [lib/iomap.o] Error 1\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e24c2d963a604d9eaa560c90371fa387d3eec8f1",
      "tree": "66be193d59dd22fac0b62980769c4f19e045b5a2",
      "parents": [
        "2311b1f2bbd36fa5f366a7448c718b2556e0f02c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 12:55:50 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 21:52:45 2005 -0700"
      },
      "message": "[PATCH] PCI: DMA bursting advice\n\nAfter seeing, at best, \"guesses\" as to the following kind\nof information in several drivers, I decided that we really\nneed a way for platforms to specifically give advice in this\narea for what works best with their PCI controller implementation.\n\nBasically, this new interface gives DMA bursting advice on\nPCI.  There are three forms of the advice:\n\n1) Burst as much as possible, it is not necessary to end bursts\n   on some particular boundary for best performance.\n\n2) Burst on some byte count multiple.  A DMA burst to some multiple of\n   number of bytes may be done, but it is important to end the burst\n   on an exact multiple for best performance.\n\n   The best example of this I am aware of are the PPC64 PCI\n   controllers, where if you end a burst mid-cacheline then\n   chip has to refetch the data and the IOMMU translations\n   which hurts performance a lot.\n\n3) Burst on a single byte count multiple.  Bursts shall end\n   exactly on the next multiple boundary for best performance.\n\n   Sparc64 and Alpha\u0027s PCI controllers operate this way.  They\n   disconnect any device which tries to burst across a cacheline\n   boundary.\n\n   Actually, newer sparc64 PCI controllers do not have this behavior.\n   That is why the \"pdev\" is passed into the interface, so I can\n   add code later to check which PCI controller the system is using\n   and give advice accordingly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "63b614522cba5a015923c0e8f284be6e01c13f1a",
      "tree": "4f3724d90f52ef8b98f7c0b9716730b7adbd8566",
      "parents": [
        "b445e26cbf784cdba10f2b6c3e2cd3ee7bab360a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 17:04:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 27 17:04:45 2005 -0700"
      },
      "message": "[SPARC64]: Get rid of fast IRQ feature.\n\nThe only real user was the assembler floppy interrupt\nhandler, which does not need to be in assembly.\n\nThis makes it so that there are less pieces of code which\nknow about the internal layout of ivector_table[] and\nfriends.\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": "4866cde064afbb6c2a488c265e696879de616daa",
      "tree": "6effad1ab6271129fc607b98273086409876563a",
      "parents": [
        "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup context switch locking\n\nInstead of requiring architecture code to interact with the scheduler\u0027s\nlocking implementation, provide a couple of defines that can be used by the\narchitecture to request runqueue unlocked context switches, and ask for\ninterrupts to be enabled over the context switch.\n\nAlso replaces the \"switch_lock\" used by these architectures with an oncpu\nflag (note, not a potentially slow bitflag).  This eliminates one bus\nlocked memory operation when context switching, and simplifies the\ntask_running function.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2b18660066997420b716c1881a6be8b82700d97",
      "tree": "7c6eb8e7b8163e3d332bd4a4efe2ae5b5cfabdd2",
      "parents": [
        "ae67cd643e9e64217fd92457324625c67fec6e35"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sat Jun 25 14:55:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:38 2005 -0700"
      },
      "message": "[PATCH] RCU: clean up a few remaining synchronize_kernel() calls\n\n2.6.12-rc6-mm1 has a few remaining synchronize_kernel()s, some (but not\nall) in comments.  This patch changes these synchronize_kernel() calls (and\ncomments) to synchronize_rcu() or synchronize_sched() as follows:\n\n- arch/x86_64/kernel/mce.c mce_read(): change to synchronize_sched() to\n  handle races with machine-check exceptions (synchronize_rcu() would not cut\n  it given RCU implementations intended for hardcore realtime use.\n\n- drivers/input/serio/i8042.c i8042_stop(): change to synchronize_sched() to\n  handle races with i8042_interrupt() interrupt handler.  Again,\n  synchronize_rcu() would not cut it given RCU implementations intended for\n  hardcore realtime use.\n\n- include/*/kdebug.h comments: change to synchronize_sched() to handle races\n  with NMIs.  As before, synchronize_rcu() would not cut it...\n\n- include/linux/list.h comment: change to synchronize_rcu(), since this\n  comment is for list_del_rcu().\n\n- security/keys/key.c unregister_key_type(): change to synchronize_rcu(),\n  since this is interacting with RCU read side.\n\n- security/keys/process_keys.c install_session_keyring(): change to\n  synchronize_rcu(), since this is interacting with RCU read side.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e55c57e0b51c68d78845549505057169c6c3cba6",
      "tree": "0cd6da51ab2341c67b58d690c61edb4c6dda976b",
      "parents": [
        "37616578539a47d9ace5e907ae73ea93a8cde740"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 24 20:11:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 24 20:11:03 2005 -0700"
      },
      "message": "[SPARC64]: Report any user access faults in termios accessors.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9",
      "tree": "1696bd7881e36381b9cdaafe713c413202727228",
      "parents": [
        "fa912bcb06d5dc9525d8912a145db2bf4b7668c5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Jun 23 00:10:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] compat: introduce compat_time_t\n\nThis patch is based on work by Carlos O\u0027Donell and Matthew Wilcox.  It\nintroduces/updates the compat_time_t type and uses it for compat siginfo\nstructures.  I have built this on ppc64 and x86_64.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcd497f99a1ef29a7c5e76142965be77e9dacabd",
      "tree": "684d64753c6cd71917cf3c360023dd273be376b4",
      "parents": [
        "35a82d1a53e1a9ad54efafcc940f9335beaed5c3"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:09:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] streamline preempt_count type across archs\n\nThe preempt_count member of struct thread_info is currently either defined\nas int, unsigned int or __s32 depending on arch.  This patch makes the type\nof preempt_count an int on all archs.\n\nHaving preempt_count be an unsigned type prevents the catching of\npreempt_count \u003c 0 bugs, and using int on some archs and __s32 on others is\nnot exactely \"neat\" - much nicer when it\u0027s just int all over.\n\nA previous version of this patch was already ACK\u0027ed by Robert Love, and the\nonly change in this version of the patch compared to the one he ACK\u0027ed is\nthat this one also makes sure the preempt_count member is consistently\ncommented.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63551ae0feaaa23807ebea60de1901564bbef32e",
      "tree": "f6f97f60f83c3e9813bdfcc6039c499997b1ea10",
      "parents": [
        "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jun 21 17:14:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:15 2005 -0700"
      },
      "message": "[PATCH] Hugepage consolidation\n\nA lot of the code in arch/*/mm/hugetlbpage.c is quite similar.  This patch\nattempts to consolidate a lot of the code across the arch\u0027s, putting the\ncombined version in mm/hugetlb.c.  There are a couple of uglyish hacks in\norder to covert all the hugepage archs, but the result is a very large\nreduction in the total amount of code.  It also means things like hugepage\nlazy allocation could be implemented in one place, instead of six.\n\nTested, at least a little, on ppc64, i386 and x86_64.\n\nNotes:\n\t- this patch changes the meaning of set_huge_pte() to be more\n\t  analagous to set_pte()\n\t- does SH4 need s special huge_ptep_get_and_clear()??\n\nAcked-by: William Lee Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "7049e6800f40046c384c522a990669024d5f5836",
      "tree": "5e790230b26721a89864fa610bc9d8e53114a881",
      "parents": [
        "8005aba69a6440a535a4cc2aed99ffca580847e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "message": "[SPARC64]: Add prefetch support.\n\nThe implementation is optimal for UltraSPARC-III and later.\nIt will work, however suboptimally, on UltraSPARC-II and\nbe treated as a NOP on UltraSPARC-I.\n\nIt is not worth code patching this thing as the highest cost\nis the code space, and code patching cannot eliminate that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07eee78ea8ba2d0b7b20551c35a3e7dd158d50bb",
      "tree": "a11d2e705253faaa9779cfd83bb8ca9de311b195",
      "parents": [
        "e29b545cb153f230fbd8ff4c19bc98ab950f9f5c"
      ],
      "author": {
        "name": "Keir Fraser",
        "email": "Keir.Fraser@cl.cam.ac.uk",
        "time": "Wed Mar 30 13:17:04 2005 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Jun 07 12:35:43 2005 -0700"
      },
      "message": "[PATCH] AGP fix for Xen VMM\n\nWhen Linux is running on the Xen virtual machine monitor, physical\naddresses are virtualised and cannot be directly referenced by the AGP\nGART.  This patch fixes the GART driver for Xen by adding a layer of\nabstraction between physical addresses and \u0027GART addresses\u0027.\n\nArchitecture-specific functions are also defined for allocating and freeing\nthe GATT.  Xen requires this to ensure that table really is contiguous from\nthe point of view of the GART.\n\nThese extra interface functions are defined as \u0027no-ops\u0027 for all existing\narchitectures that use the GART driver.\n\nSigned-off-by: Keir Fraser \u003ckeir@xensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n\n"
    },
    {
      "commit": "7c963ad1d113790a8c723a178988b675868f3abe",
      "tree": "2e1cc54795aeca06a11801636737901ba71a2ed8",
      "parents": [
        "2e3e80c2b75e3815a0160cbd23d4fdb767d66b35"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 16:57:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 16:57:59 2005 -0700"
      },
      "message": "[SPARC64]: Fix streaming buffer flushing on PCI and SBUS.\n\nFirstly, if the direction is TODEVICE, then dirty data in the\nstreaming cache is impossible so we can elide the flush-flag\nsynchronization in that case.\n\nNext, the context allocator is broken.  It is highly likely\nthat contexts get used multiple times for different dma\nmappings, which confuses the strbuf flushing code and makes\nit run inefficiently.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "816242da3735957bee99aeba40aa60c4f120a101",
      "tree": "c5a1092a52911143b0c4f9bc4257c1dbafbb8bdd",
      "parents": [
        "ab3fc403633c38aef5ef48844f8e5dbfee7c34f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 23 15:52:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 23 15:52:08 2005 -0700"
      },
      "message": "[SPARC64]: Add boot option to force UltraSPARC-III P-Cache on.\n\nOlder UltraSPARC-III chips have a P-Cache bug that makes us disable it\nby default at boot time.\n\nHowever, this does hurt performance substantially, particularly with\nmemcpy(), and the bug is _incredibly_ obscure.  I have never seen it\ntriggered in practice, ever.\n\nSo provide a \"-P\" boot option that forces the P-Cache on.  It taints\nthe kernel, so if it does trigger and cause some data corruption or\nOOPS, we will find out in the logs that this option was on when it\nhappened.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8edf72ebce06d52e855438ec18fe20dea7a4cc04",
      "tree": "a75409d5ae04a31209d52b11983158d8d4d4a199",
      "parents": [
        "bfd4bda097f8758d28e632ff2035e25577f6b060"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 05 14:27:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 14:27:56 2005 -0700"
      },
      "message": "[SPARC64]: Kill useless __pte_alloc_one_kernel indirection\n\nwarning: untested, but it there\u0027s not too much chance for screwups\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1ecb4c3a9e33cc8b93ac9cb046b535b72a15f68",
      "tree": "d34b412e61ff720926da836ff989d1c821b5ef1b",
      "parents": [
        "0555985d046348b39e44ff1da2719d73409d7981"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Wed May 04 05:40:12 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed May 04 07:33:15 2005 -0700"
      },
      "message": "[PATCH] asm/signal.h unification\n\nNew file - asm-generic/signal.h.  Contains declarations of\n__sighandler_t, __sigrestore_t, SIG_DFL, SIG_IGN, SIG_ERR and default\ndefinitions of SIG_BLOCK, SIG_UNBLOCK and SIG_SETMASK.\n\nasm-*/signal.h switched to including it.  The only exception is\nasm-parisc/signal.h that wants its own declaration of __sighandler_t;\nthat one is left as-is.\n\nasm-ppc64/signal.h required one more thing - unlike everybody else it\nused __sigrestorer_t instead of usual __sigrestore_t.  PPC64 switched to\ncommon spelling.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fbacd5213a03b262bb17a826b166900e8b168ac",
      "tree": "7f354174eccaaf6927e950829b8fbcdcc68570fb",
      "parents": [
        "5cae841b13f23ccdf7e38b2400b5cf57deb57ccf"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Wed May 04 05:39:32 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed May 04 07:33:13 2005 -0700"
      },
      "message": "[PATCH] ISA_DMA Kconfig fixes - part 2 (parport_pc)\n\nPart of parport_pc that uses ISA DMA helpers made conditional on\nCONFIG_ISA_DMA_API.  As the result, driver got usable for boxen that do\nnot have ISA DMA stuff and have normal PCI parport card stuck into\nthem - these never use DMA anyway.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a71c1ab50a2a0f4dd9834bf5a917a2f064535c6b",
      "tree": "063bdb02b335f2c5b38f9e503434fa5fbf0106c4",
      "parents": [
        "696f9486d0207d499391004f5bc9bd7c0e6ae82f"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun May 01 08:59:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:08 2005 -0700"
      },
      "message": "[PATCH] consolidate SIGEV_PAD_SIZE\n\nDiscussing with Matthew Wilcox some of his outstanding patches lead me to\nthis patch (among others).\n\nThe preamble in struct sigevent can be expressed independently of the\narchitecture.\n\nAlso use __ARCH_SI_PREAMBLE_SIZE on ia64.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4750e2c0c59e0c84c6c036b3d96ebd88365ae7ee",
      "tree": "c6f02d62f59088befaed42bcf7610555f7d5b518",
      "parents": [
        "1181c1f923c349acaa01bca40fe600584f265132"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Sun May 01 08:59:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:06 2005 -0700"
      },
      "message": "[PATCH] add EOWNERDEAD and ENOTRECOVERABLE version 2\n\nAdd EOWNERDEAD and ENOTRECOVERABLE to all architectures.  This is to\nsupport the upcoming patches for robust mutexes.\n\nWe normally don\u0027t reserve parts of the name/number space for external\npatches, but robust mutexes are sufficiently popular and important to\njustify it in this case.\n\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f261b5f0dccd53ed3a9a95b55c36e24a698a92a",
      "tree": "c6f94657e1f50e59168184758ba2859d2ad5abc9",
      "parents": [
        "d59745ce3e7aa13856bca16d3bcbb95041775ff6"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Sun May 01 08:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:02 2005 -0700"
      },
      "message": "[PATCH] move SA_xxx defines to linux/signal.h\n\nThe attached patch moves the IRQ-related SA_xxx flags (namely, SA_PROBE,\nSA_SAMPLE_RANDOM and SA_SHIRQ) from all the arch-specific headers to\nlinux/signal.h.  This looks like a left-over after the irq-handling code\nwas consolidated.  The code was moved to kernel/irq/*, but the flags are\nstill left per-arch.\n\nRight now, adding a new IRQ flag to the arch-specific header, like this\npatch does:\nhttp://cvs.sourceforge.net/viewcvs.py/*checkout*/alsa/alsa-driver/utils/patches/pcsp-kernel-2.6.10-03.diff?rev\u003d1.1\nno longer works, it breaks the compilation for all other arches, unless you\nadd that flag to all the other arch-specific headers too.  So I think such\na clean-up makes sense.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8538a7aa5527d02c7191ac5da124efadf6a2827",
      "tree": "6a2fae8be308d38ed1abe1d5c7539db29238ae61",
      "parents": [
        "e43379f10b42194b8a6e1de342cfb44463c0f6da"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "message": "[PATCH] remove all kernel BUGs\n\nThis patch eliminates all kernel BUGs, trims about 35k off the typical\nkernel, and makes the system slightly faster.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a59c1860d01b3dea9ab01d5cefb9d5c52042e6d",
      "tree": "be41af760482e2bc17e23d465edd0f98adc8d464",
      "parents": [
        "24dc6ead53f8fcae4b1908c4ea3fea75ee844a6d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 24 21:04:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 24 21:04:02 2005 -0700"
      },
      "message": "[SPARC64]: Fix SMP build.\n\nKill build failures in the SMP+!PREEMPT case introduced\nby Al Viro\u0027s spinlock.h changes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef0299bf8e868c09bff13e6f3c4fc9b835f60471",
      "tree": "0b734b9d95cf5fe38a9a15a48e4900d28447502e",
      "parents": [
        "fdca124a1bcc7e624f6b887c6f26153f40ee43ee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Sun Apr 24 12:28:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun Apr 24 12:28:36 2005 -0700"
      },
      "message": "[PATCH] mostek bogus sparse annotations fixed\n\nvoid * __iomem foo is not a pointer to iomem - it\u0027s an iomem variable\ncontaining void *.  A pile of such guys in arch/sparc64/kernel/time.c,\ndrivers/sbus/char/rtc.c and include/asm-sparc64/mostek.h turned into\nintended void __iomem *. \n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4bca26c0160f48b4eb04f21d31a229832732013",
      "tree": "b4a6d736fcb8664753066df3e6a93ed24c0f409b",
      "parents": [
        "d7be828e03969ea7f922f299acb8daa0d8ce7006"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 21 21:42:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 21 21:42:34 2005 -0700"
      },
      "message": "[SPARC]: Provide generic ioctls in Sparc RTC driver.\n\nProvide support for drivers/char/rtc.c ioctls in the\nMostek rtc driver as well as the Sparc specific RTCGET\nand RTCSET.\n\nThis allows userspace to be much less messy.  Currently\nutil-linux and other spots jump through hoops trying\nvarious ioctl variants until it hits the right one whatever\ndriver actually being used supports.\n\nEventually all of this should move over to the genrtc.c\ndriver, but not today...\n\nWhile we are here, fix up the register types for sparse.\n\nThanks to Frans Pop for helping point out this issue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7be828e03969ea7f922f299acb8daa0d8ce7006",
      "tree": "4c664d8a15dc9dc935cc6e181e727cfdc5d60302",
      "parents": [
        "1cff94c6fecdc54d6f022ae5a22888f8272804a1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 21:41:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 21 21:41:33 2005 -0700"
      },
      "message": "[SPARC64]: Provide a pgprot_noncached() implementation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "489ec5f5d59b306e4ccc505eac417526adedb438",
      "tree": "506d4be0182ca0a434c70e1267087646644a0e69",
      "parents": [
        "4d78b6c78ae6d87e4c1c8072f42efa716f04afb9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Wed Apr 20 17:12:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 20 17:12:41 2005 -0700"
      },
      "message": "[SPARC64]: sparc64 preempt + smp\n\nPREEMPT+SMP support - see if it looks sane...\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d455a3696c72283923e6870e9e4fe1daa861d7cd",
      "tree": "572661a1ed6cceaf83cad55921b7812feace69ee",
      "parents": [
        "cdfb82fff33cf3b1a367a427e5d89a012dc568b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:23 2005 -0700"
      },
      "message": "[PATCH] freepgt: arch FIRST_USER_ADDRESS 0\n\nReplace misleading definition of FIRST_USER_PGD_NR 0 by definition of\nFIRST_USER_ADDRESS 0 in all the MMU architectures beyond arm and arm26.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f6c99c11ae63ce887686f3e51c412cc4d8d8a7d",
      "tree": "4c3f29ce21f2a69f9105581c95e07de5bc5bb7aa",
      "parents": [
        "3bf5ee95648c694bac4d13529563c230cd4fe5f2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:17 2005 -0700"
      },
      "message": "[PATCH] freepgt: remove arch pgd_addr_end\n\nia64 and sparc64 hurriedly had to introduce their own variants of\npgd_addr_end, to leapfrog over the holes in their virtual address spaces which\nthe final clear_page_range suddenly presented when converted from pgd_index to\npgd_addr_end.  But now that free_pgtables respects the vma list, those holes\nare never presented, and the arch variants can go.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ba4da03cc84f54b2574e1abcdaa18ef8456a9fb",
      "tree": "6730c36a12833eaf05ddddd7b26fc4de1284ff5b",
      "parents": [
        "0b2cad2f30d0353f2576b1a2207c0792ba713157"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 18 15:13:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 18 15:13:15 2005 -0700"
      },
      "message": "[PATCH] sparc64: Fix stat\n\nLike Alpha, sparc64\u0027s struct stat was defined before we had the\nnanosecond et al.  fields added.  So like Alpha I have to cons up a\nstruct stat64 to get this stuff.  I\u0027ll work on the glibc bits soon. \n\nAlso, we were forgetting to fill in the nanosecond fields in the sparc\ncompat stat64 syscalls. \n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n\n"
    },
    {
      "commit": "dadeafdfc8da8c27e5a68e0706b9856eaac89391",
      "tree": "17993d26e93e598a2f449063fe213afad2a45814",
      "parents": [
        "fb65b9619b756793d824df7501c895a2c2871f40"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 18:03:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun Apr 17 18:03:11 2005 -0700"
      },
      "message": "[PATCH] sparc64: Reduce ptrace cache flushing\n\nWe were flushing the D-cache excessively for ptrace() processing\nand this makes debugging threads so slow as to be totally unusable.\n\nAll process page accesses via ptrace() go via access_process_vm().\nThis routine, for each process page, uses get_user_pages().  That\nin turn does a flush_dcache_page() on the child pages before we\ncopy in/out the ptrace request data.\n\nTherefore, all we need to do after the data movement is:\n\n1) Flush the D-cache pages if the kernel maps the page to a different\n   color than userspace does.\n2) If we wrote to the page, we need to flush the I-cache on older cpus.\n\nPreviously we just flushed the entire cache at the end of a ptrace()\nrequest, and that was beyond stupid.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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"
    }
  ]
}
