)]}'
{
  "log": [
    {
      "commit": "84ff7a001270258f71d6ab0d164f351e32c9718a",
      "tree": "6b2f33a9ad492186062de247d3572fa5efebe4bd",
      "parents": [
        "478735e42bfa047384afa72dceb408035532db20",
        "1f4170e12db06fdde5279d665a7e6e2976b2b623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:48:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:48:16 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.27\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.27\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:\n  KVM: s390: Fix kvm on IBM System z10\n  KVM: Advertise synchronized mmu support to userspace\n  KVM: Synchronize guest physical memory map to host virtual memory map\n  KVM: Allow browsing memslots with mmu_lock\n  KVM: Allow reading aliases with mmu_lock\n"
    },
    {
      "commit": "57b1494d2ba544c62673234da6115c21fac27ffc",
      "tree": "34f91f3187805fa034f8e63966d471ba2498d148",
      "parents": [
        "9fe3b64be3dc8313e9fa87255f169c608d074cbd",
        "8978b74253280d59e97cf49a3ec2c0cbccd5b801"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 10:28:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 10:28:17 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic, x86: fix add iommu_num_pages helper function\n  x86: remove stray \u003c6\u003e in BogoMIPS printk\n  x86: move dma32_reserve_bootmem() after reserve_crashkernel()\n"
    },
    {
      "commit": "afd962a9e8708c571c5c0c4a6d098f931742c229",
      "tree": "7aacbe3bb5e34e2515ad55a73bb87766e604761b",
      "parents": [
        "bd3e64c1759e4930315ebf022611468ee9621486"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 30 13:30:14 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 10:10:39 2008 -0700"
      },
      "message": "x86: wrong register was used in align macro\n\nNew ALIGN_DESTINATION macro has sad typo: r8d register was used instead\nof ecx in fixup section. This can be considered as a regression.\n\nRegister ecx was also wrongly loaded with value in r8d in\ncopy_user_nocache routine.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d39741a27d86d305cc75ba626392be410dcbab9",
      "tree": "3234c7004288ced685c5471820fd52fda89d161e",
      "parents": [
        "3c45f6928322773b1810fbec1ece77056f914114"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Jul 29 22:34:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:48 2008 -0700"
      },
      "message": "GRU Driver: export is_uv_system(), zap_page_range() \u0026 follow_page()\n\nExports needed by the GRU driver.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8978b74253280d59e97cf49a3ec2c0cbccd5b801",
      "tree": "7cecd6951437f01f541178c1afc14d4e1d2e2b23",
      "parents": [
        "35780c8ea7ad5c6d5483244d5f5bf37176fda86a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jul 29 13:38:53 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:12:48 2008 +0200"
      },
      "message": "generic, x86: fix add iommu_num_pages helper function\n\nThis IOMMU helper function doesn\u0027t work for some architectures:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d121699304403202\u0026w\u003d2\n\nIt also breaks POWER and SPARC builds:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d121730388001890\u0026w\u003d2\n\nCurrently, only x86 IOMMUs use this so let\u0027s move it to x86 for\nnow.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35780c8ea7ad5c6d5483244d5f5bf37176fda86a",
      "tree": "2bc34969f558da2a9b3de915e3f2499a959085da",
      "parents": [
        "6ce37a58e334ef773f88283939afc9f4965c7697",
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:10:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 12:10:50 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc1\u0027 into x86/urgent\n"
    },
    {
      "commit": "ed8486243379ef3e6c61363df915882945c0eaec",
      "tree": "5504b545fc236d192be34a4a68de7b74c64f70e9",
      "parents": [
        "e930bffe95e1e886a1ede80726ea38df5838d067"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jul 29 11:30:57 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jul 29 12:34:02 2008 +0300"
      },
      "message": "KVM: Advertise synchronized mmu support to userspace\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e930bffe95e1e886a1ede80726ea38df5838d067",
      "tree": "d39227c3de8e7d4a70737c78693f6d7f458066af",
      "parents": [
        "604b38ac0369bd50fcbb33344aa5553c071009f7"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Fri Jul 25 16:24:52 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jul 29 12:33:53 2008 +0300"
      },
      "message": "KVM: Synchronize guest physical memory map to host virtual memory map\n\nSynchronize changes to host virtual addresses which are part of\na KVM memory slot to the KVM shadow mmu.  This allows pte operations\nlike swapping, page migration, and madvise() to transparently work\nwith KVM.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "604b38ac0369bd50fcbb33344aa5553c071009f7",
      "tree": "149325ef8ddbeb607a19052bb807383a6aa7a549",
      "parents": [
        "a1708ce8a362c4999f1201237ae7b77c4d13af82"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Fri Jul 25 16:32:03 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jul 29 12:33:50 2008 +0300"
      },
      "message": "KVM: Allow browsing memslots with mmu_lock\n\nThis allows reading memslots with only the mmu_lock hold for mmu\nnotifiers that runs in atomic context and with mmu_lock held.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a1708ce8a362c4999f1201237ae7b77c4d13af82",
      "tree": "d9d98623e18616a3c7eac0f652a57bd888c5cc70",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Fri Jul 25 16:26:39 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jul 29 12:33:40 2008 +0300"
      },
      "message": "KVM: Allow reading aliases with mmu_lock\n\nThis allows the mmu notifier code to run unalias_gfn with only the\nmmu_lock held.  Only alias writes need the mmu_lock held. Readers will\neither take the slots_lock in read mode or the mmu_lock.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\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": "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": "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": "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": "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": "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": "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": "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": "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": "6ce37a58e334ef773f88283939afc9f4965c7697",
      "tree": "515d9b236a5952be5467775b58c556336cc75cab",
      "parents": [
        "d7ba11d01cfedf63b50391fbe4a05274b6992b43",
        "91467bdf6e53058af13fd255375d6634ba0c70e0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 17:19:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 17:19:02 2008 +0200"
      },
      "message": "Merge branch \u0027x86/crashdump\u0027 into x86/urgent\n"
    },
    {
      "commit": "fb4284b2b7cfaf3b89557667587cca90bddccc59",
      "tree": "81d1b76e7841b412a1d875d00ba10487617db8e3",
      "parents": [
        "3e318b5b55fafebd3a6e4dd3a00b79bfc0668675",
        "583323b9d2f624884a8c9563fb5a4d795f39ab07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 16:46:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 16:46:51 2008 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip\n\n* \u0027x86/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:\n  x86: fix cpu hotplug on 32bit\n"
    },
    {
      "commit": "583323b9d2f624884a8c9563fb5a4d795f39ab07",
      "tree": "33a8a505507f6b591c8181b5762ad20a063042fa",
      "parents": [
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 27 21:43:11 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 27 21:43:11 2008 +0200"
      },
      "message": "x86: fix cpu hotplug on 32bit\n\ncommit 3e9704739daf46a8ba6593d749c67b5f7cd633d2 (\"x86: boot secondary\ncpus through initial_code\") causes the kernel to crash when a CPU is\nbrought online after the read only sections have been write\nprotected. The write to initial_code in do_boot_cpu() fails.\n\nMove inital_code to .cpuinit.data section.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "5fdbcb9dd16f1e89ead127d3ee1a38e3a00cf1ea",
      "tree": "65db37eb2a83a60148c420f76a5b0e2c53b66e38",
      "parents": [
        "5ec5726a16245138f5d5305b00a752acb5730076"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Wed Jul 16 09:25:40 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:10 2008 +0300"
      },
      "message": "KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko\n\nAs well as move set base/mask ptes to vmx_init().\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5ec5726a16245138f5d5305b00a752acb5730076",
      "tree": "6b515b5b9940536b4cb3197b2dd4b498271e96fb",
      "parents": [
        "c93cd3a58845012df2d658fecd0ac99f7008d753"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Wed Jul 16 09:21:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:10 2008 +0300"
      },
      "message": "KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c93cd3a58845012df2d658fecd0ac99f7008d753",
      "tree": "420d979c7f9b9621574fef1f94de0bc76d8e59e1",
      "parents": [
        "577bdc496614ced56d999bbb425e85adf2386490"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sat Jul 19 19:08:07 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:10 2008 +0300"
      },
      "message": "KVM: task switch: translate guest segment limit to virt-extension byte granular field\n\nIf \u0027g\u0027 is one then limit is 4kb granular.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "577bdc496614ced56d999bbb425e85adf2386490",
      "tree": "d4fea399ef6321075ec066963be2d37f961785a6",
      "parents": [
        "34198bf8426276a2ce1e97056a0f02d43637e5ae"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Jul 19 08:57:05 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:10 2008 +0300"
      },
      "message": "KVM: Avoid instruction emulation when event delivery is pending\n\nWhen an event (such as an interrupt) is injected, and the stack is\nshadowed (and therefore write protected), the guest will exit.  The\ncurrent code will see that the stack is shadowed and emulate a few\ninstructions, each time postponing the injection.  Eventually the\ninjection may succeed, but at that time the guest may be unwilling\nto accept the interrupt (for example, the TPR may have changed).\n\nThis occurs every once in a while during a Windows 2008 boot.\n\nFix by unshadowing the fault address if the fault was due to an event\ninjection.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "34198bf8426276a2ce1e97056a0f02d43637e5ae",
      "tree": "2f116fe9d97f602359f45a55832cb6621d451b76",
      "parents": [
        "98899aa0e0bf5de05850082be0eb837058c09ea5"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jul 16 19:07:11 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:09 2008 +0300"
      },
      "message": "KVM: task switch: use seg regs provided by subarch instead of reading from GDT\n\nThere is no guarantee that the old TSS descriptor in the GDT contains\nthe proper base address. This is the case for Windows installation\u0027s\nreboot-via-triplefault.\n\nUse guest registers instead. Also translate the address properly.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "98899aa0e0bf5de05850082be0eb837058c09ea5",
      "tree": "9e38ae09572b56749c868746fd306dbe6778f3cc",
      "parents": [
        "5f4cb662a0a2533b45656607471571460310a5ca"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jul 16 19:07:10 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:09 2008 +0300"
      },
      "message": "KVM: task switch: segment base is linear address\n\nThe segment base is always a linear address, so translate before\naccessing guest memory.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5f4cb662a0a2533b45656607471571460310a5ca",
      "tree": "19f3f431f75f7103a1b98e1eea56978712399c6b",
      "parents": [
        "8be1a6d6c77ab4532e4476fdb8177030ef48b52c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jul 14 20:36:36 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:34:09 2008 +0300"
      },
      "message": "KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module\n\nIf NPT is enabled after loading both KVM modules on AMD and it should be\ndisabled, both KVM modules must be reloaded. If only the architecture module is\nreloaded the behavior is undefined. With this patch it is possible to disable\nNPT only by reloading the kvm_amd module.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb3b80614438f8b73b3879a19350439d6aa402da",
      "tree": "8397dc4dd85b3ecc8d3cb3f56d143843a6346b8c",
      "parents": [
        "7f268a2ba7c884a239713696238dd4207a57dd9a",
        "3a61ec387c9092dfc91a5959145d36835a72fc4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 13:25:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 13:25:05 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, AMD IOMMU: include amd_iommu_last_bdf in device initialization\n  x86: fix IBM Summit based systems\u0027 phys_cpu_present_map on 32-bit kernels\n  x86, RDC321x: remove gpio.h complications\n  x86, RDC321x: add to mach-default\n  crashdump: fix undefined reference to `elfcorehdr_addr\u0027\n  flag parameters: fix compile error of sys_epoll_create1\n"
    },
    {
      "commit": "8dad322f5449010c14990dd6934878f576b2ee60",
      "tree": "e3a58650bc7d81cd055dc851eae7c34903f67619",
      "parents": [
        "47221222a59a565e11954c078a2cf6a07a7e690e"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Fri Jul 25 19:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:10 2008 -0700"
      },
      "message": "x86: use generic show_mem()\n\nRemove arch-specific show_mem() in favor of the generic version.\n\nThis also removes the following redundant information display:\n\n\t- pages in swapcache, printed by show_swap_cache_info()\n\t- dirty pages, writeback pages, mapped pages, slab pages,\n\t  pagetable pages, printed by show_free_areas()\n\nwhere show_mem() calls show_free_areas(), which calls\nshow_swap_cache_info().\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6341c393fcc37d58727865f1ee2f65e632e9d4f0",
      "tree": "6e88d928e17f663b225884e81877a7a069d7c514",
      "parents": [
        "88ac2921a71f788ed693bcd44731dd6bc1994640"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:08 2008 -0700"
      },
      "message": "tracehook: exec\n\nThis moves all the ptrace hooks related to exec into tracehook.h inlines.\n\nThis also lifts the calls for tracing out of the binfmt load_binary hooks\ninto search_binary_handler() after it calls into the binfmt module.  This\nchange has no effect, since all the binfmt modules\u0027 load_binary functions\ndid the call at the end on success, and now search_binary_handler() does\nit immediately after return if successful.  We consolidate the repeated\ncode, and binfmt modules no longer need to import ptrace_notify().\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "652ea695364142b2464744746beac206d050ef19",
      "tree": "c7a78ba3ebb9e8b8f0d2c65d830519c363ff0dfd",
      "parents": [
        "bc40d73c950146725e9e768e856a416ec8949065"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 25 19:45:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:06 2008 -0700"
      },
      "message": "x86: support 1GB hugepages with get_user_pages_lockless()\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8174c430e445a93016ef18f717fe570214fa38bf",
      "tree": "f1b4426eae7401425e9102c7b3e141be86f0930c",
      "parents": [
        "21cc199baa815d7b3f1ace4be20b9558cbddc00f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 25 19:45:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:06 2008 -0700"
      },
      "message": "x86: lockless get_user_pages_fast()\n\nImplement get_user_pages_fast without locking in the fastpath on x86.\n\nDo an optimistic lockless pagetable walk, without taking mmap_sem or any\npage table locks or even mmap_sem.  Page table existence is guaranteed by\nturning interrupts off (combined with the fact that we\u0027re always looking\nup the current mm, means we can do the lockless page table walk within the\nconstraints of the TLB shootdown design).  Basically we can do this\nlockless pagetable walk in a similar manner to the way the CPU\u0027s pagetable\nwalker does not have to take any locks to find present ptes.\n\nThis patch (combined with the subsequent ones to convert direct IO to use\nit) was found to give about 10% performance improvement on a 2 socket 8\ncore Intel Xeon system running an OLTP workload on DB2 v9.5\n\n \"To test the effects of the patch, an OLTP workload was run on an IBM\n  x3850 M2 server with 2 processors (quad-core Intel Xeon processors at\n  2.93 GHz) using IBM DB2 v9.5 running Linux 2.6.24rc7 kernel.  Comparing\n  runs with and without the patch resulted in an overall performance\n  benefit of ~9.8%.  Correspondingly, oprofiles showed that samples from\n  __up_read and __down_read routines that is seen during thread contention\n  for system resources was reduced from 2.8% down to .05%.  Monitoring the\n  /proc/vmstat output from the patched run showed that the counter for\n  fast_gup contained a very high number while the fast_gup_slow value was\n  zero.\"\n\n(fast_gup is the old name for get_user_pages_fast, fast_gup_slow is a\ncounter we had for the number of times the slowpath was invoked).\n\nThe main reason for the improvement is that DB2 has multiple threads each\nissuing direct-IO.  Direct-IO uses get_user_pages, and thus the threads\ncontend the mmap_sem cacheline, and can also contend on page table locks.\n\nI would anticipate larger performance gains on larger systems, however I\nthink DB2 uses an adaptive mix of threads and processes, so it could be\nthat thread contention remains pretty constant as machine size increases.\nIn which case, we stuck with \"only\" a 10% gain.\n\nThe downside of using get_user_pages_fast is that if there is not a pte\nwith the correct permissions for the access, we end up falling back to\nget_user_pages and so the get_user_pages_fast is a bit of extra work.\nHowever this should not be the common case in most performance critical\ncode.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: Kconfig fix]\n[akpm@linux-foundation.org: Makefile fix/cleanup]\n[akpm@linux-foundation.org: warning fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9",
      "tree": "1835fa64801fee048c8074ae4d63b0a7f4b14ee3",
      "parents": [
        "3ab83521378268044a448113c6aa9a9e245f4d2f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jul 25 19:45:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "kexec jump: save/restore device state\n\nThis patch implements devices state save/restore before after kexec.\n\nThis patch together with features in kexec_jump patch can be used for\nfollowing:\n\n- A simple hibernation implementation without ACPI support.  You can kexec a\n  hibernating kernel, save the memory image of original system and shutdown\n  the system.  When resuming, you restore the memory image of original system\n  via ordinary kexec load then jump back.\n\n- Kernel/system debug through making system snapshot.  You can make system\n  snapshot, jump back, do some thing and make another system snapshot.\n\n- Cooperative multi-kernel/system.  With kexec jump, you can switch between\n  several kernels/systems quickly without boot process except the first time.\n  This appears like swap a whole kernel/system out/in.\n\n- A general method to call program in physical mode (paging turning\n  off). This can be used to invoke BIOS code under Linux.\n\nThe following user-space tools can be used with kexec jump:\n\n- kexec-tools needs to be patched to support kexec jump. The patches\n  and the precompiled kexec can be download from the following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10\n\n- makedumpfile with patches are used as memory image saving tool, it\n  can exclude free pages from original kernel memory image file. The\n  patches and the precompiled makedumpfile can be download from the\n  following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-src_cvs_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-patches_cvs_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile_cvs_kh10\n\n- An initramfs image can be used as the root file system of kexeced\n  kernel. An initramfs image built with \"BuildRoot\" can be downloaded\n  from the following URL:\n       initramfs image: http://khibernation.sourceforge.net/download/release_v10/initramfs/rootfs_cvs_kh10.gz\n  All user space tools above are included in the initramfs image.\n\nUsage example of simple hibernation:\n\n1. Compile and install patched kernel with following options selected:\n\nCONFIG_X86_32\u003dy\nCONFIG_RELOCATABLE\u003dy\nCONFIG_KEXEC\u003dy\nCONFIG_CRASH_DUMP\u003dy\nCONFIG_PM\u003dy\nCONFIG_HIBERNATION\u003dy\nCONFIG_KEXEC_JUMP\u003dy\n\n2. Build an initramfs image contains kexec-tool and makedumpfile, or\n   download the pre-built initramfs image, called rootfs.gz in\n   following text.\n\n3. Prepare a partition to save memory image of original kernel, called\n   hibernating partition in following text.\n\n4. Boot kernel compiled in step 1 (kernel A).\n\n5. In the kernel A, load kernel compiled in step 1 (kernel B) with\n   /sbin/kexec. The shell command line can be as follow:\n\n   /sbin/kexec --load-preserve-context /boot/bzImage --mem-min\u003d0x100000\n     --mem-max\u003d0xffffff --initrd\u003drootfs.gz\n\n6. Boot the kernel B with following shell command line:\n\n   /sbin/kexec -e\n\n7. The kernel B will boot as normal kexec. In kernel B the memory\n   image of kernel A can be saved into hibernating partition as\n   follow:\n\n   jump_back_entry\u003d`cat /proc/cmdline | tr \u0027 \u0027 \u0027\\n\u0027 | grep kexec_jump_back_entry | cut -d \u0027\u003d\u0027`\n   echo $jump_back_entry \u003e kexec_jump_back_entry\n   cp /proc/vmcore dump.elf\n\n   Then you can shutdown the machine as normal.\n\n8. Boot kernel compiled in step 1 (kernel C). Use the rootfs.gz as\n   root file system.\n\n9. In kernel C, load the memory image of kernel A as follow:\n\n   /sbin/kexec -l --args-none --entry\u003d`cat kexec_jump_back_entry` dump.elf\n\n10. Jump back to the kernel A as follow:\n\n   /sbin/kexec -e\n\n   Then, kernel A is resumed.\n\nImplementation point:\n\nTo support jumping between two kernels, before jumping to (executing)\nthe new kernel and jumping back to the original kernel, the devices\nare put into quiescent state, and the state of devices and CPU is\nsaved. After jumping back from kexeced kernel and jumping to the new\nkernel, the state of devices and CPU are restored accordingly. The\ndevices/CPU state save/restore code of software suspend is called to\nimplement corresponding function.\n\nKnown issues:\n\n- Because the segment number supported by sys_kexec_load is limited,\n  hibernation image with many segments may not be load. This is\n  planned to be eliminated by adding a new flag to sys_kexec_load to\n  make a image can be loaded with multiple sys_kexec_load invoking.\n\nNow, only the i386 architecture is supported.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\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": "3ab83521378268044a448113c6aa9a9e245f4d2f",
      "tree": "e9e8496577e4b2e994edf204e9a8ae7c026eec95",
      "parents": [
        "7fccf0326536c1b245b98740d489abb9aab69a12"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jul 25 19:45:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "kexec jump\n\nThis patch provides an enhancement to kexec/kdump.  It implements the\nfollowing features:\n\n- Backup/restore memory used by the original kernel before/after\n  kexec.\n\n- Save/restore CPU state before/after kexec.\n\nThe features of this patch can be used as a general method to call program in\nphysical mode (paging turning off).  This can be used to call BIOS code under\nLinux.\n\nkexec-tools needs to be patched to support kexec jump. The patches and\nthe precompiled kexec can be download from the following URL:\n\n       source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10\n\nUsage example of calling some physical mode code and return:\n\n1. Compile and install patched kernel with following options selected:\n\nCONFIG_X86_32\u003dy\nCONFIG_KEXEC\u003dy\nCONFIG_PM\u003dy\nCONFIG_KEXEC_JUMP\u003dy\n\n2. Build patched kexec-tool or download the pre-built one.\n\n3. Build some physical mode executable named such as \"phy_mode\"\n\n4. Boot kernel compiled in step 1.\n\n5. Load physical mode executable with /sbin/kexec. The shell command\n   line can be as follow:\n\n   /sbin/kexec --load-preserve-context --args-none phy_mode\n\n6. Call physical mode executable with following shell command line:\n\n   /sbin/kexec -e\n\nImplementation point:\n\nTo support jumping without reserving memory.  One shadow backup page (source\npage) is allocated for each page used by kexeced code image (destination\npage).  When do kexec_load, the image of kexeced code is loaded into source\npages, and before executing, the destination pages and the source pages are\nswapped, so the contents of destination pages are backupped.  Before jumping\nto the kexeced code image and after jumping back to the original kernel, the\ndestination pages and the source pages are swapped too.\n\nC ABI (calling convention) is used as communication protocol between\nkernel and called code.\n\nA flag named KEXEC_PRESERVE_CONTEXT for sys_kexec_load is added to\nindicate that the loaded kernel image is used for jumping back.\n\nNow, only the i386 architecture is supported.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\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": "1956a96de488feb05e95c08c9d5e80f63a4be2b1",
      "tree": "fd361f464386607e3d753e062ae7956e94c022e3",
      "parents": [
        "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06"
      ],
      "author": {
        "name": "Alexis Bruemmer",
        "email": "alexisb@us.ibm.com",
        "time": "Fri Jul 25 19:44:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "x86 calgary: fix handling of devices that aren\u0027t behind the Calgary\n\nThe calgary code can give drivers addresses above 4GB which is very bad\nfor hardware that is only 32bit DMA addressable.\n\nWith this patch, the calgary code sets the global dma_ops to swiotlb or\nnommu properly, and the dma_ops of devices behind the Calgary/CalIOC2\nto calgary_dma_ops.  So the calgary code can handle devices safely that\naren\u0027t behind the Calgary/CalIOC2.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alexis Bruemmer \u003calexisb@us.ibm.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\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": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6524d938b3360504b43a1278b5a8403e85383d1a",
      "tree": "8edbe9e88883e992f63c68ca0f1ea3ab4594ebb9",
      "parents": [
        "b8d317d10cca76cabe6b03ebfeb23cc99118b731"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: put cpumask_of_cpu_map in the initdata section\n\n  * Create the cpumask_of_cpu_map statically in the init data section\n    using NR_CPUS but replace it during boot up with one sized by\n    nr_cpu_ids (num possible cpus).\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a61ec387c9092dfc91a5959145d36835a72fc4c",
      "tree": "0d2472e8c35715f87f7b4f4343cdcdb1ffaf4df0",
      "parents": [
        "1ca9fda4b2f3413e4bc748b983f5585629ca0560"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jul 25 13:07:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:45:57 2008 +0200"
      },
      "message": "x86, AMD IOMMU: include amd_iommu_last_bdf in device initialization\n\nAll the values read while searching for amd_iommu_last_bdf are defined as\ninclusive. Let the code handle this value as such. Found by Wei Wang. Thanks\nWei.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: iommu@lists.linux-foundation.org\nCc: bhavna.sarathy@amd.com\nCc: robert.richter@amd.com\nCc: Wei Wang \u003cwei.wang2@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87e39ea5714dd59ba31e36c25833d2b20255a29d",
      "tree": "c87f426648edc372cab42d7b972971ffb4e25b07",
      "parents": [
        "a8132e5fe2c4f3f780b8bd3cce7851640f79f1c7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jul 25 14:58:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:43:06 2008 +0200"
      },
      "message": "x86 gart: replace to_pages macro with iommu_num_pages\n\nThis patch removes the to_pages macro from x86 GART code and calls the generic\niommu_num_pages function instead.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: iommu@lists.linux-foundation.org\nCc: bhavna.sarathy@amd.com\nCc: robert.richter@amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8132e5fe2c4f3f780b8bd3cce7851640f79f1c7",
      "tree": "27af61779fc50c7d666d578a01a67a6655875b72",
      "parents": [
        "3bc9f79ee1ddc913be0a6d3592036683ef8a3148"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jul 25 14:57:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:43:05 2008 +0200"
      },
      "message": "x86, AMD IOMMU: replace to_pages macro with iommu_num_pages\n\nThis patch removes the to_pages macro from AMD IOMMU code and calls the generic\niommu_num_pages function instead.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: iommu@lists.linux-foundation.org\nCc: bhavna.sarathy@amd.com\nCc: robert.richter@amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f972768a1df1518f45adb6b8ffbf04fa1c99737",
      "tree": "c4064d7e525d7ed2ba0db60f89211d665a605bdd",
      "parents": [
        "36ac26171afa8dbf29226199699fe955d4a0b6f6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 13:52:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 13:51:46 2008 +0200"
      },
      "message": "x86, RDC321x: add to mach-default\n\nfirst step to add RDC321x support to the default PC architecture.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "024e8ac04453b3525448c31ef39848cf675ba6db",
      "tree": "bc4d59f57ce315bcb16dad5491ab9983ab122d8a",
      "parents": [
        "1ff8419871ea757ae0298aa296bcff9b2ca48561"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 20:00:10 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 20:02:41 2008 -0700"
      },
      "message": "x86_64: fix ia32 AMD syscall audit fast-path\n\nThe new code in commit 5cbf1565f29eb57a86a305b08836613508e294d7\nhas a bug in the version supporting the AMD \u0027syscall\u0027 instruction.\nIt clobbers the user\u0027s %ecx register value (with the %ebp value).\n\nThis change fixes it.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "95b68dec0d52c7b8fea3698b3938cf3ab936436b",
      "tree": "f56e090e0b6831c1ba416189e9fc32bfeb3ebac9",
      "parents": [
        "8448502cfc915f70e3f8923849ade27d472044cb"
      ],
      "author": {
        "name": "Chandru",
        "email": "chandru@in.ibm.com",
        "time": "Fri Jul 25 01:47:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "calgary iommu: use the first kernels TCE tables in kdump\n\nkdump kernel fails to boot with calgary iommu and aacraid driver on a x366\nbox.  The ongoing dma\u0027s of aacraid from the first kernel continue to exist\nuntil the driver is loaded in the kdump kernel.  Calgary is initialized\nprior to aacraid and creation of new tce tables causes wrong dma\u0027s to\noccur.  Here we try to get the tce tables of the first kernel in kdump\nkernel and use them.  While in the kdump kernel we do not allocate new tce\ntables but instead read the base address register contents of calgary\niommu and use the tables that the registers point to.  With these changes\nthe kdump kernel and hence aacraid now boots normally.\n\nSigned-off-by: Chandru Siddalingappa \u003cchandru@in.ibm.com\u003e\nAcked-by: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\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": "7444a72effa632fcd8edc566f880d96fe213c73b",
      "tree": "89d3e70c22751a6b00091df2b4dce7202eb3b1f5",
      "parents": [
        "ff1d5c2f0268f4e32103536e2e65480b5b7b6530"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Jul 25 01:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpiolib: allow user-selection\n\nThis patch adds functionality to the gpio-lib subsystem to make it\npossible to enable the gpio-lib code even if the architecture code didn\u0027t\nrequest to get it built in.\n\nThe archtitecture code does still need to implement the gpiolib accessor\nfunctions in its asm/gpio.h file.  This patch adds the implementations for\nx86 and PPC.\n\nWith these changes it is possible to run generic GPIO expansion cards on\nevery architecture that implements the trivial wrapper functions.  Support\nfor more architectures can easily be added.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef53d9c5e4da147ecaa43c44c5e5945eb83970a2",
      "tree": "3b596445e5d0613fda4b33a4ae96e0e3fffdcf1e",
      "parents": [
        "53a9600c634e3bfd6230e0597aca159bf4d4d010"
      ],
      "author": {
        "name": "Srinivasa D S",
        "email": "srinivasa@in.ibm.com",
        "time": "Fri Jul 25 01:46:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "kprobes: improve kretprobe scalability with hashed locking\n\nCurrently list of kretprobe instances are stored in kretprobe object (as\nused_instances,free_instances) and in kretprobe hash table.  We have one\nglobal kretprobe lock to serialise the access to these lists.  This causes\nonly one kretprobe handler to execute at a time.  Hence affects system\nperformance, particularly on SMP systems and when return probe is set on\nlot of functions (like on all systemcalls).\n\nSolution proposed here gives fine-grain locks that performs better on SMP\nsystem compared to present kretprobe implementation.\n\nSolution:\n\n 1) Instead of having one global lock to protect kretprobe instances\n    present in kretprobe object and kretprobe hash table.  We will have\n    two locks, one lock for protecting kretprobe hash table and another\n    lock for kretporbe object.\n\n 2) We hold lock present in kretprobe object while we modify kretprobe\n    instance in kretprobe object and we hold per-hash-list lock while\n    modifying kretprobe instances present in that hash list.  To prevent\n    deadlock, we never grab a per-hash-list lock while holding a kretprobe\n    lock.\n\n 3) We can remove used_instances from struct kretprobe, as we can\n    track used instances of kretprobe instances using kretprobe hash\n    table.\n\nTime duration for kernel compilation (\"make -j 8\") on a 8-way ppc64 system\nwith return probes set on all systemcalls looks like this.\n\ncacheline              non-cacheline             Un-patched kernel\naligned patch \t       aligned patch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nreal    9m46.784s       9m54.412s                  10m2.450s\nuser    40m5.715s       40m7.142s                  40m4.273s\nsys     2m57.754s       2m58.583s                  3m17.430s\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nTime duration for kernel compilation (\"make -j 8) on the same system, when\nkernel is not probed.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nreal    9m26.389s\nuser    40m8.775s\nsys     2m7.283s\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Masami Hiramatsu \u003cmhiramat@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": "2d6ffcca623a9a16df6cdfbe8250b7a5904a5f5e",
      "tree": "70d30cb6516608e9a8a1dce60c59f3a5ff21b305",
      "parents": [
        "ba92a43dbaee339cf5915ef766d3d3ffbaaf103c"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Fri Jul 25 01:45:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:28 2008 -0700"
      },
      "message": "inflate: refactor inflate malloc code\n\nInflate requires some dynamic memory allocation very early in the boot\nprocess and this is provided with a set of four functions:\nmalloc/free/gzip_mark/gzip_release.\n\nThe old inflate code used a mark/release strategy rather than implement\nfree.  This new version instead keeps a count on the number of outstanding\nallocations and when it hits zero, it resets the malloc arena.\n\nThis allows removing all the mark and release implementations and unifying\nall the malloc/free implementations.\n\nThe architecture-dependent code must define two addresses:\n - free_mem_ptr, the address of the beginning of the area in which\n   allocations should be made\n - free_mem_end_ptr, the address of the end of the area in which\n   allocations should be made. If set to 0, then no check is made on\n   the number of allocations, it just grows as much as needed\n\nThe architecture-dependent code can also provide an arch_decomp_wdog()\nfunction call.  This function will be called several times during the\ndecompression process, and allow to notify the watchdog that the system is\nstill running.  If an architecture provides such a call, then it must\ndefine ARCH_HAS_DECOMP_WDOG so that the generic inflate code calls\narch_decomp_wdog().\n\nWork initially done by Matt Mackall, updated to a recent version of the\nkernel and improved by me.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cmikael.starvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58340a07c194e0aed7bc58b61ff24330bb2a409f",
      "tree": "907a53c71b3092e3a3a95c6641d4839e20214efd",
      "parents": [
        "e0ce0da9fefcc723dc006c35a7f91a32750abd40"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 25 01:45:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "introduce HAVE_EFFICIENT_UNALIGNED_ACCESS Kconfig symbol\n\nIn many cases, especially in networking, it can be beneficial to know at\ncompile time whether the architecture can do unaligned accesses efficiently.\nThis patch introduces a new Kconfig symbol\n\n\tHAVE_EFFICIENT_UNALIGNED_ACCESS\n\nfor that purpose and adds it to the powerpc and x86 architectures.  Also add\nsome documentation about alignment and networking, and especially one intended\nuse of this symbol.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e [x86 architecture part]\nCc: \u003clinux-arch@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": "4b9f12a3779c548b68bc9af7d94030868ad3aa1b",
      "tree": "e9f17f0f37313b2b09a79a66e4b19f8f1bb1b9e6",
      "parents": [
        "b30f3ae50cd03ef2ff433a5030fbf88dd8323528"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 17:29:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 17:29:00 2008 -0700"
      },
      "message": "x86/oprofile/nmi_int: add Nehalem to list of ppro cores\n\n..otherwise oprofile will fall back on that poor timer interrupt.\n\nAlso replace the unreadable chain of if-statements with a \"switch()\"\nstatement instead. It generates better code, and is a lot clearer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b30f3ae50cd03ef2ff433a5030fbf88dd8323528",
      "tree": "ec140aa507d73eb5f4dfb8d46ccbd9dd80ca84e7",
      "parents": [
        "b5684b83b1e1579bbbc80e703e990c0cccf5892c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 15:43:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 16:12:40 2008 -0700"
      },
      "message": "x86-64: Clean up \u0027save/restore_i387()\u0027 usage\n\nSuresh Siddha wants to fix a possible FPU leakage in error conditions,\nbut the fact that save/restore_i387() are inlines in a header file makes\nthat harder to do than necessary.  So start off with an obvious cleanup.\n\nThis just moves the x86-64 version of save/restore_i387() out of the\nheader file, and moves it to the only file that it is actually used in:\narch/x86/kernel/signal_64.c.  So exposing it in a header file was wrong\nto begin with.\n\n[ Side note: I\u0027d like to fix up some of the games we play with the\n  32-bit version of these functions too, but that\u0027s a separate\n  matter.  The 32-bit versions are shared - under different names\n  at that! - by both the native x86-32 code and the x86-64 32-bit\n  compatibility code ]\n\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "6209ed9d8443b63c36d340908530fa470c4d4fff",
      "tree": "cb969e1a366fac6572c5a560e9f4345c120f318b",
      "parents": [
        "6044110742bc2ae0577b962985e7c63e0634b2e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:49:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:49:26 2008 -0700"
      },
      "message": "x86-64: make BUILD_IRQ() also reset section back\n\nCommit 9d25d4db81833029d30b7b03cc1000cbbe09e192 (\"x86: BUILD_IRQ say\n.text to avoid .data.percpu\") added a \".text\" specifier to make sure\nthat BUILD_IRQ() builds the irq trampoline in the text segment rather\nthan in some random left-over segment that the compiler happened to\nleave the asm in.\n\nHowever, we should also make sure that we switch back by adding a\n\".previous\" at the end, so that there are no subtle issues with\nsubsequent compiler-generated code.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6044110742bc2ae0577b962985e7c63e0634b2e9",
      "tree": "ab32f95f2b073d2bfcdf39909a718aa69ad127c6",
      "parents": [
        "7540081c6b16dc941895bca840749cabfd0d3b48",
        "04bbe430f73c6c31bbd067349c029e907e153a8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:33:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:33:51 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: fix header export, asm-x86/processor-flags.h, CONFIG_* leaks\n  x86: BUILD_IRQ say .text to avoid .data.percpu\n  xen: don\u0027t use sysret for sysexit32\n  x86: call early_cpu_init at the same point\n"
    },
    {
      "commit": "7e2a31da854dcf8324012a83a31b40bc11e52589",
      "tree": "fb982e22f3d9ac6ec2fc67a96a297dc743ef67e6",
      "parents": [
        "449321b39f6c6ebfa15d6da24f134240bd51db29"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jul 23 21:30:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:34 2008 -0700"
      },
      "message": "rtc-cmos: avoid spurious irqs\n\nThis fixes kernel http://bugzilla.kernel.org/show_bug.cgi?id\u003d11112 (bogus\nRTC update IRQs reported) for rtc-cmos, in two ways:\n\n  - When HPET is stealing the IRQs, use the first IRQ to grab\n    the seconds counter which will be monitored (instead of\n    using whatever was previously in that memory);\n\n  - In sane IRQ handling modes, scrub out old IRQ status before\n    enabling IRQs.\n\nThat latter is done by tightening up IRQ handling for rtc-cmos everywhere,\nalso ensuring that when HPET is used it\u0027s the only thing triggering IRQ\nreports to userspace; net object shrink.\n\nAlso fix a bogus HPET message related to its RTC emulation.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nReport-by: W Unruh \u003cunruh@physics.ubc.ca\u003e\nCc: Andrew Victor \u003cavictor.za@gmail.com\u003e\nCc: \u003cstable@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": "9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0",
      "tree": "49fb04cf552192e566d2aa6e18f40585230cba5a",
      "parents": [
        "e38b36f325153eaadd1c2a7abc5762079233e540"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters add-on: remove epoll_create size param\n\nRemove the size parameter from the new epoll_create syscall and renames the\nsyscall itself.  The updated test program follows.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_epoll_create2\n# ifdef __x86_64__\n#  define __NR_epoll_create2 291\n# elif defined __i386__\n#  define __NR_epoll_create2 329\n# else\n#  error \"need __NR_epoll_create2\"\n# endif\n#endif\n\n#define EPOLL_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_epoll_create2, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"epoll_create2(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_epoll_create2, EPOLL_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "4006553b06306b34054529477b06b68a1c66249b",
      "tree": "d4ebbe4a5294b0cec69fe4908b7b7c569f4ece03",
      "parents": [
        "ed8cae8ba01348bfd83333f4648dd807b04d7f08"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: inotify_init\n\nThis patch introduces the new syscall inotify_init1 (note: the 1 stands for\nthe one parameter the syscall takes, as opposed to no parameter before).  The\nvalues accepted for this parameter are function-specific and defined in the\ninotify.h header.  Here the values must match the O_* flags, though.  In this\npatch CLOEXEC support is introduced.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_inotify_init1\n# ifdef __x86_64__\n#  define __NR_inotify_init1 294\n# elif defined __i386__\n#  define __NR_inotify_init1 332\n# else\n#  error \"need __NR_inotify_init1\"\n# endif\n#endif\n\n#define IN_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d syscall (__NR_inotify_init1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"inotify_init1(0) set close-on-exit\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_inotify_init1, IN_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(IN_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"inotify_init1(O_CLOEXEC) does not set close-on-exit\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "ed8cae8ba01348bfd83333f4648dd807b04d7f08",
      "tree": "c71a1c8e771c1c55728bb7c40612fbdcefbc858a",
      "parents": [
        "336dd1f70ff62d7dd8655228caed4c5bfc818c56"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: pipe\n\nThis patch introduces the new syscall pipe2 which is like pipe but it also\ntakes an additional parameter which takes a flag value.  This patch implements\nthe handling of O_CLOEXEC for the flag.  I did not add support for the new\nsyscall for the architectures which have a special sys_pipe implementation.  I\nthink the maintainers of those archs have the chance to go with the unified\nimplementation but that\u0027s up to them.\n\nThe implementation introduces do_pipe_flags.  I did that instead of changing\nall callers of do_pipe because some of the callers are written in assembler.\nI would probably screw up changing the assembly code.  To avoid breaking code\ndo_pipe is now a small wrapper around do_pipe_flags.  Once all callers are\nchanged over to do_pipe_flags the old do_pipe function can be removed.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_pipe2\n# ifdef __x86_64__\n#  define __NR_pipe2 293\n# elif defined __i386__\n#  define __NR_pipe2 331\n# else\n#  error \"need __NR_pipe2\"\n# endif\n#endif\n\nint\nmain (void)\n{\n  int fd[2];\n  if (syscall (__NR_pipe2, fd, 0) !\u003d 0)\n    {\n      puts (\"pipe2(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int coe \u003d fcntl (fd[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (coe \u0026 FD_CLOEXEC)\n        {\n          printf (\"pipe2(0) set close-on-exit for fd[%d]\\n\", i);\n          return 1;\n        }\n    }\n  close (fd[0]);\n  close (fd[1]);\n\n  if (syscall (__NR_pipe2, fd, O_CLOEXEC) !\u003d 0)\n    {\n      puts (\"pipe2(O_CLOEXEC) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int coe \u003d fcntl (fd[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n        {\n          printf (\"pipe2(O_CLOEXEC) does not set close-on-exit for fd[%d]\\n\", i);\n          return 1;\n        }\n    }\n  close (fd[0]);\n  close (fd[1]);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "336dd1f70ff62d7dd8655228caed4c5bfc818c56",
      "tree": "1441b76ea5f08f44167f41867f3555ac53712ebb",
      "parents": [
        "a0998b50c3f0b8fdd265c63e0032f86ebe377dbf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: dup2\n\nThis patch adds the new dup3 syscall.  It extends the old dup2 syscall by one\nparameter which is meant to hold a flag value.  Support for the O_CLOEXEC flag\nis added in this patch.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_dup3\n# ifdef __x86_64__\n#  define __NR_dup3 292\n# elif defined __i386__\n#  define __NR_dup3 330\n# else\n#  error \"need __NR_dup3\"\n# endif\n#endif\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_dup3, 1, 4, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"dup3(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"dup3(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_dup3, 1, 4, O_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"dup3(O_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"dup3(O_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "a0998b50c3f0b8fdd265c63e0032f86ebe377dbf",
      "tree": "9132ecb7ef925374edabcaeea44e0287eb5043f4",
      "parents": [
        "11fcb6c14676023d0bd437841f5dcd670e7990a0"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: epoll_create\n\nThis patch adds the new epoll_create2 syscall.  It extends the old epoll_create\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is EPOLL_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name EPOLL_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_epoll_create2\n# ifdef __x86_64__\n#  define __NR_epoll_create2 291\n# elif defined __i386__\n#  define __NR_epoll_create2 329\n# else\n#  error \"need __NR_epoll_create2\"\n# endif\n#endif\n\n#define EPOLL_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_epoll_create2, 1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"epoll_create2(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_epoll_create2, 1, EPOLL_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "b087498eb5605673b0f260a7620d91818cd72304",
      "tree": "977d9dbcd326a9582dfc5ad000995d26886c872e",
      "parents": [
        "9deb27baedb79759c3ab9435a7d8b841842d56e9"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: eventfd\n\nThis patch adds the new eventfd2 syscall.  It extends the old eventfd\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is EFD_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name EFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_eventfd2\n# ifdef __x86_64__\n#  define __NR_eventfd2 290\n# elif defined __i386__\n#  define __NR_eventfd2 328\n# else\n#  error \"need __NR_eventfd2\"\n# endif\n#endif\n\n#define EFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_eventfd2, 1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"eventfd2(0) sets close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_eventfd2, 1, EFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(EFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"eventfd2(EFD_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "9deb27baedb79759c3ab9435a7d8b841842d56e9",
      "tree": "1c88393ba30db851ca0bb93c4e656d4e5dbb22b9",
      "parents": [
        "7d9dbca34240ebb6ff88d8a29c6c7bffd098f0c1"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: signalfd\n\nThis patch adds the new signalfd4 syscall.  It extends the old signalfd\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is SFD_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name SFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_signalfd4\n# ifdef __x86_64__\n#  define __NR_signalfd4 289\n# elif defined __i386__\n#  define __NR_signalfd4 327\n# else\n#  error \"need __NR_signalfd4\"\n# endif\n#endif\n\n#define SFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  sigset_t ss;\n  sigemptyset (\u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  int fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"signalfd4(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, SFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@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": "bdfe6b7c681669148dae4db27eb24ee5408ba371",
      "tree": "644b84a7e4a329a635d9a9bc02102424cfb616e2",
      "parents": [
        "2f15fc4bdf91eb399da3f47a09c55831d9f22826"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 21:28:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: acpi hibernation: utilize hardware signature\n\nACPI defines a hardware signature.  BIOS calculates the signature according to\nhardware configure and if hardware changes while hibernated, the signature\nwill change.  In that case, S4 resume should fail.\n\nStill, there may be systems on which this mechanism does not work correctly,\nso it is better to provide a workaround for them.  For this reason, add a new\nswitch to the acpi_sleep\u003d command line argument allowing one to disable\nhardware signature checking.\n\n[shaohua.li@intel.com: build fix]\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d75f65fd247fe85d90a3880d143b1bb22fe13a48",
      "tree": "f9df15bff67e07c0788b13c7e580148ce5137b39",
      "parents": [
        "77437fd4e61f87cc94d9314baa5cbf50e3ccdf54"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "remove include/linux/pm_legacy.h\n\nRemove the obsolete and no longer used include/linux/pm_legacy.h\n\nReviewed-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@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": "b4718e628dbf68a2dee23b5709e2aa3190409c56",
      "tree": "e685b2bd36a0fe731b128d2814996a693561d288",
      "parents": [
        "39c11e6c05b7fedbf7ed4df3908b25f622d56204"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "x86: add hugepagesz option on 64-bit\n\nAdd an hugepagesz\u003d...  option similar to IA64, PPC etc.  to x86-64.\n\nThis finally allows to select GB pages for hugetlbfs in x86 now that all\nthe infrastructure is in place.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39c11e6c05b7fedbf7ed4df3908b25f622d56204",
      "tree": "7d928e69164ae802d17ef507726513407698fcf8",
      "parents": [
        "ceb868796181dc95ea01a110e123afd391639873"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:18 2008 -0700"
      },
      "message": "x86: support GB hugepages on 64-bit\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ceb868796181dc95ea01a110e123afd391639873",
      "tree": "991be618e5195b05c31974a19adb4b9602315013",
      "parents": [
        "4abd32dbab201c3ced0b0af12accea77cd9eeffc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:18 2008 -0700"
      },
      "message": "hugetlb: introduce pud_huge\n\nStraight forward extensions for huge pages located in the PUD instead of\nPMDs.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5516438959d90b071ff0a484ce4f3f523dc3152",
      "tree": "e356ba9364c76b93c176b4d4a262b7aca3ee8f91",
      "parents": [
        "b7ba30c679ed1eb7ed3ed8f281f6493282042bd4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: modular state for hugetlb page size\n\nThe goal of this patchset is to support multiple hugetlb page sizes.  This\nis achieved by introducing a new struct hstate structure, which\nencapsulates the important hugetlb state and constants (eg.  huge page\nsize, number of huge pages currently allocated, etc).\n\nThe hstate structure is then passed around the code which requires these\nfields, they will do the right thing regardless of the exact hstate they\nare operating on.\n\nThis patch adds the hstate structure, with a single global instance of it\n(default_hstate), and does the basic work of converting hugetlb to use the\nhstate.\n\nFuture patches will add more hstate structures to allow for different\nhugetlbfs mounts to have different page sizes.\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ae8ed5053a39082d224a3f48409e016baca9c16",
      "tree": "1ba7e36001eeb069015944e3829a06cacef6cbe1",
      "parents": [
        "28b2ee20c7cba812b6f2ccf6d722cf86d00a84dc"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Wed Jul 23 21:27:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "use generic_access_phys for /dev/mem mappings\n\nUse generic_access_phys as the access_process_vm access function for\n/dev/mem mappings.  This makes it possible to debug the X server.\n\n[akpm@linux-foundation.org: repair all the architectures which broke]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Benjamin Herrensmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28b2ee20c7cba812b6f2ccf6d722cf86d00a84dc",
      "tree": "e8f1efd05c38c1cb26ca3ee051a454eb685fd122",
      "parents": [
        "0d71d10a4252a3938e6b70189bc776171c02e076"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Wed Jul 23 21:27:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "access_process_vm device memory infrastructure\n\nIn order to be able to debug things like the X server and programs using\nthe PPC Cell SPUs, the debugger needs to be able to access device memory\nthrough ptrace and /proc/pid/mem.\n\nThis patch:\n\nAdd the generic_access_phys access function and put the hooks in place\nto allow access_process_vm to access device or PPC Cell SPU memory.\n\n[riel@redhat.com: Add documentation for the vm_ops-\u003eaccess function]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Benjamin Herrensmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b61bfa3c462671c48a51fb5c31af337c5a996a04",
      "tree": "020363fd43a85ddde9998759150b428ee794dae6",
      "parents": [
        "8b05c7e6e159d2f33c9275281b8b909a89eb7c5d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: move bootmem descriptors definition to a single place\n\nThere are a lot of places that define either a single bootmem descriptor or an\narray of them.  Use only one central array with MAX_NUMNODES items instead.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d25d4db81833029d30b7b03cc1000cbbe09e192",
      "tree": "f8e153d16a004ddc5f9a0de135f3662f4181c2c2",
      "parents": [
        "2dc1697eb355c34f9f7bcbbb83f490de248c360a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jul 21 18:41:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 12:42:57 2008 +0200"
      },
      "message": "x86: BUILD_IRQ say .text to avoid .data.percpu\n\nWhen I edit the x86_64 Makefile to -fno-unit-at-a-time, bootup panics\non 0xCCs in IRQ0x3e_interrupt(): IRQ0x20_interrupt etc. have got linked\ninto .data.percpu.  Perhaps there are other ways of triggering that:\nspecify \".text\" in the BUILD_IRQ() macro for safety.\n\nI\u0027ve been using -fno-unit-at-a-time (to lessen inlining, for easier\ndebugging) for a long time.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2dc1697eb355c34f9f7bcbbb83f490de248c360a",
      "tree": "eeded09dab5b604ec5b6a1b1c10a3ff304ced75d",
      "parents": [
        "9e882c9282512cc622752f29ec7c29ce338fc1eb"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 21 16:49:58 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 12:28:12 2008 +0200"
      },
      "message": "xen: don\u0027t use sysret for sysexit32\n\nWhen implementing sysexit32, don\u0027t let Xen use sysret to return to\nuserspace.  That results in usermode register state being trashed.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e882c9282512cc622752f29ec7c29ce338fc1eb",
      "tree": "29ddc6a79876b64ec660ec714fd7447e3fcee04e",
      "parents": [
        "338b9bb3adac0d2c5a1e180491d9b001d624c402"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 21 16:49:54 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 12:28:11 2008 +0200"
      },
      "message": "x86: call early_cpu_init at the same point\n\nCall early_cpu_init() at the same (early) point in setup_arch().\nThe x86_64 code was calling it relatively late, after when other arch\ncode need to do cpu-related setup which depends on it.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "338b9bb3adac0d2c5a1e180491d9b001d624c402",
      "tree": "1552739e19d1e2c41702a6cf1e4204e5f28a5722",
      "parents": [
        "7f9dce38378f0a4a298e885553d6bb7121376376",
        "af0575bba0f46dd9054d46e0a88c57afad3bf4d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 20:39:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 20:39:21 2008 -0700"
      },
      "message": "Merge branch \u0027x86/auditsc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland\n\n* \u0027x86/auditsc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:\n  i386 syscall audit fast-path\n  x86_64 ia32 syscall audit fast-path\n  x86_64 syscall audit fast-path\n  x86_64: remove bogus optimization in sysret_signal\n"
    },
    {
      "commit": "7f9dce38378f0a4a298e885553d6bb7121376376",
      "tree": "5bfd688c9f356f7216bbc3cef3b4c10153de334b",
      "parents": [
        "26dcce0fabbef75ae426461edf21b5030bad60f3",
        "ba42059fbd0aa1ac91b582412b5fedb1258f241f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: hrtick_enabled() should use cpu_active()\n  sched, x86: clean up hrtick implementation\n  sched: fix build error, provide partition_sched_domains() unconditionally\n  sched: fix warning in inc_rt_tasks() to not declare variable \u0027rq\u0027 if it\u0027s not needed\n  cpu hotplug: Make cpu_active_map synchronization dependency clear\n  cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n  sched: rework of \"prioritize non-migratable tasks over migratable ones\"\n  sched: reduce stack size in isolated_cpu_setup()\n  Revert parts of \"ftrace: do not trace scheduler functions\"\n\nFixed up conflicts in include/asm-x86/thread_info.h (due to the\nTIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and\nkernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()\nintroduction).\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "af0575bba0f46dd9054d46e0a88c57afad3bf4d2",
      "tree": "ee1ed0a8344e67f4ab62d99b7ec03395f88862c5",
      "parents": [
        "5cbf1565f29eb57a86a305b08836613508e294d7"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Jun 24 04:16:52 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jul 23 18:00:30 2008 -0700"
      },
      "message": "i386 syscall audit fast-path\n\nThis adds fast paths for 32-bit syscall entry and exit when\nTIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.\nThese paths does not need to save and restore all registers as\nthe general case of tracing does.  Avoiding the iret return path\nwhen syscall audit is enabled helps performance a lot.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "5cbf1565f29eb57a86a305b08836613508e294d7",
      "tree": "70806175e0868b543860d7d123cceb230d5d5e71",
      "parents": [
        "86a1c34a929f30fde8ad01ea8245df61ddcf58b7"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Jun 24 01:13:31 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jul 23 17:55:22 2008 -0700"
      },
      "message": "x86_64 ia32 syscall audit fast-path\n\nThis adds fast paths for 32-bit syscall entry and exit when\nTIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.\nThese paths does not need to save and restore all registers as\nthe general case of tracing does.  Avoiding the iret return path\nwhen syscall audit is enabled helps performance a lot.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "86a1c34a929f30fde8ad01ea8245df61ddcf58b7",
      "tree": "c4983e33488c66d3fcccad07b87b27f1bd2e6841",
      "parents": [
        "15e8f348db372dec21229fda5d52ae6ee7e64666"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Jun 23 15:37:04 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jul 23 17:47:32 2008 -0700"
      },
      "message": "x86_64 syscall audit fast-path\n\nThis adds a fast path for 64-bit syscall entry and exit when\nTIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.\nThis path does not need to save and restore all registers as\nthe general case of tracing does.  Avoiding the iret return path\nwhen syscall audit is enabled helps performance a lot.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "15e8f348db372dec21229fda5d52ae6ee7e64666",
      "tree": "73afc044ef5b4e29a893e98afee2fe794938aeb3",
      "parents": [
        "20b7997e8abdf338dcc27fb4f1333c4973a7f113"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Jun 23 20:41:12 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jul 23 17:43:36 2008 -0700"
      },
      "message": "x86_64: remove bogus optimization in sysret_signal\n\nThis short-circuit path in sysret_signal looks wrong to me.\nAFAICT, in practice the branch is never taken--and if it were,\nit would go wrong.  To wit, try loading a module whose init\nfunction does set_thread_flag(TIF_IRET), and see insmod crash\n(presumably with a wrong user stack pointer).\n\nThis is because the FIXUP_TOP_OF_STACK work hasn\u0027t been done yet\nwhen we jump around the call to ptregscall_common and get to\nint_with_check--where it expects the user RSP,SS,CS and EFLAGS to\nhave been stored by FIXUP_TOP_OF_STACK.\n\nI don\u0027t think it\u0027s normally possible to get to sysret_signal with no\n_TIF_DO_NOTIFY_MASK bits set anyway, so these two instructions are\nalready superfluous.  If it ever did happen, it is harmless to call\ndo_notify_resume with nothing for it to do.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "0988c37c248e824953d95a11412696c348dbca91",
      "tree": "0f11d926b2a655afed773f60bab7dac688ec5ca1",
      "parents": [
        "6eaaaac97433575894570a990aa27310040a8177",
        "d536b1f86591fb081c7a56eab04e711eb4dab951"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 13:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 13:40:24 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: fix crash due to missing debugctlmsr on AMD K6-3\n  x86: add PTE_FLAGS_MASK\n  x86: rename PTE_MASK to PTE_PFN_MASK\n  x86: fix pte_flags() to only return flags, fix lguest (updated)\n  x86: use setup_clear_cpu_cap with disable_apic, fix\n  x86: move the last Dprintk instance to pr_debug()\n"
    },
    {
      "commit": "d536b1f86591fb081c7a56eab04e711eb4dab951",
      "tree": "1b9a1c248d773af930347e08d292aa23a71729ed",
      "parents": [
        "77be1fabd024b37423d12f832b1fbdb95dbdf494"
      ],
      "author": {
        "name": "Jan Kratochvil",
        "email": "jan.kratochvil@redhat.com",
        "time": "Tue Jul 22 14:00:47 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 14:16:37 2008 +0200"
      },
      "message": "x86: fix crash due to missing debugctlmsr on AMD K6-3\n\ncurrently if you use PTRACE_SINGLEBLOCK on AMD K6-3 (i586) it will crash.\nKernel now wrongly assumes existing DEBUGCTLMSR MSR register there.\n\nRemoved the assumption also for some other non-K6 CPUs but I am not sure there\n(but it can only bring small inefficiency there if my assumption is wrong).\n\nBased on info from Roland McGrath, Chuck Ebbert and Mikulas Patocka.\nMore info at:\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d456175\n\nSigned-off-by: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77be1fabd024b37423d12f832b1fbdb95dbdf494",
      "tree": "b1fa99ff9b1c0bcb63c7a602a425d72b24c1ede6",
      "parents": [
        "59438c9fc4f7a92c808c9049bc6b396f98bf954c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 21 22:59:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 10:43:45 2008 +0200"
      },
      "message": "x86: add PTE_FLAGS_MASK\n\nPTE_PFN_MASK was getting lonely, so I made it a friend.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59438c9fc4f7a92c808c9049bc6b396f98bf954c",
      "tree": "b86d6072612075bc256038a3430d86ab04778d51",
      "parents": [
        "c2e3277f875b83e5adc34e96989d6d87ec5f80f7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 21 22:59:42 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 10:43:44 2008 +0200"
      },
      "message": "x86: rename PTE_MASK to PTE_PFN_MASK\n\nRusty, in his peevish way, complained that macros defining constants\nshould have a name which somewhat accurately reflects the actual\npurpose of the constant.\n\nAside from the fact that PTE_MASK gives no clue as to what\u0027s actually\nbeing masked, and is misleadingly similar to the functionally entirely\ndifferent PMD_MASK, PUD_MASK and PGD_MASK, I don\u0027t really see what the\nproblem is.\n\nBut if this patch silences the incessent noise, then it will have\nachieved its goal (TODO: write test-case).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2e3277f875b83e5adc34e96989d6d87ec5f80f7",
      "tree": "c25f6dd50e136d720f8f35d689946b6d256d054b",
      "parents": [
        "988781dc3e1d9209192b04458d279815923f5e76"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 15:40:46 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 10:41:18 2008 +0200"
      },
      "message": "x86: fix pte_flags() to only return flags, fix lguest (updated)\n\n(Jeremy said:\n\trusty: use PTE_MASK\n\trusty: use PTE_MASK\n\trusty: use PTE_MASK\n When I asked:\n\tjsgf: does that include the NX flag?\n He responded eloquently:\n\trusty: use PTE_MASK\n\trusty: use PTE_MASK\n\tyes, it\u0027s the official constant of masking flags out of ptes\n)\n\nChange a15af1c9ea2750a9ff01e51615c45950bad8221b \u0027x86/paravirt: add\npte_flags to just get pte flags\u0027 removed lguest\u0027s private pte_flags()\nin favor of a generic one.\n\nUnfortunately, the generic one doesn\u0027t filter out the non-flags bits:\nthis results in lguest creating corrupt shadow page tables and blowing\nup host memory.\n\nSince noone is supposed to use the pfn part of pte_flags(), it seems\nsafest to always do the filtering.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-and-morning-tea-spilled-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "988781dc3e1d9209192b04458d279815923f5e76",
      "tree": "b097aac0c57c65b484246403d3092300373b18dd",
      "parents": [
        "5171c3047df9d5b5183b2b179aa797a5aed8369b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Jul 21 11:21:43 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 09:05:45 2008 +0200"
      },
      "message": "x86: use setup_clear_cpu_cap with disable_apic, fix\n\nbeauty fix: /proc/cpuinfo will still show apic feature even if\nwe booted up with it disabled.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d95d62c018209355c0dc998682ff792432aa870c",
      "tree": "a1530ff0ef71d1daa9bff54a910dee5ab0b6a91c",
      "parents": [
        "9800794ac11d4646384b3a310dfd1fe2eed577bf"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 01 18:48:43 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:02 2008 -0700"
      },
      "message": "sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute\n\nUse the new generic int attribute accessors for the x86 mce tolerant\nattribute. Simple example to illustrate the new macros.\n\nThere are much more places all over the tree that could be converted\nlike this.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed",
      "tree": "c2d3a0f86ade5061a1bb9a14aa702323d729fd54",
      "parents": [
        "36ce6dad6e3cb3f050ed41e0beac0070d2062b25"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 01 18:48:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:02 2008 -0700"
      },
      "message": "sysdev: Pass the attribute to the low level sysdev show/store function\n\nThis allow to dynamically generate attributes and share show/store\nfunctions between attributes. Right now most attributes are generated\nby special macros and lots of duplicated code. With the attribute\npassed it\u0027s instead possible to attach some data to the attribute\nand then use that in shared low level functions to do different things.\n\nI need this for the dynamically generated bank attributes in the x86\nmachine check code, but it\u0027ll allow some further cleanups.\n\nI converted all users in tree to the new show/store prototype. It\u0027s a single\nhuge patch to avoid unbisectable sections.\n\nRuntime tested: x86-32, x86-64\nCompiled only: ia64, powerpc\nNot compile tested/only grep converted: sh, arm, avr32\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fc3a8828b139c24aade3f9d608775e36c248f8f5",
      "tree": "e995fdb99868b96e6c51c100fe9270a79323fd83",
      "parents": [
        "b98cb4b7fe0e83238501b48489e46b3e0dce9aaf"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:53 2008 -0700"
      },
      "message": "driver core: fix a lot of printk usages of bus_id\n\nWe have the dev_printk() variants for this kind of thing, use them\ninstead of directly trying to access the bus_id field of struct device.\n\nThis is done in order to remove bus_id entirely.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3bfd49c8ab1859ae0f5fa1df2b3781c99115f442",
      "tree": "1abdaad8c6514604cd764fb35d37e6ddd8498e2f",
      "parents": [
        "bc00bc924295f02295fe5eeeba3618ba0d0db1ef"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:46 2008 -0700"
      },
      "message": "device create: x86: convert device_create to device_create_drvdata\n\ndevice_create() is race-prone, so use the race-free\ndevice_create_drvdata() instead as device_create() is going away.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d52dcbe56ca8464bcad56d98a64bcd781596663",
      "tree": "607e1d2dee3998dad356d8c909189353a32aaa0e",
      "parents": [
        "eb4225b2da2b9f3c1ee43efe58ed1415cc1d4c47",
        "48adcf148c83faa41999fb0b3524299c4e160fd9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 15:10:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 15:10:37 2008 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] cpufreq: remove CVS keywords\n  [CPUFREQ] change cpu freq arrays to per_cpu variables\n"
    },
    {
      "commit": "f2d0f1dea41fd6c7a347e71b505a155096643517",
      "tree": "9a12badf00f889c0864a834201b9b1d0a53d1444",
      "parents": [
        "3488007afc139929cfd16ab98670f87749d4f6fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 13:04:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 13:04:08 2008 -0700"
      },
      "message": "x86: Fix help message for STRICT_DEVMEM config option\n\nThe message talked about \"left on\" when it meant to say disabled.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5171c3047df9d5b5183b2b179aa797a5aed8369b",
      "tree": "9b0d3256c66069325b45730aabf792362cc40c84",
      "parents": [
        "cfc1b9a6a683c835a20d5b565ade55baf639f72f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 21 21:58:34 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 21 21:58:34 2008 +0200"
      },
      "message": "x86: move the last Dprintk instance to pr_debug()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cfc1b9a6a683c835a20d5b565ade55baf639f72f",
      "tree": "d9eb8b4a76185e6913ec542020f387a368132f9b",
      "parents": [
        "2e2dcc7631e331cf2e8396ce452e7f01e35f1182"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 21 21:35:38 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 21 21:35:38 2008 +0200"
      },
      "message": "x86: convert Dprintk to pr_debug\n\nThere are a couple of places where (P)Dprintk is used which is an old\ncompile time enabled printk wrapper. Convert it to the generic\npr_debug().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0",
      "tree": "5ac6f43899648abeab1d43aad3107f664e7f13d5",
      "parents": [
        "c4762aba0b1f72659aae9ce37b772ca8bd8f06f4",
        "14b395e35d1afdd8019d11b92e28041fad591b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096-for-linus\n\nConflicts:\n\n\tnet/sunrpc/svc.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "2e2dcc7631e331cf2e8396ce452e7f01e35f1182"
}
