)]}'
{
  "log": [
    {
      "commit": "f7d222ea2ac7aebf1ac06a76e7739ed17480fd38",
      "tree": "a6de80eed5413b32cf41bcb73d108a8f11253c8e",
      "parents": [
        "7a16d387dda10ecc0c4fbf086b89bfb1eb84d9c2",
        "a74ea43df1afc68f265c0ac2cb64031d855ae97b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 20:01:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 20:01:57 2011 -0800"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  of/promtree: allow DT device matching by fixing \u0027name\u0027 brokenness (v5)\n  x86: OLPC: have prom_early_alloc BUG rather than return NULL\n  of/flattree: Drop an uninteresting message to pr_debug level\n  of: Add missing of_address.h to xilinx ehci driver\n"
    },
    {
      "commit": "ebff7c92ab60faa3f047d36cced2f1592a92da31",
      "tree": "24697cc8df8e52dc06bf43b536ce4961347efbf1",
      "parents": [
        "8a304e5dfb2bd5b75cb20cb6b420935665c97a40",
        "853cee26e2a0c5f97386beca4c67b11c3cd85b8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 19:58:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 19:58:31 2011 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] p4-clockmod: print EST-capable warning message only once\n  [CPUFREQ] fix BUG on cpufreq policy init failure\n  [CPUFREQ] Fix another notifier leak in powernow-k8.\n  [CPUFREQ] Missing \"unregister_cpu_notifier\" in powernow-k8.c\n"
    },
    {
      "commit": "c7b01d3dc297969e66b430830254d447d21bafc9",
      "tree": "9a0900b0cd70ccca019fe189cc522e3ca309fa82",
      "parents": [
        "ad4bfcb1cad7534ae98db3edc5415df97d3e109b",
        "bfb53ccf1c734b1907df7189eef4c08489827951"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 18:08:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 02 18:08:03 2011 -0800"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  intel_idle: disable Atom/Lincroft HW C-state auto-demotion\n  intel_idle: disable NHM/WSM HW C-state auto-demotion\n"
    },
    {
      "commit": "60cba5a57b8affe98ea9f2bac147be0fb253d5f4",
      "tree": "3b9e510153eb922fe479b9e243cf15607604d84b",
      "parents": [
        "8aaccf7fa2a2f148db1edbe7b09e3119c3f910cf"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Thu Feb 24 20:06:31 2011 -0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Mar 02 13:45:18 2011 -0700"
      },
      "message": "x86: OLPC: have prom_early_alloc BUG rather than return NULL\n\n..similar to what sparc\u0027s prom_early_alloc does.\n\nSigned-off-by: Andres Salomon \u003cdilinger@queued.net\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "853cee26e2a0c5f97386beca4c67b11c3cd85b8e",
      "tree": "917a2bf22b0c61f9b1266ab00cf3627166bafb03",
      "parents": [
        "8f5bc2abfd4240b1f55425a3d36b6e6c391bc148"
      ],
      "author": {
        "name": "Naga Chumbalkar",
        "email": "nagananda.chumbalkar@hp.com",
        "time": "Tue Feb 15 17:44:11 2011 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Mar 01 18:49:45 2011 -0500"
      },
      "message": "[CPUFREQ] p4-clockmod: print EST-capable warning message only once\n\nPrint the message only once. I see it 16 times on a 2P box with 16 logical CPUs.\n\nSigned-off-by: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\n"
    },
    {
      "commit": "a536b126f211bdf9a0eecce0d403a26900d2106c",
      "tree": "50571a71a0109bd0a99528c715dc2d746c80568d",
      "parents": [
        "ac818314499b707a97690d5ee835e6ba40a407c1"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 23 21:29:31 2010 -0500"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Mar 01 18:49:44 2011 -0500"
      },
      "message": "[CPUFREQ] Fix another notifier leak in powernow-k8.\n\nDo the notifier registration later, so we don\u0027t have to worry\nabout freeing it if we fail the msr allocation.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ac818314499b707a97690d5ee835e6ba40a407c1",
      "tree": "2ab6d022d87e5fad728be268cc3ea5b70d73b6d3",
      "parents": [
        "dd9c1549edef02290edced639f67b54a25abbe0e"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Nov 24 11:28:01 2010 +1100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Mar 01 18:49:44 2011 -0500"
      },
      "message": "[CPUFREQ] Missing \"unregister_cpu_notifier\" in powernow-k8.c\n\nIt appears that when powernow-k8 finds that\n\n    No compatible ACPI _PSS objects found.\n\n and suggests\n\n    Try again with latest BIOS.\n\n it fails the module load, but does not unregister the cpu_notifier that was\n registered in powernowk8_init\n\n This ends up leaving freed memory on the cpu notifier list for some other\n poor module (e.g. md/raid5) to come along and trip over.\n\n The following might be a partial fix, but I suspect there is probably other\n clean-up that is needed.\n\n ( https://bugzilla.novell.com/show_bug.cgi?id\u003d655215 has full dmesg traces).\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "299c56966a72b9109d47c71a6db52097098703dd",
      "tree": "e2cbb4a2f38a6002cfb53112fc8e04e959585939",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Feb 07 23:25:00 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 16:22:18 2011 +0100"
      },
      "message": "x86: Use u32 instead of long to set reset vector back to 0\n\nA customer of ours, complained that when setting the reset\nvector back to 0, it trashed other data and hung their box.\nThey noticed when only 4 bytes were set to 0 instead of 8,\neverything worked correctly.\n\nMathew pointed out:\n\n |\n | We\u0027re supposed to be resetting trampoline_phys_low and\n | trampoline_phys_high here, which are two 16-bit values.\n | Writing 64 bits is definitely going to overwrite space\n | that we\u0027re not supposed to be touching.\n |\n\nSo limit the area modified to u32.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1297139100-424-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "958ede7f1b72b29cd0d29ec88ee2bcb4c87dab61",
      "tree": "31098a5fd8cb6b59f20d56557551881dfe8a410c",
      "parents": [
        "d40358509ee862d7e4049187bc05eba1911a2959",
        "7f74f8f28a2bd9db9404f7d364e2097a0c42cc12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:02:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:02:33 2011 -0800"
      },
      "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 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems\n  x86/mrst: Fix apb timer rating when lapic timer is used\n  x86: Fix reboot problem on VersaLogic Menlow boards\n"
    },
    {
      "commit": "86e2fe9ff3f3eebca2066bcfc2d993f61af787f5",
      "tree": "560dfeb27813e95739a12d2cef09a4029af51fd1",
      "parents": [
        "9f0939bf498273b91f79a8ec2f2aa773f8615bb8",
        "2c46d2aec054e61a33feac8c3992218eabdcc22a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 12:22:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 12:22:14 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: SVM: Advance instruction pointer in dr_intercept\n"
    },
    {
      "commit": "7f74f8f28a2bd9db9404f7d364e2097a0c42cc12",
      "tree": "a06deae1932fcbd79e76b0099d411fb2d6953e0f",
      "parents": [
        "7b62dbec908a29f448047099bedb5c64c9cb8808"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann3@amd.com",
        "time": "Thu Feb 24 15:53:46 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 24 20:30:21 2011 +0100"
      },
      "message": "x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems\n\nOn some SB800 systems polarity for IOAPIC pin2 is wrongly\nspecified as low active by BIOS. This caused system hangs after\nresume from S3 when HPET was used in one-shot mode on such\nsystems because a timer interrupt was missed (HPET signal is\nhigh active).\n\nFor more details see:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d129623757413868\n\nTested-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nTested-by: Andre Przywara \u003candre.przywara@amd.com\u003e\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: stable@kernel.org # 37.x, 32.x\nLKML-Reference: \u003c20110224145346.GD3658@alberich.amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b62dbec908a29f448047099bedb5c64c9cb8808",
      "tree": "5d40da35a8e0d619b931fe6c4fb366b27f113093",
      "parents": [
        "e19e074b1525d11a66c8e3386fec7db248ad3005"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Wed Feb 23 16:07:26 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 24 08:22:43 2011 +0100"
      },
      "message": "x86/mrst: Fix apb timer rating when lapic timer is used\n\nNeed to adjust the clockevent device rating for the structure\nthat will be registered with clockevent system instead of the\ntemporary structure.\n\nWithout this fix, APB timer rating will be higher than LAPIC\ntimer such that it can not be released later to be used as the\nbroadcast timer.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1298506046-439-1-git-send-email-jacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c46d2aec054e61a33feac8c3992218eabdcc22a",
      "tree": "3e8fbc0d589b5c2d2cdfe9d96749f1268418c61f",
      "parents": [
        "a0dc00b430b7f515904aa6dd62296b577e94c7aa"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 09 18:29:39 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Feb 22 16:01:44 2011 +0200"
      },
      "message": "KVM: SVM: Advance instruction pointer in dr_intercept\n\nIn the dr_intercept function a new cpu-feature called\ndecode-assists is implemented and used when available. This\ncode-path does not advance the guest-rip causing the guest\nto dead-loop over mov-dr instructions. This is fixed by this\npatch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e19e074b1525d11a66c8e3386fec7db248ad3005",
      "tree": "5040e07c7e8aaab92448d2a017edaa58b5dab8de",
      "parents": [
        "6f576d57f1fa0d6026b495d8746d56d949989161"
      ],
      "author": {
        "name": "Kushal Koolwal",
        "email": "kushalkoolwal@gmail.com",
        "time": "Sat Feb 19 13:56:03 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 21 08:41:26 2011 +0100"
      },
      "message": "x86: Fix reboot problem on VersaLogic Menlow boards\n\nVersaLogic Menlow based boards hang on reboot unless reboot\u003dbios\nis used. Add quirk to reboot through the BIOS.\n\nTested on at least four boards.\n\nSigned-off-by: Kushal Koolwal \u003ckushalkoolwal@gmail.com\u003e\nLKML-Reference: \u003c1298152563-21594-1-git-send-email-kushalkoolwal@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bfb53ccf1c734b1907df7189eef4c08489827951",
      "tree": "7d93bac0a87b89c9e7f87c4bad2e43fcef6725f1",
      "parents": [
        "14796fca2bd22acc73dd0887248d003b0f441d08"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Feb 16 01:32:48 2011 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 17 17:08:48 2011 -0500"
      },
      "message": "intel_idle: disable Atom/Lincroft HW C-state auto-demotion\n\nJust as we had to disable auto-demotion for NHM/WSM,\nwe need to do the same for Atom (Lincroft version).\n\nIn particular, auto-demotion will prevent Lincroft\nfrom entering the S0i3 idle power saving state.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d25252\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "14796fca2bd22acc73dd0887248d003b0f441d08",
      "tree": "45281c00405077fe1a099d585588d2173ee90fea",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jan 18 20:48:27 2011 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 17 17:08:46 2011 -0500"
      },
      "message": "intel_idle: disable NHM/WSM HW C-state auto-demotion\n\nHardware C-state auto-demotion is a mechanism where the HW overrides\nthe OS C-state request, instead demoting to a shallower state,\nwhich is less expensive, but saves less power.\n\nModern Linux should generally get exactly the states it requests.\nIn particular, when a CPU is taken off-line, it must not be demoted, else\nit can prevent the entire package from reaching deep C-states.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d25252\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7d44ec193d95416d1342cdd86392a1eeb7461186",
      "tree": "4abe24161846533d00b0c50a69e600ba190df398",
      "parents": [
        "85e2efbb1db9a18d218006706d6e4fbeb0216213"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Wed Feb 16 14:08:02 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 12:26:12 2011 +0100"
      },
      "message": "perf, x86: P4 PMU: Fix spurious NMI messages\n\nSeveral people have reported spurious unknown NMI\nmessages on some P4 CPUs.\n\nThis patch fixes it by checking for an overflow (negative\ncounter values) directly, instead of relying on the\nP4_CCCR_OVF bit.\n\nReported-by: George Spelvin \u003clinux@horizon.com\u003e\nReported-by: Meelis Roos \u003cmroos@linux.ee\u003e\nReported-by: Don Zickus \u003cdzickus@redhat.com\u003e\nReported-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinfuTfCck_FfaOHrDqQZZehtRzkBum4SpFoO\u003dKJ@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1cecd791f2708b621e619cf4df4636c97c9497e5",
      "tree": "7d1cae2e3e0c02a5c187408fac36f0bae20fadf0",
      "parents": [
        "fef86db8feb2618430ac9e3c9b6197a7eacaf27a",
        "a252852afaea8270fcb91628b298253b112fc92e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix text_poke_smp_batch() deadlock\n  perf tools: Fix thread_map event synthesizing in top and record\n  watchdog, nmi: Lower the severity of error messages\n  ARM: oprofile: Fix backtraces in timer mode\n  oprofile: Fix usage of CONFIG_HW_PERF_EVENTS for oprofile_perf_init and friends\n"
    },
    {
      "commit": "fef86db8feb2618430ac9e3c9b6197a7eacaf27a",
      "tree": "d296ceedbec0863b4cabfc84cf0912629d4cb1ac",
      "parents": [
        "87450bd55d6f7caa472b5db49a97ca373baf2577",
        "84e383b322e5348db03be54ff64cc6da87003717"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:29 2011 -0800"
      },
      "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, dmi, debug: Log board name (when present) in dmesg/oops output\n  x86, ioapic: Don\u0027t warn about non-existing IOAPICs if we have none\n  x86: Fix mwait_usable section mismatch\n  x86: Readd missing irq_to_desc() in fixup_irq()\n  x86: Fix section mismatch in LAPIC initialization\n"
    },
    {
      "commit": "84e383b322e5348db03be54ff64cc6da87003717",
      "tree": "b1ed733fb82c002a41cbe13535d9ed80d52f9443",
      "parents": [
        "678301ecadec24ff77ab310eebf8a32ccddb1850"
      ],
      "author": {
        "name": "Naga Chumbalkar",
        "email": "nagananda.chumbalkar@hp.com",
        "time": "Mon Feb 14 22:47:17 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 15 04:20:57 2011 +0100"
      },
      "message": "x86, dmi, debug: Log board name (when present) in dmesg/oops output\n\nThe \"Type 2\" SMBIOS record that contains Board Name is not\nstrictly required and may be absent in the SMBIOS on some\nplatforms.\n\n( Please note that Type 2 is not listed in Table 3 in Sec 6.2\n  (\"Required Structures and Data\") of the SMBIOS v2.7\n  Specification. )\n\nUse the Manufacturer Name (aka System Vendor) name.\nPrint Board Name only when it is present.\n\nBefore the fix:\n  (i) dmesg output: DMI: /ProLiant DL380 G6, BIOS P62 01/29/2011\n (ii) oops output:  Pid: 2170, comm: bash Not tainted 2.6.38-rc4+ #3 /ProLiant DL380 G6\n\nAfter the fix:\n  (i) dmesg output: DMI: HP ProLiant DL380 G6, BIOS P62 01/29/2011\n (ii) oops output:  Pid: 2278, comm: bash Not tainted 2.6.38-rc4+ #4 HP ProLiant DL380 G6\n\nSigned-off-by: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nReviewed-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: \u003cstable@kernel.org\u003e # .3x - good for debugging, please apply as far back as it applies cleanly\nLKML-Reference: \u003c20110214224423.2182.13929.sendpatchset@nchumbalkar.americas.hpqcorp.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "678301ecadec24ff77ab310eebf8a32ccddb1850",
      "tree": "e98478769e2abc960623d5c044a1440e71411653",
      "parents": [
        "1c9d16e35911090dee3f9313e6af13af623d66ee"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Feb 14 22:52:38 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 15 04:15:04 2011 +0100"
      },
      "message": "x86, ioapic: Don\u0027t warn about non-existing IOAPICs if we have none\n\nmp_find_ioapic() prints errors like:\n\n    ERROR: Unable to locate IOAPIC for GSI 13\n\nif it can\u0027t find the IOAPIC that manages that specific GSI. I\nsee errors like that at every boot of a laptop that apparently\ndoesn\u0027t have any IOAPICs.\n\nBut if there are no IOAPICs it doesn\u0027t seem to be an error that\nnone can be found. A solution that gets rid of this message is\nto directly return if nr_ioapics (still) is zero. (But keep\nreturning -1 in that case, so nothing breaks from this change.)\n\nThe call chain that generates this error is:\n\npnpacpi_allocated_resource()\n    case ACPI_RESOURCE_TYPE_IRQ:\n        pnpacpi_parse_allocated_irqresource()\n            acpi_get_override_irq()\n                 mp_find_ioapic()\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c9d16e35911090dee3f9313e6af13af623d66ee",
      "tree": "5bff29a77f91976e7b991ed5d2ae4d3f4429aeb1",
      "parents": [
        "5117348dea5e3ecbb785cfa1271386fb49332b41"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bp@amd64.org",
        "time": "Fri Feb 11 18:17:54 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 14 12:08:28 2011 +0100"
      },
      "message": "x86: Fix mwait_usable section mismatch\n\nWe use it in non __cpuinit code now too so drop marker.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c20110211171754.GA21047@aftab\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5117348dea5e3ecbb785cfa1271386fb49332b41",
      "tree": "7524eeec3b476588777620d22822743d3b1817c9",
      "parents": [
        "2fb270f3212a1e6a73f86f76c85caee93aae4386"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 11:51:03 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 11:56:22 2011 +0100"
      },
      "message": "x86: Readd missing irq_to_desc() in fixup_irq()\n\ncommit a3c08e5d(x86: Convert irq_chip access to new functions)\naccidentally zapped desc \u003d irq_to_desc(irq); in the vector loop.\nSo we lock some random irq descriptor.\n\nAdd it back.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e # .37\n"
    },
    {
      "commit": "d91309f69b7bdb64aeb30106fde8d18c5dd354b5",
      "tree": "7ab2a2ed2d25c437a8a550cd19dc6b962da88f4f",
      "parents": [
        "401b8e1317d288f28d6e1afd13271dcb08fd9869"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Feb 11 22:07:46 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 12 02:34:34 2011 +0100"
      },
      "message": "x86: Fix text_poke_smp_batch() deadlock\n\nFix this deadlock - we are already holding the mutex:\n\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\n[ INFO: possible circular locking dependency detected ] 2.6.38-rc4-test+ #1\n-------------------------------------------------------\nbash/1850 is trying to acquire lock:\n (text_mutex){+.+.+.}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n\nbut task is already holding lock:\n (smp_alt){+.+...}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 (smp_alt){+.+...}:\n       [\u003cffffffff81082d02\u003e] lock_acquire+0xcd/0xf8\n       [\u003cffffffff8192e119\u003e] __mutex_lock_common+0x4c/0x339\n       [\u003cffffffff8192e4ca\u003e] mutex_lock_nested+0x3e/0x43\n       [\u003cffffffff8101050f\u003e] alternatives_smp_switch+0x77/0x1d8\n       [\u003cffffffff81926a6f\u003e] do_boot_cpu+0xd7/0x762\n       [\u003cffffffff819277dd\u003e] native_cpu_up+0xe6/0x16a\n       [\u003cffffffff81928e28\u003e] _cpu_up+0x9d/0xee\n       [\u003cffffffff81928f4c\u003e] cpu_up+0xd3/0xe7\n       [\u003cffffffff82268d4b\u003e] kernel_init+0xe8/0x20a\n       [\u003cffffffff8100ba24\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #1 (cpu_hotplug.lock){+.+.+.}:\n       [\u003cffffffff81082d02\u003e] lock_acquire+0xcd/0xf8\n       [\u003cffffffff8192e119\u003e] __mutex_lock_common+0x4c/0x339\n       [\u003cffffffff8192e4ca\u003e] mutex_lock_nested+0x3e/0x43\n       [\u003cffffffff810568cc\u003e] get_online_cpus+0x41/0x55\n       [\u003cffffffff810a1348\u003e] stop_machine+0x1e/0x3e\n       [\u003cffffffff819314c1\u003e] text_poke_smp_batch+0x3a/0x3c\n       [\u003cffffffff81932b6c\u003e] arch_optimize_kprobes+0x10d/0x11c\n       [\u003cffffffff81933a51\u003e] kprobe_optimizer+0x152/0x222\n       [\u003cffffffff8106bb71\u003e] process_one_work+0x1d3/0x335\n       [\u003cffffffff8106cfae\u003e] worker_thread+0x104/0x1a4\n       [\u003cffffffff810707c4\u003e] kthread+0x9d/0xa5\n       [\u003cffffffff8100ba24\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #0 (text_mutex){+.+.+.}:\n\nother info that might help us debug this:\n\n6 locks held by bash/1850:\n #0:  (\u0026buffer-\u003emutex){+.+.+.}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n #1:  (s_active#75){.+.+.+}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n #2:  (x86_cpu_hotplug_driver_mutex){+.+.+.}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n #3:  (cpu_add_remove_lock){+.+.+.}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n #4:  (cpu_hotplug.lock){+.+.+.}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n #5:  (smp_alt){+.+...}, at: [\u003cffffffff8100a9c1\u003e] return_to_handler+0x0/0x2f\n\nstack backtrace:\nPid: 1850, comm: bash Not tainted 2.6.38-rc4-test+ #1\nCall Trace:\n\n [\u003cffffffff81080eb2\u003e] print_circular_bug+0xa8/0xb7\n [\u003cffffffff8192e4ca\u003e] mutex_lock_nested+0x3e/0x43\n [\u003cffffffff81010302\u003e] alternatives_smp_unlock+0x3d/0x93\n [\u003cffffffff81010630\u003e] alternatives_smp_switch+0x198/0x1d8\n [\u003cffffffff8102568a\u003e] native_cpu_die+0x65/0x95\n [\u003cffffffff818cc4ec\u003e] _cpu_down+0x13e/0x202\n [\u003cffffffff8117a619\u003e] sysfs_write_file+0x108/0x144\n [\u003cffffffff8111f5a2\u003e] vfs_write+0xac/0xff\n [\u003cffffffff8111f7a9\u003e] sys_write+0x4a/0x6e\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: mathieu.desnoyers@efficios.com\nCc: rusty@rustcorp.com.au\nCc: ananth@in.ibm.com\nCc: masami.hiramatsu.pt@hitachi.com\nCc: fweisbec@gmail.com\nCc: jbeulich@novell.com\nCc: jbaron@redhat.com\nCc: mhiramat@redhat.com\nLKML-Reference: \u003c1297458466.5226.93.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c6c0d6ca386fe7a8e44e887a51f333c2499c829",
      "tree": "d502ba0de5d3dacb5098d677734fe2ccabd6b113",
      "parents": [
        "5b49378ec105dc104fc480fa7f4a80d77dd1360a",
        "893a5ab6ee7d51b231ed45aa844f8088642cb6bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:30:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:30:09 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: SVM: Make sure KERNEL_GS_BASE is valid when loading gs_index\n"
    },
    {
      "commit": "2fb270f3212a1e6a73f86f76c85caee93aae4386",
      "tree": "439f6cad53875482e770600b2b2d65f51446feac",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Wed Feb 09 08:21:02 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 10 13:26:53 2011 +0100"
      },
      "message": "x86: Fix section mismatch in LAPIC initialization\n\nAdditionally doing things conditionally upon smp_processor_id()\nbeing zero is generally a bad idea, as this means CPU 0 cannot\nbe offlined and brought back online later again.\n\nWhile there may be other places where this is done, I think adding\nmore of those should be avoided so that some day SMP can really\nbecome \"symmetrical\".\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nLKML-Reference: \u003c4D525C7E0200007800030EE1@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "893a5ab6ee7d51b231ed45aa844f8088642cb6bf",
      "tree": "9bb299eb2b957b47371d09fd33a307882e7b9e7a",
      "parents": [
        "0b0abeaf3d30cec03ac6497fe978b8f7edecc5ae"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jan 14 16:45:01 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Feb 09 18:31:36 2011 +0200"
      },
      "message": "KVM: SVM: Make sure KERNEL_GS_BASE is valid when loading gs_index\n\nThe gs_index loading code uses the swapgs instruction to\nswitch to the user gs_base temporarily. This is unsave in an\nlightweight exit-path in KVM on AMD because the\nKERNEL_GS_BASE MSR is switches lazily. An NMI happening in\nthe critical path of load_gs_index may use the wrong GS_BASE\nvalue then leading to unpredictable behavior, e.g. a\ntriple-fault.\n\nThis patch fixes the issue by making sure that load_gs_index\nis called only with a valid KERNEL_GS_BASE value loaded in\nKVM.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d344e38b2c151ca5e5e39f562017127e93912528",
      "tree": "806fa10a9a103ae6b39ff90dab1bb5cb15f70f03",
      "parents": [
        "8dbdea8444d303a772bceb1ba963f0e3273bfc5e"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Feb 06 21:16:09 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 07 09:07:13 2011 +0100"
      },
      "message": "x86, nx: Mark the ACPI resume trampoline code as +x\n\nWe reserve lowmem for the things that need it, like the ACPI\nwakeup code, way early to guarantee availability.  This happens\nbefore we set up the proper pagetables, so set_memory_x() has no\neffect.\n\nUntil we have a better solution, use an initcall to mark the\nwakeup code executable.\n\nOriginally-by: Matthieu Castet \u003ccastet.matthieu@free.fr\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Matthias Hopf \u003cmhopf@suse.de\u003e\nCc: rjw@sisk.pl\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLKML-Reference: \u003c4D4F8019.2090104@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07675f484bb9de0c4bd0722e174cb27043dbacef",
      "tree": "a82f9378da66021881c06a348eb3e767ded4e04f",
      "parents": [
        "585a7c666e67b7a6757bd12b734e22f4f76998a2",
        "11d4c3f9b671720e80353dd7e433ff2bf65e9500"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:03:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:03:10 2011 -0800"
      },
      "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-32: Make sure the stack is set up before we use it\n  x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms\n  x86, nx: Don\u0027t force pages RW when setting NX bits\n"
    },
    {
      "commit": "11d4c3f9b671720e80353dd7e433ff2bf65e9500",
      "tree": "b3560b0642216e9c9e1a54e57a5f55845f063e6b",
      "parents": [
        "f7448548a9f32db38f243ccd4271617758ddfe2c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Feb 04 16:14:11 2011 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 04 22:27:28 2011 -0800"
      },
      "message": "x86-32: Make sure the stack is set up before we use it\n\nSince checkin ebba638ae723d8a8fc2f7abce5ec18b688b791d7 we call\nverify_cpu even in 32-bit mode.  Unfortunately, calling a function\nmeans using the stack, and the stack pointer was not initialized in\nthe 32-bit setup code!  This code initializes the stack pointer, and\nsimplifies the interface slightly since it is easier to rely on just a\npointer value rather than a descriptor; we need to have different\nvalues for the segment register anyway.\n\nThis retains start_stack as a virtual address, even though a physical\naddress would be more convenient for 32 bits; the 64-bit code wants\nthe other way around...\n\nReported-by: Matthieu Castet \u003ccastet.matthieu@free.fr\u003e\nLKML-Reference: \u003c4D41E86D.8060205@free.fr\u003e\nTested-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "831d52bc153971b70e64eccfbed2b232394f22f8",
      "tree": "c5d334e08a7f1ef3f199aeee3f41ce133529a4ff",
      "parents": [
        "9118626a30f8a3f58674623bebd3c34961e558af"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Feb 03 12:20:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 13:32:39 2011 -0800"
      },
      "message": "x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm\n\nClearing the cpu in prev\u0027s mm_cpumask early will avoid the flush tlb\nIPI\u0027s while the cr3 is still pointing to the prev mm.  And this window\ncan lead to the possibility of bogus TLB fills resulting in strange\nfailures.  One such problematic scenario is mentioned below.\n\n T1. CPU-1 is context switching from mm1 to mm2 context and got a NMI\n     etc between the point of clearing the cpu from the mm_cpumask(mm1)\n     and before reloading the cr3 with the new mm2.\n\n T2. CPU-2 is tearing down a specific vma for mm1 and will proceed with\n     flushing the TLB for mm1.  It doesn\u0027t send the flush TLB to CPU-1\n     as it doesn\u0027t see that cpu listed in the mm_cpumask(mm1).\n\n T3. After the TLB flush is complete, CPU-2 goes ahead and frees the\n     page-table pages associated with the removed vma mapping.\n\n T4. CPU-2 now allocates those freed page-table pages for something\n     else.\n\n T5. As the CR3 and TLB caches for mm1 is still active on CPU-1, CPU-1\n     can potentially speculate and walk through the page-table caches\n     and can insert new TLB entries.  As the page-table pages are\n     already freed and being used on CPU-2, this page walk can\n     potentially insert a bogus global TLB entry depending on the\n     (random) contents of the page that is being used on CPU-2.\n\n T6. This bogus TLB entry being global will be active across future CR3\n     changes and can result in weird memory corruption etc.\n\nTo avoid this issue, for the prev mm that is handing over the cpu to\nanother mm, clear the cpu from the mm_cpumask(prev) after the cr3 is\nchanged.\n\nMarking it for -stable, though we haven\u0027t seen any reported failure that\ncan be attributed to this.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\t[v2.6.32+]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb487ab4d5af0caee81bfaaa5d87b55844f60145",
      "tree": "5dc5470b73aeb1f4bfff9e77d52ff3387c18e7df",
      "parents": [
        "0b0abeaf3d30cec03ac6497fe978b8f7edecc5ae",
        "542e72fc90f5ed9eecb574f80f70868c7f296093"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix reading in perf_event_read()\n  watchdog: Don\u0027t change watchdog state on read of sysctl\n  watchdog: Fix sysctl consistency\n  watchdog: Fix broken nowatchdog logic\n  perf: Fix Pentium4 raw event validation\n  perf: Fix alloc_callchain_buffers()\n"
    },
    {
      "commit": "f7448548a9f32db38f243ccd4271617758ddfe2c",
      "tree": "211ed2986556691559eee8d1f730127c2ce0017d",
      "parents": [
        "f12d3d04e8f6223276abb068c5d72852174b8c31"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Feb 02 17:02:55 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:10:38 2011 +0100"
      },
      "message": "x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms\n\nMarkus Kohn ran into a hard hang regression on an acer aspire\n1310, when acpi is enabled. git bisect showed the following\ncommit as the bad one that introduced the boot regression.\n\n\tcommit d0af9eed5aa91b6b7b5049cae69e5ea956fd85c3\n\tAuthor: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\n\tDate:   Wed Aug 19 18:05:36 2009 -0700\n\n\t    x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init\n\nBecause of the UP configuration of that platform,\nnative_smp_prepare_cpus() bailed out (in smp_sanity_check())\nbefore doing the set_mtrr_aps_delayed_init()\n\nFurther down the boot path, native_smp_cpus_done() will call the\ndelayed MTRR initialization for the AP\u0027s (mtrr_aps_init()) with\nmtrr_aps_delayed_init not set. This resulted in the boot\nprocessor reprogramming its MTRR\u0027s to the values seen during the\nstart of the OS boot. While this is not needed ideally, this\nshouldn\u0027t have caused any side-effects. This is because the\nreprogramming of MTRR\u0027s (set_mtrr_state() that gets called via\nset_mtrr()) will check if the live register contents are\ndifferent from what is being asked to write and will do the actual\nwrite only if they are different.\n\nBP\u0027s mtrr state is read during the start of the OS boot and\ntypically nothing would have changed when we ask to reprogram it\non BP again because of the above scenario on an UP platform. So\non a normal UP platform no reprogramming of BP MTRR MSR\u0027s\nhappens and all is well.\n\nHowever, on this platform, bios seems to be modifying the fixed\nmtrr range registers between the start of OS boot and when we\ndouble check the live registers for reprogramming BP MTRR\nregisters. And as the live registers are modified, we end up\nreprogramming the MTRR\u0027s to the state seen during the start of\nthe OS boot.\n\nDuring ACPI initialization, something in the bios (probably smi\nhandler?) don\u0027t like this fact and results in a hard lockup.\n\nWe didn\u0027t see this boot hang issue on this platform before the\ncommit d0af9eed5aa91b6b7b5049cae69e5ea956fd85c3, because only\nthe AP\u0027s (if any) will program its MTRR\u0027s to the value that BP\nhad at the start of the OS boot.\n\nFix this issue by checking mtrr_aps_delayed_init before\ncontinuing further in the mtrr_aps_init(). Now, only AP\u0027s (if\nany) will program its MTRR\u0027s to the BP values during boot.\n\nAddresses https://bugzilla.novell.com/show_bug.cgi?id\u003d623393\n\n  [ By the way, this behavior of the bios modifying MTRR\u0027s after the start\n    of the OS boot is not common and the kernel is not prepared to\n    handle this situation well. Irrespective of this issue, during\n    suspend/resume, linux kernel will try to reprogram the BP\u0027s MTRR values\n    to the values seen during the start of the OS boot. So suspend/resume might\n    be already broken on this platform for all linux kernel versions. ]\n\nReported-and-bisected-by: Markus Kohn \u003cjabber@gmx.org\u003e\nTested-by: Markus Kohn \u003cjabber@gmx.org\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Thomas Renninger \u003ctrenn@novell.com\u003e\nCc: Rafael Wysocki \u003crjw@novell.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: stable@kernel.org # [v2.6.32+]\nLKML-Reference: \u003c1296694975.4418.402.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f12d3d04e8f6223276abb068c5d72852174b8c31",
      "tree": "3fa4d535cff0faad53d4b08aa252a9d522cf6ef3",
      "parents": [
        "afe8a887550f7cc24eb16449670b93f6b43c32d8"
      ],
      "author": {
        "name": "Matthieu CASTET",
        "email": "castet.matthieu@free.fr",
        "time": "Thu Jan 20 21:11:45 2011 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Feb 02 16:02:36 2011 -0800"
      },
      "message": "x86, nx: Don\u0027t force pages RW when setting NX bits\n\nXen want page table pages read only.\n\nBut the initial page table (from head_*.S) live in .data or .bss.\n\nThat was broken by 64edc8ed5ffae999d8d413ba006850e9e34166cb.  There is\nabsolutely no reason to force these pages RW after they have already\nbeen marked RO.\n\nSigned-off-by: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "1f0324caefd39985e9fe052fac97da31694db31e",
      "tree": "1be0e2ac86c404273159570bf302ffe040869d85",
      "parents": [
        "0b6bb66d1247601e4a2560bb048d64c606bd7b73",
        "23febeddbe67e5160929f7c48f7bfe83c2eecb99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:24:34 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:24:34 2011 +1000"
      },
      "message": "Merge branch \u0027stable/bug-fixes-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/bug-fixes-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/setup: Route halt operations to safe_halt pvop.\n  xen/e820: Guard against E820_RAM not having page-aligned size or start.\n  xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn.\n"
    },
    {
      "commit": "f7b548fa3d74f0db9af4fd41fbef973231d384fd",
      "tree": "ef4eee8f3b293599e378e30c58903eab425ecb49",
      "parents": [
        "95f9354b4cd23902e0556348325366378cb5e621",
        "889a7a6a5d5e64063effd40056bdc7b8fb336bd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:43:41 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:43:41 2011 +1000"
      },
      "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  percpu, x86: Fix percpu_xchg_op()\n  x86: Remove left over system_64.h\n  x86-64: Don\u0027t use pointer to out-of-scope variable in dump_trace()\n"
    },
    {
      "commit": "d038b12c6d773a4b9f69ca5243773bf6314f7ee9",
      "tree": "c59c68b0e94c3a84d8ebd8fe48974c616f2ae303",
      "parents": [
        "88d4f0db7fa8785859c1d637f9aac210932b6216"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Jan 25 17:32:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 27 19:21:53 2011 +0100"
      },
      "message": "perf: Fix Pentium4 raw event validation\n\nThis patch fixes some issues with raw event validation on\nPentium 4 (Netburst) based processors.\n\nAs I was testing libpfm4 Netburst support, I ran into two\nproblems in the p4_validate_raw_event() function:\n\n   - the shared field must be checked ONLY when HT is on\n   - the binding to ESCR register was missing\n\nThe second item was causing raw events to not be encoded\ncorrectly compared to generic PMU events.\n\nWith this patch, I can now pass Netburst events to libpfm4\nexamples and get meaningful results:\n\n  $ task -e global_power_events:running:u  noploop 1\n  noploop for 1 seconds\n  3,206,304,898 global_power_events:running\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: peterz@infradead.org\nCc: paulus@samba.org\nCc: davem@davemloft.net\nCc: fweisbec@gmail.com\nCc: perfmon2-devel@lists.sf.net\nCc: eranian@gmail.com\nCc: robert.richter@amd.com\nCc: acme@redhat.com\nCc: gorcunov@gmail.com\nCc: ming.m.lin@intel.com\nLKML-Reference: \u003c4d3efb2f.1252d80a.1a80.ffffc83f@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23febeddbe67e5160929f7c48f7bfe83c2eecb99",
      "tree": "0a5ce5f89e7ec1a8c1d30452677a077ad8753243",
      "parents": [
        "7cb31b752c71e0bd405c1139e1907c3335877dff"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Wed Jan 26 17:07:27 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jan 27 12:00:24 2011 -0500"
      },
      "message": "xen/setup: Route halt operations to safe_halt pvop.\n\nWith this patch, the cpuidle driver does not load and\ndoes not issue the mwait operations. Instead the hypervisor\nis doing them (b/c we call the safe_halt pvops call).\n\nThis fixes quite a lot of bootup issues wherein the user had\nto force interrupts for the continuation of the bootup.\n\nDetails are discussed in:\n\nhttp://lists.xensource.com/archives/html/xen-devel/2011-01/msg00535.html\n\n[v2: Wrote the commit description]\n\nReported-by: Daniel De Graaf \u003cdgdegra@tycho.nsa.gov\u003e\nTested-by: Daniel De Graaf \u003cdgdegra@tycho.nsa.gov\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "7cb31b752c71e0bd405c1139e1907c3335877dff",
      "tree": "fb867bd74a89ddff24075907080faa41b33797f2",
      "parents": [
        "cf04d120d9413de581437cf9a29f138ec1178f65"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Thu Jan 27 10:13:25 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jan 27 10:49:35 2011 -0500"
      },
      "message": "xen/e820: Guard against E820_RAM not having page-aligned size or start.\n\nUnder Dell Inspiron 1525, and Intel SandyBridge SDP\u0027s the\nBIOS e820 RAM is not page-aligned:\n\n[   0.000000]  Xen: 0000000000100000 - 00000000df66d800 (usable)\n\nWe were not handling that and ended up setting up a pagetable\nthat included up to df66e000 with the disastrous effect that when\n\n        memset(NODE_DATA(nodeid), 0, sizeof(pg_data_t));\n\ntried to clear the page it would crash at the 2K mark.\n\nInitially reported by Michael Young @\nhttp://lists.xensource.com/archives/html/xen-devel/2011-01/msg00108.html\n\nThe fix is to page-align the size and also take into consideration\nthe start of the E820 (in case that is not page-aligned either). This\nfixes the bootup failure on those affected machines.\n\nThis patch is a rework of the Micheal A Young initial patch and\nconsiders the case if the start is not page-aligned.\n\nReported-by: Michael A Young \u003cm.a.young@durham.ac.uk\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Michael A Young \u003cm.a.young@durham.ac.uk\u003e\n"
    },
    {
      "commit": "cf04d120d9413de581437cf9a29f138ec1178f65",
      "tree": "29de479bca1f9b059eb219881bf0e6f6d8d13c88",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "stefan.bader@canonical.com",
        "time": "Thu Jan 27 10:03:14 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jan 27 10:49:34 2011 -0500"
      },
      "message": "xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn.\n\nIn case the mfn_list does not have enough entries to fill\na p2m page we do not want the entries from max_pfn up to\nthe boundary to be filled with unknown values. Hence\nset them to INVALID_P2M_ENTRY.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "889a7a6a5d5e64063effd40056bdc7b8fb336bd1",
      "tree": "84f366024832785f6eff971c96129be6e131f6c8",
      "parents": [
        "9a57c3e487d25f69715705dfeef6eb9e4d666ad7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 25 17:31:54 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 08:10:49 2011 +0100"
      },
      "message": "percpu, x86: Fix percpu_xchg_op()\n\nThese recent percpu commits:\n\n  2485b6464cf8: x86,percpu: Move out of place 64 bit ops into X86_64 section\n  8270137a0d50: cpuops: Use cmpxchg for xchg to avoid lock semantics\n\nCaused this \u0027perf top\u0027 crash:\n\n Kernel panic - not syncing: Fatal exception in interrupt\n Pid: 0, comm: swapper Tainted: G     D\n 2.6.38-rc2-00181-gef71723 #413 Call Trace: \u003cIRQ\u003e [\u003cffffffff810465b5\u003e]\n    ? panic\n    ? kmsg_dump\n    ? kmsg_dump\n    ? oops_end\n    ? no_context\n    ? __bad_area_nosemaphore\n    ? perf_output_begin\n    ? bad_area_nosemaphore\n    ? do_page_fault\n    ? __task_pid_nr_ns\n    ? perf_event_tid\n    ? __perf_event_header__init_id\n    ? validate_chain\n    ? perf_output_sample\n    ? trace_hardirqs_off\n    ? page_fault\n    ? irq_work_run\n    ? update_process_times\n    ? tick_sched_timer\n    ? tick_sched_timer\n    ? __run_hrtimer\n    ? hrtimer_interrupt\n    ? account_system_vtime\n    ? smp_apic_timer_interrupt\n    ? apic_timer_interrupt\n ...\n\nLooking at assembly code, I found:\n\nlist \u003d this_cpu_xchg(irq_work_list, NULL);\n\ngives this wrong code : (gcc-4.1.2 cross compiler)\n\nffffffff810bc45e:\n\tmov    %gs:0xead0,%rax\n\tcmpxchg %rax,%gs:0xead0\n\tjne    ffffffff810bc45e \u003cirq_work_run+0x3e\u003e\n\ttest   %rax,%rax\n\tje     ffffffff810bc4aa \u003cirq_work_run+0x8a\u003e\n\nTell gcc we dirty eax/rax register in percpu_xchg_op()\n\nCompiler must use another register to store pxo_new__\n\nWe also dont need to reload percpu value after a jump,\nsince a \u0027failed\u0027 cmpxchg already updated eax/rax\n\nWrong generated code was :\n\txor     %rax,%rax   /* load 0 into %rax */\n1:\tmov     %gs:0xead0,%rax\n\tcmpxchg %rax,%gs:0xead0\n\tjne     1b\n\ttest    %rax,%rax\n\nAfter patch :\n\n\txor     %rdx,%rdx   /* load 0 into %rdx */\n\tmov     %gs:0xead0,%rax\n1:\tcmpxchg %rdx,%gs:0xead0\n\tjne     1b:\n\ttest    %rax,%rax\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c1295973114.3588.312.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a57c3e487d25f69715705dfeef6eb9e4d666ad7",
      "tree": "3a3cc633062db4048d742219db53313befb15f95",
      "parents": [
        "2e5aa6824d9e0248d734573dad8858a2cc279cfe"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jan 24 17:13:53 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 08:05:58 2011 +0100"
      },
      "message": "x86: Remove left over system_64.h\n\nLeft-over from the x86 merge ...\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4D3E23D1.7010405@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cacf061c5e42a040200463afccd9178ace680322",
      "tree": "e42cf6da9b8f553ae9a5d0e0f6eb959c141c338e",
      "parents": [
        "6663050edd9c2e8b1e1f55c09459144d84c045f0"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue Jan 25 15:07:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:49:57 2011 +1000"
      },
      "message": "thp: fix PARAVIRT x86 32bit noPAE\n\nThis fixes TRANSPARENT_HUGEPAGE\u003dy with PARAVIRT\u003dy and HIGHMEM64\u003dn.\n\nThe #ifdef that this patch removes was erratically introduced to fix a\nbuild error for noPAE (where pmd.pmd doesn\u0027t exist).  So then the kernel\nbuilt but it failed at runtime because set_pmd_at was a noop.  This will\ncorrect it by enabling set_pmd_at for noPAE mode too.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReported-by: werner \u003cw.landgraf@ru.ru\u003e\nReported-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nTested-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e5aa6824d9e0248d734573dad8858a2cc279cfe",
      "tree": "535b372f88eee1ac3e56eda16c8618499f34fbaa",
      "parents": [
        "ec30f343d61391ab23705e50a525da1d55395780"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jan 24 22:41:11 2011 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Jan 24 13:46:15 2011 -0800"
      },
      "message": "x86-64: Don\u0027t use pointer to out-of-scope variable in dump_trace()\n\nIn arch/x86/kernel/dumpstack_64.c::dump_trace() we have this code:\n\n...\n  \t\tif (!stack) {\n  \t\t\tunsigned long dummy;\n  \t\t\tstack \u003d \u0026dummy;\n  \t\t\tif (task \u0026\u0026 task !\u003d current)\n  \t\t\t\tstack \u003d (unsigned long *)task-\u003ethread.sp;\n  \t\t}\n\n  \t\tbp \u003d stack_frame(task, regs);\n  \t\t/*\n  \t\t * Print function call entries in all stacks, starting at the\n  \t\t * current stack address. If the stacks consist of nested\n  \t\t * exceptions\n  \t\t */\n  \t\ttinfo \u003d task_thread_info(task);\n\n  \t\tfor (;;) {\n  \t\t\tchar *id;\n  \t\t\tunsigned long *estack_end;\n  \t\t\testack_end \u003d in_exception_stack(cpu, (unsigned long)stack,\n  \t\t\t\t\t\t\t\u0026used, \u0026id);\n...\n\nYou\u0027ll notice that we assign to \u0027stack\u0027 the address of the variable\n\u0027dummy\u0027 which is only in-scope inside the \u0027if (!stack)\u0027. So when we later\naccess stack (at the end of the above, and assuming we did not take the\n\u0027if (task \u0026\u0026 task !\u003d current)\u0027 branch) we\u0027ll be using the address of a\nvariable that is no longer in scope. I believe this patch is the proper\nfix, but I freely admit that I\u0027m not 100% certain.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nLKML-Reference: \u003calpine.LNX.2.00.1101242232590.10252@swampdragon.chaosbits.net\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "4398f31ca7989cbddca96267e3d018d440bac30e",
      "tree": "77b59bd0b224107970f18c63299e58ffc63ff532",
      "parents": [
        "d315777b32a4696feb86f2a0c9e9f39c94683649",
        "8969691343354bdd80eff5405a0f879edbf013d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:24:12 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:24:12 2011 +1000"
      },
      "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 jump label with RO/NX module protection crash\n  x86, hotplug: Fix powersavings with offlined cores on AMD\n  x86, mcheck, therm_throt.c: Export symbol platform_thermal_notify to allow coretemp to handler intr\n  x86: Use asm-generic/cacheflush.h\n  x86: Update CPU cache attributes table descriptors\n"
    },
    {
      "commit": "8969691343354bdd80eff5405a0f879edbf013d6",
      "tree": "94780f18bfb33a6c5c20b007795e19eb628c1832",
      "parents": [
        "93789b32dbf355e70f18b17a82e8661677a7f7fb"
      ],
      "author": {
        "name": "matthieu castet",
        "email": "castet.matthieu@free.fr",
        "time": "Sun Jan 23 15:45:52 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 23 16:12:45 2011 +0100"
      },
      "message": "x86: Fix jump label with RO/NX module protection crash\n\nIf we use jump table in module init, there are marked\nas removed in __jump_table section after init is done.\n\nBut we already applied ro permissions on the module, so\nwe can\u0027t modify a read only section (crash in\nremove_jump_label_module_init).\n\nMake the __jump_table section rw.\n\nSigned-off-by: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nCc: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Siarhei Liakh \u003csliakh.lkml@gmail.com\u003e\nCc: Xuxian Jiang \u003cjiang@cs.ncsu.edu\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c4D3C3F20.7030203@free.fr\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93789b32dbf355e70f18b17a82e8661677a7f7fb",
      "tree": "551a937a1f236118fd149cbbcc635ef283a7a94c",
      "parents": [
        "f21bbec9ffcaf73e99938209e52b757d93f9133b"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Jan 20 15:42:52 2011 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 21 18:14:54 2011 -0800"
      },
      "message": "x86, hotplug: Fix powersavings with offlined cores on AMD\n\nea53069231f9317062910d6e772cca4ce93de8c8 made a CPU use monitor/mwait\nwhen offline. This is not the optimal choice for AMD wrt to powersavings\nand we\u0027d prefer our cores to halt (i.e. enter C1) instead. For this, the\nsame selection whether to use monitor/mwait has to be used as when we\nselect the idle routine for the machine.\n\nWith this patch, offlining cores 1-5 on a X6 machine allows core0 to\nboost again.\n\n[ hpa: putting this in urgent since it is a (power) regression fix ]\n\nReported-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: stable@kernel.org # 37.x\nCc: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.hl\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c1295534572-10730-1-git-send-email-bp@amd64.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "ebe0d805071c318ebbc3b5857f8f4f94214c1a52",
      "tree": "43716c1e57dede71b29547eb96f231efe9d063e7",
      "parents": [
        "5bf7a6503ff416214b9a53569677dbf07657e6fd",
        "2485b6464cf86a5bc361666838f2439c99c00567"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:43:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:43:21 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  x86,percpu: Move out of place 64 bit ops into X86_64 section\n"
    },
    {
      "commit": "cfd74486eace27a0899b30529d01bc1a09a5b973",
      "tree": "b4bb52cf16203b78f1a102567915911f0d1c4b85",
      "parents": [
        "a1d3f5b70d13b7035f925de1f2ba0003a04b9ac5",
        "8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:35:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:35:10 2011 -0800"
      },
      "message": "Merge branch \u0027stable/bug-fixes-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/bug-fixes-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: p2m: correctly initialize partial p2m leaf\n  xen: fix non-ANSI function warning in irq.c\n"
    },
    {
      "commit": "8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b",
      "tree": "2a01dd503d48e9496002349f80e27343037d18e6",
      "parents": [
        "7d81c3b9e2e5057c52256e154205143ad4e6e919"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "stefan.bader@canonical.com",
        "time": "Thu Jan 20 15:38:23 2011 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Jan 21 11:24:14 2011 -0500"
      },
      "message": "xen: p2m: correctly initialize partial p2m leaf\n\nAfter changing the p2m mapping to a tree by\n\n  commit 58e05027b530ff081ecea68e38de8d59db8f87e0\n    xen: convert p2m to a 3 level tree\n\nand trying to boot a DomU with 615MB of memory, the following crash was\nobserved in the dump:\n\nkernel direct mapping tables up to 26f00000 @ 1ec4000-1fff000\nBUG: unable to handle kernel NULL pointer dereference at (null)\nIP: [\u003cc0107397\u003e] xen_set_pte+0x27/0x60\n*pdpt \u003d 0000000000000000 *pde \u003d 0000000000000000\n\nAdding further debug statements showed that when trying to set up\npfn\u003d0x26700 the returned mapping was invalid.\n\npfn\u003d0x266ff calling set_pte(0xc1fe77f8, 0x6b3003)\npfn\u003d0x26700 calling set_pte(0xc1fe7800, 0x3)\n\nAlthough the last_pfn obtained from the startup info is 0x26700, which\nshould in turn not be hit, the additional 8MB which are added as extra\nmemory normally seem to be ok. This lead to looking into the initial\np2m tree construction, which uses the smaller value and assuming that\nthere is other code handling the extra memory.\n\nWhen the p2m tree is set up, the leaves are directly pointed to the\narray which the domain builder set up. But if the mapping is not on a\nboundary that fits into one p2m page, this will result in the last leaf\nbeing only partially valid. And as the invalid entries are not\ninitialized in that case, things go badly wrong.\n\nI am trying to fix that by checking whether the current leaf is a\ncomplete map and if not, allocate a completely new page and copy only\nthe valid pointers there. This may not be the most efficient or elegant\nsolution, but at least it seems to allow me booting DomUs with memory\nassignments all over the range.\n\nBugLink: http://bugs.launchpad.net/bugs/686692\n[v2: Redid a bit of commit wording and fixed a compile warning]\n\nSigned-off-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "f21bbec9ffcaf73e99938209e52b757d93f9133b",
      "tree": "1a48c5c96355e5cfd1e8650e200dafcb1f396458",
      "parents": [
        "cc67ba6352ecbf6891083a18f8c78fa639ebd274"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Thu Jan 20 20:12:40 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 14:11:12 2011 +0100"
      },
      "message": "x86, mcheck, therm_throt.c: Export symbol platform_thermal_notify to allow coretemp to handler intr\n\nIn therm_throt.c, commit\n9e76a97efd31a08cb19d0ba12013b8fb4ad3e474 patch doesn\u0027t export\nthe symbol platform_thermal_notify.\n\nOther drivers (e.g. drivers/hwmon/coretemp.c) can not find the\nsymbol platform_thermal_notify when defining threshould\ninterrupt handler.\n\nPlease apply this patch to allow threshold interrupt handler in\ncoretemp.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: R Durgadoss \u003cdurgadoss.r@intel.com\u003e\nCc: khali@linux-fr.org \u003ckhali@linux-fr.org\u003e\nCc: lm-sensors@lm-sensors.org \u003clm-sensors@lm-sensors.org\u003e\nCc: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nLKML-Reference: \u003c20110121041239.GB26954@linux-os.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc67ba6352ecbf6891083a18f8c78fa639ebd274",
      "tree": "728c4783f72b50cc8ef7b1af62c7e376efe409d6",
      "parents": [
        "fb87ec382f9d95469df494bdee9db922594f5cd4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Jan 20 20:32:14 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 14:11:12 2011 +0100"
      },
      "message": "x86: Use asm-generic/cacheflush.h\n\nThe implementation of the cache flushing interfaces on the x86\nis identical with the default implementation in asm-generic.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: arnd@arndb.de\nLKML-Reference: \u003c1295523136-4277-2-git-send-email-akinobu.mita@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "8d99641f6c1af806cd5d9e6badce91910219a161",
      "tree": "ee841f807005a4a6234f6f502a13185d13a34870",
      "parents": [
        "fc887b15d935ead2a00aef5779a18034e7c69ee1",
        "225c8e010f2d17a62aef131e24c6e7c111f36f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n  kernel/smp.c: fix smp_call_function_many() SMP race\n  memcg: correctly order reading PCG_USED and pc-\u003emem_cgroup\n  backlight: fix 88pm860x_bl macro collision\n  drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking\n  MAINTAINERS: update Atmel AT91 entry\n  mm: fix truncate_setsize() comment\n  memcg: fix rmdir, force_empty with THP\n  memcg: fix LRU accounting with THP\n  memcg: fix USED bit handling at uncharge in THP\n  memcg: modify accounting function for supporting THP better\n  fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n  mm: compaction: prevent division-by-zero during user-requested compaction\n  mm/vmscan.c: remove duplicate include of compaction.h\n  memblock: fix memblock_is_region_memory()\n  thp: keep highpte mapped until it is no longer needed\n  kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n"
    },
    {
      "commit": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.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": "e55fdbd7414a3ee991d7081a256153f61ea98b9f",
      "tree": "252d30f5821bbb10d95a0c2d77cf21a7f4e7d5e3",
      "parents": [
        "c522682d7433d27461d631d03a2a1a3b741e9c91",
        "8b3bb3ecf1934ac4a7005ad9017de1127e2fbd2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:31:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:31:20 2011 -0800"
      },
      "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  virtio: remove virtio-pci root device\n  LGUEST_GUEST: fix unmet direct dependencies (VIRTUALIZATION \u0026\u0026 VIRTIO)\n  lguest: compile fixes\n  lguest: Use this_cpu_ops\n  lguest: document --rng in example Launcher\n  lguest: example launcher to use guard pages, drop PROT_EXEC, fix limit logic\n  lguest: --username and --chroot options\n"
    },
    {
      "commit": "7d81c3b9e2e5057c52256e154205143ad4e6e919",
      "tree": "53166651129f1f68967466d51155d6f910a366fe",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Jan 08 20:00:36 2011 -0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jan 20 14:52:13 2011 -0500"
      },
      "message": "xen: fix non-ANSI function warning in irq.c\n\nFix sparse warning for non-ANSI function declaration:\n\narch/x86/xen/irq.c:129:30: warning: non-ANSI function declaration of function \u0027xen_init_irq_ops\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc:\tJeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb87ec382f9d95469df494bdee9db922594f5cd4",
      "tree": "5d4b9fc7a90dcc3377b6935d5c7c7dcc76eba87b",
      "parents": [
        "9032160275ba018003ff390835ff8ed2b5b788b8"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jan 19 20:20:56 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 12:13:20 2011 +0100"
      },
      "message": "x86: Update CPU cache attributes table descriptors\n\nUpdate to latest definitions in:\n\n   http://www.intel.com/Assets/PDF/appnote/241618.pdf\n\n[ Note, this update of the doc has removed some old values which\n  we have listed.  I think until we have clarification that they\n  were never used in production, they should be left there. ]\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nLKML-Reference: \u003c20110120012055.GA15985@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b8216e6354e7666a2718d4b891c8e8d7fcded27",
      "tree": "f7eb868f2fe668403a10271ceaeb08274549fd5d",
      "parents": [
        "ced05dd741779986861fe7369fe002f542d6fa34"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Jan 01 11:08:46 2011 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 20 21:37:30 2011 +1030"
      },
      "message": "LGUEST_GUEST: fix unmet direct dependencies (VIRTUALIZATION \u0026\u0026 VIRTIO)\n\nHonor the kconfig menu hierarchy to remove kconfig dependency warnings:\nVIRTIO and VIRTIO_RING are subordinate to VIRTUALIZATION.\n\nwarning: (LGUEST_GUEST) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)\nwarning: (LGUEST_GUEST \u0026\u0026 VIRTIO_PCI \u0026\u0026 VIRTIO_BALLOON) selects VIRTIO_RING which has unmet direct dependencies (VIRTUALIZATION \u0026\u0026 VIRTIO)\n\nReported-by: Toralf F_rster \u003ctoralf.foerster@gmx.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ced05dd741779986861fe7369fe002f542d6fa34",
      "tree": "506151ac3d5bc7b1f3820892773571a071366278",
      "parents": [
        "c9f2954964df1490373065558f3156379c7a2454"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 20 21:37:29 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 20 21:37:29 2011 +1030"
      },
      "message": "lguest: compile fixes\n\narch/x86/lguest/boot.c: In function ‘lguest_init_IRQ’:\narch/x86/lguest/boot.c:824: error: macro \"__this_cpu_write\" requires 2 arguments, but only 1 given\narch/x86/lguest/boot.c:824: error: ‘__this_cpu_write’ undeclared (first use in this function)\narch/x86/lguest/boot.c:824: error: (Each undeclared identifier is reported only once\narch/x86/lguest/boot.c:824: error: for each function it appears in.)\n\ndrivers/lguest/x86/core.c: In function ‘copy_in_guest_info’:\ndrivers/lguest/x86/core.c:94: error: lvalue required as left operand of assignment\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c9f2954964df1490373065558f3156379c7a2454",
      "tree": "da06a2aae32108f4e699f687308299c01e322c2e",
      "parents": [
        "85c0647275b60380e19542d43420184e86418d86"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Nov 30 13:07:21 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 20 21:37:29 2011 +1030"
      },
      "message": "lguest: Use this_cpu_ops\n\nUse this_cpu_ops in a couple of places in lguest.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9032160275ba018003ff390835ff8ed2b5b788b8",
      "tree": "4c24e108c44be403dd8abe43a6bedd3ae04a48df",
      "parents": [
        "6b35eb9ddcddde7b510726de03fae071178f1ec4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Wed Jan 19 08:57:21 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 10:25:18 2011 +0100"
      },
      "message": "x86: Unify \"numa\u003d\" command line option handling\n\nIn order to be able to suppress the use of SRAT tables that\n32-bit Linux can\u0027t deal with (in one case known to lead to a\nnon-bootable system, unless disabling ACPI altogether), move the\n\"numa\u003d\" option handling to common code.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nReviewed-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nLKML-Reference: \u003c4D36B581020000780002D0FF@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b35eb9ddcddde7b510726de03fae071178f1ec4",
      "tree": "f4fd04cf535c8f93b25c3b9fbcae7cd3ab6562db",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 10:09:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 10:09:42 2011 +0100"
      },
      "message": "Revert \"x86: Make relocatable kernel work with new binutils\"\n\nThis reverts commit 86b1e8dd83cb (\"x86: Make relocatable kernel work with\nnew binutils\").\n\nMarkus Trippelsdorf reported a boot failure caused by this patch.\n\nThe real solution to the original patch will likely involve an\narch-generic solution to define an overlaid jiffies_64 and jiffies\nvariables.\n\nUntil that\u0027s done and tested on all architectures revert this commit to\nsolve the regression.\n\nReported-and-bisected-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: \"Lu, Hongjiu\" \u003chongjiu.lu@intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e,\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nLKML-Reference: \u003c4D36A759.60704@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "404cbbd52f10d1d5719ad82ce8ba903890779255",
      "tree": "b589594e2891f3dbdccdea87233c917d338001df",
      "parents": [
        "5d7e8af3c5727626b9e7f909c778b9ac9b4a1809",
        "7b698ea377e10b074ceef0d79218e6622d618421"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:21 2011 -0800"
      },
      "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: Clear irqstack thread_info\n  x86: Make relocatable kernel work with new binutils\n"
    },
    {
      "commit": "7b698ea377e10b074ceef0d79218e6622d618421",
      "tree": "64c58c50fb3bb196b3e50abac4bf6ae3dd2719e6",
      "parents": [
        "86b1e8dd83cbb0fcbf3d61d2b461df8be1f528cf"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Mon Jan 17 07:32:10 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 14:58:37 2011 +0100"
      },
      "message": "x86: Clear irqstack thread_info\n\nMathias Merz reported that v2.6.37 failed to boot on his\nsystem.\n\nMake sure that the thread_info part of the irqstack is\ninitialized to zeroes.\n\nReported-and-Tested-by: Matthias Merz \u003clinux@merz-ka.de\u003e\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003cAANLkTimyKXfJ1x8tgwrr1hYnNLrPfgE1NTe4z7L6tUDm@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "86b1e8dd83cbb0fcbf3d61d2b461df8be1f528cf",
      "tree": "8dd49e97b8bec76b53798fe35a423dd20596603f",
      "parents": [
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Jan 18 08:57:49 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 09:05:33 2011 +0100"
      },
      "message": "x86: Make relocatable kernel work with new binutils\n\nThe CONFIG_RELOCATABLE\u003dy option is broken with new binutils, which will make\nboot panic.\n\nAccording to Lu Hongjiu, the affected binutils are from 2.20.51.0.12 to\n2.21.51.0.3, which are release since Oct 22 this year. At least ubuntu 10.10 is\nusing such binutils. See:\n\n    http://sourceware.org/bugzilla/show_bug.cgi?id\u003d12327\n\nThe reason of the boot panic is that we have \u0027jiffies \u003d jiffies_64;\u0027 in\nvmlinux.lds.S. The jiffies isn\u0027t in any section. In kernel build, there is\nwarning saying jiffies is an absolute address and can\u0027t be relocatable. At\nruntime, jiffies will have virtual address 0.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nCc: Lu Hongjiu\u003chongjiu.lu@intel.com\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nLKML-Reference: \u003c1295312269.1949.725.camel@sli10-conroe\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "de23be5f3580f7b9b52cad6633bb3a3cd13abafe",
      "tree": "e9edf155c524878a058737dd04ec4eccafa0a16d",
      "parents": [
        "3632ef8909118db9584e1bed9538dc180adb32f8"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Jan 15 10:36:26 2011 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:11:12 2011 -0800"
      },
      "message": "xen: export arbitrary_virt_to_machine\n\nFixes this build error:\n\n ERROR: \"arbitrary_virt_to_machine\" [drivers/xen/xen-gntdev.ko] undefined!\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
      "tree": "99cc04216d0e7e11f3413508bd260e7af6886240",
      "parents": [
        "6550904ddbc3c286798a87edf95eeebcc62bc58a"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 14 11:57:06 2011 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 14 11:57:06 2011 -0800"
      },
      "message": "x86, olpc: Add missing Kconfig dependencies\n\nOLPC uses select for OLPC_OPENFIRMWARE, which means OLPC has to\nenforce the dependencies for OLPC_OPENFIRMWARE.  Make sure it does so.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Daniel Drake \u003cdsd@laptop.org\u003e\nCc: Andres Salomon \u003cdilinger@queued.net\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nLKML-Reference: \u003c20100923162846.D8D409D401B@zog.reactivated.net\u003e\nCc: \u003cstable@kernel.org\u003e 2.6.37\n"
    },
    {
      "commit": "6550904ddbc3c286798a87edf95eeebcc62bc58a",
      "tree": "a0c41cbc15bdf725d456c63b8151882b5138bb88",
      "parents": [
        "62627bec8a601c5679bf3d20a2096a1206d61b71"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Thu Jan 13 16:06:44 2011 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 14 11:53:44 2011 -0800"
      },
      "message": "x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n\nOfflining the secondary CPU causes the timer irq affinity to be set to\nCPU 0. When the secondary CPU is back online again, the wrong irq\naffinity will be used.\n\nThis patch ensures secondary per CPU timer always has the correct\nIRQ affinity when enabled.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nLKML-Reference: \u003c1294963604-18111-1-git-send-email-jacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: \u003cstable@kernel.org\u003e 2.6.37\n"
    },
    {
      "commit": "d73b388459b1ee2e80f8ff9c1916d75640d7d920",
      "tree": "3e4061226f817c5728009f0bcc1d810d0c4a7b37",
      "parents": [
        "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
        "0f953bf6b4efa0daddb7c418130a9bd3ee97f7ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI/PM: Report wakeup events before resuming devices\n  PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n  PCI: sysfs: Update ROM to include default owner write access\n  x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL\n  x86/PCI: don\u0027t use native Broadcom CNB20LE driver when ACPI is available\n  PCI/ACPI: Request _OSC control once for each root bridge (v3)\n  PCI: enable pci\u003dbfsort by default on future Dell systems\n  PCI/PCIe: Clear Root PME Status bits early during system resume\n  PCI: pci-stub: ignore zero-length id parameters\n  x86/PCI: irq and pci_ids patch for Intel Patsburg\n  PCI: Skip id checking if no id is passed\n  PCI: fix __pci_device_probe kernel-doc warning\n  PCI: make pci_restore_state return void\n  PCI: Disable ASPM if BIOS asks us to\n  PCI: Add mask bit definition for MSI-X table\n  PCI: MSI: Move MSI-X entry definition to pci_regs.h\n\nFix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the\nmeantime been converted to not use legacy PCI power management, and thus\nno longer use pci_restore_state() at all (and that caused trivial\nconflicts with the \"make pci_restore_state return void\" patch)\n"
    },
    {
      "commit": "62627bec8a601c5679bf3d20a2096a1206d61b71",
      "tree": "5dbad3bd7811d8a98b24dc0e8ec9d8ecab6c0a21",
      "parents": [
        "9378b63ccb32b9c071dab155c96357ad1e52a709"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Jan 14 09:06:28 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 14 18:28:01 2011 +0100"
      },
      "message": "x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n\nKonrad Wilk reported that the new delayed calibration crashes with a\ndivide by zero on Xen. The reason is that Xen sets the pmtimer\naddress, but reading from it returns 0xffffff. That results in the\nref_start and ref_stop value being the same, so the delta is zero\nwhich causes the divide by zero later in the calculation.\n\nThe conditional (!hpet \u0026\u0026 !ref_start \u0026\u0026 !ref_stop) which sanity checks\nthe calibration reference values doesn\u0027t really make sense. If the\nrefs are null, but hpet is on, we still want to break out.\n\nThe div by zero would be possible to trigger by chance if both reads\nfrom the hardware provided the exact same value (due to hardware\nwrapping).\n\nSo checking if both the ref values are the same should handle if we\ndon\u0027t have hardware (both null) or if they are the same value (either by\ninvalid hardware, or by chance), avoiding the div by zero issue.\n\n[ tglx: Applied the same fix to native_calibrate_tsc() where this\n  \tcheck was copied from ]\n\nReported-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1295024788-15619-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "64a5fed6663edcf7e3864ed5534e42e2b9f340c7",
      "tree": "53433db771a41409573325b80a3667e703a9854b",
      "parents": [
        "30e664afb5cb597dd6f7651e6d116e10b9741084"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Jan 06 10:12:30 2011 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:42 2011 -0800"
      },
      "message": "x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL\n\nThis functionality is known to be incomplete, so discourage its use in\ngeneral-purpose kernels.\n\nThe only reason to use this driver is to support PCI hotplug on CNB20LE-\nbased machines that don\u0027t have ACPI, and there are very few such\nsystems.\n\nReference: https://bugzilla.redhat.com/show_bug.cgi?id\u003d665109\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "30e664afb5cb597dd6f7651e6d116e10b9741084",
      "tree": "50fa4b36784432e547caea6d3d88ffae6f2a8fc0",
      "parents": [
        "415e12b2379239973feab91850b0dce985c6058a"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Jan 06 10:12:24 2011 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:41 2011 -0800"
      },
      "message": "x86/PCI: don\u0027t use native Broadcom CNB20LE driver when ACPI is available\n\nThe broadcom_bus.c quirk was written (without benefit of documentation)\nto support PCI hotplug on an old system that doesn\u0027t have ACPI.  As\nsuch, we should only use it when the system doesn\u0027t have ACPI.\n\nIf the system does have ACPI and we need the host bridge description, we\nshould get it from the ACPI _CRS method.  On machines older than 2008,\nwe currently ignore _CRS, but that doesn\u0027t mean we should use\nbroadcom_bus.c.  It means we should either (a) do what we\u0027ve done in the\npast and assume everything in the PCI gap is routed to bus 0 (so hotplug\nmay not work), or (b) arrange to use _CRS.  This patch does (a).\n\nReference: https://bugzilla.redhat.com/show_bug.cgi?id\u003d665109\nAcked-by: Ira W. Snyder \u003ciws@ovro.caltech.edu\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6e8af08dfa40b747002207d3ce8e8b43a050d99f",
      "tree": "983f773e009a699b5bfbfc9cd18926b5c0d49c53",
      "parents": [
        "fe31e69740eddc7316071ed5165fed6703c8cd12"
      ],
      "author": {
        "name": "Narendra_K@Dell.com",
        "email": "Narendra_K@Dell.com",
        "time": "Tue Dec 14 09:57:12 2010 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:41 2011 -0800"
      },
      "message": "PCI: enable pci\u003dbfsort by default on future Dell systems\n\nThis patch enables pci\u003dbfsort by default on future Dell systems.\nIt reads SMBIOS type 0xB1 vendor specific record and sets pci\u003dbfsort\naccordingly.\n\nOffset  Name    Length  Value   Description\n\n04      Flags0  Word    Varies  Bits 9-10\n                                - 10:9 \u003d 00  Unknown\n                                - 10:9 \u003d 01  Breadth First\n                                - 10:9 \u003d 10  Depth First\n                                - 10:9 \u003d 11  Reserved\n\n1. Any time pci\u003dbfsort has to be enabled on a system, we need to add the\n   model number of the system to the white list. With this patch, that\n   is not required.\n\n2. Typically, model number has to be added to the white list when the\n   system is under development. With this change, that is not required.\n\nSigned-off-by: Jordan Hargrave \u003cjordan_hargrave@dell.com\u003e\nSigned-off-by: Narendra K \u003cnarendra_k@dell.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "419cdc54ea597d307fade607a65e4885634eb8c8",
      "tree": "c41ee78ddde8d4de5839f0cee20f769be6f162af",
      "parents": [
        "cdd137c9c86c201ddb7f42ec978d2da45e7b7a17"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Nov 29 15:45:06 2010 -0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:15 2011 +0100"
      },
      "message": "x86: OLPC: convert olpc-xo1 driver from pci device to platform device\n\nThe cs5535-mfd driver now takes care of the PCI BAR handling; this\nmeans the olpc-xo1 driver shouldn\u0027t be touching the PCI device at all.\n\nThis patch uses both cs5535-acpi and cs5535-pms platform devices rather\nthan a single platform device because the cs5535-mfd driver may be used\nby other CS5535 platform-specific drivers; OLPC doesn\u0027t get to dictate\nthat ACPI and PMS will always be used together.\n\nSigned-off-by: Andres Salomon \u003cdilinger@queued.net\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
      "tree": "df6b7002b3672dcd269a5bc1473413f50a12df29",
      "parents": [
        "2c79c69adc6205fd115e4b1980c979e1e0e1828a",
        "43952886f0b8b3c344c3392b88de067d5fa5419a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:18 2011 -0800"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer\n  intel_idle: open broadcast clock event\n  cpuidle: CPUIDLE_FLAG_CHECK_BM is omap3_idle specific\n  cpuidle: CPUIDLE_FLAG_TLB_FLUSHED is specific to intel_idle\n  cpuidle: delete unused CPUIDLE_FLAG_SHALLOW, BALANCED, DEEP definitions\n  SH, cpuidle: delete use of NOP CPUIDLE_FLAGS_SHALLOW\n  cpuidle: delete NOP CPUIDLE_FLAG_POLL\n  ACPI: processor_idle: delete use of NOP CPUIDLE_FLAGs\n  cpuidle: Rename X86 specific idle poll state[0] from C0 to POLL\n  ACPI, intel_idle: Cleanup idle\u003d internal variables\n  cpuidle: Make cpuidle_enable_device() call poll_idle_init()\n  intel_idle: update Sandy Bridge core C-state residency targets\n"
    },
    {
      "commit": "9c4bc1c2befbbdce4b9fd526e67a7a2ea143ffa2",
      "tree": "1b08c1bb00ce477ca947461777cd7e24de72c148",
      "parents": [
        "2c0076d8c7eb1dafa03d0a792444862080b34106",
        "e1b478e4ec4477520767d1a920433626263a2a6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 18:46:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 18:46:48 2011 -0800"
      },
      "message": "Merge branch \u0027stable/gntdev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/gntdev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/p2m: Fix module linking error.\n  xen p2m: clear the old pte when adding a page to m2p_override\n  xen gntdev: use gnttab_map_refs and gnttab_unmap_refs\n  xen: introduce gnttab_map_refs and gnttab_unmap_refs\n  xen p2m: transparently change the p2m mappings in the m2p override\n  xen/gntdev: Fix circular locking dependency\n  xen/gntdev: stop using \"token\" argument\n  xen: gntdev: move use of GNTMAP_contains_pte next to the map_op\n  xen: add m2p override mechanism\n  xen: move p2m handling to separate file\n  xen/gntdev: add VM_PFNMAP to vma\n  xen/gntdev: allow usermode to map granted pages\n  xen: define gnttab_set_map_op/unmap_op\n\nFix up trivial conflict in drivers/xen/Kconfig\n"
    },
    {
      "commit": "8ee53820edfd1f3b6554c593f337148dd3d7fc91",
      "tree": "ca69957e928cd3efa1b47f92dcfb00591702684c",
      "parents": [
        "4b7167b9ff9b7f3f528cbc4c7d02ebd275b9b10c"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:46 2011 -0800"
      },
      "message": "thp: mmu_notifier_test_young\n\nFor GRU and EPT, we need gup-fast to set referenced bit too (this is why\nit\u0027s correct to return 0 when shadow_access_mask is zero, it requires\ngup-fast to set the referenced bit).  qemu-kvm access already sets the\nyoung bit in the pte if it isn\u0027t zero-copy, if it\u0027s zero copy or a shadow\npaging EPT minor fault we relay on gup-fast to signal the page is in\nuse...\n\nWe also need to check the young bits on the secondary pagetables for NPT\nand not nested shadow mmu as the data may never get accessed again by the\nprimary pte.\n\nWithout this closer accuracy, we\u0027d have to remove the heuristic that\navoids collapsing hugepages in hugepage virtual regions that have not even\na single subpage in use.\n\n-\u003etest_young is full backwards compatible with GRU and other usages that\ndon\u0027t have young bits in pagetables set by the hardware and that should\nnuke the secondary mmu mappings when -\u003eclear_flush_young runs just like\nEPT does.\n\nRemoving the heuristic that checks the young bit in\nkhugepaged/collapse_huge_page completely isn\u0027t so bad either probably but\nI thought it was worth it and this makes it reliable.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@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": "4b7167b9ff9b7f3f528cbc4c7d02ebd275b9b10c",
      "tree": "ad2c23c28b9dea009daf3719aefeb79103e2c152",
      "parents": [
        "94fcc585fb85ad7b059c70872489b50044d401f3"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:45 2011 -0800"
      },
      "message": "thp: don\u0027t allow transparent hugepage support without PSE\n\nArchs implementing Transparent Hugepage Support must implement a function\ncalled has_transparent_hugepage to be sure the virtual or physical CPU\nsupports Transparent Hugepages.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@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": "c489f1257b8cacd4881a18da1e93659f934a8e98",
      "tree": "c06e1611a9af8726999d3d95599934910237735b",
      "parents": [
        "0ca1634d4143c3579273ca53b993df19f5c98e92"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Jan 13 15:47:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:44 2011 -0800"
      },
      "message": "thp: add pmd_modify\n\nAdd pmd_modify() for use with mprotect() on huge pmds.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: 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": "f2d6bfe9ff0acec30b713614260e78b03d20e909",
      "tree": "835dd9f4167513d94ae542cf92347ea98bff5ddc",
      "parents": [
        "5f24ce5fd34c3ca1b3d10d30da754732da64d5c0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Jan 13 15:47:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:44 2011 -0800"
      },
      "message": "thp: add x86 32bit support\n\nAdd support for transparent hugepages to x86 32bit.\n\nShare the same VM_ bitflag for VM_MAPPED_COPY.  mm/nommu.c will never\nsupport transparent hugepages.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: 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": "71e3aac0724ffe8918992d76acfe3aad7d8724a5",
      "tree": "4ff96e1fc3e53bc9d25b859bf7e5bdbab8f1b25a",
      "parents": [
        "5c3240d92e29ae7bfb9cb58a9b37e80ab40894ff"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:42 2011 -0800"
      },
      "message": "thp: transparent hugepage core\n\nLately I\u0027ve been working to make KVM use hugepages transparently without\nthe usual restrictions of hugetlbfs.  Some of the restrictions I\u0027d like to\nsee removed:\n\n1) hugepages have to be swappable or the guest physical memory remains\n   locked in RAM and can\u0027t be paged out to swap\n\n2) if a hugepage allocation fails, regular pages should be allocated\n   instead and mixed in the same vma without any failure and without\n   userland noticing\n\n3) if some task quits and more hugepages become available in the\n   buddy, guest physical memory backed by regular pages should be\n   relocated on hugepages automatically in regions under\n   madvise(MADV_HUGEPAGE) (ideally event driven by waking up the\n   kernel deamon if the order\u003dHPAGE_PMD_SHIFT-PAGE_SHIFT list becomes\n   not null)\n\n4) avoidance of reservation and maximization of use of hugepages whenever\n   possible. Reservation (needed to avoid runtime fatal faliures) may be ok for\n   1 machine with 1 database with 1 database cache with 1 database cache size\n   known at boot time. It\u0027s definitely not feasible with a virtualization\n   hypervisor usage like RHEV-H that runs an unknown number of virtual machines\n   with an unknown size of each virtual machine with an unknown amount of\n   pagecache that could be potentially useful in the host for guest not using\n   O_DIRECT (aka cache\u003doff).\n\nhugepages in the virtualization hypervisor (and also in the guest!) are\nmuch more important than in a regular host not using virtualization,\nbecasue with NPT/EPT they decrease the tlb-miss cacheline accesses from 24\nto 19 in case only the hypervisor uses transparent hugepages, and they\ndecrease the tlb-miss cacheline accesses from 19 to 15 in case both the\nlinux hypervisor and the linux guest both uses this patch (though the\nguest will limit the addition speedup to anonymous regions only for\nnow...).  Even more important is that the tlb miss handler is much slower\non a NPT/EPT guest than for a regular shadow paging or no-virtualization\nscenario.  So maximizing the amount of virtual memory cached by the TLB\npays off significantly more with NPT/EPT than without (even if there would\nbe no significant speedup in the tlb-miss runtime).\n\nThe first (and more tedious) part of this work requires allowing the VM to\nhandle anonymous hugepages mixed with regular pages transparently on\nregular anonymous vmas.  This is what this patch tries to achieve in the\nleast intrusive possible way.  We want hugepages and hugetlb to be used in\na way so that all applications can benefit without changes (as usual we\nleverage the KVM virtualization design: by improving the Linux VM at\nlarge, KVM gets the performance boost too).\n\nThe most important design choice is: always fallback to 4k allocation if\nthe hugepage allocation fails!  This is the _very_ opposite of some large\npagecache patches that failed with -EIO back then if a 64k (or similar)\nallocation failed...\n\nSecond important decision (to reduce the impact of the feature on the\nexisting pagetable handling code) is that at any time we can split an\nhugepage into 512 regular pages and it has to be done with an operation\nthat can\u0027t fail.  This way the reliability of the swapping isn\u0027t decreased\n(no need to allocate memory when we are short on memory to swap) and it\u0027s\ntrivial to plug a split_huge_page* one-liner where needed without\npolluting the VM.  Over time we can teach mprotect, mremap and friends to\nhandle pmd_trans_huge natively without calling split_huge_page*.  The fact\nit can\u0027t fail isn\u0027t just for swap: if split_huge_page would return -ENOMEM\n(instead of the current void) we\u0027d need to rollback the mprotect from the\nmiddle of it (ideally including undoing the split_vma) which would be a\nbig change and in the very wrong direction (it\u0027d likely be simpler not to\ncall split_huge_page at all and to teach mprotect and friends to handle\nhugepages instead of rolling them back from the middle).  In short the\nvery value of split_huge_page is that it can\u0027t fail.\n\nThe collapsing and madvise(MADV_HUGEPAGE) part will remain separated and\nincremental and it\u0027ll just be an \"harmless\" addition later if this initial\npart is agreed upon.  It also should be noted that locking-wise replacing\nregular pages with hugepages is going to be very easy if compared to what\nI\u0027m doing below in split_huge_page, as it will only happen when\npage_count(page) matches page_mapcount(page) if we can take the PG_lock\nand mmap_sem in write mode.  collapse_huge_page will be a \"best effort\"\nthat (unlike split_huge_page) can fail at the minimal sign of trouble and\nwe can try again later.  collapse_huge_page will be similar to how KSM\nworks and the madvise(MADV_HUGEPAGE) will work similar to\nmadvise(MADV_MERGEABLE).\n\nThe default I like is that transparent hugepages are used at page fault\ntime.  This can be changed with\n/sys/kernel/mm/transparent_hugepage/enabled.  The control knob can be set\nto three values \"always\", \"madvise\", \"never\" which mean respectively that\nhugepages are always used, or only inside madvise(MADV_HUGEPAGE) regions,\nor never used.  /sys/kernel/mm/transparent_hugepage/defrag instead\ncontrols if the hugepage allocation should defrag memory aggressively\n\"always\", only inside \"madvise\" regions, or \"never\".\n\nThe pmd_trans_splitting/pmd_trans_huge locking is very solid.  The\nput_page (from get_user_page users that can\u0027t use mmu notifier like\nO_DIRECT) that runs against a __split_huge_page_refcount instead was a\npain to serialize in a way that would result always in a coherent page\ncount for both tail and head.  I think my locking solution with a\ncompound_lock taken only after the page_first is valid and is still a\nPageHead should be safe but it surely needs review from SMP race point of\nview.  In short there is no current existing way to serialize the O_DIRECT\nfinal put_page against split_huge_page_refcount so I had to invent a new\none (O_DIRECT loses knowledge on the mapping status by the time gup_fast\nreturns so...).  And I didn\u0027t want to impact all gup/gup_fast users for\nnow, maybe if we change the gup interface substantially we can avoid this\nlocking, I admit I didn\u0027t think too much about it because changing the gup\nunpinning interface would be invasive.\n\nIf we ignored O_DIRECT we could stick to the existing compound refcounting\ncode, by simply adding a get_user_pages_fast_flags(foll_flags) where KVM\n(and any other mmu notifier user) would call it without FOLL_GET (and if\nFOLL_GET isn\u0027t set we\u0027d just BUG_ON if nobody registered itself in the\ncurrent task mmu notifier list yet).  But O_DIRECT is fundamental for\ndecent performance of virtualized I/O on fast storage so we can\u0027t avoid it\nto solve the race of put_page against split_huge_page_refcount to achieve\na complete hugepage feature for KVM.\n\nSwap and oom works fine (well just like with regular pages ;).  MMU\nnotifier is handled transparently too, with the exception of the young bit\non the pmd, that didn\u0027t have a range check but I think KVM will be fine\nbecause the whole point of hugepages is that EPT/NPT will also use a huge\npmd when they notice gup returns pages with PageCompound set, so they\nwon\u0027t care of a range and there\u0027s just the pmd young bit to check in that\ncase.\n\nNOTE: in some cases if the L2 cache is small, this may slowdown and waste\nmemory during COWs because 4M of memory are accessed in a single fault\ninstead of 8k (the payoff is that after COW the program can run faster).\nSo we might want to switch the copy_huge_page (and clear_huge_page too) to\nnot temporal stores.  I also extensively researched ways to avoid this\ncache trashing with a full prefault logic that would cow in 8k/16k/32k/64k\nup to 1M (I can send those patches that fully implemented prefault) but I\nconcluded they\u0027re not worth it and they add an huge additional complexity\nand they remove all tlb benefits until the full hugepage has been faulted\nin, to save a little bit of memory and some cache during app startup, but\nthey still don\u0027t improve substantially the cache-trashing during startup\nif the prefault happens in \u003e4k chunks.  One reason is that those 4k pte\nentries copied are still mapped on a perfectly cache-colored hugepage, so\nthe trashing is the worst one can generate in those copies (cow of 4k page\ncopies aren\u0027t so well colored so they trashes less, but again this results\nin software running faster after the page fault).  Those prefault patches\nallowed things like a pte where post-cow pages were local 4k regular anon\npages and the not-yet-cowed pte entries were pointing in the middle of\nsome hugepage mapped read-only.  If it doesn\u0027t payoff substantially with\ntodays hardware it will payoff even less in the future with larger l2\ncaches, and the prefault logic would blot the VM a lot.  If one is\nemebdded transparent_hugepage can be disabled during boot with sysfs or\nwith the boot commandline parameter transparent_hugepage\u003d0 (or\ntransparent_hugepage\u003d2 to restrict hugepages inside madvise regions) that\nwill ensure not a single hugepage is allocated at boot time.  It is simple\nenough to just disable transparent hugepage globally and let transparent\nhugepages be allocated selectively by applications in the MADV_HUGEPAGE\nregion (both at page fault time, and if enabled with the\ncollapse_huge_page too through the kernel daemon).\n\nThis patch supports only hugepages mapped in the pmd, archs that have\nsmaller hugepages will not fit in this patch alone.  Also some archs like\npower have certain tlb limits that prevents mixing different page size in\nthe same regions so they will not fit in this framework that requires\n\"graceful fallback\" to basic PAGE_SIZE in case of physical memory\nfragmentation.  hugetlbfs remains a perfect fit for those because its\nsoftware limits happen to match the hardware limits.  hugetlbfs also\nremains a perfect fit for hugepage sizes like 1GByte that cannot be hoped\nto be found not fragmented after a certain system uptime and that would be\nvery expensive to defragment with relocation, so requiring reservation.\nhugetlbfs is the \"reservation way\", the point of transparent hugepages is\nnot to have any reservation at all and maximizing the use of cache and\nhugepages at all times automatically.\n\nSome performance result:\n\nvmx andrea # LD_PRELOAD\u003d/usr/lib64/libhugetlbfs.so HUGETLB_MORECORE\u003dyes HUGETLB_PATH\u003d/mnt/huge/ ./largep\nages3\nmemset page fault 1566023\nmemset tlb miss 453854\nmemset second tlb miss 453321\nrandom access tlb miss 41635\nrandom access second tlb miss 41658\nvmx andrea # LD_PRELOAD\u003d/usr/lib64/libhugetlbfs.so HUGETLB_MORECORE\u003dyes HUGETLB_PATH\u003d/mnt/huge/ ./largepages3\nmemset page fault 1566471\nmemset tlb miss 453375\nmemset second tlb miss 453320\nrandom access tlb miss 41636\nrandom access second tlb miss 41637\nvmx andrea # ./largepages3\nmemset page fault 1566642\nmemset tlb miss 453417\nmemset second tlb miss 453313\nrandom access tlb miss 41630\nrandom access second tlb miss 41647\nvmx andrea # ./largepages3\nmemset page fault 1566872\nmemset tlb miss 453418\nmemset second tlb miss 453315\nrandom access tlb miss 41618\nrandom access second tlb miss 41659\nvmx andrea # echo 0 \u003e /proc/sys/vm/transparent_hugepage\nvmx andrea # ./largepages3\nmemset page fault 2182476\nmemset tlb miss 460305\nmemset second tlb miss 460179\nrandom access tlb miss 44483\nrandom access second tlb miss 44186\nvmx andrea # ./largepages3\nmemset page fault 2182791\nmemset tlb miss 460742\nmemset second tlb miss 459962\nrandom access tlb miss 43981\nrandom access second tlb miss 43988\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003csys/time.h\u003e\n\n#define SIZE (3UL*1024*1024*1024)\n\nint main()\n{\n\tchar *p \u003d malloc(SIZE), *p2;\n\tstruct timeval before, after;\n\n\tgettimeofday(\u0026before, NULL);\n\tmemset(p, 0, SIZE);\n\tgettimeofday(\u0026after, NULL);\n\tprintf(\"memset page fault %Lu\\n\",\n\t       (after.tv_sec-before.tv_sec)*1000000UL +\n\t       after.tv_usec-before.tv_usec);\n\n\tgettimeofday(\u0026before, NULL);\n\tmemset(p, 0, SIZE);\n\tgettimeofday(\u0026after, NULL);\n\tprintf(\"memset tlb miss %Lu\\n\",\n\t       (after.tv_sec-before.tv_sec)*1000000UL +\n\t       after.tv_usec-before.tv_usec);\n\n\tgettimeofday(\u0026before, NULL);\n\tmemset(p, 0, SIZE);\n\tgettimeofday(\u0026after, NULL);\n\tprintf(\"memset second tlb miss %Lu\\n\",\n\t       (after.tv_sec-before.tv_sec)*1000000UL +\n\t       after.tv_usec-before.tv_usec);\n\n\tgettimeofday(\u0026before, NULL);\n\tfor (p2 \u003d p; p2 \u003c p+SIZE; p2 +\u003d 4096)\n\t\t*p2 \u003d 0;\n\tgettimeofday(\u0026after, NULL);\n\tprintf(\"random access tlb miss %Lu\\n\",\n\t       (after.tv_sec-before.tv_sec)*1000000UL +\n\t       after.tv_usec-before.tv_usec);\n\n\tgettimeofday(\u0026before, NULL);\n\tfor (p2 \u003d p; p2 \u003c p+SIZE; p2 +\u003d 4096)\n\t\t*p2 \u003d 0;\n\tgettimeofday(\u0026after, NULL);\n\tprintf(\"random access second tlb miss %Lu\\n\",\n\t       (after.tv_sec-before.tv_sec)*1000000UL +\n\t       after.tv_usec-before.tv_usec);\n\n\treturn 0;\n}\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "936a5fe6e6148c0b3ea0d792b903847d9b9931a1",
      "tree": "f0326a5877a89251ff2cb727d5e832e911ed1d18",
      "parents": [
        "47ad8475c000141eacb3ecda5e5ce4b43a9cd04d"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:41 2011 -0800"
      },
      "message": "thp: kvm mmu transparent hugepage support\n\nThis should work for both hugetlbfs and transparent hugepages.\n\n[akpm@linux-foundation.org: bring forward PageTransCompound() addition for bisectability]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@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": "bae9c19bf12bb2a914a8e530270f41d36cc87c63",
      "tree": "19807de9c2cb9b47fa842a549bd8c2c21579e323",
      "parents": [
        "e7a00c45f29c0155007aa150bf231a70fa470365"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:41 2011 -0800"
      },
      "message": "thp: split_huge_page_mm/vma\n\nsplit_huge_page_pmd compat code.  Each one of those would need to be\nexpanded to hundred of lines of complex code without a fully reliable\nsplit_huge_page_pmd design.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ac1f8320a0073f28cf9e0491af4cd98f504f92a",
      "tree": "4dad891c302587fdc7b099b18e05d7dbc5526c64",
      "parents": [
        "64cc6ae001d70bc59e5f854e6b5678f59110df16"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:40 2011 -0800"
      },
      "message": "thp: pte alloc trans splitting\n\npte alloc routines must wait for split_huge_page if the pmd is not present\nand not null (i.e.  pmd_trans_splitting).  The additional branches are\noptimized away at compile time by pmd_trans_splitting if the config option\nis off.  However we must pass the vma down in order to know the anon_vma\nlock to wait for.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64cc6ae001d70bc59e5f854e6b5678f59110df16",
      "tree": "929358dabd522330ea145755ab0d0d7d27ac85b3",
      "parents": [
        "db3eb96f4e6281b84dd33c8980dacc27f2efe177"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:40 2011 -0800"
      },
      "message": "thp: bail out gup_fast on splitting pmd\n\nForce gup_fast to take the slow path and block if the pmd is splitting,\nnot only if it\u0027s none.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db3eb96f4e6281b84dd33c8980dacc27f2efe177",
      "tree": "0746ed213778d8cb9ec18c1c7c16490c233d178b",
      "parents": [
        "e2cda322648122dc400c85ada80eaddbc612ef6a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:40 2011 -0800"
      },
      "message": "thp: add pmd mangling functions to x86\n\nAdd needed pmd mangling functions with symmetry with their pte\ncounterparts.  pmdp_splitting_flush() is the only new addition on the pmd_\nmethods and it\u0027s needed to serialize the VM against split_huge_page.  It\nsimply atomically sets the splitting bit in a similar way\npmdp_clear_flush_young atomically clears the accessed bit.\npmdp_splitting_flush() also has to flush the tlb to make it effective\nagainst gup_fast, but it wouldn\u0027t really require to flush the tlb too.\nJust the tlb flush is the simplest operation we can invoke to serialize\npmdp_splitting_flush() against gup_fast.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: 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": "5f6e8da70a289d403975907371ce5738c726ad3f",
      "tree": "c44705a17d4133a8d4a8d02dae9bb5487c3bc2a6",
      "parents": [
        "4c76d9d1fb9b21fa10c9e4c1fab2875018a88aa1"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:40 2011 -0800"
      },
      "message": "thp: special pmd_trans_* functions\n\nThese returns 0 at compile time when the config option is disabled, to\nallow gcc to eliminate the transparent hugepage function calls at compile\ntime without additional #ifdefs (only the export of those functions have\nto be visible to gcc but they won\u0027t be required at link time and\nhuge_memory.o can be not built at all).\n\n_PAGE_BIT_UNUSED1 is never used for pmd, only on pte.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2609ae6d10af0531e826335bd1445d1ace17c847",
      "tree": "a5b464ae767f2ab3d19b6731374414502dbe430c",
      "parents": [
        "331127f799d1618e2ad978a0d220ed935a7b0ca8"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: no paravirt version of pmd ops\n\nNo paravirt version of set_pmd_at/pmd_update/pmd_update_defer.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "331127f799d1618e2ad978a0d220ed935a7b0ca8",
      "tree": "8a5d8a647939d13bdbba09379dca08fc9997cd95",
      "parents": [
        "0a47de52db04c5eb346e99a8d038e693689bedca"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:36 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: add pmd paravirt ops\n\nParavirt ops pmd_update/pmd_update_defer/pmd_set_at.  Not all might be\nnecessary (vmware needs pmd_update, Xen needs set_pmd_at, nobody needs\npmd_update_defer), but this is to keep full simmetry with pte paravirt\nops, which looks cleaner and simpler from a common code POV.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a47de52db04c5eb346e99a8d038e693689bedca",
      "tree": "e1082844deb4406e59e724b0fd3ccbf6240386c1",
      "parents": [
        "8dd60a3a65c1b057bf0031d28436d3447a3c545b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: add native_set_pmd_at\n\nUsed by paravirt and not paravirt set_pmd_at.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9180706344487700b40da9eca5dedd3d11cb33b4",
      "tree": "eb0347efe7e40adc78a271752c7382aa67875d6a",
      "parents": [
        "e9da73d67729b58bba256123e2b4651e0d8a01ac"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: alter compound get_page/put_page\n\nAlter compound get_page/put_page to keep references on subpages too, in\norder to allow __split_huge_page_refcount to split an hugepage even while\nsubpages have been pinned by one of the get_user_pages() variants.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0a21265dfb5fa8ae54e90d0fb6d1c215b10a28a",
      "tree": "a3bf2c96ad8e180f32a52e208667a40bb972275b",
      "parents": [
        "ec3f64fc9c196a304c4b7db3e1ff56d640628509"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 13 15:46:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:34 2011 -0800"
      },
      "message": "mm: unify module_alloc code for vmalloc\n\nFour architectures (arm, mips, sparc, x86) use __vmalloc_area() for\nmodule_init().  Much of the code is duplicated and can be generalized in a\nglobally accessible function, __vmalloc_node_range().\n\n__vmalloc_node() now calls into __vmalloc_node_range() with a range of\n[VMALLOC_START, VMALLOC_END) for functionally equivalent behavior.\n\nEach architecture may then use __vmalloc_node_range() directly to remove\nthe duplication of code.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\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": "27d189c02ba25851973c8582e419c0bded9f7e5b",
      "tree": "be142d664bc4e3cec7ab2878a243343f46e897ee",
      "parents": [
        "a1703154200c390ab03c10224c586e815d3e31e8",
        "55db8387a5e8d07407f0b7c6b2526417a2bc6243"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:25:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:25:58 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (46 commits)\n  hwrng: via_rng - Fix memory scribbling on some CPUs\n  crypto: padlock - Move padlock.h into include/crypto\n  hwrng: via_rng - Fix asm constraints\n  crypto: n2 - use __devexit not __exit in n2_unregister_algs\n  crypto: mark crypto workqueues CPU_INTENSIVE\n  crypto: mv_cesa - dont return PTR_ERR() of wrong pointer\n  crypto: ripemd - Set module author and update email address\n  crypto: omap-sham - backlog handling fix\n  crypto: gf128mul - Remove experimental tag\n  crypto: af_alg - fix af_alg memory_allocated data type\n  crypto: aesni-intel - Fixed build with binutils 2.16\n  crypto: af_alg - Make sure sk_security is initialized on accept()ed sockets\n  net: Add missing lockdep class names for af_alg\n  include: Install linux/if_alg.h for user-space crypto API\n  crypto: omap-aes - checkpatch --file warning fixes\n  crypto: omap-aes - initialize aes module once per request\n  crypto: omap-aes - unnecessary code removed\n  crypto: omap-aes - error handling implementation improved\n  crypto: omap-aes - redundant locking is removed\n  crypto: omap-aes - DMA initialization fixes for OMAP off mode\n  ...\n"
    },
    {
      "commit": "e691d24e9c5007486bef59c589c2a2d784e0c30b",
      "tree": "29e146443430d934f076d89a4bbf035c33586aa9",
      "parents": [
        "55065bc52795faae549abfb912aacc622dd63876",
        "b5318d302f8a20eacbbfc01b0ee35b108085a363"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:15:12 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:15:12 2011 -0800"
      },
      "message": "Merge branch \u0027x86-olpc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-olpc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Speed up device tree creation during boot\n  x86, olpc: Add OLPC device-tree support\n  x86, of: Define irq functions to allow drivers/of/* to build on x86\n"
    },
    {
      "commit": "55065bc52795faae549abfb912aacc622dd63876",
      "tree": "63683547e41ed459a2a8747eeafb5e969633d54f",
      "parents": [
        "008d23e4852d78bb2618f2035f8b2110b6a6b968",
        "e5c301428294cb8925667c9ee39f817c4ab1c2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:14:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:14:24 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (142 commits)\n  KVM: Initialize fpu state in preemptible context\n  KVM: VMX: when entering real mode align segment base to 16 bytes\n  KVM: MMU: handle \u0027map_writable\u0027 in set_spte() function\n  KVM: MMU: audit: allow audit more guests at the same time\n  KVM: Fetch guest cr3 from hardware on demand\n  KVM: Replace reads of vcpu-\u003earch.cr3 by an accessor\n  KVM: MMU: only write protect mappings at pagetable level\n  KVM: VMX: Correct asm constraint in vmcs_load()/vmcs_clear()\n  KVM: MMU: Initialize base_role for tdp mmus\n  KVM: VMX: Optimize atomic EFER load\n  KVM: VMX: Add definitions for more vm entry/exit control bits\n  KVM: SVM: copy instruction bytes from VMCB\n  KVM: SVM: implement enhanced INVLPG intercept\n  KVM: SVM: enhance mov DR intercept handler\n  KVM: SVM: enhance MOV CR intercept handler\n  KVM: SVM: add new SVM feature bit names\n  KVM: cleanup emulate_instruction\n  KVM: move complete_insn_gp() into x86.c\n  KVM: x86: fix CR8 handling\n  KVM guest: Fix kvm clock initialization when it\u0027s configured out\n  ...\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    }
  ],
  "next": "303148045aac34b70db722a54e5ad94a3a6625c6"
}
