)]}'
{
  "log": [
    {
      "commit": "236e946b53ffd5e2f5d7e6abebbe72a9f0826d15",
      "tree": "b50c372fd90fe736f7d29aab15fbb3b13780acd8",
      "parents": [
        "f27884aeadff9654f4a1e8a05dd92f4b140afe29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 16:23:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 16:23:03 2009 -0700"
      },
      "message": "Revert \"PCI: use ACPI _CRS data by default\"\n\nThis reverts commit 9e9f46c44e487af0a82eb61b624553e2f7118f5b.\n\nQuoting from the commit message:\n\n \"At this point, it seems to solve more problems than it causes, so let\u0027s\n  try using it by default.  It\u0027s an easy revert if it ends up causing\n  trouble.\"\n\nAnd guess what? The _CRS code causes trouble.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c26d7cc31cd81a82be3b9d7687217d49fe9c47e",
      "tree": "1a20b590a5d71e588af7034b21f4779e6a8bd949",
      "parents": [
        "936940a9c7e3d99b25859bf1ff140d8c2480183a",
        "21ab01e2fcbfcc0d1faba2b7336b3c0f7f3c1ac8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:17:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:17:07 2009 -0700"
      },
      "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: (72 commits)\n  asus-laptop: remove EXPERIMENTAL dependency\n  asus-laptop: use pr_fmt and pr_\u003clevel\u003e\n  eeepc-laptop: cpufv updates\n  eeepc-laptop: sync eeepc-laptop with asus_acpi\n  asus_acpi: Deprecate in favor of asus-laptop\n  acpi4asus: update MAINTAINER and KConfig links\n  asus-laptop: platform dev as parent for led and backlight\n  eeepc-laptop: enable camera by default\n  ACPI: Rename ACPI processor device bus ID\n  acerhdf: Acer Aspire One fan control\n  ACPI: video: DMI workaround broken Acer 7720 BIOS enabling display brightness\n  ACPI: run ACPI device hot removal in kacpi_hotplug_wq\n  ACPI: Add the reference count to avoid unloading ACPI video bus twice\n  ACPI: DMI to disable Vista compatibility on some Sony laptops\n  ACPI: fix a deadlock in hotplug case\n  Show the physical device node of backlight class device.\n  ACPI: pdc init related memory leak with physical CPU hotplug\n  ACPI: pci_root: remove unused dev/fn information\n  ACPI: pci_root: simplify list traversals\n  ACPI: pci_root: use driver data rather than list lookup\n  ...\n"
    },
    {
      "commit": "fbe8cddd2d85979d273d7937a2b8a47498694d91",
      "tree": "2ae3253bfd89337583d36afd783145786ffa531e",
      "parents": [
        "4e8a2372f9255a1464ef488ed925455f53fbdaa1",
        "e86435eb91b2bff114c5a02e46e16ce21b647ebe",
        "7fe2a6c275a5bcec52fb3ef643daaf8265b7af0d",
        "0705495d9010048e293013d9d129cf723363a0a8",
        "35a7c64fbc77bab4ca8ae477e8ab278ccd679ce2",
        "152a4e630f7ffdd7ff64427c4ba488dc0bce76af",
        "86e437f077c68112edcb6854ec036ed7e3f9a7f3",
        "c8d72a5e76988140bfdfd8722f2228d94e7fa10f",
        "7a04b8491a077471a34938b8ca060c37220953be",
        "ee1ca48fae7e575d5e399d4fdcfe0afc1212a64c",
        "9eccbc2f67efd0d19c47f40182abf2965c287add",
        "7e275cc4e8e20f82740bf40ae2f5695e9e35ff09",
        "7b768f07dce463a054c9dd84862d15ccc3d2b712",
        "8cb24c8fd70ea8431744de1ca0ca34ab45fbbdaa",
        "113b3a2b901573961509e81a28e9546cf9defef0",
        "d73772474f6ebbacbe820c31c0fa1cffa7160246",
        "056c308d3e4859334b519033d62ef050f0e0e261",
        "871043bc463e7d191e7b5b00436a8852921dd833"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jun 24 01:19:50 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jun 24 01:19:50 2009 -0400"
      },
      "message": "Merge branches \u0027acerhdf\u0027, \u0027acpi-pci-bind\u0027, \u0027bjorn-pci-root\u0027, \u0027bugzilla-12904\u0027, \u0027bugzilla-13121\u0027, \u0027bugzilla-13396\u0027, \u0027bugzilla-13533\u0027, \u0027bugzilla-13612\u0027, \u0027c3_lock\u0027, \u0027hid-cleanups\u0027, \u0027misc-2.6.31\u0027, \u0027pdc-leak-fix\u0027, \u0027pnpacpi\u0027, \u0027power_nocheck\u0027, \u0027thinkpad_acpi\u0027, \u0027video\u0027 and \u0027wmi\u0027 into release\n"
    },
    {
      "commit": "f007e99c8e2e322b8331aba72414715119a2920d",
      "tree": "616bfcdda74341dc8b5d9ea1013bb7506407a961",
      "parents": [
        "c4658b4e777bebf69884f4884a9bfb2f84dd71d9"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Sat May 23 00:41:15 2009 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Jun 23 22:09:17 2009 +0100"
      },
      "message": "Intel-IOMMU, intr-remap: source-id checking\n\nTo support domain-isolation usages, the platform hardware must be\ncapable of uniquely identifying the requestor (source-id) for each\ninterrupt message. Without source-id checking for interrupt remapping\n, a rouge guest/VM with assigned devices can launch interrupt attacks\nto bring down anothe guest/VM or the VMM itself.\n\nThis patch adds source-id checking for interrupt remapping, and then\nreally isolates interrupts for guests/VMs with assigned devices.\n\nBecause PCI subsystem is not initialized yet when set up IOAPIC\nentries, use read_pci_config_byte to access PCI config space directly.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "687d680985b1438360a9ba470ece8b57cd205c3b",
      "tree": "ae253608531e5c3e823600974c610e722e7de759",
      "parents": [
        "1053414068bad659479e6efa62a67403b8b1ec0a",
        "008fe148cb0fb51d266baabe2c09997b21cf90c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:38:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:38:22 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/iommu-2.6.31\n\n* git://git.infradead.org/~dwmw2/iommu-2.6.31:\n  intel-iommu: Fix one last ia64 build problem in Pass Through Support\n  VT-d: support the device IOTLB\n  VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps\n  VT-d: add device IOTLB invalidation support\n  VT-d: parse ATSR in DMA Remapping Reporting Structure\n  PCI: handle Virtual Function ATS enabling\n  PCI: support the ATS capability\n  intel-iommu: dmar_set_interrupt return error value\n  intel-iommu: Tidy up iommu-\u003egcmd handling\n  intel-iommu: Fix tiny theoretical race in write-buffer flush.\n  intel-iommu: Clean up handling of \"caching mode\" vs. IOTLB flushing.\n  intel-iommu: Clean up handling of \"caching mode\" vs. context flushing.\n  VT-d: fix invalid domain id for KVM context flush\n  Fix !CONFIG_DMAR build failure introduced by Intel IOMMU Pass Through Support\n  Intel IOMMU Pass Through Support\n\nFix up trivial conflicts in drivers/pci/{intel-iommu.c,intr_remapping.c}\n"
    },
    {
      "commit": "59ef7a83f1127038a433464597df02e2dc9540e7",
      "tree": "725d262fc2e68eb9c592d76265f878cec73f8f2d",
      "parents": [
        "5165aece0efac6574fc3e32b6f1c2a964820d1c6",
        "2af5066f664cb011cf17d2e4414491fe24597e07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:59:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:59:51 2009 -0700"
      },
      "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: (74 commits)\n  PCI: make msi_free_irqs() to use msix_mask_irq() instead of open coded write\n  PCI: Fix the NIU MSI-X problem in a better way\n  PCI ASPM: remove get_root_port_link\n  PCI ASPM: cleanup pcie_aspm_sanity_check\n  PCI ASPM: remove has_switch field\n  PCI ASPM: cleanup calc_Lx_latency\n  PCI ASPM: cleanup pcie_aspm_get_cap_device\n  PCI ASPM: cleanup clkpm checks\n  PCI ASPM: cleanup __pcie_aspm_check_state_one\n  PCI ASPM: cleanup initialization\n  PCI ASPM: cleanup change input argument of aspm functions\n  PCI ASPM: cleanup misc in struct pcie_link_state\n  PCI ASPM: cleanup clkpm state in struct pcie_link_state\n  PCI ASPM: cleanup latency field in struct pcie_link_state\n  PCI ASPM: cleanup aspm state field in struct pcie_link_state\n  PCI ASPM: fix typo in struct pcie_link_state\n  PCI: drivers/pci/slot.c should depend on CONFIG_SYSFS\n  PCI: remove redundant __msi_set_enable()\n  PCI PM: consistently use type bool for wake enable variable\n  x86/ACPI: Correct maximum allowed _CRS returned resources and warn if exceeded\n  ...\n"
    },
    {
      "commit": "00d94a6a5e3d6a44818e2911a4d606e28e29fecb",
      "tree": "15a524318349cb4075f6dd69d87e4414ba54ed31",
      "parents": [
        "8b12e2505ad8c5010922e45f896d908fd1436709",
        "b6f34d44cb341ad32f08717d1a2c418e6053a031"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 21 13:14:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 21 13:14:07 2009 -0700"
      },
      "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:\n  crypto: aes-ni - Remove CRYPTO_TFM_REQ_MAY_SLEEP from fpu template\n  crypto: aes-ni - Do not sleep when using the FPU\n  crypto: aes-ni - Fix cbc mode IV saving\n  crypto: padlock-aes - work around Nano CPU errata in CBC mode\n  crypto: padlock-aes - work around Nano CPU errata in ECB mode\n"
    },
    {
      "commit": "d06063cc221fdefcab86589e79ddfdb7c0e14b63",
      "tree": "00ccaf8c1992b57a4445d78b9eae25fde0b3ab31",
      "parents": [
        "30c9f3a9fae79517bca595826a19c6855fbb6d32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 10 09:01:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 21 13:08:22 2009 -0700"
      },
      "message": "Move FAULT_FLAG_xyz into handle_mm_fault() callers\n\nThis allows the callers to now pass down the full set of FAULT_FLAG_xyz\nflags to handle_mm_fault().  All callers have been (mechanically)\nconverted to the new calling convention, there\u0027s almost certainly room\nfor architectures to clean up their code and then add FAULT_FLAG_RETRY\nwhen that support is added.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9063c61fd5cbd6f42e95929aa0e02380c9e15656",
      "tree": "0783122dfdf16ce729ebf7b851b145f24e1edae0",
      "parents": [
        "2453d6ff6ffc5f0d496b7b14f509a26f99bf115e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 15:40:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 15:40:00 2009 -0700"
      },
      "message": "x86, 64-bit: Clean up user address masking\n\nThe discussion about using \"access_ok()\" in get_user_pages_fast() (see\ncommit 7f8189068726492950bf1a2dcfd9b51314560abf: \"x86: don\u0027t use\n\u0027access_ok()\u0027 as a range check in get_user_pages_fast()\" for details and\nend result), made us notice that x86-64 was really being very sloppy\nabout virtual address checking.\n\nSo be way more careful and straightforward about masking x86-64 virtual\naddresses:\n\n - All the VIRTUAL_MASK* variants now cover half of the address\n   space, it\u0027s not like we can use the full mask on a signed\n   integer, and the larger mask just invites mistakes when\n   applying it to either half of the 48-bit address space.\n\n - /proc/kcore\u0027s kc_offset_to_vaddr() becomes a lot more\n   obvious when it transforms a file offset into a\n   (kernel-half) virtual address.\n\n - Unify/simplify the 32-bit and 64-bit USER_DS definition to\n   be based on TASK_SIZE_MAX.\n\nThis cleanup and more careful/obvious user virtual address checking also\nuncovered a buglet in the x86-64 implementation of strnlen_user(): it\nwould do an \"access_ok()\" check on the whole potential area, even if the\nstring itself was much shorter, and thus return an error even for valid\nstrings. Our sloppy checking had hidden this.\n\nSo this fixes \u0027strnlen_user()\u0027 to do this properly, the same way we\nalready handled user strings in \u0027strncpy_from_user()\u0027.  Namely by just\nchecking the first byte, and then relying on fault handling for the\nrest.  That always works, since we impose a guard page that cannot be\nmapped at the end of the user space address space (and even if we\ndidn\u0027t, we\u0027d have the address space hole).\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12e24f34cb0d55efd08c18b2112507d4bf498008",
      "tree": "83b07be17b8ef45f42360a3b9159b3aaae3fbad4",
      "parents": [
        "1eb51c33b21ffa3fceb634d1d6bcd6488c79bc26",
        "eadc84cc01e04f9f74ec2de0c9355be035c7b396"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 11:29:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 11:29:32 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  perfcounter: Handle some IO return values\n  perf_counter: Push perf_sample_data through the swcounter code\n  perf_counter tools: Define and use our own u64, s64 etc. definitions\n  perf_counter: Close race in perf_lock_task_context()\n  perf_counter, x86: Improve interactions with fast-gup\n  perf_counter: Simplify and fix task migration counting\n  perf_counter tools: Add a data file header\n  perf_counter: Update userspace callchain sampling uses\n  perf_counter: Make callchain samples extensible\n  perf report: Filter to parent set by default\n  perf_counter tools: Handle lost events\n  perf_counter: Add event overlow handling\n  fs: Provide empty .set_page_dirty() aop for anon inodes\n  perf_counter: tools: Makefile tweaks for 64-bit powerpc\n  perf_counter: powerpc: Add processor back-end for MPC7450 family\n  perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels\n  perf_counter: powerpc: Change how processor-specific back-ends get selected\n  perf_counter: powerpc: Use unsigned long for register and constraint values\n  perf_counter: powerpc: Enable use of software counters on 32-bit powerpc\n  perf_counter tools: Add and use isprint()\n  ...\n"
    },
    {
      "commit": "1eb51c33b21ffa3fceb634d1d6bcd6488c79bc26",
      "tree": "5360e0b439b35a97313ea8250209e7dacff8b9a6",
      "parents": [
        "b0b7065b64fe517b4a50915a1555e8ee98890d64",
        "3104bf03a923c72043a9c5009d9cd56724304916"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:57:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:57:40 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix out of scope variable access in sched_slice()\n  sched: Hide runqueues from direct refer at source code level\n  sched: Remove unneeded __ref tag\n  sched, x86: Fix cpufreq + sched_clock() TSC scaling\n"
    },
    {
      "commit": "b0b7065b64fe517b4a50915a1555e8ee98890d64",
      "tree": "950e7735585a83f5b4efe7a9473b5b42d5ca4f57",
      "parents": [
        "38df92b8cee936334f686c06df0e5fbb92e252df",
        "d4c4038343510d83727ea922de4435996c26c0c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  tracing/urgent: warn in case of ftrace_start_up inbalance\n  tracing/urgent: fix unbalanced ftrace_start_up\n  function-graph: add stack frame test\n  function-graph: disable when both x86_32 and optimize for size are configured\n  ring-buffer: have benchmark test print to trace buffer\n  ring-buffer: do not grab locks in nmi\n  ring-buffer: add locks around rb_per_cpu_empty\n  ring-buffer: check for less than two in size allocation\n  ring-buffer: remove useless compile check for buffer_page size\n  ring-buffer: remove useless warn on check\n  ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index\n  tracing: update sample event documentation\n  tracing/filters: fix race between filter setting and module unload\n  tracing/filters: free filter_string in destroy_preds()\n  ring-buffer: use commit counters for commit pointer accounting\n  ring-buffer: remove unused variable\n  ring-buffer: have benchmark test handle discarded events\n  ring-buffer: prevent adding write in discarded area\n  tracing/filters: strloc should be unsigned short\n  tracing/filters: operand can be negative\n  ...\n\nFix up kmemcheck-induced conflict in kernel/trace/ring_buffer.c manually\n"
    },
    {
      "commit": "c4c5ab3089c8a794eb0bdaa9794d0f055dd82412",
      "tree": "e088b2aef48fb3db4d19abbdc5021aa42a8fb0a4",
      "parents": [
        "7fd5b632db00ebf8a26b5e86d6f01e501466e5ef",
        "1d99100120ead486cd7a2502f19eaf1c1699d806"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:49:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:49:48 2009 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (45 commits)\n  x86, mce: fix error path in mce_create_device()\n  x86: use zalloc_cpumask_var for mce_dev_initialized\n  x86: fix duplicated sysfs attribute\n  x86: de-assembler-ize asm/desc.h\n  i386: fix/simplify espfix stack switching, move it into assembly\n  i386: fix return to 16-bit stack from NMI handler\n  x86, ioapic: Don\u0027t call disconnect_bsp_APIC if no APIC present\n  x86: Remove duplicated #include\u0027s\n  x86: msr.h linux/types.h is only required for __KERNEL__\n  x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround\n  x86, mce: mce_intel.c needs \u003casm/apic.h\u003e\n  x86: apic/io_apic.c: dmar_msi_type should be static\n  x86, io_apic.c: Work around compiler warning\n  x86: mce: Don\u0027t touch THERMAL_APIC_VECTOR if no active APIC present\n  x86: mce: Handle banks \u003d\u003d 0 case in K7 quirk\n  x86, boot: use .code16gcc instead of .code16\n  x86: correct the conversion of EFI memory types\n  x86: cap iomem_resource to addressable physical memory\n  x86, mce: rename _64.c files which are no longer 64-bit-specific\n  x86, mce: mce.h cleanup\n  ...\n\nManually fix up trivial conflict in arch/x86/mm/fault.c\n"
    },
    {
      "commit": "7f8189068726492950bf1a2dcfd9b51314560abf",
      "tree": "0fa57e4f3d4739200147a67b236e7ec8326efed3",
      "parents": [
        "fb20871a54961b82d35303b43452928186c1361d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 09:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 09:52:27 2009 -0700"
      },
      "message": "x86: don\u0027t use \u0027access_ok()\u0027 as a range check in get_user_pages_fast()\n\nIt\u0027s really not right to use \u0027access_ok()\u0027, since that is meant for the\nnormal \"get_user()\" and \"copy_from/to_user()\" accesses, which are done\nthrough the TLB, rather than through the page tables.\n\nWhy? access_ok() does both too few, and too many checks.  Too many,\nbecause it is meant for regular kernel accesses that will not honor the\n\u0027user\u0027 bit in the page tables, and because it honors the USER_DS vs\nKERNEL_DS distinction that we shouldn\u0027t care about in GUP.  And too few,\nbecause it doesn\u0027t do the \u0027canonical\u0027 check on the address on x86-64,\nsince the TLB will do that for us.\n\nSo instead of using a function that isn\u0027t meant for this, and does\nsomething else and much more complicated, just do the real rules: we\ndon\u0027t want the range to overflow, and on x86-64, we want it to be a\ncanonical low address (on 32-bit, all addresses are canonical).\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d99100120ead486cd7a2502f19eaf1c1699d806",
      "tree": "e9b5157c93d365f107e341a81a6b5b3946ea1785",
      "parents": [
        "bc3f5d3dbd576da94a575b1477b8e38551bf11da",
        "b1f49f9582f9be6de5055cfa97eabf6246f2eaf7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 20 10:54:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 20 10:54:22 2009 +0200"
      },
      "message": "Merge branch \u0027x86/mce3\u0027 into x86/urgent\n"
    },
    {
      "commit": "7b768f07dce463a054c9dd84862d15ccc3d2b712",
      "tree": "1c7a2509e1bca6718fd29e897f44b648089f728b",
      "parents": [
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Jun 19 17:14:59 2009 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jun 20 00:50:52 2009 -0400"
      },
      "message": "ACPI: pdc init related memory leak with physical CPU hotplug\n\narch_acpi_processor_cleanup_pdc() in x86 and ia64 results in memory allocated\nfor _PDC objects that is never freed and will cause memory leak in case of\nphysical CPU remove and add. Patch fixes the memory leak by freeing the\nobjects soon after _PDC is evaluated.\n\nReported-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0c87197142427063e096f11603543ca874045952",
      "tree": "0382a5fbe462f5a88056b3f4e7b460e82f4795bb",
      "parents": [
        "e5289d4a181fb6c0b7a7607649af2ffdc491335c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 11:35:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 19 16:55:16 2009 +0200"
      },
      "message": "perf_counter, x86: Improve interactions with fast-gup\n\nImprove a few details in perfcounter call-chain recording that\nmakes use of fast-GUP:\n\n- Use ACCESS_ONCE() to observe the pte value. ptes are fundamentally\n  racy and can be changed on another CPU, so we have to be careful\n  about how we access them. The PAE branch is already careful with\n  read-barriers - but the non-PAE and 64-bit side needs an\n  ACCESS_ONCE() to make sure the pte value is observed only once.\n\n- make the checks a bit stricter so that we can feed it any kind of\n  cra^H^H^H user-space input ;-)\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9188e023c248d73f5b4a589b480e065c1864068",
      "tree": "86efe8c89c318fdf9b9db8471680ba225ec8f4e2",
      "parents": [
        "b8e6d829729d1a5991a9f628205b671cac2ec06f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 18 22:20:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 19 13:42:34 2009 +0200"
      },
      "message": "perf_counter: Make callchain samples extensible\n\nBefore exposing upstream tools to a callchain-samples ABI, tidy it\nup to make it more extensible in the future:\n\nUse markers in the IP chain to denote context, use (u64)-1..-4095 range\nfor these context markers because we use them for ERR_PTR(), so these\naddresses are unlikely to be mapped.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71e308a239c098673570d0b417d42262bb535909",
      "tree": "a9e415d0ae6302e820a1f9d4ff55a724b3a12cf6",
      "parents": [
        "eb4a03780d4c4464ef2ad86d80cca3f3284fe81d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 18 12:45:08 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 18 18:40:18 2009 -0400"
      },
      "message": "function-graph: add stack frame test\n\nIn case gcc does something funny with the stack frames, or the return\nfrom function code, we would like to detect that.\n\nAn arch may implement passing of a variable that is unique to the\nfunction and can be saved on entering a function and can be tested\nwhen exiting the function. Usually the frame pointer can be used for\nthis purpose.\n\nThis patch also implements this for x86. Where it passes in the stack\nframe of the parent function, and will test that frame on exit.\n\nThere was a case in x86_32 with optimize for size (-Os) where, for a\nfew functions, gcc would align the stack frame and place a copy of the\nreturn address into it. The function graph tracer modified the copy and\nnot the actual return address. On return from the funtion, it did not go\nto the tracer hook, but returned to the parent. This broke the function\ngraph tracer, because the return of the parent (where gcc did not do\nthis funky manipulation) returned to the location that the child function\nwas suppose to. This caused strange kernel crashes.\n\nThis test detected the problem and pointed out where the issue was.\n\nThis modifies the parameters of one of the functions that the arch\nspecific code calls, so it includes changes to arch code to accommodate\nthe new prototype.\n\nNote, I notice that the parsic arch implements its own push_return_trace.\nThis is now a generic function and the ftrace_push_return_trace should be\nused instead. This patch does not touch that code.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7c095e4603dd6ce78ff5b9b70896fe3e05c13f5c",
      "tree": "4de9ce5ba2c5e19e85c8c54e4884845a929504bb",
      "parents": [
        "c147d8ea3e2f6f953647f2347ae732fd99b32e73"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 16:28:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "dma-mapping: x86: use asm-generic/dma-mapping-common.h\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bf99fb673f18408be1ebc958321ef4c3f6da9e2",
      "tree": "30913cc5304597b39f1a910997e4f8ad3c3350b4",
      "parents": [
        "2521f2c228ad750701ba4702484e31d876dbc386"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "gcov: enable GCOV_PROFILE_ALL for x86_64\n\nEnable gcov profiling of the entire kernel on x86_64. Required changes\ninclude disabling profiling for:\n\n* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:\n  not linked to main kernel\n* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:\n  profiling causes segfaults during boot (incompatible context)\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1f49f9582f9be6de5055cfa97eabf6246f2eaf7",
      "tree": "ef4b56328278c36dc73557db9a8dcf0f5cc25693",
      "parents": [
        "e92fae064ae42b2a4a77646f7655bca4c87bb1eb"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Jun 18 14:53:24 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jun 18 07:02:32 2009 -0700"
      },
      "message": "x86, mce: fix error path in mce_create_device()\n\nDon\u0027t skip removing mce_attrs in route from error2.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b6f34d44cb341ad32f08717d1a2c418e6053a031",
      "tree": "220c1cb09bf5a0610cd285c7f36d3cef2dc8e918",
      "parents": [
        "9251b64fb2d2326d28f0e0646a9e4fb8bbb51d8e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Jun 18 19:44:01 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 18 19:44:01 2009 +0800"
      },
      "message": "crypto: aes-ni - Remove CRYPTO_TFM_REQ_MAY_SLEEP from fpu template\n\nkernel_fpu_begin/end used preempt_disable/enable, so sleep should be\nprevented between kernel_fpu_begin/end.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "9251b64fb2d2326d28f0e0646a9e4fb8bbb51d8e",
      "tree": "2ef7e20387ee2646679c587abef236100684a7d6",
      "parents": [
        "e6efaa025384f86a18814a6b9f4e5d54484ab9ff"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Jun 18 19:41:27 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 18 19:41:27 2009 +0800"
      },
      "message": "crypto: aes-ni - Do not sleep when using the FPU\n\nBecause AES-NI instructions will touch XMM state, corresponding code\nmust be enclosed within kernel_fpu_begin/end, which used\npreempt_disable/enable. So sleep should be prevented between\nkernel_fpu_begin/end.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e6efaa025384f86a18814a6b9f4e5d54484ab9ff",
      "tree": "e67688f905c8bbea2f35d4e001ef7790676a50e9",
      "parents": [
        "8d8409f773af2cfd52e23e4b138a7d55a31182cd"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Jun 18 19:33:57 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 18 19:33:57 2009 +0800"
      },
      "message": "crypto: aes-ni - Fix cbc mode IV saving\n\nOriginal implementation of aesni_cbc_dec do not save IV if input\nlength % 4 \u003d\u003d 0. This will make decryption of next block failed.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e92fae064ae42b2a4a77646f7655bca4c87bb1eb",
      "tree": "70dd8ae1c7408cc40603e3934b56ae527b2afdd1",
      "parents": [
        "74b602c7147212a7495879ec23fe6c2d3b470e06"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jun 17 16:21:33 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 21:47:18 2009 -0700"
      },
      "message": "x86: use zalloc_cpumask_var for mce_dev_initialized\n\nWe need a cleared cpu_mask to record if mce is initialized, especially\nwhen MAXSMP is used.\n\nused zalloc_... instead\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "74b602c7147212a7495879ec23fe6c2d3b470e06",
      "tree": "70c98b21f57de109dee9b85b14c53adcbcc30389",
      "parents": [
        "813400060fe2824163cabd9afed4e476e7ce282e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jun 17 14:43:32 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 21:43:16 2009 -0700"
      },
      "message": "x86: fix duplicated sysfs attribute\n\nThe sysfs attribute cmci_disabled was accidentall turned into a\nduplicate of ignore_ce, breaking all other attributes.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "bc3f5d3dbd576da94a575b1477b8e38551bf11da",
      "tree": "0e36e382c44a9abf94f73accf25580f5612794f5",
      "parents": [
        "dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@fastmail.fm",
        "time": "Thu Jun 18 00:35:59 2009 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 21:35:10 2009 -0700"
      },
      "message": "x86: de-assembler-ize asm/desc.h\n\nasm/desc.h is included in three assembly files, but the only macro\nit defines, GET_DESC_BASE, is never used. This patch removes the\nincludes, removes the macro GET_DESC_BASE and the ASSEMBLY guard\nfrom asm/desc.h.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded",
      "tree": "f8fb6e15dfeb602b638b1e14a75fea6042839cb0",
      "parents": [
        "2e04bc76560decd9270be2a805927316f617ef56"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@fastmail.fm",
        "time": "Thu Jun 18 00:35:58 2009 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 21:35:09 2009 -0700"
      },
      "message": "i386: fix/simplify espfix stack switching, move it into assembly\n\nThe espfix code triggers if we have a protected mode userspace\napplication with a 16-bit stack. On returning to userspace, with iret,\nthe CPU doesn\u0027t restore the high word of the stack pointer. This is an\n\"official\" bug, and the work-around used in the kernel is to temporarily\nswitch to a 32-bit stack segment/pointer pair where the high word of the\npointer is equal to the high word of the userspace stackpointer.\n\nThe current implementation uses THREAD_SIZE to determine the cut-off,\nbut there is no good reason not to use the more natural 64kb... However,\nimplementing this by simply substituting THREAD_SIZE with 65536 in\npatch_espfix_desc crashed the test application. patch_espfix_desc tries\nto do what is described above, but gets it subtly wrong if the userspace\nstack pointer is just below a multiple of THREAD_SIZE: an overflow\noccurs to bit 13... With a bit of luck, when the kernelspace\nstackpointer is just below a 64kb-boundary, the overflow then ripples\ntrough to bit 16 and userspace will see its stack pointer changed by\n65536.\n\nThis patch moves all espfix code into entry_32.S. Selecting a 16-bit\ncut-off simplifies the code. The game with changing the limit dynamically\nis removed too. It complicates matters and I see no value in it. Changing\nonly the top 16-bit word of ESP is one instruction and it also implies\nthat only two bytes of the ESPFIX GDT entry need to be changed and this\ncan be implemented in just a handful simple to understand instructions.\nAs a side effect, the operation to compute the original ESP from the\nESPFIX ESP and the GDT entry simplifies a bit too, and the remaining\nthree instructions have been expanded inline in entry_32.S.\n\nimpact: can now reliably run userspace with ESP\u003dxxxxfffc on 16-bit\nstack segment\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nAcked-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "2e04bc76560decd9270be2a805927316f617ef56",
      "tree": "8cda321314bf75690921f66394230a85e6ec4b65",
      "parents": [
        "3f4c3955ea320bde870ac2ce587466295aba5710"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@fastmail.fm",
        "time": "Thu Jun 18 00:35:57 2009 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 21:35:09 2009 -0700"
      },
      "message": "i386: fix return to 16-bit stack from NMI handler\n\nReturning to a task with a 16-bit stack requires special care: the iret\ninstruction does not restore the high word of esp in that case. The\nespfix code fixes this, but currently is not invoked on NMIs. This means\nthat a running task gets the upper word of esp clobbered due intervening\nNMIs. To reproduce, compile and run the following program with the nmi\nwatchdog enabled (nmi_watchdog\u003d2 on the command line). Using gdb you can\nsee that the high bits of esp contain garbage, while the low bits are\nstill correct.\n\nThis patch puts the espfix code back into the NMI code path.\n\nThe patch is slightly complicated due to the irqtrace infrastructure not\nbeing NMI-safe. The NMI return path cannot call TRACE_IRQS_IRET.\nOtherwise, the tail of the normal iret-code is correct for the nmi code\npath too. To be able to share this code-path, the TRACE_IRQS_IRET was\nmove up a bit. The espfix code exists after the TRACE_IRQS_IRET, but\nthis code explicitly disables interrupts. This short interrupts-off\nsection is now not traced anymore. The return-to-kernel path now always\nincludes the preliminary test to decide if the espfix code should be\ncalled. This is never the case, but doing it this way keeps the patch as\nsimple as possible and the few extra instructions should not affect\ntiming in any significant way.\n\n #define _GNU_SOURCE\n #include \u003cstdio.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/mman.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csys/syscall.h\u003e\n #include \u003casm/ldt.h\u003e\n\nint modify_ldt(int func, void *ptr, unsigned long bytecount)\n{\n        return syscall(SYS_modify_ldt, func, ptr, bytecount);\n}\n\n/* this is assumed to be usable */\n #define SEGBASEADDR 0x10000\n #define SEGLIMIT 0x20000\n\n/* 16-bit segment */\nstruct user_desc desc \u003d {\n        .entry_number \u003d 0,\n        .base_addr \u003d SEGBASEADDR,\n        .limit \u003d SEGLIMIT,\n        .seg_32bit \u003d 0,\n        .contents \u003d 0, /* ??? */\n        .read_exec_only \u003d 0,\n        .limit_in_pages \u003d 0,\n        .seg_not_present \u003d 0,\n        .useable \u003d 1\n};\n\nint main(void)\n{\n        setvbuf(stdout, NULL, _IONBF, 0);\n\n        /* map a 64 kb segment */\n        char *pointer \u003d mmap((void *)SEGBASEADDR, SEGLIMIT+1,\n                        PROT_EXEC|PROT_READ|PROT_WRITE,\n                        MAP_SHARED|MAP_ANONYMOUS, -1, 0);\n        if (pointer \u003d\u003d NULL) {\n                printf(\"could not map space\\n\");\n                return 0;\n        }\n\n        /* write ldt, new mode */\n        int err \u003d modify_ldt(0x11, \u0026desc, sizeof(desc));\n        if (err) {\n                printf(\"error modifying ldt: %i\\n\", err);\n                return 0;\n        }\n\n        for (int i\u003d0; i\u003c1000; i++) {\n        asm volatile (\n                \"pusha\\n\\t\"\n                \"mov %ss, %eax\\n\\t\" /* preserve ss:esp */\n                \"mov %esp, %ebp\\n\\t\"\n                \"push $7\\n\\t\" /* index 0, ldt, user mode */\n                \"push $65536-4096\\n\\t\" /* esp */\n                \"lss (%esp), %esp\\n\\t\" /* switch to new stack */\n                \"push %eax\\n\\t\" /* save old ss:esp on new stack */\n                \"push %ebp\\n\\t\"\n                \"add $17*65536, %esp\\n\\t\" /* set high bits */\n                \"mov %esp, %edx\\n\\t\"\n\n                \"mov $10000000, %ecx\\n\\t\" /* wait... */\n                \"1: loop 1b\\n\\t\" /* ... a bit */\n\n                \"cmp %esp, %edx\\n\\t\"\n                \"je 1f\\n\\t\"\n                \"ud2\\n\\t\" /* esp changed inexplicably! */\n                \"1:\\n\\t\"\n                \"sub $17*65536, %esp\\n\\t\" /* restore high bits */\n                \"lss (%esp), %esp\\n\\t\" /* restore old ss:esp */\n                \"popa\\n\\t\");\n\n                printf(\"\\rx%ix\", i);\n        }\n\n        return 0;\n}\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nAcked-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "a76117dfd687ec4be0a9a05214f3009cc5f73a42",
      "tree": "2ffc76ac97e2fed7debac7276d7d365275db6b92",
      "parents": [
        "a6c140969b4685f9b9f6773c0760f55ca66d1825"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Wed Jun 17 16:33:35 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 14:04:42 2009 -0700"
      },
      "message": "x86: Use pci_claim_resource\n\nInstead of open-coding pci_find_parent_resource and request_resource,\njust call pci_claim_resource.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f4c3955ea320bde870ac2ce587466295aba5710",
      "tree": "c1b16fd32cfccbbb1190165a92aa93d6274679c8",
      "parents": [
        "8653f88ff93ba6bd6df4bac48908d41ad09dba7e"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed Jun 17 22:13:22 2009 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 20:24:39 2009 +0200"
      },
      "message": "x86, ioapic: Don\u0027t call disconnect_bsp_APIC if no APIC present\n\nVegard Nossum reported:\n\n[  503.576724] ACPI: Preparing to enter system sleep state S5\n[  503.710857] Disabling non-boot CPUs ...\n[  503.716853] Power down.\n[  503.717770] ------------[ cut here ]------------\n[  503.717770] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_du)\n[  503.717770] Hardware name: OptiPlex GX100\n[  503.717770] Modules linked in:\n[  503.717770] Pid: 2136, comm: halt Not tainted 2.6.30 #443\n[  503.717770] Call Trace:\n[  503.717770]  [\u003cc154d327\u003e] ? printk+0x18/0x1a\n[  503.717770]  [\u003cc1017358\u003e] ? native_apic_write_dummy+0x38/0x50\n[  503.717770]  [\u003cc10360fc\u003e] warn_slowpath_common+0x6c/0xc0\n[  503.717770]  [\u003cc1017358\u003e] ? native_apic_write_dummy+0x38/0x50\n[  503.717770]  [\u003cc1036165\u003e] warn_slowpath_null+0x15/0x20\n[  503.717770]  [\u003cc1017358\u003e] native_apic_write_dummy+0x38/0x50\n[  503.717770]  [\u003cc1017173\u003e] disconnect_bsp_APIC+0x63/0x100\n[  503.717770]  [\u003cc1019e48\u003e] disable_IO_APIC+0xb8/0xc0\n[  503.717770]  [\u003cc1214231\u003e] ? acpi_power_off+0x0/0x29\n[  503.717770]  [\u003cc1015e55\u003e] native_machine_shutdown+0x65/0x80\n[  503.717770]  [\u003cc1015c36\u003e] native_machine_power_off+0x26/0x30\n[  503.717770]  [\u003cc1015c49\u003e] machine_power_off+0x9/0x10\n[  503.717770]  [\u003cc1046596\u003e] kernel_power_off+0x36/0x40\n[  503.717770]  [\u003cc104680d\u003e] sys_reboot+0xfd/0x1f0\n[  503.717770]  [\u003cc109daa0\u003e] ? perf_swcounter_event+0xb0/0x130\n[  503.717770]  [\u003cc109db7d\u003e] ? perf_counter_task_sched_out+0x5d/0x120\n[  503.717770]  [\u003cc102dfc6\u003e] ? finish_task_switch+0x56/0xd0\n[  503.717770]  [\u003cc154da1e\u003e] ? schedule+0x49e/0xb40\n[  503.717770]  [\u003cc10444b0\u003e] ? sys_kill+0x70/0x160\n[  503.717770]  [\u003cc119d9db\u003e] ? selinux_file_ioctl+0x3b/0x50\n[  503.717770]  [\u003cc10dd443\u003e] ? sys_ioctl+0x63/0x70\n[  503.717770]  [\u003cc1003024\u003e] sysenter_do_call+0x12/0x22\n[  503.717770] ---[ end trace 8157b5d0ed378f15 ]---\n\n|\n| That\u0027s including this commit:\n|\n| commit 103428e57be323c3c5545db8ad12667099bc6005\n|Author: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\n|Date:   Sun Jun 7 16:48:40 2009 +0400\n|\n|    x86, apic: Fix dummy apic read operation together with broken MP handling\n|\n\nIf we have apic disabled we don\u0027t even switch to APIC mode and do not\ncalling for connect_bsp_APIC. Though on SMP compiled kernel the\nnative_machine_shutdown does try to write the apic register anyway.\n\nFix it with explicit check if we really should touch apic registers.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20090617181322.GG10822@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60f916dee612130c9977a8edd4abee98334202ba",
      "tree": "7de1a620cd1067fd46a06d23621afe3482b5a06e",
      "parents": [
        "6e7d6fdcbeefa9434653b5e5da12909636ea1d52"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 19:00:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 19:23:52 2009 +0200"
      },
      "message": "perf_counter: x86: Set the period in the intel overflow handler\n\nCommit 9e350de37ac960 (\"perf_counter: Accurate period data\")\nmissed a spot, which caused all Intel-PMU samples to have a\nperiod of 0.\n\nThis broke auto-freq sampling.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8653f88ff93ba6bd6df4bac48908d41ad09dba7e",
      "tree": "650f391262fcecdc3a994d2e7663f2a2dab61cf6",
      "parents": [
        "8fa62ad9d24e24707164ac7a97cbe59fe78a8591"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Sat Jun 13 20:21:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 19:02:35 2009 +0200"
      },
      "message": "x86: Remove duplicated #include\u0027s\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nLKML-Reference: \u003c1244895686-2348-1-git-send-email-weiyi.huang@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8fa62ad9d24e24707164ac7a97cbe59fe78a8591",
      "tree": "02bdc259313cc97d47217fe3ac41d383f287fc40",
      "parents": [
        "fe955e5c793aab398794be4c5ede172d48446c4a"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jun 17 14:11:10 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 18:56:01 2009 +0200"
      },
      "message": "x86: msr.h linux/types.h is only required for __KERNEL__\n\n\u003clinux/types.h\u003e is only required for __KERNEL__ as whole file is covered with it\n\nAlso fixed some spacing issues for usr/include/asm-x86/msr.h\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@kernel.org\u003e\nLKML-Reference: \u003c1245228070.2662.1.camel@ht.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c30938d59e7468259855da91a885b19e8044b5f4",
      "tree": "15fa3b7c4696947d43702273291398a91232f644",
      "parents": [
        "aa2638a210ab0d7c6702cd54315365785fce326c",
        "8e7c25971b1590776a90b249de3d859dd45e7414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:51:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:51:50 2009 -0700"
      },
      "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] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c\n  [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c\n  [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c\n  [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c\n  [CPUFREQ] powernow-k8: get drv data for correct CPU\n  [CPUFREQ] powernow-k8: read P-state from HW\n  [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[]\n  [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier()\n  [CPUFREQ] minor correction to cpu-freq documentation\n  [CPUFREQ] powernow-k8.c: mess cleanup\n  [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful\n  [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0\n  [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case\n"
    },
    {
      "commit": "813400060fe2824163cabd9afed4e476e7ce282e",
      "tree": "22141d6e937991761345a63dd80125be13eb50ea",
      "parents": [
        "1bf7b31efa0c322d93cb3f772cd9bc743e8bb42d",
        "fe955e5c793aab398794be4c5ede172d48446c4a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 18:21:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 18:21:41 2009 +0200"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/mce3\n\nConflicts:\n\tarch/x86/kernel/cpu/mcheck/mce_intel.c\n\nMerge reason: merge with an urgent-branch MCE fix.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe955e5c793aab398794be4c5ede172d48446c4a",
      "tree": "069407105afd1f925e7167bf4775636c790f1f2b",
      "parents": [
        "8f7007aabee22d6c186070e9532b0965f6036bb7"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Wed Jun 10 12:41:02 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 18:20:39 2009 +0200"
      },
      "message": "x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround\n\nExpand Intel NMI perfctr1 workaround to include a Core2 processor stepping\n(cpuid family-6, model-f, stepping-4).  Resolves a situation where the NMI\nwould not enable on these processors.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: prarit@redhat.com\nCc: suresh.b.siddha@intel.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1bf7b31efa0c322d93cb3f772cd9bc743e8bb42d",
      "tree": "5bd46f735fc747e6ec89b02c9f4adb539b19c315",
      "parents": [
        "1af0815f9639752409a9c15ba6a3dc0f322fd114"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 08:31:15 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 17 08:31:15 2009 -0700"
      },
      "message": "x86, mce: mce_intel.c needs \u003casm/apic.h\u003e\n\nmce_intel.c uses apic_write() and lapic_get_maxlvt(), and so it needs\n\u003casm/apic.h\u003e.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "8f7007aabee22d6c186070e9532b0965f6036bb7",
      "tree": "8b2692d2ce75d9b4f0d269c40d79eea77d4a40c1",
      "parents": [
        "50a8d4d29735ec99139e58ea3cb11bed3331cf87"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jun 10 12:41:01 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 17:16:08 2009 +0200"
      },
      "message": "x86: apic/io_apic.c: dmar_msi_type should be static\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50a8d4d29735ec99139e58ea3cb11bed3331cf87",
      "tree": "c85332036e5b162dbba8bf091e5f5de1158ba470",
      "parents": [
        "5ce4243dcefbbc43791ffc36e1be55067ceec916"
      ],
      "author": {
        "name": "Figo.zhang",
        "email": "figo1802@gmail.com",
        "time": "Wed Jun 17 22:25:20 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 17:13:25 2009 +0200"
      },
      "message": "x86, io_apic.c: Work around compiler warning\n\nThis compiler warning:\n\n  arch/x86/kernel/apic/io_apic.c: In function ‘ioapic_write_entry’:\n  arch/x86/kernel/apic/io_apic.c:466: warning: ‘eu’ is used uninitialized in this function\n  arch/x86/kernel/apic/io_apic.c:465: note: ‘eu’ was declared here\n\nIs bogus as \u0027eu\u0027 is always initialized. But annotate it away by\ninitializing the variable, to make it easier for people to notice\nreal warnings. A compiler that sees through this logic will\noptimize away the initialization.\n\nSigned-off-by: Figo.zhang \u003cfigo1802@gmail.com\u003e\nLKML-Reference: \u003c1245248720.3312.27.camel@myhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ce4243dcefbbc43791ffc36e1be55067ceec916",
      "tree": "de5792470221f709338b293346eb593774375c2f",
      "parents": [
        "203abd67b75f7714ce98ab0cdbd6cfd7ad79dec4"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Mon Jun 15 22:26:33 2009 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 17:10:22 2009 +0200"
      },
      "message": "x86: mce: Don\u0027t touch THERMAL_APIC_VECTOR if no active APIC present\n\nIf APIC was disabled (for some reason) and as result\nit\u0027s not even mapped we should not try to enable thermal\ninterrupts at all.\n\nReported-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nTested-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nLKML-Reference: \u003c20090615182633.GA7606@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "84599f8a59e77699f18f06948cea171a349a3f0f",
      "tree": "9918eccc9bcc2a91eb0f5609f9ad69c59ac66bd0",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 16 12:34:17 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 16:03:54 2009 +0200"
      },
      "message": "sched, x86: Fix cpufreq + sched_clock() TSC scaling\n\nFor freqency dependent TSCs we only scale the cycles, we do not account\nfor the discrepancy in absolute value.\n\nOur current formula is: time \u003d cycles * mult\n\n(where mult is a function of the cpu-speed on variable tsc machines)\n\nSuppose our current cycle count is 10, and we have a multiplier of 5,\nthen our time value would end up being 50.\n\nNow cpufreq comes along and changes the multiplier to say 3 or 7,\nwhich would result in our time being resp. 30 or 70.\n\nThat means that we can observe random jumps in the time value due to\nfrequency changes in both fwd and bwd direction.\n\nSo what this patch does is change the formula to:\n\n  time \u003d cycles * frequency + offset\n\nAnd we calculate offset so that time_before \u003d\u003d time_after, thereby\nridding us of these jumps in time.\n\n[ Impact: fix/reduce sched_clock() jumps across frequency changing events ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nChucked-on-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d06cc6aa3e765dc2bf98626f87272dcf641dca",
      "tree": "aa3e49b58f08d6c0ea55cdca4fb5e6c8ba6ae333",
      "parents": [
        "0990b1c65729012a63e0eeca93aaaafea4e9a064",
        "65795efbd380a832ae508b04dba8f8e53f0b84d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 13:06:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 13:06:17 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nConflicts:\n\tarch/x86/include/asm/kmap_types.h\n\tinclude/linux/mm.h\n\n\tinclude/asm-generic/kmap_types.h\n\nMerge reason: We crossed changes with kmap_types.h cleanups in mainline.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "203abd67b75f7714ce98ab0cdbd6cfd7ad79dec4",
      "tree": "e2441645b60d5b6d6bbd2674baedb3eba27985a1",
      "parents": [
        "cc4949e1fdade5d063e9f8783cf0e2cc92041ce5"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Jun 15 14:52:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 08:59:45 2009 +0200"
      },
      "message": "x86: mce: Handle banks \u003d\u003d 0 case in K7 quirk\n\nVegard Nossum reported:\n\n\u003e I get an MCE-related crash like this in latest linus tree:\n\u003e\n\u003e [    0.115341] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)\n\u003e [    0.116396] CPU: L2 Cache: 512K (64 bytes/line)\n\u003e [    0.120570] mce: CPU supports 0 MCE banks\n\u003e [    0.124870] BUG: unable to handle kernel NULL pointer dereference at 00000000 00000010\n\u003e [    0.128001] IP: [\u003cffffffff813b98ad\u003e] mcheck_init+0x278/0x320\n\u003e [    0.128001] PGD 0\n\u003e [    0.128001] Thread overran stack, or stack corrupted\n\u003e [    0.128001] Oops: 0002 [#1] PREEMPT SMP\n\u003e [    0.128001] last sysfs file:\n\u003e [    0.128001] CPU 0\n\u003e [    0.128001] Modules linked in:\n\u003e [    0.128001] Pid: 0, comm: swapper Not tainted 2.6.30 #426\n\u003e [    0.128001] RIP: 0010:[\u003cffffffff813b98ad\u003e]  [\u003cffffffff813b98ad\u003e] mcheck_init+0x278/0x320\n\u003e [    0.128001] RSP: 0018:ffffffff81595e38  EFLAGS: 00000246\n\u003e [    0.128001] RAX: 0000000000000010 RBX: ffffffff8158f900 RCX: 0000000000000000\n\u003e [    0.128001] RDX: 0000000000000000 RSI: 00000000000000ff RDI: 0000000000000010\n\u003e [    0.128001] RBP: ffffffff81595e68 R08: 0000000000000001 R09: 0000000000000000\n\u003e [    0.128001] R10: 0000000000000010 R11: 0000000000000000 R12: 0000000000000000\n\u003e [    0.128001] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000\n\u003e [    0.128001] FS:  0000000000000000(0000) GS:ffff880002288000(0000) knlGS:00000\n\u003e 00000000000\n\u003e [    0.128001] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n\u003e [    0.128001] CR2: 0000000000000010 CR3: 0000000001001000 CR4: 00000000000006b0\n\u003e [    0.128001] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\u003e [    0.128001] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000\n\u003e [    0.128001] Process swapper (pid: 0, threadinfo ffffffff81594000, task ffffff\n\u003e ff8152a4a0)\n\u003e [    0.128001] Stack:\n\u003e [    0.128001]  0000000081595e68 5aa50ed3b4ddbe6e ffffffff8158f900 ffffffff8158f\n\u003e 914\n\u003e [    0.128001]  ffffffff8158f948 0000000000000000 ffffffff81595eb8 ffffffff813b8\n\u003e 69c\n\u003e [    0.128001]  5aa50ed3b4ddbe6e 00000001078bfbfd 0000062300000800 5aa50ed3b4ddb\n\u003e e6e\n\u003e [    0.128001] Call Trace:\n\u003e [    0.128001]  [\u003cffffffff813b869c\u003e] identify_cpu+0x331/0x392\n\u003e [    0.128001]  [\u003cffffffff815a1445\u003e] identify_boot_cpu+0x23/0x6e\n\u003e [    0.128001]  [\u003cffffffff815a14ac\u003e] check_bugs+0x1c/0x60\n\u003e [    0.128001]  [\u003cffffffff8159c075\u003e] start_kernel+0x403/0x46e\n\u003e [    0.128001]  [\u003cffffffff8159b2ac\u003e] x86_64_start_reservations+0xac/0xd5\n\u003e [    0.128001]  [\u003cffffffff8159b3ea\u003e] x86_64_start_kernel+0x115/0x14b\n\u003e [    0.128001]  [\u003cffffffff8159b140\u003e] ? early_idt_handler+0x0/0x71\n\nThis happens on QEMU which reports MCA capability, but no banks.\nWithout this patch there is a buffer overrun and boot ops because\nthe code would try to initialize the 0 element of a zero length\nkmalloc() buffer.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nLKML-Reference: \u003c20090615125200.GD31969@one.firstfloor.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc4949e1fdade5d063e9f8783cf0e2cc92041ce5",
      "tree": "4023bd641bfe464efbde518fb504d6865c9df014",
      "parents": [
        "28b4868820a56de661f54742ff91b78e12f1e582",
        "300df7dc89cc276377fc020704e34875d5c473b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 08:59:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 08:59:10 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/urgent\n\nMerge reason: pull in latest to fix a bug in it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "517d08699b250021303f9a7cf0d758b6dc0748ed",
      "tree": "5e5b0134c3fffb78fe9d8b1641a64ff28fdd7bbc",
      "parents": [
        "8eeee4e2f04fc551f50c9d9847da2d73d7d33728",
        "a34601c5d84134055782ee031d58d82f5440e918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (182 commits)\n  fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset\n  fbdev: *bfin*: fix __dev{init,exit} markings\n  fbdev: *bfin*: drop unnecessary calls to memset\n  fbdev: bfin-t350mcqb-fb: drop unused local variables\n  fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n  fbdev: s1d13xxxfb: add accelerated bitblt functions\n  tcx: use standard fields for framebuffer physical address and length\n  fbdev: add support for handoff from firmware to hw framebuffers\n  intelfb: fix a bug when changing video timing\n  fbdev: use framebuffer_release() for freeing fb_info structures\n  radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?\n  s3c-fb: CPUFREQ frequency scaling support\n  s3c-fb: fix resource releasing on error during probing\n  carminefb: fix possible access beyond end of carmine_modedb[]\n  acornfb: remove fb_mmap function\n  mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF\n  mb862xxfb: restrict compliation of platform driver to PPC\n  Samsung SoC Framebuffer driver: add Alpha Channel support\n  atmel-lcdc: fix pixclock upper bound detection\n  offb: use framebuffer_alloc() to allocate fb_info struct\n  ...\n\nManually fix up conflicts due to kmemcheck in mm/slab.c\n"
    },
    {
      "commit": "e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89",
      "tree": "033fd4035f0bcab64a0215d1a0b0f868c8b4de32",
      "parents": [
        "b8d9a86590fb334d28c5905a4c419ece7d08e37d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 16 15:33:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:51 2009 -0700"
      },
      "message": "kmap_types: make most arches use generic header file\n\nConvert most arches to use asm-generic/kmap_types.h.\n\nMove the KM_FENCE_ macro additions into asm-generic/kmap_types.h,\ncontrolled by __WITH_KM_FENCE from each arch\u0027s kmap_types.h file.\n\nWould be nice to be able to add custom KM_types per arch, but I don\u0027t yet\nsee a nice, clean way to do that.\n\nBuilt on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and\n68k(tonyb).\n\nNote: avr32 should be able to remove KM_PTE2 (since it\u0027s not used) and\nthen just use the generic kmap_types.h file.  Get avr32 maintainer\napproval.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"Luck Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9c569539312cfd3c820b38036679a9d72c55331",
      "tree": "c607645c5392febc6b35e127e6906547d02d2c61",
      "parents": [
        "009789f040b71699278e70a6664701c10065e430"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:33:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:50 2009 -0700"
      },
      "message": "use printk_once() in several places\n\nThere are some places to be able to use printk_once instead of hard coding.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb1f17b0372de93758653ca3454bc0df18dc2e5c",
      "tree": "29ef82933cc98b99d29c6c7004c045af22799d70",
      "parents": [
        "3b0fde0fac19c180317eb0601b3504083f4b9bf5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jun 16 15:31:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "mm: consolidate init_mm definition\n\n* create mm/init-mm.c, move init_mm there\n* remove INIT_MM, initialize init_mm with C99 initializer\n* unexport init_mm on all arches:\n\n  init_mm is already unexported on x86.\n\n  One strange place is some OMAP driver (drivers/video/omap/) which\n  won\u0027t build modular, but it\u0027s already wants get_vm_area() export.\n  Somebody should look there.\n\n[akpm@linux-foundation.org: add missing #includes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@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": "08604bd9935dc98fb62ef61d5b7baa7ccc10f8c2",
      "tree": "2d0d451d78024bfbb4961a9ba94902abdc5f17e4",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 16 15:31:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:27 2009 -0700"
      },
      "message": "time: move PIT_TICK_RATE to linux/timex.h\n\nPIT_TICK_RATE is currently defined in four architectures, but in three\ndifferent places.  While linux/timex.h is not the perfect place for it, it\nis still a reasonable replacement for those drivers that traditionally use\nasm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.\n\nNote that for Alpha, the actual value changed from 1193182UL to 1193180UL.\n This is unlikely to make a difference, and probably can only improve\naccuracy.  There was a discussion on the correct value of CLOCK_TICK_RATE\na few years ago, after which every existing instance was getting changed\nto 1193182.  According to the specification, it should be\n1193181.818181...\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28b4868820a56de661f54742ff91b78e12f1e582",
      "tree": "8e414ee3ef78b0b0ed4f0b47f703d1c3bfe16bd3",
      "parents": [
        "e2a7147640a54eb812c8ab5f3ee4424b92db4856"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 17:39:04 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 17:47:32 2009 -0700"
      },
      "message": "x86, boot: use .code16gcc instead of .code16\n\nUse .code16gcc to compile arch/x86/boot/bioscall.S rather than\n.code16, since some older versions of binutils can\u0027t generate 32-bit\naddressing expressions (67 prefixes) in .code16 mode, only in\n.code16gcc mode.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "e2a7147640a54eb812c8ab5f3ee4424b92db4856",
      "tree": "1c0a7fd16a048114ebb0050419f2835afd0ed800",
      "parents": [
        "95ee14e4379c5e19c0897c872350570402014742"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Tue Jun 16 16:43:40 2009 -0500"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 17:47:32 2009 -0700"
      },
      "message": "x86: correct the conversion of EFI memory types\n\nThis patch causes all the EFI_RESERVED_TYPE memory reservations to be recorded\nin the e820 table as type E820_RESERVED.\n\n(This patch replaces one called \u0027x86: vendor reserved memory type\u0027.\n This version has been discussed a bit with Peter and Yinghai but not given\n a final opinion.)\n\nWithout this patch EFI_RESERVED_TYPE memory reservations may be\nmarked usable in the e820 table. There may be a collision between\nkernel use and some reserver\u0027s use of this memory.\n\n(An example use of this functionality is the UV system, which\n will access extremely large areas of memory with a memory engine\n that allows a user to address beyond the processor\u0027s range.  Such\n areas are reserved in the EFI table by the BIOS.\n Some loaders have a restricted number of entries possible in the e820 table,\n hence the need to record the reservations in the unrestricted EFI table.)\n\nThe call to do_add_efi_memmap() is only made if \"add_efi_memmap\" is specified\non the kernel command line.\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "95ee14e4379c5e19c0897c872350570402014742",
      "tree": "64479687a95b07bad97b886f1e97c3a391daf934",
      "parents": [
        "8a4a6182fd43c46ed8c12e26b4669854bcad300a"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 09 18:20:39 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 17:47:31 2009 -0700"
      },
      "message": "x86: cap iomem_resource to addressable physical memory\n\niomem_resource is by default initialized to -1, which means 64 bits of\nphysical address space if 64-bit resources are enabled.  However, x86\nCPUs cannot address 64 bits of physical address space.  Thus, we want\nto cap the physical address space to what the union of all CPU can\nactually address.\n\nWithout this patch, we may end up assigning inaccessible values to\nuninitialized 64-bit PCI memory resources.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Martin Mares \u003cmj@ucw.cz\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "1af0815f9639752409a9c15ba6a3dc0f322fd114",
      "tree": "d319e0f7bf3e5b05fd46f71a6d3ce9f26d4e5418",
      "parents": [
        "58995d2d58e8e555bc92582abe7554921deea3aa"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:28:38 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:11 2009 -0700"
      },
      "message": "x86, mce: rename _64.c files which are no longer 64-bit-specific\n\nRename files that are no longer 64bit specific:\n\tmce_amd_64.c\t\u003d\u003e mce_amd.c\n\tmce_intel_64.c\t\u003d\u003e mce_intel.c\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "58995d2d58e8e555bc92582abe7554921deea3aa",
      "tree": "3919df735b3927bfc1e9b5a453b8979c73179b88",
      "parents": [
        "1149e7264528723b8c3b075a90386ceb2e07070a"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:27:47 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:10 2009 -0700"
      },
      "message": "x86, mce: mce.h cleanup\n\nReorder definitions.\n\n - static inline dummy mcheck_init() for !CONFIG_X86_MCE\n - gather defs for exception, threshold handler\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "1149e7264528723b8c3b075a90386ceb2e07070a",
      "tree": "a0bdbcee8b0d6e84f18aee101b7f0858ed4b9a3d",
      "parents": [
        "8363fc82d36c0886292e33925391dca93f03bd50"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:27:13 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:09 2009 -0700"
      },
      "message": "x86, mce: remove therm_throt.h\n\nNow all symbols in the header are static.  Remove the header.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "8363fc82d36c0886292e33925391dca93f03bd50",
      "tree": "0f392edc545cbe0dd86f6d6c59a8aea458fa7ba3",
      "parents": [
        "895287c0a6aa571160c47ee10de11b542166c4f9"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:26:36 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:08 2009 -0700"
      },
      "message": "x86, mce: remove intel_set_thermal_handler()\n\nand make intel_thermal_interrupt() static.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "895287c0a6aa571160c47ee10de11b542166c4f9",
      "tree": "27cb16731bc31d0f77881cec4ac1f1b26c6d22a1",
      "parents": [
        "a65c88dd2c83b569dbd13778da689861bdf977f2"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:26:10 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:08 2009 -0700"
      },
      "message": "x86, mce: squash mce_intel.c into therm_throt.c\n\nmove intel_init_thermal() into therm_throt.c\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "a65c88dd2c83b569dbd13778da689861bdf977f2",
      "tree": "61c1e44b539b722909256969bd4d4dfb1c5143b5",
      "parents": [
        "e8ce2c5ee826b3787202493effcd08d4b1e1e639"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:25:27 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:08 2009 -0700"
      },
      "message": "x86, mce: unify smp_thermal_interrupt\n\nPut common functions into therm_throt.c, modify Makefile.\n\n\tunexpected_thermal_interrupt\n\tintel_thermal_interrupt\n\tsmp_thermal_interrupt\n\tintel_set_thermal_handler\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "e8ce2c5ee826b3787202493effcd08d4b1e1e639",
      "tree": "45dfcd93086820963d196d88851d772d11b2f8e9",
      "parents": [
        "5335612a574a45beab14193ec641ed2f45e7a523"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:24:40 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:08 2009 -0700"
      },
      "message": "x86, mce: unify smp_thermal_interrupt, prepare\n\nLet them in same shape.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "5335612a574a45beab14193ec641ed2f45e7a523",
      "tree": "44fd7a49f46c0f85b2a7a956b589b7e0c7202ae1",
      "parents": [
        "3adacb70d32046ccc9f0333b50bb2ba1582ccdf4"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:24:09 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:08 2009 -0700"
      },
      "message": "x86, mce: unify smp_thermal_interrupt, prepare mce_intel_64\n\nBreak smp_thermal_interrupt() into two functions.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "3adacb70d32046ccc9f0333b50bb2ba1582ccdf4",
      "tree": "6439d0121f95b2592cf933949586c54bcac4589a",
      "parents": [
        "c697836985e18d9c34897428ba563b13044a6dcd"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:23:28 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:07 2009 -0700"
      },
      "message": "x86, mce: unify smp_thermal_interrupt, prepare p4\n\nRemove unused argument regs from handlers, and use inc_irq_stat.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "c697836985e18d9c34897428ba563b13044a6dcd",
      "tree": "baf61b41254ff78b039cb5405422c0dbdaa6a240",
      "parents": [
        "9e55e44e39798541ba39d57f4b569deb555ae1ce"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:22:49 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:07 2009 -0700"
      },
      "message": "x86, mce: make mce_disabled boolean\n\nThe mce_disabled on 32bit is a tristate variable [1,0,-1],\nwhile 64bit version is boolean [0,1].\nThis patch makes mce_disabled always boolean, and use mce_p5_enabled\nto indicate the third state instead.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "9e55e44e39798541ba39d57f4b569deb555ae1ce",
      "tree": "acc9797ff2e9f6294bb2b3b4f6a7ba09d7061a3c",
      "parents": [
        "9af43b54ab4509f1dac49637d6917d57292e6518"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:22:15 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:07 2009 -0700"
      },
      "message": "x86, mce: unify mce.h\n\nThere are 2 headers:\n\tarch/x86/include/asm/mce.h\n\tarch/x86/kernel/cpu/mcheck/mce.h\nand in the latter small header:\n\t#include \u003casm/mce.h\u003e\n\nThis patch move all contents in the latter header into the former,\nand fix all files using the latter to include the former instead.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "9af43b54ab4509f1dac49637d6917d57292e6518",
      "tree": "128e8a3adc926b4b1f4866a0141f068c7c66c7d5",
      "parents": [
        "1020bcbcc7da36001d9226c5d57e999949cb80c5"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:21:36 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:06 2009 -0700"
      },
      "message": "x86, mce: sysfs entries for new mce options\n\nAdd sysfs interface for admins who want to tweak these options without\nrebooting the system.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "1020bcbcc7da36001d9226c5d57e999949cb80c5",
      "tree": "608da1dd9bfa7ef28103bc4cc9a6de7bdea7b8b1",
      "parents": [
        "4e5b3e690dda890523e93af9c545261f5916a3a6"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:20:57 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:06 2009 -0700"
      },
      "message": "x86, mce: rename static variables around trigger\n\n\"trigger\" is not straight forward name for valiable that holds name\nof user mode helper program which triggered by machine check events.\n\nThis patch renames this valiable and kins to more recognizable names.\n\n\ttrigger\t\t\u003d\u003e mce_helper\n\ttrigger_argv\t\u003d\u003e mce_helper_argv\n\tnotify_user\t\u003d\u003e mce_need_notify\n\nNo functional changes.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "4e5b3e690dda890523e93af9c545261f5916a3a6",
      "tree": "fb823e034ce437dcb7238da9ab906140432c407e",
      "parents": [
        "7fb06fc9672b947424e05871243a4c8e19ec3bce"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:20:20 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:05 2009 -0700"
      },
      "message": "x86, mce: add __read_mostly\n\nAdd __read_mostly to data written during setup.\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "7fb06fc9672b947424e05871243a4c8e19ec3bce",
      "tree": "7674eb386c8719167c8c7846cac2c3a98f8131ff",
      "parents": [
        "33edbf02a92771fa2a81e41084a44ba874e3a5a5"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 18:18:43 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:05 2009 -0700"
      },
      "message": "x86, mce: cleanup mce_start()\n\nSimplify interface of mce_start():\n\n-       no_way_out \u003d mce_start(no_way_out, \u0026order);\n+       order \u003d mce_start(\u0026no_way_out);\n\nNow Monarch and Subjects share same exit(return) in usual path.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "33edbf02a92771fa2a81e41084a44ba874e3a5a5",
      "tree": "1b785cc0119685e59f5cbc763834f64a8ad28357",
      "parents": [
        "184e1fdfea066ab8f12a1e8912f402d2d6556d11"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Mon Jun 15 17:18:45 2009 +0900"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:04 2009 -0700"
      },
      "message": "x86, mce: don\u0027t init timer if !mce_available\n\nIn mce_cpu_restart, mce_init_timer is called unconditionally.\nIf !mce_available (e.g. mce is disabled), there are no useful work\nfor timer.  Stop running it.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "184e1fdfea066ab8f12a1e8912f402d2d6556d11",
      "tree": "f9ffff79d1924f530e582a2aab9f0cb032f0a4e3",
      "parents": [
        "300df7dc89cc276377fc020704e34875d5c473b6"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Mon Jun 15 15:37:07 2009 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jun 16 16:56:04 2009 -0700"
      },
      "message": "x86, mce: fix a race condition about mce_callin and no_way_out\n\nIf one CPU has no_way_out \u003d\u003d 1, all other CPUs should have no_way_out\n\u003d\u003d 1. But despite global_nwo is read after mce_callin, global_nwo is\nupdated after mce_callin too. So it is possible that some CPU read\nglobal_nwo before some other CPU update global_nwo, so that no_way_out\n\u003d\u003d 1 for some CPU, while no_way_out \u003d\u003d 0 for some other CPU.\n\nThis patch fixes this race condition via moving mce_callin updating\nafter global_nwo updating, with a smp_wmb in between. A smp_rmb is\nadded between their reading too.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "f9cde5ffed17bf74f6bef042d99edb0622f58576",
      "tree": "1bd553e8624a5efe6c2a2de021eed2ad649bd33c",
      "parents": [
        "ab7de999a2c771482698efa6fe7c7b7fcb1d482a"
      ],
      "author": {
        "name": "Gary Hade",
        "email": "garyhade@us.ibm.com",
        "time": "Wed May 27 12:41:44 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jun 16 14:53:32 2009 -0700"
      },
      "message": "x86/ACPI: Correct maximum allowed _CRS returned resources and warn if exceeded\n\nIssue a warning if _CRS returns too many resource descriptors to be\naccommodated by the fixed size resource array instances.  If there is no\ntransparent bridge on the root bus \"too many\" is the\nPCI_BUS_NUM_RESOURCES size of the resource array.  Otherwise, the last 3\nslots of the resource array must be excluded making the maximum\n(PCI_BUS_NUM_RESOURCES - 3).\n\nThe current code:\n - is silent when _CRS returns too many resource descriptors and\n - incorrectly allows use of the last 3 slots of the resource array\n   for a root bus with a transparent bridge\n\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b3fec0fe35a4ff048484f1408385a27695d4273b",
      "tree": "088c23f098421ea681d9976a83aad73d15be1027",
      "parents": [
        "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
        "722f2a6c87f34ee0fd0130a8cf45f81e0705594a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)\n  signal: fix __send_signal() false positive kmemcheck warning\n  fs: fix do_mount_root() false positive kmemcheck warning\n  fs: introduce __getname_gfp()\n  trace: annotate bitfields in struct ring_buffer_event\n  net: annotate struct sock bitfield\n  c2port: annotate bitfield for kmemcheck\n  net: annotate inet_timewait_sock bitfields\n  ieee1394/csr1212: fix false positive kmemcheck report\n  ieee1394: annotate bitfield\n  net: annotate bitfields in struct inet_sock\n  net: use kmemcheck bitfields API for skbuff\n  kmemcheck: introduce bitfield API\n  kmemcheck: add opcode self-testing at boot\n  x86: unify pte_hidden\n  x86: make _PAGE_HIDDEN conditional\n  kmemcheck: make kconfig accessible for other architectures\n  kmemcheck: enable in the x86 Kconfig\n  kmemcheck: add hooks for the page allocator\n  kmemcheck: add hooks for page- and sg-dma-mappings\n  kmemcheck: don\u0027t track page tables\n  ...\n"
    },
    {
      "commit": "8a4a6182fd43c46ed8c12e26b4669854bcad300a",
      "tree": "f1db8bfe06b8f2b75c6348cf84fc5412ab3e8fd7",
      "parents": [
        "5dfaf90f8052327c92fbe3c470a2e6634be296c0",
        "6a047d8b9efc4b7d0c57ca4835f7e519e5c90d3f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 16 11:51:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 16 11:51:24 2009 +0200"
      },
      "message": "Merge branch \u0027amd-iommu/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent\n"
    },
    {
      "commit": "5dfaf90f8052327c92fbe3c470a2e6634be296c0",
      "tree": "d29c1191df48fcf1180a8509f93744d343e58d17",
      "parents": [
        "507fa3a3d80365c595113a5ac3232309e3dbf5d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 16 10:23:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 16 10:23:32 2009 +0200"
      },
      "message": "x86: mm: Read cr2 before prefetching the mmap_lock\n\nPrefetch instructions can generate spurious faults on certain\nmodels of older CPUs. The faults themselves cannot be stopped\nand they can occur pretty much anywhere - so the way we solve\nthem is that we detect certain patterns and ignore the fault.\n\nThere is one small path of code where we must not take faults\nthough: the #PF handler execution leading up to the reading\nof the CR2 (the faulting address). If we take a fault there\nthen we destroy the CR2 value (with that of the prefetching\ninstruction\u0027s) and possibly mishandle user-space or\nkernel-space pagefaults.\n\nIt turns out that in current upstream we do exactly that:\n\n\tprefetchw(\u0026mm-\u003emmap_sem);\n\n\t/* Get the faulting address: */\n\taddress \u003d read_cr2();\n\nThis is not good.\n\nSo turn around the order: first read the cr2 then prefetch\nthe lock address. Reading cr2 is plenty fast (2 cycles) so\ndelaying the prefetch by this amount shouldnt be a big issue\nperformance-wise.\n\n[ And this might explain a mystery fault.c warning that sometimes\n  occurs on one an old AMD/Semptron based test-system i have -\n  which does have such prefetch problems. ]\n\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nLKML-Reference: \u003c20090616030522.GA22162@Krystal\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a047d8b9efc4b7d0c57ca4835f7e519e5c90d3f",
      "tree": "3d6d4b1f79a0d542b1c481dd1310a3bbf92b3bc9",
      "parents": [
        "09067207f6eacb7f00c8f7f0623c3696083ce042"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Tue Jun 16 03:01:37 2009 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Jun 16 10:19:16 2009 +0200"
      },
      "message": "amd-iommu: resume cleanup\n\nNow that enable_iommus() will call iommu_disable() for each iommu,\nthe call to disable_iommus() during resume is redundant.  Also, the order\nfor an invalidation is to invalidate device table entries first, then\ndomain translations.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "07e9bb8eebb04c81323cbd3eabf07a3f6f05b204",
      "tree": "45054dee75c6b6c3fab5eb6be1f14c6f720995ce",
      "parents": [
        "b03f38b685e2e1db174fb8982930e789a516f414"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: x86: add nodename for cpuid and msr drivers.\n\nThis adds support to the x86 cpuid and msr drivers to report the proper\ndevice name to userspace for their devices.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d405640539555b601e52f7d18f1f0b1345d18bf5",
      "tree": "6a748c0acea0fa72c732d2f188e57153418395e0",
      "parents": [
        "6fcf53acccf85b4b0d0260e66c692a341760f464"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: misc: add nodename support for misc devices.\n\nThis adds support for misc devices to report their requested nodename to\nuserspace.  It also updates a number of misc drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "19035e5b5d1e3127b4925d86f6a77964f91f2c3c",
      "tree": "c9e7e9073970176a5b0970da715cb6430c3c9069",
      "parents": [
        "f9db6e095115f9411b9647bdb9d81fe11f3d8b54",
        "eea08f32adb3f97553d49a4f79a119833036000a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 10:06:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 10:06:19 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus-migration\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-migration\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: Logic to move non pinned timers\n  timers: /proc/sys sysctl hook to enable timer migration\n  timers: Identifying the existing pinned timers\n  timers: Framework for identifying pinned timers\n  timers: allow deferrable timers for intervals tv2-tv5 to be deferred\n\nFix up conflicts in kernel/sched.c and kernel/timer.c manually\n"
    },
    {
      "commit": "8e7c25971b1590776a90b249de3d859dd45e7414",
      "tree": "6119482c26d4cbc8ac6e405dcefdec8747544582",
      "parents": [
        "1ff6e97f1d993dff2f9b6f4a9173687370660232"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 20:58:37 2009 +0930"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:43 2009 -0400"
      },
      "message": "[CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c\n\nRemove all old-style cpumask operators, and cpumask_t.\n\nAlso: get rid of the unused define_siblings function.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nTested-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "1ff6e97f1d993dff2f9b6f4a9173687370660232",
      "tree": "19cadec61f22a61a0e4c2d338ccd8672710aed17",
      "parents": [
        "e3f996c26ff6c4c084aaaa64dce6e54d31f517be"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 20:55:37 2009 +0930"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:43 2009 -0400"
      },
      "message": "[CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c\n\ncpumask: avoid playing with cpus_allowed in powernow-k8.c\n\nIt\u0027s generally a very bad idea to mug some process\u0027s cpumask: it could\nlegitimately and reasonably be changed by root, which could break us\n(if done before our code) or them (if we restore the wrong value).\n\nI did not replace powernowk8_target; it needs fixing, but it grabs a\nmutex (so no smp_call_function_single here) but Mark points out it can\nbe called multiple times per second, so work_on_cpu is too heavy.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: cpufreq@vger.kernel.org\nAcked-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nTested-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "e3f996c26ff6c4c084aaaa64dce6e54d31f517be",
      "tree": "d49ec5b8935a91766678d7b671ffff25ce597670",
      "parents": [
        "394122ab144dae4b276d74644a2f11c44a60ac5c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jun 11 22:59:58 2009 +0930"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:43 2009 -0400"
      },
      "message": "[CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c\n\nImpact: don\u0027t play with current\u0027s cpumask\n\nIt\u0027s generally a very bad idea to mug some process\u0027s cpumask: it could\nlegitimately and reasonably be changed by root, which could break us\n(if done before our code) or them (if we restore the wrong value).\n\nUse rdmsr_on_cpu and wrmsr_on_cpu instead.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: cpufreq@vger.kernel.org\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "394122ab144dae4b276d74644a2f11c44a60ac5c",
      "tree": "849d4f1e03cab2abacc68a25160ef023ee3da879",
      "parents": [
        "e15bc4559b397a611441a135b1f5992f07d0f436"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jun 11 22:59:58 2009 +0930"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:43 2009 -0400"
      },
      "message": "[CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c\n\nImpact: don\u0027t play with current\u0027s cpumask\n\nIt\u0027s generally a very bad idea to mug some process\u0027s cpumask: it could\nlegitimately and reasonably be changed by root, which could break us\n(if done before our code) or them (if we restore the wrong value).\n\nWe use smp_call_function_single: this had the advantage of being more\nefficient, too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: cpufreq@vger.kernel.org\nCc: Dominik Brodowski \u003clinux@brodo.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "e15bc4559b397a611441a135b1f5992f07d0f436",
      "tree": "cb657e9af69aeaa281d4780cf05877f4f95b4837",
      "parents": [
        "532cfee6ba0a8efcf7c3ce38b9881292d79d516e"
      ],
      "author": {
        "name": "Naga Chumbalkar",
        "email": "nagananda.chumbalkar@hp.com",
        "time": "Thu Jun 11 15:26:54 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:42 2009 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: get drv data for correct CPU\n\nMake powernowk8_get() similar to powernowk8_target() and powernowk8_verify()\nin the way it obtains \"powernow_data\" for a given CPU.\n\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\n\nSigned-off-by: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nReviewed-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nTested-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nAcked-by: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "532cfee6ba0a8efcf7c3ce38b9881292d79d516e",
      "tree": "f27ca50e349d890aa5853cc0a5ca49d8e6a5e116",
      "parents": [
        "b394f1dfc070e6f50f5f33694000815e50ef319d"
      ],
      "author": {
        "name": "Naga Chumbalkar",
        "email": "nagananda.chumbalkar@hp.com",
        "time": "Thu Jun 11 15:26:48 2009 +0000"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:42 2009 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: read P-state from HW\n\nBy definition, \"cpuinfo_cur_freq\" should report the value from HW. So, don\u0027t\ndepend on the cached value. Instead read P-state directly from HW, while\ntaking into account the erratum 311 workaround for Fam 11h processors.\n\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\n\nSigned-off-by: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nReviewed-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nTested-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nAcked-by: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "b394f1dfc070e6f50f5f33694000815e50ef319d",
      "tree": "58fc3f0e502752259181271bafb2b997b1284040",
      "parents": [
        "931db6a32dbfaad627e89d0524979ce9cb894691"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jun 10 12:41:37 2009 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:42 2009 -0400"
      },
      "message": "[CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[]\n\nThis symbol doesn\u0027t need file-global scope.\n\nCc: \"Zhang, Rui\" \u003crui.zhang@intel.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nCc: Leo Milano \u003clmilano@gmx.net\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "931db6a32dbfaad627e89d0524979ce9cb894691",
      "tree": "50fd6fd41f8aca40ce95314fb16d33602859137f",
      "parents": [
        "51555c0e91160f6d4c6c1cb7a44d20ea346aed08"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 01 12:29:55 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:42 2009 -0400"
      },
      "message": "[CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier()\n\nChristoph Hellwig noticed the following potential uninitialised use:\n\n \u003e arch/x86/kernel/tsc.c: In function \u0027time_cpufreq_notifier\u0027:\n \u003e arch/x86/kernel/tsc.c:634: warning: \u0027dummy\u0027 may be used uninitialized in this function\n \u003e\n \u003e where we do have CONFIG_SMP set, freq-\u003eflags \u0026 CPUFREQ_CONST_LOOPS is\n \u003e true and ref_freq is false.\n\nIt seems plausable, though the circumstances for hitting it are really low.\nNearly all SMP capable cpufreq drivers set CPUFREQ_CONST_LOOPS.\npowernow-k8 is really the only exception. The older CPUs were typically\nonly ever UP. (powernow-k7 never supported SMP for eg)\n\nIt\u0027s worth fixing regardless, as it cleans up the code.\n\nFix possible uninitialized use of dummy, by just removing it,\nand making the setting of lpj more obvious.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "21335d021464c3ba3c20fc7207ffe2bdd2458568",
      "tree": "2117c09b5ba855cbc671707e9546185044fe0cfb",
      "parents": [
        "4f4d1ad6ee69027f51f9d137f7e7d3c863cbc53d"
      ],
      "author": {
        "name": "Luis Henriques",
        "email": "henrix@sapo.pt",
        "time": "Thu Apr 23 19:45:04 2009 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:41 2009 -0400"
      },
      "message": "[CPUFREQ] powernow-k8.c: mess cleanup\n\nMess cleanup in powernow_k8_acpi_pst_values() function.\n\nSigned-off-by: Luis Henriques \u003chenrix@sapo.pt\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "86e13684aa77f07c77db352f437d9e53a84dde90",
      "tree": "cb0f11906c2aa6bca40b41d5b686de3957af4cf9",
      "parents": [
        "cef9615a853ebc4972084f7e70b52892557420ac"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Wed Apr 22 13:48:30 2009 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 15 11:49:41 2009 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0\n\nThis doesn\u0027t fix anything, but it\u0027s expected that a transition latency of 0\ncould cause trouble in the future.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Langsdorf, Mark \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "0990b1c65729012a63e0eeca93aaaafea4e9a064",
      "tree": "316801609bc0e7b0f8e2497d770ea9731c3ba620",
      "parents": [
        "e2eae0f5605b90a0838608043c21050b08b6dd95"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 16:46:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 17:20:03 2009 +0200"
      },
      "message": "x86: Add NMI types for kmap_atomic, fix\n\nI just realized this has a kmap_atomic bug in...\n\nThe below would fix it - but it\u0027s complicating this code\nsome more.\n\nAlternatively I would have to introduce something like\npte_offset_map_irq() which would make the irq/nmi detection and leave\nthe regular code paths alone, however that would mean either duplicating\nthe gup_fast() pagewalk or passing down a pte function pointer, which\nwould only duplicate the gup_pte_range() bit, neither is really\nattractive ...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9974458e2f9a11dbd2f4bd14fab5a79af4907b41",
      "tree": "d998a40f44a626a6eb1385a90c7979bddd5b6397",
      "parents": [
        "90c8f954534ba15e4542ab00dd9f0e58b071518c"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 15 21:45:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 16:12:26 2009 +0200"
      },
      "message": "perf_counter: Make set_perf_counter_pending() declaration common\n\nAt present, every architecture that supports perf_counters has to\ndeclare set_perf_counter_pending() in its arch-specific headers.\nThis consolidates the declarations into a single declaration in one\ncommon place, include/linux/perf_counter.h.  On powerpc, we continue\nto provide a static inline definition of set_perf_counter_pending()\nin the powerpc hw_irq.h.\n\nAlso, this removes from the x86 perf_counter.h the unused null\ndefinitions of {test,clear}_perf_counter_pending.\n\nReported-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: benh@kernel.crashing.org\nLKML-Reference: \u003c18998.13388.920691.523227@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "09067207f6eacb7f00c8f7f0623c3696083ce042",
      "tree": "96a9901b6f7164b773c89c65326bbc39ce46fa2d",
      "parents": [
        "a8c485bb6857811807d42f9fd1fde2f5f89cc5c9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jun 15 16:06:48 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jun 15 16:06:48 2009 +0200"
      },
      "message": "amd-iommu: set event buffer head and tail to 0 manually\n\nThese registers may contain values from previous kernels. So reset them\nto known values before enable the event buffer again.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "74193ef0ecab92535c8517f082f1f50504526c9b",
      "tree": "532a763dabbd198c514707077aae4df4bb7de15e",
      "parents": [
        "3ff0141aa3a03ca3388b40b36167d0a37919f3fd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 13:07:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 15:57:53 2009 +0200"
      },
      "message": "perf_counter: x86: Fix call-chain support to use NMI-safe methods\n\n__copy_from_user_inatomic() isn\u0027t NMI safe in that it can trigger\nthe page fault handler which is another trap and its return path\ninvokes IRET which will also close the NMI context.\n\nTherefore use a GUP based approach to copy the stack frames over.\n\nWe tried an alternative solution as well: we used a forward ported\nversion of Mathieu Desnoyers\u0027s \"NMI safe INT3 and Page Fault\" patch\nthat modifies the exception return path to use an open-coded IRET with\nexplicit stack unrolling and TF checking.\n\nThis didnt work as it interacted with faulting user-space instructions,\ncausing them not to restart properly, which corrupts user-space\nregisters.\n\nSolving that would probably involve disassembling those instructions\nand backtracing the RIP. But even without that, the code was deemed\nrather complex to the already non-trivial x86 entry assembly code,\nso instead we went for this GUP based method that does a\nsoftware-walk of the pagetables.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ff0141aa3a03ca3388b40b36167d0a37919f3fd",
      "tree": "9101842f3cf1ca5f69857586bc6feb247ff6d494",
      "parents": [
        "465a454f254ee2ff7acc4aececbe31f8af046bc0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 12:40:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 15:57:52 2009 +0200"
      },
      "message": "x86: Add NMI types for kmap_atomic\n\nTwo new kmap_atomic slots for NMI context. And teach pte_offset_map()\nabout NMI context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "465a454f254ee2ff7acc4aececbe31f8af046bc0",
      "tree": "459a4ba588c9ccd2320e20d6f9ae66538f2ebfea",
      "parents": [
        "75f937f24bd9c003dcb9d7d5509f23459f1f6000"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 12:31:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 15:57:51 2009 +0200"
      },
      "message": "x86, mm: Add __get_user_pages_fast()\n\nIntroduce a gup_fast() variant which is usable from IRQ/NMI context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8c485bb6857811807d42f9fd1fde2f5f89cc5c9",
      "tree": "a87f877258454e5d48a39162d895a0fada250a36",
      "parents": [
        "42a49f965a8d24ed92af04f5b564d63f17fd9c56"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Mon Jun 15 15:53:45 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jun 15 15:53:45 2009 +0200"
      },
      "message": "amd-iommu: disable cmd buffer and evt logging before reprogramming iommu\n\nThe IOMMU spec states that IOMMU behavior may be undefined when the\nIOMMU registers are rewritten while command or event buffer is enabled.\nDisable them in IOMMU disable path.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "722f2a6c87f34ee0fd0130a8cf45f81e0705594a",
      "tree": "50b054df34d2731eb0ba0cf1a6c27e43e7eed428",
      "parents": [
        "7a0aeb14e18ad59394bd9bbc6e57fb345819e748",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into HEAD\n\nConflicts:\n\tMAINTAINERS\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "ac61a7579625ddfca3b2e0aa298879a94d15884d",
      "tree": "adb11c2513bfdb4825e1ac213f8116d7280ac4a9",
      "parents": [
        "eb63657e1314ae4af5e19a61db8dc1b6e935775a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Feb 27 11:35:55 2009 +0100"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:22 2009 +0200"
      },
      "message": "kmemcheck: add opcode self-testing at boot\n\nWe\u0027ve had some troubles in the past with weird instructions. This\npatch adds a self-test framework which can be used to verify that\na certain set of opcodes are decoded correctly. Of course, the\nopcodes which are not tested can still give the wrong results.\n\nIn short, this is just a safeguard to catch unintentional changes\nin the opcode decoder. It does not mean that errors can\u0027t still\noccur!\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "eb63657e1314ae4af5e19a61db8dc1b6e935775a",
      "tree": "569e6d7c374be632bd97c89131926629043402fa",
      "parents": [
        "9d31c5068b852deaf02ccfb4a1ed2b54f3b9358a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 13:05:56 2009 -0800"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:20 2009 +0200"
      },
      "message": "x86: unify pte_hidden\n\nUnify and demacro pte_hidden.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    }
  ],
  "next": "9d31c5068b852deaf02ccfb4a1ed2b54f3b9358a"
}
