)]}'
{
  "log": [
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "39675e89fb472c1b9c8e740e00acb1df2bbc6be7",
      "tree": "cce6814d3e7c62adf59e565fb6ae95fd409f86ab",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298",
        "2c3d103ba90827cfb478bf10464d9b5b9cea369c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:38:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:38:30 2008 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/clock\n"
    },
    {
      "commit": "6e86841d05f371b5b9b86ce76c02aaee83352298",
      "tree": "e846a230c96a8ae7b29924569cb4d2cc1b2e54e3",
      "parents": [
        "7874d35173d549c1a2b2f77c4b1f94379fa65698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 19:40:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 19:40:31 2008 -0700"
      },
      "message": "Linux 2.6.27-rc1\n"
    },
    {
      "commit": "7874d35173d549c1a2b2f77c4b1f94379fa65698",
      "tree": "995aa7212619dbdebb43b124cae2378562dd3065",
      "parents": [
        "5dfb66ba8c4a96eb732942c9f78629e4db1a51d4",
        "8c79873da0d2bedf4ad6b868c54e426bb0a2fe38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:16:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:16:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: turn Waker into a thread, not a process\n  lguest: Enlarge virtio rings\n  lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap\n  lguest: Remove \u0027network: no dma buffer!\u0027 warning\n  lguest: Adaptive timeout\n  lguest: Tell Guest net not to notify us on every packet xmit\n  lguest: net block unneeded receive queue update notifications\n  lguest: wrap last_avail accesses.\n  lguest: use cpu capability accessors\n  lguest: virtio-rng support\n  lguest: Support assigning a MAC address\n  lguest: Don\u0027t leak /dev/zero fd\n  lguest: fix verbose printing of device features.\n  lguest: fix switcher_page leak on unload\n  lguest: Guest int3 fix\n  lguest: set max_pfn_mapped, growl loudly at Yinghai Lu\n"
    },
    {
      "commit": "5dfb66ba8c4a96eb732942c9f78629e4db1a51d4",
      "tree": "d443adb4d02ac2599baf402698a589a9b814e478",
      "parents": [
        "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
        "424f525a1241351da947fb48a938128ddd774511"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:15:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:15:41 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-mfd:\n  mfd: accept pure device as a parent, not only platform_device\n  mfd: add platform_data to mfd_cell\n  mfd: Coding style fixes\n  mfd: Use to_platform_device instead of container_of\n"
    },
    {
      "commit": "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
      "tree": "36ea93b80a444c3b37111e352790ebc07f29379f",
      "parents": [
        "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
        "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)\n  x86/PCI: use dev_printk when possible\n  PCI: add D3 power state avoidance quirk\n  PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n  PCI: add an option to allow ASPM enabled forcibly\n  PCI: disable ASPM on pre-1.1 PCIe devices\n  PCI: disable ASPM per ACPI FADT setting\n  PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n  PCI: handle 64-bit resources better on 32-bit machines\n  PCI: rewrite PCI BAR reading code\n  PCI: document pci_target_state\n  PCI hotplug: fix typo in pcie hotplug output\n  x86 gart: replace to_pages macro with iommu_num_pages\n  x86, AMD IOMMU: replace to_pages macro with iommu_num_pages\n  iommu: add iommu_num_pages helper function\n  dma-coherent: add documentation to new interfaces\n  Cris: convert to using generic dma-coherent mem allocator\n  Sh: use generic per-device coherent dma allocator\n  ARM: support generic per-device coherent dma mem\n  Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE\n  x86: use generic per-device dma coherent allocator\n  ...\n"
    },
    {
      "commit": "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
      "tree": "bbfe3773752cb483c55a4701fa954caf09933049",
      "parents": [
        "9b79022ca909b66e2cd0cfd9248f832fc165f77f",
        "00eabe7c4478f38b42d632763c4878ced5a1f25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:13:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:13:48 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] qla2xxx: fix msleep compile error\n"
    },
    {
      "commit": "9b79022ca909b66e2cd0cfd9248f832fc165f77f",
      "tree": "bcd8c3204886fcbc8422aeb482f8e42c0b5b6124",
      "parents": [
        "34ee55014283a60efa3534c06e010579ffdd3756"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 17:54:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 17:54:21 2008 -0700"
      },
      "message": "Fix \u0027get_user_pages_fast()\u0027 with non-page-aligned start address\n\nAlexey Dobriyan reported trouble with LTP with the new fast-gup code,\nand Johannes Weiner debugged it to non-page-aligned addresses, where the\nnew get_user_pages_fast() code would do all the wrong things, including\njust traversing past the end of the requested area due to \u0027addr\u0027 never\nmatching \u0027end\u0027 exactly.\n\nThis is not a pretty fix, and we may actually want to move the alignment\ninto generic code, leaving just the core code per-arch, but Alexey\nverified that the vmsplice01 LTP test doesn\u0027t crash with this.\n\nReported-and-tested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nDebugged-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c79873da0d2bedf4ad6b868c54e426bb0a2fe38",
      "tree": "270efee346b70ae6615dd4796363479c94eca6d9",
      "parents": [
        "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:39 2008 +1000"
      },
      "message": "lguest: turn Waker into a thread, not a process\n\nlguest uses a Waker process to break it out of the kernel (ie.\nactually running the guest) when file descriptor needs attention.\n\nChanging this from a process to a thread somewhat simplifies things:\nit can directly access the fd_set of things to watch.  More\nimportantly, it means that the Waker can see Guest memory correctly,\nso /dev/vring file descriptors will work as anticipated (the\nalternative is to actually mmap MAP_SHARED, but you can\u0027t do that with\n/dev/zero).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3",
      "tree": "2509e74b573bac7560f42cc7ab3640814cf683d7",
      "parents": [
        "398f187d74b89d5ab198fcf9b8d86edbefecec4d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 +1000"
      },
      "message": "lguest: Enlarge virtio rings\n\nWith big packets, 128 entries is a little small.\n\nGuest -\u003e Host 1GB TCP:\nBefore: 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\nAfter: 8.01099 seconds xmit 49200 recv 102263 timeout 26014 usec 2118\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "398f187d74b89d5ab198fcf9b8d86edbefecec4d",
      "tree": "7aee6787f46a8db0099f37e9dfea787499ecbcd1",
      "parents": [
        "9254926f85466979ef5f0e16386c294bf0973a90"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap\n\nGuest -\u003e Host 1GB TCP:\nBefore 20.1974 seconds xmit 214510 recv 5 timeout 214491 usec 278\nAfter 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\n\nHost -\u003e Guest 1GB TCP:\nBefore: Seconds 9.98854 xmit 172166 recv 5344 timeout 172157 usec 251\nAfter: Seconds 5.72803 xmit 244322 recv 9919 timeout 244302 usec 156\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9254926f85466979ef5f0e16386c294bf0973a90",
      "tree": "c668e82dd63b50d8aea8b2459a172166880dd4f1",
      "parents": [
        "aa1249840bfc8d62431eed5796bf99887b963ab6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Remove \u0027network: no dma buffer!\u0027 warning\n\nThis warning can happen a lot under load, and it should be warnx not\nwarn anwyay.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "aa1249840bfc8d62431eed5796bf99887b963ab6",
      "tree": "35cf6cd82910af52e271c5e78ad47529e6daaed6",
      "parents": [
        "a161883a29bf6100efe7b5346bec274e5023c29c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Adaptive timeout\n\nSince the correct timeout value varies, use a heuristic which adjusts\nthe timeout depending on how many packets we\u0027ve seen.  This gives\nslightly worse results, but doesn\u0027t need tweaking when GSO is\nintroduced.\n\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\nDynamic (278)\t20.1974\t\txmit 214510 recv 5 timeout 214491 usec 278\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a161883a29bf6100efe7b5346bec274e5023c29c",
      "tree": "5d5b65172a64789eada0e3b824564a793033d0ad",
      "parents": [
        "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Tell Guest net not to notify us on every packet xmit\n\nvirtio_ring has the ability to suppress notifications.  This prevents\na guest exit for every packet, but we need to set a timer on packet\nreceipt to re-check if there were any remaining packets.\n\nHere are the times for 1G TCP Guest-\u003eHost with different timeout\nsettings (it matters because the TCP window doesn\u0027t grow big enough to\nfill the entire buffer):\n\nTimeout value\tSeconds\t\tXmit/Recv/Timeout\nNone (before)\t25.3784\t\txmit 7750233 recv 1\n2500 usec\t62.5119\t\txmit 207020 recv 2 timeout 207020\n1000 usec\t34.5379\t\txmit 207003 recv 2 timeout 207003\n750 usec\t29.2305\t\txmit 207002 recv 1 timeout 207002\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\n250 usec\t20.0465\t\txmit 214128 recv 2 timeout 214110\n100 usec\t19.2583\t\txmit 561621 recv 1 timeout 560153\n\n(Note that these values are sensitive to the GSO patches which come\n later, and probably other traffic-related variables, so take with a\n large grain of salt).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6",
      "tree": "e737c655acb7ea53644392263d9dd99aae76aec9",
      "parents": [
        "b5111790fa6695b1502d4f5d389f6b22b9de10c3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: net block unneeded receive queue update notifications\n\nNumber of exits transmitting 10GB Guest-\u003eHost before:\n\tnetwork xmit 7858610 recv 118136\n\nAfter:\n\tnetwork xmit 7750233 recv 1\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b5111790fa6695b1502d4f5d389f6b22b9de10c3",
      "tree": "f937d643aaf845ecd7952055fcb6c4d8b879e040",
      "parents": [
        "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: wrap last_avail accesses.\n\nTo simplify the transition to when we publish indices in the ring\n(and make shuffling my patch queue easier), wrap them in a lg_last_avail()\nmacro.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c",
      "tree": "89ce628400d628f779b0aedf16b7a033d63de6c5",
      "parents": [
        "28fd6d7f953711fbf67496701be05513052d967d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jun 09 16:22:48 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: use cpu capability accessors\n\nTo support my little make-x86-bitops-use-proper-typechecking projectlet.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "28fd6d7f953711fbf67496701be05513052d967d",
      "tree": "08b3b76e4b0e3440a552facbbef55993be2932e1",
      "parents": [
        "dec6a2be085f046d42eb0bdce95ecb73de526429"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: virtio-rng support\n\nThis is a simple patch to add support for the virtio \"hardware random\ngenerator\" to lguest.  It gets about 1.2 MB/sec reading from /dev/hwrng\nin the guest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dec6a2be085f046d42eb0bdce95ecb73de526429",
      "tree": "0e2bd1576b32167259bb8d290f134c1b7eb1017a",
      "parents": [
        "34bdaab44dd5dac861b0d23bc29b147b569e5783"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Support assigning a MAC address\n\nIf you\u0027ve got a nice DHCP configuration which maps MAC\naddresses to specific IP addresses, then you\u0027re going to\nwant to start your guest with one of those MAC addresses.\n\nAlso, in Fedora, we have persistent network interface naming\nbased on the MAC address, so with randomly assigned\naddresses you\u0027re soon going to hit eth13. Who knows what\nwill happen then!\n\nAllow assigning a MAC address to the network interface with\ne.g.\n\n  --tunnet\u003dbridge:eth0:00:FF:95:6B:DA:3D\n\nor:\n\n  --tunnet\u003d192.168.121.1:00:FF:95:6B:DA:3D\n\nwhich is pretty unintelligable, but ...\n\n(includes Rusty\u0027s minor rework)\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34bdaab44dd5dac861b0d23bc29b147b569e5783",
      "tree": "15dfb12a794d9de9341a90af3a5f6358216eaec0",
      "parents": [
        "32c68e5c569fdf016b494ce2fc8eecf59b6881bd"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jun 13 14:04:58 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Don\u0027t leak /dev/zero fd\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "32c68e5c569fdf016b494ce2fc8eecf59b6881bd",
      "tree": "c61a79f3c34854a4ce9e6131352e05baec46c7b8",
      "parents": [
        "0a707210aa1b8ac40fe781b2a9d0b203b6ebb921"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 +1000"
      },
      "message": "lguest: fix verbose printing of device features.\n\n%02x is more appropriate for bytes than %08x.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0a707210aa1b8ac40fe781b2a9d0b203b6ebb921",
      "tree": "66926aa4868bff6b78b13f3bdeb2a9e9a57bd20d",
      "parents": [
        "0c12091d82e48dc423fb1f51eb0062c557a084af"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Tue Jul 08 10:29:42 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 +1000"
      },
      "message": "lguest: fix switcher_page leak on unload\n\nmap_switcher allocates the array, unmap_switcher has to free it\naccordingly.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0c12091d82e48dc423fb1f51eb0062c557a084af",
      "tree": "91579abdc22e7bf3784f9fcb59a0f018e7f5366d",
      "parents": [
        "5d006d8d09e82f086ca0baf79a2907f2c1e25af7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 +1000"
      },
      "message": "lguest: Guest int3 fix\n\nRon Minnich noticed that guest userspace gets a GPF when it tries to int3:\nwe need to copy the privilege level from the guest-supplied IDT to the real\nIDT.  int3 is the only common case where guest userspace expects to invoke\nan interrupt, so that\u0027s the symptom of failing to do this.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5d006d8d09e82f086ca0baf79a2907f2c1e25af7",
      "tree": "fd289cff9209eda20a28934037f9150e22bef82b",
      "parents": [
        "63add2f2072e69c1eb7a5f6ca8f415122da889b9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:29 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 +1000"
      },
      "message": "lguest: set max_pfn_mapped, growl loudly at Yinghai Lu\n\n6af61a7614a306fe882a0c2b4ddc63b65aa66efc \u0027x86: clean up max_pfn_mapped\nusage - 32-bit\u0027 makes the following comment:\n\n    XEN PV and lguest may need to assign max_pfn_mapped too.\n\nBut no CC.  Yinghai, wasting fellow developers\u0027 time is a VERY bad\nhabit.  If you do it again, I will hunt you down and try to extract\nthe three hours of my life I just lost :)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "424f525a1241351da947fb48a938128ddd774511",
      "tree": "e837c0f6b15a3efe38bb0aa3db5a46305e5a9f38",
      "parents": [
        "56edb58be157a06dc147a988af3588059556d392"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 29 01:30:26 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Tue Jul 29 01:30:26 2008 +0200"
      },
      "message": "mfd: accept pure device as a parent, not only platform_device\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "34ee55014283a60efa3534c06e010579ffdd3756",
      "tree": "b81583dd2fd06368e959efd0c38ab23874b49c6d",
      "parents": [
        "c27ef92d8e0c29a9e8b8ee1b04f3d2cace482d92"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 28 15:46:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "include/asm-generic/pgtable-nopmd.h: macros are noxious, reason #435\n\narch/x86/mm/pgtable.c: In function \u0027pgd_mop_up_pmds\u0027:\n  arch/x86/mm/pgtable.c:194: warning: unused variable \u0027pmd\u0027\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c27ef92d8e0c29a9e8b8ee1b04f3d2cace482d92",
      "tree": "15ddb97a20d323367dbff1f03acda699dbe899cc",
      "parents": [
        "7fcba054373d5dfc43d26e243a5c9b92069972ee"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "mano@roarinelk.homelinux.net",
        "time": "Mon Jul 28 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "sh7760fb: write colormap value to hardware\n\nThe computed color value is never actually written to hardware\ncolormap register.\n\nSigned-off-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nCc: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nCc: Munakata Hisao \u003cmunakata.hisao@renesas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fcba054373d5dfc43d26e243a5c9b92069972ee",
      "tree": "3503fba122a654946b5455bc95fa3978cbc4f68b",
      "parents": [
        "25947d5ac56004378d8c2d31ebf22600d5bc0c02"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jul 28 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "eCryptfs: use page_alloc not kmalloc to get a page of memory\n\nWith SLUB debugging turned on in 2.6.26, I was getting memory corruption\nwhen testing eCryptfs.  The root cause turned out to be that eCryptfs was\ndoing kmalloc(PAGE_CACHE_SIZE); virt_to_page() and treating that as a nice\npage-aligned chunk of memory.  But at least with SLUB debugging on, this\nis not always true, and the page we get from virt_to_page does not\nnecessarily match the PAGE_CACHE_SIZE worth of memory we got from kmalloc.\n\nMy simple testcase was 2 loops doing \"rm -f fileX; cp /tmp/fileX .\" for 2\ndifferent multi-megabyte files.  With this change I no longer see the\ncorruption.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25947d5ac56004378d8c2d31ebf22600d5bc0c02",
      "tree": "9c31bdb948e5bbb01e481fb1d74b9983aa93c987",
      "parents": [
        "e3b6e806cf7e45ac5e6ac0625cebafa4de3394aa"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Jul 28 15:46:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "gpio: fix build on CONFIG_GPIO_SYSFS\u003dn\n\nIf CONFIG_GENERIC_GPIO\u003dy \u0026\u0026 CONFIG_GPIO_SYSFS\u003dn, gpio_export() in\nasm-generic/gpio.h refers -ENOSYS and causes build error.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3b6e806cf7e45ac5e6ac0625cebafa4de3394aa",
      "tree": "9847a5810a1c3e1708773486d0f6a5224983ac7c",
      "parents": [
        "8ab22b9abb5c55413802e4adc9aa6223324547c3"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Mon Jul 28 15:46:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "bio-integrity: remove EXPORT_SYMBOL for bio_integrity_init_slab()\n\nI got section mismatch message about bio_integrity_init_slab().\n\nWARNING: fs/built-in.o(__ksymtab+0xb60): Section mismatch in reference from the variable __ksymtab_bio_integrity_init_slab to the function .init.text:bio_integrity_init_slab()\n\nThe symbol bio_integrity_init_slab is exported and annotated __init Fix\nthis by removing the __init annotation of bio_integrity_init_slab or drop\nthe export.\n\nIt only call from init_bio().  The EXPORT_SYMBOL() can be removed.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nCc: \"Martin K. Petersen\" \u003cmartin.petersen@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ab22b9abb5c55413802e4adc9aa6223324547c3",
      "tree": "cff3319e1275e8a7c083d492889ec6bd0c7712d3",
      "parents": [
        "d84a52f62f6a396ed77aa0052da74ca9e760b28a"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Mon Jul 28 15:46:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "vfs: pagecache usage optimization for pagesize!\u003dblocksize\n\nWhen we read some part of a file through pagecache, if there is a\npagecache of corresponding index but this page is not uptodate, read IO\nis issued and this page will be uptodate.\n\nI think this is good for pagesize \u003d\u003d blocksize environment but there is\nroom for improvement on pagesize !\u003d blocksize environment.  Because in\nthis case a page can have multiple buffers and even if a page is not\nuptodate, some buffers can be uptodate.\n\nSo I suggest that when all buffers which correspond to a part of a file\nthat we want to read are uptodate, use this pagecache and copy data from\nthis pagecache to user buffer even if a page is not uptodate.  This can\nreduce read IO and improve system throughput.\n\nI wrote a benchmark program and got result number with this program.\n\nThis benchmark do:\n\n  1: mount and open a test file.\n\n  2: create a 512MB file.\n\n  3: close a file and umount.\n\n  4: mount and again open a test file.\n\n  5: pwrite randomly 300000 times on a test file.  offset is aligned\n     by IO size(1024bytes).\n\n  6: measure time of preading randomly 100000 times on a test file.\n\nThe result was:\n\t2.6.26\n        330 sec\n\n\t2.6.26-patched\n        226 sec\n\nArch:i386\nFilesystem:ext3\nBlocksize:1024 bytes\nMemory: 1GB\n\nOn ext3/4, a file is written through buffer/block.  So random read/write\nmixed workloads or random read after random write workloads are optimized\nwith this patch under pagesize !\u003d blocksize environment.  This test result\nshowed this.\n\nThe benchmark program is as follows:\n\n#include \u003cstdio.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003csys/mount.h\u003e\n\n#define LEN 1024\n#define LOOP 1024*512 /* 512MB */\n\nmain(void)\n{\n\tunsigned long i, offset, filesize;\n\tint fd;\n\tchar buf[LEN];\n\ttime_t t1, t2;\n\n\tif (mount(\"/dev/sda1\", \"/root/test1/\", \"ext3\", 0, 0) \u003c 0) {\n\t\tperror(\"cannot mount\\n\");\n\t\texit(1);\n\t}\n\tmemset(buf, 0, LEN);\n\tfd \u003d open(\"/root/test1/testfile\", O_CREAT|O_RDWR|O_TRUNC);\n\tif (fd \u003c 0) {\n\t\tperror(\"cannot open file\\n\");\n\t\texit(1);\n\t}\n\tfor (i \u003d 0; i \u003c LOOP; i++)\n\t\twrite(fd, buf, LEN);\n\tclose(fd);\n\tif (umount(\"/root/test1/\") \u003c 0) {\n\t\tperror(\"cannot umount\\n\");\n\t\texit(1);\n\t}\n\tif (mount(\"/dev/sda1\", \"/root/test1/\", \"ext3\", 0, 0) \u003c 0) {\n\t\tperror(\"cannot mount\\n\");\n\t\texit(1);\n\t}\n\tfd \u003d open(\"/root/test1/testfile\", O_RDWR);\n\tif (fd \u003c 0) {\n\t\tperror(\"cannot open file\\n\");\n\t\texit(1);\n\t}\n\n\tfilesize \u003d LEN * LOOP;\n\tfor (i \u003d 0; i \u003c 300000; i++){\n\t\toffset \u003d (random() % filesize) \u0026 (~(LEN - 1));\n\t\tpwrite(fd, buf, LEN, offset);\n\t}\n\tprintf(\"start test\\n\");\n\ttime(\u0026t1);\n\tfor (i \u003d 0; i \u003c 100000; i++){\n\t\toffset \u003d (random() % filesize) \u0026 (~(LEN - 1));\n\t\tpread(fd, buf, LEN, offset);\n\t}\n\ttime(\u0026t2);\n\tprintf(\"%ld sec\\n\", t2-t1);\n\tclose(fd);\n\tif (umount(\"/root/test1/\") \u003c 0) {\n\t\tperror(\"cannot umount\\n\");\n\t\texit(1);\n\t}\n}\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d84a52f62f6a396ed77aa0052da74ca9e760b28a",
      "tree": "65950670f828b61a69dab51ebbe20e00ae01df65",
      "parents": [
        "cb1d0a7a5d2e537f2f6ada22883abee1762e94b2"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Jul 28 15:46:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "kdump: update kdump documentation as kexec-tools-resting has been renamed kexec-tools\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb1d0a7a5d2e537f2f6ada22883abee1762e94b2",
      "tree": "95d4682b931c598fc4db9401fdff08bb3538d73b",
      "parents": [
        "9a7867e1b34c3575e7e76a05c0c54c6edbdae2a4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 15:46:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "spi_s3c24xx: really assign busnum\n\nThe original \"Pass the bus number we expect the S3C24XX SPI driver to\nattach to via the platform data.\" [1] patch was mis-sent, and missed two\nimportant parts of the diff, which was to actually set the bus_num field\nand add the relevant field to the platform data.\n\nThe previous commit 50f426b55d919dd017af35bb6a08753d1f262920 promised to\nadd a bus_num field, but failed to include the two hunks that added this\nfield to include/asm-arm/arch-s3c2410/spi.h and then pass it to the spi\ncore when creating the new master field in drivers/spi/spi_s3c24xx.c.\n\n[1] git commit 50f426b55d919dd017af35bb6a08753d1f262920\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7867e1b34c3575e7e76a05c0c54c6edbdae2a4",
      "tree": "fb4df3c93ed711ae22dcd82320133af86bf42568",
      "parents": [
        "78a34ae29bf1c9df62a5bd0f0798b6c62a54d520"
      ],
      "author": {
        "name": "Luotao Fu",
        "email": "l.fu@pengutronix.de",
        "time": "Mon Jul 28 15:46:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mpc52xx_psc_spi: fix block transfer\n\nThe block transfer routine in the mpc52xx psc spi driver misinterpret\nthe datasheet.  According to the processor datasheet the chipselect is\nheld as long as the EOF is not written.\n\nTheoretically blocks of any sizes can be transferred in this way.  The\nold routine however writes an EOF after every word, which has the size\nof size_of_word.  This makes the transfer slow.\n\nAlso fixed some duplicate code.\n\nSigned-off-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78a34ae29bf1c9df62a5bd0f0798b6c62a54d520",
      "tree": "e8a5576a9142c11be1edc667ecbe7395f8c088ce",
      "parents": [
        "cddb8a5c14aa89810b40495d94d3d2a0faee6619"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Jul 28 15:46:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mm/hugetlb.c must #include \u003casm/io.h\u003e\n\nThis patch fixes the following build error on sh caused by commit\naa888a74977a8f2120ae9332376e179c39a6b07d (\"hugetlb: support larger than\nMAX_ORDER\"):\n\n  mm/hugetlb.c: In function \u0027alloc_bootmem_huge_page\u0027:\n  mm/hugetlb.c:958: error: implicit declaration of function \u0027virt_to_phys\u0027\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cddb8a5c14aa89810b40495d94d3d2a0faee6619",
      "tree": "d0b47b071f7d2dd1d6f9c36084aa8cfcef90d1da",
      "parents": [
        "7906d00cd1f687268f0a3599442d113767795ae6"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mmu-notifiers: core\n\nWith KVM/GFP/XPMEM there isn\u0027t just the primary CPU MMU pointing to pages.\n There are secondary MMUs (with secondary sptes and secondary tlbs) too.\nsptes in the kvm case are shadow pagetables, but when I say spte in\nmmu-notifier context, I mean \"secondary pte\".  In GRU case there\u0027s no\nactual secondary pte and there\u0027s only a secondary tlb because the GRU\nsecondary MMU has no knowledge about sptes and every secondary tlb miss\nevent in the MMU always generates a page fault that has to be resolved by\nthe CPU (this is not the case of KVM where the a secondary tlb miss will\nwalk sptes in hardware and it will refill the secondary tlb transparently\nto software if the corresponding spte is present).  The same way\nzap_page_range has to invalidate the pte before freeing the page, the spte\n(and secondary tlb) must also be invalidated before any page is freed and\nreused.\n\nCurrently we take a page_count pin on every page mapped by sptes, but that\nmeans the pages can\u0027t be swapped whenever they\u0027re mapped by any spte\nbecause they\u0027re part of the guest working set.  Furthermore a spte unmap\nevent can immediately lead to a page to be freed when the pin is released\n(so requiring the same complex and relatively slow tlb_gather smp safe\nlogic we have in zap_page_range and that can be avoided completely if the\nspte unmap event doesn\u0027t require an unpin of the page previously mapped in\nthe secondary MMU).\n\nThe mmu notifiers allow kvm/GRU/XPMEM to attach to the tsk-\u003emm and know\nwhen the VM is swapping or freeing or doing anything on the primary MMU so\nthat the secondary MMU code can drop sptes before the pages are freed,\navoiding all page pinning and allowing 100% reliable swapping of guest\nphysical address space.  Furthermore it avoids the code that teardown the\nmappings of the secondary MMU, to implement a logic like tlb_gather in\nzap_page_range that would require many IPI to flush other cpu tlbs, for\neach fixed number of spte unmapped.\n\nTo make an example: if what happens on the primary MMU is a protection\ndowngrade (from writeable to wrprotect) the secondary MMU mappings will be\ninvalidated, and the next secondary-mmu-page-fault will call\nget_user_pages and trigger a do_wp_page through get_user_pages if it\ncalled get_user_pages with write\u003d1, and it\u0027ll re-establishing an updated\nspte or secondary-tlb-mapping on the copied page.  Or it will setup a\nreadonly spte or readonly tlb mapping if it\u0027s a guest-read, if it calls\nget_user_pages with write\u003d0.  This is just an example.\n\nThis allows to map any page pointed by any pte (and in turn visible in the\nprimary CPU MMU), into a secondary MMU (be it a pure tlb like GRU, or an\nfull MMU with both sptes and secondary-tlb like the shadow-pagetable layer\nwith kvm), or a remote DMA in software like XPMEM (hence needing of\nschedule in XPMEM code to send the invalidate to the remote node, while no\nneed to schedule in kvm/gru as it\u0027s an immediate event like invalidating\nprimary-mmu pte).\n\nAt least for KVM without this patch it\u0027s impossible to swap guests\nreliably.  And having this feature and removing the page pin allows\nseveral other optimizations that simplify life considerably.\n\nDependencies:\n\n1) mm_take_all_locks() to register the mmu notifier when the whole VM\n   isn\u0027t doing anything with \"mm\".  This allows mmu notifier users to keep\n   track if the VM is in the middle of the invalidate_range_begin/end\n   critical section with an atomic counter incraese in range_begin and\n   decreased in range_end.  No secondary MMU page fault is allowed to map\n   any spte or secondary tlb reference, while the VM is in the middle of\n   range_begin/end as any page returned by get_user_pages in that critical\n   section could later immediately be freed without any further\n   -\u003einvalidate_page notification (invalidate_range_begin/end works on\n   ranges and -\u003einvalidate_page isn\u0027t called immediately before freeing\n   the page).  To stop all page freeing and pagetable overwrites the\n   mmap_sem must be taken in write mode and all other anon_vma/i_mmap\n   locks must be taken too.\n\n2) It\u0027d be a waste to add branches in the VM if nobody could possibly\n   run KVM/GRU/XPMEM on the kernel, so mmu notifiers will only enabled if\n   CONFIG_KVM\u003dm/y.  In the current kernel kvm won\u0027t yet take advantage of\n   mmu notifiers, but this already allows to compile a KVM external module\n   against a kernel with mmu notifiers enabled and from the next pull from\n   kvm.git we\u0027ll start using them.  And GRU/XPMEM will also be able to\n   continue the development by enabling KVM\u003dm in their config, until they\n   submit all GRU/XPMEM GPLv2 code to the mainline kernel.  Then they can\n   also enable MMU_NOTIFIERS in the same way KVM does it (even if KVM\u003dn).\n   This guarantees nobody selects MMU_NOTIFIER\u003dy if KVM and GRU and XPMEM\n   are all \u003dn.\n\nThe mmu_notifier_register call can fail because mm_take_all_locks may be\ninterrupted by a signal and return -EINTR.  Because mmu_notifier_reigster\nis used when a driver startup, a failure can be gracefully handled.  Here\nan example of the change applied to kvm to register the mmu notifiers.\nUsually when a driver startups other allocations are required anyway and\n-ENOMEM failure paths exists already.\n\n struct  kvm *kvm_arch_create_vm(void)\n {\n        struct kvm *kvm \u003d kzalloc(sizeof(struct kvm), GFP_KERNEL);\n+       int err;\n\n        if (!kvm)\n                return ERR_PTR(-ENOMEM);\n\n        INIT_LIST_HEAD(\u0026kvm-\u003earch.active_mmu_pages);\n\n+       kvm-\u003earch.mmu_notifier.ops \u003d \u0026kvm_mmu_notifier_ops;\n+       err \u003d mmu_notifier_register(\u0026kvm-\u003earch.mmu_notifier, current-\u003emm);\n+       if (err) {\n+               kfree(kvm);\n+               return ERR_PTR(err);\n+       }\n+\n        return kvm;\n }\n\nmmu_notifier_unregister returns void and it\u0027s reliable.\n\nThe patch also adds a few needed but missing includes that would prevent\nkernel to compile after these changes on non-x86 archs (x86 didn\u0027t need\nthem by luck).\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix mm/filemap_xip.c build]\n[akpm@linux-foundation.org: fix mm/mmu_notifier.c build]\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7906d00cd1f687268f0a3599442d113767795ae6",
      "tree": "63609454d164a088d7f535f826764579c0f297f6",
      "parents": [
        "6beeac76f5f96590fb751af5e138fbc3f62e8460"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mmu-notifiers: add mm_take_all_locks() operation\n\nmm_take_all_locks holds off reclaim from an entire mm_struct.  This allows\nmmu notifiers to register into the mm at any time with the guarantee that\nno mmu operation is in progress on the mm.\n\nThis operation locks against the VM for all pte/vma/mm related operations\nthat could ever happen on a certain mm.  This includes vmtruncate,\ntry_to_unmap, and all page faults.\n\nThe caller must take the mmap_sem in write mode before calling\nmm_take_all_locks().  The caller isn\u0027t allowed to release the mmap_sem\nuntil mm_drop_all_locks() returns.\n\nmmap_sem in write mode is required in order to block all operations that\ncould modify pagetables and free pages without need of altering the vma\nlayout (for example populate_range() with nonlinear vmas).  It\u0027s also\nneeded in write mode to avoid new anon_vmas to be associated with existing\nvmas.\n\nA single task can\u0027t take more than one mm_take_all_locks() in a row or it\nwould deadlock.\n\nmm_take_all_locks() and mm_drop_all_locks are expensive operations that\nmay have to take thousand of locks.\n\nmm_take_all_locks() can fail if it\u0027s interrupted by signals.\n\nWhen mmu_notifier_register returns, we must be sure that the driver is\nnotified if some task is in the middle of a vmtruncate for the \u0027mm\u0027 where\nthe mmu notifier was registered (mmu_notifier_invalidate_range_start/end\nis run around the vmtruncation but mmu_notifier_register can run after\nmmu_notifier_invalidate_range_start and before\nmmu_notifier_invalidate_range_end).  Same problem for rmap paths.  And\nwe\u0027ve to remove page pinning to avoid replicating the tlb_gather logic\ninside KVM (and GRU doesn\u0027t work well with page pinning regardless of\nneeding tlb_gather), so without mm_take_all_locks when vmtruncate frees\nthe page, kvm would have no way to notice that it mapped into sptes a page\nthat is going into the freelist without a chance of any further\nmmu_notifier notification.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6beeac76f5f96590fb751af5e138fbc3f62e8460",
      "tree": "530b768655b63893f019204fe4f9b8405db07ac2",
      "parents": [
        "93686ae8357c1b1e37e8dfc96547f807e7a93b4b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "mmu-notifiers: add list_del_init_rcu()\n\nIntroduce list_del_init_rcu() and document it.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93686ae8357c1b1e37e8dfc96547f807e7a93b4b",
      "tree": "7b3040b43cbf78d946538ebab8fb3b158a4d4d64",
      "parents": [
        "4d9c377c81d37740b25cacf025f95c084eafabbb"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Jul 28 15:46:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "arm: fix HAVE_CLK merge goof\n\nThis fixes a merge goof whereby ARCH_EP93XX got the \"select HAVE_CLK\" line\nwhich belongs instead with ARCH_AT91.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d9c377c81d37740b25cacf025f95c084eafabbb",
      "tree": "a7ff1a6ca9865c47c86df4df64bf2cfc8b38daaf",
      "parents": [
        "14fcc23fdc78e9d32372553ccf21758a9bd56fa1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jul 28 15:46:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "__ratelimit() cpu flags can\u0027t be static\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14fcc23fdc78e9d32372553ccf21758a9bd56fa1",
      "tree": "594fc0e0e85c03205ba2d80a4b4e0a8fc6ffaa8a",
      "parents": [
        "ca5b172bd2b2fe489e7ba11cedd46ddf772d132f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jul 28 15:46:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "tmpfs: fix kernel BUG in shmem_delete_inode\n\nSuSE\u0027s insserve initscript ordering program hits kernel BUG at mm/shmem.c:814\non 2.6.26.  It\u0027s using posix_fadvise on directories, and the shmem_readpage\nmethod added in 2.6.23 is letting POSIX_FADV_WILLNEED allocate useless pages\nto a tmpfs directory, incrementing i_blocks count but never decrementing it.\n\nFix this by assigning shmem_aops (pointing to readpage and writepage and\nset_page_dirty) only when it\u0027s needed, on a regular file or a long symlink.\n\nMany thanks to Kel for outstanding bugreport and steps to reproduce it.\n\nReported-by: Kel Modderman \u003ckel@otaku42.de\u003e\nTested-by: Kel Modderman \u003ckel@otaku42.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca5b172bd2b2fe489e7ba11cedd46ddf772d132f",
      "tree": "8b006a799624fdcc923ba85f1fcce856eb5615d6",
      "parents": [
        "63add2f2072e69c1eb7a5f6ca8f415122da889b9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jul 28 15:46:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "exec: include pagemap.h again to fix build\n\nFix compilation errors on avr32 and without CONFIG_SWAP, introduced by\nba92a43dbaee339cf5915ef766d3d3ffbaaf103c (\"exec: remove some includes\")\n\n  In file included from include/asm/tlb.h:24,\n                   from fs/exec.c:55:\n  include/asm-generic/tlb.h: In function \u0027tlb_flush_mmu\u0027:\n  include/asm-generic/tlb.h:76: error: implicit declaration of function \u0027release_pages\u0027\n  include/asm-generic/tlb.h: In function \u0027tlb_remove_page\u0027:\n  include/asm-generic/tlb.h:105: error: implicit declaration of function \u0027page_cache_release\u0027\n  make[1]: *** [fs/exec.o] Error 1\n\nThis straightforward part-revert is nobody\u0027s favourite patch to address\nthe underlying tlb.h needs swap.h needs pagemap.h (but sparc won\u0027t like\nthat) mess; but appropriate to fix the build now before any overhaul.\n\nReported-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nReported-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nTested-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56edb58be157a06dc147a988af3588059556d392",
      "tree": "3771389d15ef26bf40ac19f8abd0d39454dc6db6",
      "parents": [
        "7f71ac9374fec066e428892a68db158946cee1fb"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Tue Jul 29 01:23:32 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Tue Jul 29 01:23:32 2008 +0200"
      },
      "message": "mfd: add platform_data to mfd_cell\n\nAdding platform_data to mfd_cell allows passing of platform data directly\nto the platform_device created for each cell and thus reuse of existing\ndrivers.\nOn the other side it can be used as a hook to mfd_cell itself\nremoving the need in mfd_get_cell method.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nAcked-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1",
      "tree": "989a29f1529b4d914a1d6fcedb0815363d1b1713",
      "parents": [
        "756f7bc6683916177e8176f8d3fa5f4c11c88afc"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Jul 23 17:00:13 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:32:26 2008 -0700"
      },
      "message": "x86/PCI: use dev_printk when possible\n\nConvert printks to use dev_printk().\n\nI converted DBG() to dev_dbg().  This DBG() is from arch/x86/pci/pci.h and\nrequires source-code modification to enable, so dev_dbg() seems roughly\nequivalent.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "756f7bc6683916177e8176f8d3fa5f4c11c88afc",
      "tree": "cbe3ffc375950b016198fa61dea63bb449c59c93",
      "parents": [
        "979b1791e5b8f8b556faeec4c48339e7ed63af9f",
        "cb28a1bbdb4790378e7366d6c9ee1d2340b84f92"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 15:15:46 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:15:46 2008 -0700"
      },
      "message": "Merge branch \u0027core/generic-dma-coherent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into for-linus\n"
    },
    {
      "commit": "63add2f2072e69c1eb7a5f6ca8f415122da889b9",
      "tree": "6948de01b65858ae484474d3cbf2c9d7f61b28ca",
      "parents": [
        "3684a601e4273692b6c80b86e55c728aef675660",
        "9e3ee1c39c0cc71222f9980ccbf87fe072897eef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:13:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:13:42 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpu masks: optimize and clean up cpumask_of_cpu()\n  cpumask: export cpumask_of_cpu_map\n  cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n  cpumask: put cpumask_of_cpu_map in the initdata section\n  cpumask: make cpumask_of_cpu_map generic\n"
    },
    {
      "commit": "3684a601e4273692b6c80b86e55c728aef675660",
      "tree": "1eefe49a5f357c03e628c9f0eecbf2420e8e824e",
      "parents": [
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jul 28 17:11:44 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:12:37 2008 -0700"
      },
      "message": "ipwireless: fix compile failure\n\nThere\u0027s a brown paper bag compile failure introduced by this patch\n\ncommit a01386924874c4d6d67f8a34e66f04452c2abb69\nAuthor: David Sterba \u003cdsterba@suse.cz\u003e\nDate:   Mon Jul 28 16:53:32 2008 +0200\n\n    ipwireless: Preallocate received packet buffers with MRU size\n\nReally, it can\u0027t ever have been even compile tested.  It looks like the\nclosing bracket is in the wrong place, so this is the fix.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "979b1791e5b8f8b556faeec4c48339e7ed63af9f",
      "tree": "30990937096bb25aa8349dae7285e70f268a767a",
      "parents": [
        "362b7077a5546b42131af15ba4776f30c9a72d0c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jul 24 17:18:38 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:12:11 2008 -0700"
      },
      "message": "PCI: add D3 power state avoidance quirk\n\nLibata has some hacks to deal with certain controllers going silly in D3\nstate. The right way to handle this is to keep a PCI device flag for\nsuch devices. That can then be generalised for no ATA devices with power\nproblems.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "cb28a1bbdb4790378e7366d6c9ee1d2340b84f92",
      "tree": "316436f77dac75335fd2c3ef5f109e71606c50d3",
      "parents": [
        "b6d4f7e3ef25beb8c658c97867d98883e69dc544",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/generic-dma-coherent\n\nConflicts:\n\n\tarch/x86/Kconfig\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "362b7077a5546b42131af15ba4776f30c9a72d0c",
      "tree": "59639d9cc02288f601cb7b9c3188053916e8d1a3",
      "parents": [
        "d6d385743463f38a0da899cd4607e526ad9a049f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jul 22 12:37:17 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:06:00 2008 -0700"
      },
      "message": "PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n\nI get warnings about \u0027device\u0027 possibly being used uninitialised.  While\nI can deduce this is not true, it seems that GCC can\u0027t.  This patch\nchanges `check_slot\u0027 to return device on success and -1 on error, which\nshuts GCC up.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d6d385743463f38a0da899cd4607e526ad9a049f",
      "tree": "3d5de148d1cf56e58c6321511adaf8078d9046c0",
      "parents": [
        "149e16372a2066c5474d8a8db9b252afd57eb427"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:42 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:57:30 2008 -0700"
      },
      "message": "PCI: add an option to allow ASPM enabled forcibly\n\nA new option, pcie_aspm\u003dforce, will force ASPM to be enabled, even on system\nwith PCIe 1.0 devices.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "149e16372a2066c5474d8a8db9b252afd57eb427",
      "tree": "075a46f0672739fdab18d2f1e5f06080160de8b0",
      "parents": [
        "5fde244d39b88625ac578d83e6625138714de031"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:31 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:56:57 2008 -0700"
      },
      "message": "PCI: disable ASPM on pre-1.1 PCIe devices\n\nDisable ASPM on pre-1.1 PCIe devices, as many of them don\u0027t implement it\ncorrectly.\n\nTested-by: Jack Howarth \u003chowarth@bromo.msbb.uc.edu\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5fde244d39b88625ac578d83e6625138714de031",
      "tree": "e50762b22a94f7f7990c9dbab699a857da0982eb",
      "parents": [
        "ce6fce4295ba727b36fdc73040e444bd1aae64cd"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:24 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:56:09 2008 -0700"
      },
      "message": "PCI: disable ASPM per ACPI FADT setting\n\nThe ACPI FADT table includes an ASPM control bit. If the bit is set, do\nnot enable ASPM since it may indicate that the platform doesn\u0027t actually\nsupport the feature.\n\nTested-by: Jack Howarth \u003chowarth@bromo.msbb.uc.edu\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ce6fce4295ba727b36fdc73040e444bd1aae64cd",
      "tree": "7c8e4134b799d3d0ed56888bb8936e0071a05caf",
      "parents": [
        "29111f579f4f3f2a07385f931854ab0527ae7ea5"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Jul 25 15:42:58 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:43:22 2008 -0700"
      },
      "message": "PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n\nDavid Vrabel has a device which generates an interrupt storm on the INTx\npin if we disable MSI interrupts altogether.  Masking interrupts is only\na performance optimisation, so we can ignore the request to mask the\ninterrupt.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9e3ee1c39c0cc71222f9980ccbf87fe072897eef",
      "tree": "99462000e6f0d4f907cb2fc690f19d4d441ba0f3",
      "parents": [
        "e56b3bc7942982ac2589c942fb345e38bc7a341a",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tkernel/stop_machine.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29111f579f4f3f2a07385f931854ab0527ae7ea5",
      "tree": "0271f20b0c954fa364be8627e0d6065544de0534",
      "parents": [
        "cc5499c3a607a392e8a7adb934aaf14b2c6a3519",
        "87e39ea5714dd59ba31e36c25833d2b20255a29d"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 14:31:10 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:31:10 2008 -0700"
      },
      "message": "Merge branch \u0027x86/iommu\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into for-linus\n"
    },
    {
      "commit": "cc5499c3a607a392e8a7adb934aaf14b2c6a3519",
      "tree": "d7ab414b929fed34d9b15bf0c636e9591c4673dd",
      "parents": [
        "6ac665c63dcac8fcec534a1d224ecbb8b867ad59"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jul 28 13:39:00 2008 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:29:04 2008 -0700"
      },
      "message": "PCI: handle 64-bit resources better on 32-bit machines\n\nIf the kernel is configured to support 64-bit resources on a 32-bit\nmachine, we can support 64-bit BARs properly.  Just change the condition\nto check sizeof(resource_size_t) instead of BITS_PER_LONG.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6ac665c63dcac8fcec534a1d224ecbb8b867ad59",
      "tree": "c331b97a2a7a5dfc6353f2538e5fd66a0d9a854d",
      "parents": [
        "37139074233a5bbec54ae01ab580e5788a248cc3"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jul 28 13:38:59 2008 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:28:53 2008 -0700"
      },
      "message": "PCI: rewrite PCI BAR reading code\n\nFactor out the code to read one BAR from the loop in pci_read_bases into\na new function, __pci_read_base.  The new code is slightly more\nreadable, better commented and removes the ifdef.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e56b3bc7942982ac2589c942fb345e38bc7a341a",
      "tree": "8130492904f5bb9cff061f62ebb1c5d6eed3308b",
      "parents": [
        "414f746d232d41ed6ae8632c4495ae795373c44b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 11:32:33 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 22:20:41 2008 +0200"
      },
      "message": "cpu masks: optimize and clean up cpumask_of_cpu()\n\nClean up and optimize cpumask_of_cpu(), by sharing all the zero words.\n\nInstead of stupidly generating all possible i\u003d0...NR_CPUS 2^i patterns\ncreating a huge array of constant bitmasks, realize that the zero words\ncan be shared.\n\nIn other words, on a 64-bit architecture, we only ever need 64 of these\narrays - with a different bit set in one single world (with enough zero\nwords around it so that we can create any bitmask by just offsetting in\nthat big array). And then we just put enough zeroes around it that we\ncan point every single cpumask to be one of those things.\n\nSo when we have 4k CPU\u0027s, instead of having 4k arrays (of 4k bits each,\nwith one bit set in each array - 2MB memory total), we have exactly 64\narrays instead, each 8k bits in size (64kB total).\n\nAnd then we just point cpumask(n) to the right position (which we can\ncalculate dynamically). Once we have the right arrays, getting\n\"cpumask(n)\" ends up being:\n\n  static inline const cpumask_t *get_cpu_mask(unsigned int cpu)\n  {\n          const unsigned long *p \u003d cpu_bit_bitmap[1 + cpu % BITS_PER_LONG];\n          p -\u003d cpu / BITS_PER_LONG;\n          return (const cpumask_t *)p;\n  }\n\nThis brings other advantages and simplifications as well:\n\n - we are not wasting memory that is just filled with a single bit in\n   various different places\n\n - we don\u0027t need all those games to re-create the arrays in some dense\n   format, because they\u0027re already going to be dense enough.\n\nif we compile a kernel for up to 4k CPU\u0027s, \"wasting\" that 64kB of memory\nis a non-issue (especially since by doing this \"overlapping\" trick we\nprobably get better cache behaviour anyway).\n\n[ mingo@elte.hu:\n\n  Converted Linus\u0027s mails into a commit. See:\n\n     http://lkml.org/lkml/2008/7/27/156\n     http://lkml.org/lkml/2008/7/28/320\n\n  Also applied a family filter - which also has the side-effect of leaving\n  out the bits where Linus calls me an idio... Oh, never mind ;-)\n]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "37139074233a5bbec54ae01ab580e5788a248cc3",
      "tree": "70f513c5d2c111a1c4dde46a7b23896f65cb96ec",
      "parents": [
        "56adc59d81b01ac5924f7eba6e22adc762a1e2c6"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 11:49:26 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 11:49:26 2008 -0700"
      },
      "message": "PCI: document pci_target_state\n\nThe empty kdoc was causing warnings, so provide some actual documentation.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "56adc59d81b01ac5924f7eba6e22adc762a1e2c6",
      "tree": "ba7889f5fee43c090872b8531a9ab71c530b4383",
      "parents": [
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Jul 24 16:43:43 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 11:44:32 2008 -0700"
      },
      "message": "PCI hotplug: fix typo in pcie hotplug output\n\nComamnd-\u003eCommand\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f934fb19ef34730263e6afc01e8ec27a8a71470f",
      "tree": "6988fa3734adb98ab989657c56b7e31e94e723f8",
      "parents": [
        "3988ba0708e98b4bafc9034aa476775520bee708",
        "72d18a7b9e1a3a9511bae78fc7f0932ae01d5d73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:59:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:59:26 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: add driver for Atmel integrated touchscreen controller\n  Input: ads7846 - optimize order of calculating Rt in ads7846_rx()\n  Input: ads7846 - fix sparse endian warnings\n  Input: uinput - remove duplicate include\n  Input: serio - offload resume to kseriod\n  Input: serio - mark serio_register_driver() __must_check\n"
    },
    {
      "commit": "3988ba0708e98b4bafc9034aa476775520bee708",
      "tree": "8c706018fef444bc16b33fa8208e78cabf993a1f",
      "parents": [
        "d9089c296bdd82e6c1b7f82d04c11b5decde75e7",
        "18c60c0a3b16fc7d6a55497a228602ad8509f838"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix uninitialized variable for search_rsb_list callers\n  dlm: release socket on error\n  dlm: fix basts for granted CW waiting PR/CW\n  dlm: check for null in device_write\n"
    },
    {
      "commit": "7f71ac9374fec066e428892a68db158946cee1fb",
      "tree": "56c0ef9140380cfa0ecaff155c6f670f12f7733e",
      "parents": [
        "96ee41993b5b25ee0fbde2d4dcaac1f8c5ef5cc4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 18:29:09 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Mon Jul 28 18:29:09 2008 +0200"
      },
      "message": "mfd: Coding style fixes\n\nFix some coding style fixes in the mfd core driver.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "96ee41993b5b25ee0fbde2d4dcaac1f8c5ef5cc4",
      "tree": "a0a505a06dd75d98885af9b45cebe3ff585410f4",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 18:26:42 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Mon Jul 28 18:26:42 2008 +0200"
      },
      "message": "mfd: Use to_platform_device instead of container_of\n\nConvert mfd_remove_devices_fn() to use to_platform_device()\ninstead of doing container_of().\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nAcked-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "d9089c296bdd82e6c1b7f82d04c11b5decde75e7",
      "tree": "6c2a3b8bc1b6f8b5930f6a20b099511dd19aa4ba",
      "parents": [
        "bda426f5310ffddcd463fe20f352609e84989514",
        "00df438e89a9003895948170e1abf64dd4665872"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:05:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:05:35 2008 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)\n  powerpc: Disable 64K hugetlb support when doing 64K SPU mappings\n  powerpc/powermac: Fixup default serial port device for pmac_zilog\n  powerpc/powermac: Use sane default baudrate for SCC debugging\n  powerpc/mm: Implement _PAGE_SPECIAL \u0026 pte_special() for 64-bit\n  powerpc: Show processor cache information in sysfs\n  powerpc: Make core id information available to userspace\n  powerpc: Make core sibling information available to userspace\n  powerpc/vio: More fallout from dma_mapping_error API change\n  ibmveth: Fix multiple errors with dma_mapping_error conversion\n  powerpc/pseries: Fix CMO sysdev attribute API change fallout\n  powerpc: Enable tracehook for the architecture\n  powerpc: Add TIF_NOTIFY_RESUME support for tracehook\n  powerpc: Add asm/syscall.h with the tracehook entry points\n  powerpc: Make syscall tracing use tracehook.h helpers\n  powerpc: Call tracehook_signal_handler() when setting up signal frames\n  powerpc: Update cpu_sibling_maps dynamically\n  powerpc: register_cpu_online should be __cpuinit\n  powerpc: kill useless SMT code in prom_hold_cpus\n  powerpc: Fix 8xx build failure\n  powerpc: Fix vio build warnings\n  ...\n"
    },
    {
      "commit": "bda426f5310ffddcd463fe20f352609e84989514",
      "tree": "8eed1fbe72b0c9ca6293980664e55275b761c3fa",
      "parents": [
        "b10a8b7238d7b034f28d32a85bb05c48475f132a",
        "7878ac81e69c5b3ccad59808da06edf16455a57a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:41:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:41:56 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:\n  Remove deprecated virt_to_bus()\n"
    },
    {
      "commit": "b10a8b7238d7b034f28d32a85bb05c48475f132a",
      "tree": "8e70e816757c2a517de6fb721dd9ac2276619c26",
      "parents": [
        "37eaf8c7463e53cf1acf025fb566fb6c4573297f",
        "8b2224dc6a5b46cfa1d54ab1fe82107351c66443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:41:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:41:13 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (72 commits)\n  sh: SuperH Mobile CEU and camera platform data for AP325RXA\n  sh: Update smc911x platform data for AP325RXA\n  sh: SuperH Mobile LCDC platform data for AP325RXA\n  sh: Add SuperH Mobile CEU platform data for Migo-R\n  sh: Add SuperH Mobile LCDC platform data for Migo-R\n  sh: Move asid_cache() out of ifdef to fix SH-3/4 nommu build.\n  sh: Workaround for __put_user_asm() bug with gcc 4.x on big-endian.\n  sh: Wire up new syscalls.\n  sh: fix uImage Entry Point\n  sh_keysc: remove request_mem_region() and release_mem_region()\n  sh: Don\u0027t miss pending signals returning to user mode after signal processing\n  sh: Use clk_always_enable() on sh7366\n  sh: Use clk_always_enable() on sh7343 / SE77343\n  sh: Use clk_always_enable() on sh7722 / Migo-R / SE7722\n  sh: Use clk_always_enable() on sh7723 / ap325rxa\n  sh: Introduce clk_always_enable() function\n  sh: Show all clocks and their state in /proc/clocks\n  sh: Merge sh7343 and sh7722 clock code\n  sh: Add SuperH Mobile MSTPCR bits to clock framework\n  sh: Use arch_flags to simplify sh7722 siu clock code\n  ...\n"
    },
    {
      "commit": "37eaf8c7463e53cf1acf025fb566fb6c4573297f",
      "tree": "9df7e9e3e7722d9ddf257e19fd8551425d27a292",
      "parents": [
        "58f250714f2bfa3514798fde8b9d38a15e4a9836",
        "784e2d76007f90d69341b95967160c4fb7829299"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:37:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:37:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  stop_machine: fix up ftrace.c\n  stop_machine: Wean existing callers off stop_machine_run()\n  stop_machine(): stop_machine_run() changed to use cpu mask\n  Hotplug CPU: don\u0027t check cpu_online after take_cpu_down\n  Simplify stop_machine\n  stop_machine: add ALL_CPUS option\n  module: fix build warning with !CONFIG_KALLSYMS\n"
    },
    {
      "commit": "58f250714f2bfa3514798fde8b9d38a15e4a9836",
      "tree": "f4d297b4711f52c4cd0c182a58836812e76e50e9",
      "parents": [
        "c32f1a34ff1097110469a240ea4539dc9c101e96",
        "c2f90e9536887fb76fb6a2aa239a70fc49beda10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:35:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:35:40 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (98 commits)\n  V4L/DVB (8549): mxl5007: Fix an error at include file\n  V4L/DVB (8548): pwc: Fix compilation\n  V4L/DVB (8546): add tuner-3036 and dpc7146 drivers to feature-removal-schedule.txt\n  V4L/DVB (8546): saa7146: fix read from uninitialized memory\n  V4L/DVB (8544): gspca: probe/open race.\n  V4L/DVB (8543): em28xx: Rename #define for Compro VideoMate ForYou/Stereo\n  V4L/DVB (8542): em28xx: AMD ATI TV Wonder HD 600 entry at cards struct is duplicated\n  V4L/DVB (8541): em28xx: HVR-950 entry is duplicated.\n  V4L/DVB (8540): em28xx-cards: Add Compro VideoMate ForYou/Stereo model\n  V4L/DVB (8539): em28xx-cards: New supported IDs for analog models\n  V4L/DVB (8538): em28xx-cards: Add GrabBeeX+ USB2800 model\n  V4L/DVB (8534): remove select\u0027s of FW_LOADER\n  V4L/DVB (8522): videodev2: Fix merge conflict\n  V4L/DVB (8532): mxl5007t: remove excessive locks\n  V4L/DVB (8531): mxl5007t: move i2c gate handling outside of mutex protected code blocks\n  V4L/DVB (8530): au0828: add support for new revision of HVR950Q\n  V4L/DVB (8529): mxl5007t: enable _init and _sleep power management functionality\n  V4L/DVB (8528): add support for MaxLinear MxL5007T silicon tuner\n  V4L/DVB (8526): saa7146: fix VIDIOC_ENUM_FMT\n  V4L/DVB (8525): fix a few assorted spelling mistakes.\n  ...\n"
    },
    {
      "commit": "c32f1a34ff1097110469a240ea4539dc9c101e96",
      "tree": "eda863205e83afe54cbedcf15cdac416cdec2cf5",
      "parents": [
        "4f31f3080943c7e3541f07df326f06d598a067d0",
        "04d91cb8163f7f946e348b2362a6e5dfa5f06b13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:33:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:33:25 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc: Set CONFIG_HAVE_ARCH_TRACEHOOK\n  sparc: Add task_pt_regs().\n  sparc: Add call to tracehook_signal_handler().\n  sparc: Create and use TIF_NOTIFY_RESUME.\n  sparc: Use tracehook routines in syscall_trace().\n  sparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK\n  sparc: Add user_stack_pointer().\n  sparc64: tracehook_signal_handler\n  sparc64: tracehook: TIF_NOTIFY_RESUME\n  sparc: Add asm/syscall.h\n  sparc64: tracehook syscall\n  sparc: enable headers_export again\n  sparc, sparc64: use arch/sparc/include\n"
    },
    {
      "commit": "4f31f3080943c7e3541f07df326f06d598a067d0",
      "tree": "e7455c1a8a3991d1e16690a8cf2f7d4f0dd55836",
      "parents": [
        "1486361777b3ce5ead414d9b2d9fc46f9cd86e0b",
        "281c7413ed914623d3245299a4761b6b27ab9fdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:32:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:32:25 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: missing bits of net-namespace / sysctl\n  ipcomp: Fix warnings after ipcomp consolidation.\n  dccp: Add check for truncated ICMPv6 DCCP error packets\n  dccp: Fix incorrect length check for ICMPv4 packets\n  dccp: Add check for sequence number in ICMPv6 message\n  dccp: Fix sequence number check for ICMPv4 packets\n  dccp: Bug-Fix - AWL was never updated\n  dccp: Allow to distinguish original and retransmitted packets\n"
    },
    {
      "commit": "1486361777b3ce5ead414d9b2d9fc46f9cd86e0b",
      "tree": "5ef82f1dae50eab49b80bc949aced230e9538749",
      "parents": [
        "1f07be1c31cf898e5e3708d52e38db0803c62924"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jul 27 20:44:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:31:58 2008 -0700"
      },
      "message": "SubmittingPatches: add git pull \u0026 diffstat format info\n\nAdd git pull command info and diffstat summary info so that we don\u0027t\nhave to search email archives for it repeatedly.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f07be1c31cf898e5e3708d52e38db0803c62924",
      "tree": "2e6926cedfea512458f2ffe39765079394aeb56d",
      "parents": [
        "b032bf70df2e43149ce2b4e9a865b076c6140753"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Jul 28 11:05:04 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:31:58 2008 -0700"
      },
      "message": "more sysdev API change fallout - drivers/base/memory.c\n\nNoticed because of this warning:\n\n  drivers/base/memory.c:279: warning: initialization from incompatible pointer type\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b032bf70df2e43149ce2b4e9a865b076c6140753",
      "tree": "ba022a0bc85598a29e21b7aa3f101c8043c24024",
      "parents": [
        "9ffc1699e36abd5baee188c8e36b1bb27d0d4278"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 27 23:47:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:31:58 2008 -0700"
      },
      "message": "ACPI/CPUIDLE: prevent setting pm_idle to NULL\n\npm_idle_save resp. pm_idle_old can be NULL when the restore code in\nacpi_processor_cst_has_changed() resp. cpuidle_uninstall_idle_handler()\nis called. This can set pm_idle unconditinally to NULL, which causes the\nkernel to panic when calling pm_idle in the x86 idle code. This was\ncovered by an extra check for !pm_idle in the x86 idle code, which was\nremoved during the x86 idle code refactoring.\n\nInstead of restoring the pm_idle check in the x86 code prevent the\nacpi/cpuidle code to set pm_idle to NULL.\n\nReported by: Dhaval Giani http://lkml.org/lkml/2008/7/2/309\nBased on a debug patch from Ingo Molnar\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ffc1699e36abd5baee188c8e36b1bb27d0d4278",
      "tree": "ce07bb773305b38ec672e1e37f48bd6ecfdc8dc4",
      "parents": [
        "a01386924874c4d6d67f8a34e66f04452c2abb69",
        "958585f58f675a3c2855c7d91b6fdd2875552d0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:50 2008 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux\n\n* \u0027i2c-for-linus\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux:\n  i2c: Blackfin I2C Driver: Functional power management support\n  i2c: Documentation: upgrading clients HOWTO\n  i2c: S3C24XX I2C frequency scaling support.\n  i2c: i2c_gpio: keep probe resident for hotplugged devices.\n  i2c: S3C2410: Pass the I2C bus number via drivers platform data\n"
    },
    {
      "commit": "a01386924874c4d6d67f8a34e66f04452c2abb69",
      "tree": "c412347f001f7d84c23ffc8d88f14479d999dfd4",
      "parents": [
        "0f38c47a545d36da4038fec0708e6e3fbdb160b1"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:32 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Preallocate received packet buffers with MRU size\n\nipwireless: Preallocate received packet buffers with MRU size\n\nPackets are assembled from link size (~300 bytes) up to PPP MRU\n(1500 by default). Try to preallocate full size rather than\nrepeatedly advance buffer size by 256 bytes.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f38c47a545d36da4038fec0708e6e3fbdb160b1",
      "tree": "3fbf042d7d3c2607e757d417f8a7c10c19901302",
      "parents": [
        "bee9c7c0773517c9f1d7931144fc8dec12233bd7"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:27 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Put packets to pool start\n\nipwireless: Put packets to pool start\n\nPut packets to pool start, try to reuse cached memory.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bee9c7c0773517c9f1d7931144fc8dec12233bd7",
      "tree": "6c9d6943ac485d47bb14cfbd18aacf7d3464d224",
      "parents": [
        "09e491e9a780433f8734eb6efb7293b2da690131"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:21 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Increase PPP outgoing queue size\n\nipwireless: Increase PPP outgoing queue size\n\nIncrease default size of PPP outgoing queue. Currently set to 1, which\nmeans that a packet quickly following another pushed by PPP must wait\nuntil hardware actually sends the previous and PPP has to be waken up\nby ppp_wakeup(). This slows down upstream.\n\nNow PPP can push more packets at once which get buffered inside driver\nand pushed immediatelly to hardware when previous packet is out.\n\nExperiments show that size \u003d 10 is quite good for all connection types\n(GPRS/EDGE/UMTS) and gains 4 KB/sec of upload for UMTS for batch uploads.\nNeed for higher queue size than 10 occures in only \u003c 0.1 % of cases.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09e491e9a780433f8734eb6efb7293b2da690131",
      "tree": "c8d5d541fa3bf7468265962328c7b1f4c43b0427",
      "parents": [
        "ff3e990e61a5a9124687a01a025c43b3564f82ab"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:16 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Explicitly request io and mem regions\n\nipwireless: Explicitly request io and mem regions\n\nDocumentation/pcmcia/driver-changes.txt says, that driver should call request_region\nfor used memory/io regions since PCMCIA does not do this (since 2.6.8).\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff3e990e61a5a9124687a01a025c43b3564f82ab",
      "tree": "416fe0b2c4a3f663efc7ecc3f518d3da710c04a9",
      "parents": [
        "93110f698fe92fc4dfd86c78783aedf522c69eb9"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:11 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Constify buffer variables\n\nipwireless: Constify buffer variables\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93110f698fe92fc4dfd86c78783aedf522c69eb9",
      "tree": "2150a7a7614ab6149b8351a43495720b1e6caf9f",
      "parents": [
        "d54c2752f6bb6cc53359dcdf6ed4fb6e5fb6440a"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:05 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Do not return value from sending funcs\n\nipwireless: Do not return value from sending funcs\n\nDo not return value from do_send_fragment and do_send_packet, it\u0027s not used.\nThe packet size checks are not useful too:\n\n* zero length packet will never be sent, caller always passes packet_header\n  size which is either 1 or 3\n* MTU check is done in caller, no need to repeat\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d54c2752f6bb6cc53359dcdf6ed4fb6e5fb6440a",
      "tree": "fa0eb045b7387aaa57741f7068cce2f22788b6ac",
      "parents": [
        "622e713e8e207a99aad956bf0ebe435420fb3742"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:53:00 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Remove endian-dependent bitfields\n\nipwireless: Remove endian-dependent bitfields\n\nRemove endian-dependent bitfields and use bitmasks to transform\npacket header bitfields from/to machine order.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "622e713e8e207a99aad956bf0ebe435420fb3742",
      "tree": "a56871b245bc67669055660ac6731938704b5b1f",
      "parents": [
        "2fc5577e1729ac303ad8b9547f8ccdb057076998"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:52:55 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Glue splitted printk strings back\n\nipwireless: Glue splitted printk strings back\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fc5577e1729ac303ad8b9547f8ccdb057076998",
      "tree": "c184c8aa6cba0248896c7e33c9f47782af45d4b9",
      "parents": [
        "63c4dbd1023b9acd516d71635b06741962cc8a0f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:52:49 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Remove pt_regs from interrupt handler\n\nipwireless: Remove pt_regs from interrupt handler\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63c4dbd1023b9acd516d71635b06741962cc8a0f",
      "tree": "fd6cafc900775f40ba33a0ee26ec7e9f9a5a218f",
      "parents": [
        "2e713165f892c833d240cb265ab35490a7ef456f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:52:44 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Rename spinlock variables to lock\n\nipwireless: Rename spinlock variables to lock\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e713165f892c833d240cb265ab35490a7ef456f",
      "tree": "1f20f31e6a99a4efbe782e3ca53826755a244027",
      "parents": [
        "d4c0deb7009217d5cf7d0fe89255d64ecfad932b"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:52:39 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Remove unused defines\n\nipwireless: Remove unused defines\n\nRemove unused defines, defines hiding variables, defines hiding 0.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4c0deb7009217d5cf7d0fe89255d64ecfad932b",
      "tree": "ec28d7eb157557159d69d1481a6bad7eef061efc",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jul 28 16:52:33 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 08:28:03 2008 -0700"
      },
      "message": "ipwireless: Misc cleanups\n\nipwireless: Misc cleanups\n\n- remove likely() and some extra () in ifs\n- use unsigned in for loops\n- remove useless typecasts\n- remove obvious comments\n- add () around ?:\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00eabe7c4478f38b42d632763c4878ced5a1f25c",
      "tree": "39c8d41bdd515b076f730a7e1587a09ba96a9515",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 28 11:59:20 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jul 28 10:13:22 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: fix msleep compile error\n\ndrivers/scsi/qla2xxx/qla_attr.c: In function \u0027qla24xx_vport_delete\u0027:\ndrivers/scsi/qla2xxx/qla_attr.c:1184: error: implicit declaration of function \u0027msleep\u0027\nmake[3]: *** [drivers/scsi/qla2xxx/qla_attr.o] Error 1\nmake[3]: *** Waiting for unfinished jobs....\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2c3d103ba90827cfb478bf10464d9b5b9cea369c",
      "tree": "96c795c57a69a2a94ff1f077b1285136f4647b25",
      "parents": [
        "e26873bb10f722f10b1af9de05119a3d7cbc07b2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Jul 25 19:45:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 16:35:03 2008 +0200"
      },
      "message": "sched: move sched_clock before first use\n\nMove sched_clock() up to stop warning: weak declaration of `sched_clock\u0027\nafter first use results in unspecified behavior (if -fno-unit-at-a-time).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Ben Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Linuxppc-dev@ozlabs.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e26873bb10f722f10b1af9de05119a3d7cbc07b2",
      "tree": "f5cbfab3e45ee49ff36d18784d2e789687415e15",
      "parents": [
        "94f565598827e2015dce97f4c1ac4871ab84407b"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Jul 22 16:51:15 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 15:57:24 2008 +0200"
      },
      "message": "sched: test runtime rather than period in global_rt_runtime()\n\nTest runtime rather than period\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94f565598827e2015dce97f4c1ac4871ab84407b",
      "tree": "a982f636ede6e597fdc8542eb8ed1d54a14482a5",
      "parents": [
        "157124c11f4217733691223ecf5ee47558ae9495"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jul 27 20:27:06 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 14:37:38 2008 +0200"
      },
      "message": "sched: fix SCHED_HRTICK dependency\n\nCurrently, it seems SCHED_HRTICK allowed for !SMP. But, it seems to have\nno dependency of it. Fix it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "958585f58f675a3c2855c7d91b6fdd2875552d0b",
      "tree": "02c8f69429c9efce17e88515a3c2fef83c0452cd",
      "parents": [
        "31321b76e1a2c70f4eb4c0e19f9f860dcd0ef2ce"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Sun Jul 27 14:41:54 2008 +0800"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:41:03 2008 +0100"
      },
      "message": "i2c: Blackfin I2C Driver: Functional power management support\n\nPM_SUSPEND_MEM: Blackfin does not maintain register state through\nHibernate. Save and restore peripheral base initialization during\nPM transitions.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "31321b76e1a2c70f4eb4c0e19f9f860dcd0ef2ce",
      "tree": "219f882c3b54914fb3e0b048e431cd26d6aba386",
      "parents": [
        "61c7cff89224fc5651b5ba5ff2185d19304b2484"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:04:08 2008 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:41:02 2008 +0100"
      },
      "message": "i2c: Documentation: upgrading clients HOWTO\n\nAdd a document describing how i2c clients on Linux 2.6 can be\nmoved from the old to the new driver model.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "61c7cff89224fc5651b5ba5ff2185d19304b2484",
      "tree": "9bd975a1c8cd39f4cde3038749260fd8f7029ed0",
      "parents": [
        "1efe7c55d2c4acc6c1d1c1a68bd9070f13815272"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:04:07 2008 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:41:01 2008 +0100"
      },
      "message": "i2c: S3C24XX I2C frequency scaling support.\n\nAdd support for CPU frequency scaling to the S3C24XX I2C driver.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "1efe7c55d2c4acc6c1d1c1a68bd9070f13815272",
      "tree": "3bf7e25cb39af76d49fdbaf56865961b596fd201",
      "parents": [
        "399dee2371787825a1845de87c0cbee7b7c30ad6"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:04:09 2008 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:40:44 2008 +0100"
      },
      "message": "i2c: i2c_gpio: keep probe resident for hotplugged devices.\n\nChange the i2c_gpio driver to use platform_driver_register()\ninstead of platform_driver_probe() to ensure that is can\nattach to any devices that may be loaded after it has initialised.\n\nAcked-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "399dee2371787825a1845de87c0cbee7b7c30ad6",
      "tree": "4593e986826f9a798e9d9c7bb399bcaa67e1d3a7",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:04:06 2008 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 12:05:26 2008 +0100"
      },
      "message": "i2c: S3C2410: Pass the I2C bus number via drivers platform data\n\nAllow the platform data to specify the bus bumber that the\nnew I2C bus will be given. This is to allow the use of the\nboard registration mechanism to specify the new style of\nI2C device registration which allows boards to provide a\nlist of attached devices.\n\nNote, as discussed on the mailing list, we have dropped\nbackwards compatibility of adding an dynamic bus number\nas it should not affect most boards to have the bus pinned\nto 0 if they have either not specified platform data for\ndriver. Any board supplying platform data will automatically\nhave the bus_num field set to 0, and anyone who needs the\ndriver on a different bus number can supply platform data\nto set bus_num.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "7878ac81e69c5b3ccad59808da06edf16455a57a",
      "tree": "c7eefaed20ef54c99772e91564b51225398ae355",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Karsten Keil",
        "email": "kkeil@suse.de",
        "time": "Mon Jul 28 12:21:25 2008 +0200"
      },
      "committer": {
        "name": "Karsten Keil",
        "email": "kkeil@suse.de",
        "time": "Mon Jul 28 12:21:25 2008 +0200"
      },
      "message": "Remove deprecated virt_to_bus()\n\nPlease pull from git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6.git master\n\nThis was a forgotten item in a printk from the old driver,\nthe DMA allocation use already the new interface.\n\nSigned-off-by: Karsten Keil \u003ckkeil@suse.de\u003e\n"
    },
    {
      "commit": "8b2224dc6a5b46cfa1d54ab1fe82107351c66443",
      "tree": "90769ab5e317659877adc60da0ff8e9d542d7fe0",
      "parents": [
        "4875ea224af0215635f18c2c1b060fb023c7602f"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Mon Jul 28 19:14:35 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Jul 28 19:15:39 2008 +0900"
      },
      "message": "sh: SuperH Mobile CEU and camera platform data for AP325RXA\n\nAdd AP325RXA specific platform data for on-chip sh7723 CEU and ncm03j camera.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    }
  ],
  "next": "4875ea224af0215635f18c2c1b060fb023c7602f"
}
