)]}'
{
  "log": [
    {
      "commit": "e6f47f978bcd5413fff610613b18e9e0eab9bc1b",
      "tree": "bf9e698cb76a0e958a8c9157fba74fb6d8255298",
      "parents": [
        "3d5631e0631a11633c649bc995a6537ec21b67b4"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Mon Jun 26 00:25:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:22 2006 -0700"
      },
      "message": "[PATCH] Notify page fault call chain\n\nWith this patch Kprobes now registers for page fault notifications only when\ntheir is an active probe registered.  Once all the active probes are\nunregistered their is no need to be notified of page faults and kprobes\nunregisters itself from the page fault notifications.  Hence we will have ZERO\nside effects when no probes are active.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1bd858a507937cef6e8ca5efc6820a5744e73683",
      "tree": "2c935864cb3375c16aa7a2fd84d797aca78afd14",
      "parents": [
        "36721656776f177280ccb50477a02e86e6444292"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Mon Jun 26 00:25:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:22 2006 -0700"
      },
      "message": "[PATCH] Notify page fault call chain for x86_64\n\nCurrently in the do_page_fault() code path, we call notify_die(DIE_PAGE_FAULT,\n...) to notify the page fault.  Since notify_die() is highly overloaded, this\npage fault notification is currently being sent to all the components\nregistered with register_die_notification() which uses the same die_chain to\nloop for all the registered components which is unnecessary.\n\nIn order to optimize the do_page_fault() code path, this critical page fault\nnotification is now moved to different call chain and the test results showed\ngreat improvements.\n\nAnd the kprobes which is interested in this notifications, now registers onto\nthis new call chain only when it need to, i.e Kprobes now registers for page\nfault notification only when their are an active probes and unregisters from\nthis page fault notification when no probes are active.\n\nI have incorporated all the feedback given by Ananth and Keith and everyone,\nand thanks for all the review feedback.\n\nThis patch:\n\nOverloading of page fault notification with the notify_die() has performance\nissues(since the only interested components for page fault is kprobes and/or\nkdb) and hence this patch introduces the new notifier call chain exclusively\nfor page fault notifications their by avoiding notifying unnecessary\ncomponents in the do_page_fault() code path.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afedfd016a78ea1b678886ab6236acbc7650fcfb",
      "tree": "e507606f1f636d5557ca91305b2891070d75b3f1",
      "parents": [
        "51849738cf3af4d2c43a657e811a89e7f69eccc2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun Jun 25 05:47:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:00 2006 -0700"
      },
      "message": "[PATCH] random: remove SA_SAMPLE_RANDOM from floppy driver\n\nThe floppy driver is already calling add_disk_randomness as it should, so this\nwas redundant.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "37224470c8c6d90a4062e76a08d4dc1fcf91fc89",
      "tree": "627f537177bf8e951c12bec04c4a85f0125f5ece",
      "parents": [
        "e83319510b04dd51a60da8a0b4ccf8b92b3ab1ad",
        "ae6c859b7dcd708efadf1c76279c33db213e3506"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:52:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:52:36 2006 -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: (65 commits)\n  ACPI: suppress power button event on S3 resume\n  ACPI: resolve merge conflict between sem2mutex and processor_perflib.c\n  ACPI: use for_each_possible_cpu() instead of for_each_cpu()\n  ACPI: delete newly added debugging macros in processor_perflib.c\n  ACPI: UP build fix for bugzilla-5737\n  Enable P-state software coordination via _PDC\n  P-state software coordination for speedstep-centrino\n  P-state software coordination for acpi-cpufreq\n  P-state software coordination for ACPI core\n  ACPI: create acpi_thermal_resume()\n  ACPI: create acpi_fan_suspend()/acpi_fan_resume()\n  ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend()\n  ACPI: create acpi_device_suspend()/acpi_device_resume()\n  ACPI: replace spin_lock_irq with mutex for ec poll mode\n  ACPI: Allow a WAN module enable/disable on a Thinkpad X60.\n  sem2mutex: acpi, acpi_link_lock\n  ACPI: delete unused acpi_bus_drivers_lock\n  sem2mutex: drivers/acpi/processor_perflib.c\n  ACPI add ia64 exports to build acpi_memhotplug as a module\n  ACPI: asus_acpi_init(): propagate correct return value\n  ...\n\nManual resolve of conflicts in:\n\n\tarch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c\n\tarch/i386/kernel/cpu/cpufreq/speedstep-centrino.c\n\tinclude/acpi/processor.h\n"
    },
    {
      "commit": "b63d64a324056cf3c2f7a1a1fe8134100edbb058",
      "tree": "566cca52758aa05c4d2c6227f53e18b39e9f4fe3",
      "parents": [
        "742755a1d8ce2b548428f7aacf1758b4bba50080"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] sys_move_pages: x86_64 support\n\nsys_move_pages support for x86_64\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d501e62bc7796e90b0312648e23ac39490dfbf87",
      "tree": "fbeeb75898e9434c0c725738482b9e946f46d5bb",
      "parents": [
        "485bb99b49a173a22a0bbf4e189465414947ecac"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jun 23 02:03:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:52 2006 -0700"
      },
      "message": "[PATCH] Delete unused definitions of kvaddr_to_nid\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "762834e8bf46bf41ce9034d062a7c1f8563175f3",
      "tree": "fb134ef41772ba61050a08cc4ed92c50cd057658",
      "parents": [
        "d6277db4ab271862ed599da08d78961c70f00002"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:48 2006 -0700"
      },
      "message": "[PATCH] Unify pxm_to_node() and node_to_pxm()\n\nConsolidate the various arch-specific implementations of pxm_to_node() and\nnode_to_pxm() into a single generic version.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c763eb9ead86c612492b59287b36c0dcf7d09b1",
      "tree": "46497ff44bcf909517bffac70f0d6c7ad45ae1f0",
      "parents": [
        "dcc1a66a09420ccc5a22671bddc5a842f92d67e5",
        "cf34a8e07f02c76f3f1232eecb681301a3d7b10b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:07:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:07:59 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (27 commits)\n  [PATCH] PCI: nVidia quirk to make AER PCI-E extended capability visible\n  [PATCH] PCI: fix issues with extended conf space when MMCONFIG disabled because of e820\n  [PATCH] PCI: Bus Parity Status sysfs interface\n  [PATCH] PCI: fix memory leak in MMCONFIG error path\n  [PATCH] PCI: fix error with pci_get_device() call in the mpc85xx driver\n  [PATCH] PCI: MSI-K8T-Neo2-Fir: run only where needed\n  [PATCH] PCI: fix race with pci_walk_bus and pci_destroy_dev\n  [PATCH] PCI: clean up pci documentation to be more specific\n  [PATCH] PCI: remove unneeded msi code\n  [PATCH] PCI: don\u0027t move ioapics below PCI bridge\n  [PATCH] PCI: cleanup unused variable about msi driver\n  [PATCH] PCI: disable msi mode in pci_disable_device\n  [PATCH] PCI: Allow MSI to work on kexec kernel\n  [PATCH] PCI: AMD 8131 MSI quirk called too late, bus_flags not inherited ?\n  [PATCH] PCI: Move various PCI IDs to header file\n  [PATCH] PCI Bus Parity Status-broken hardware attribute, EDAC foundation\n  [PATCH] PCI: i386/x86_84: disable PCI resource decode on device disable\n  [PATCH] PCI ACPI: Rename the functions to avoid multiple instances.\n  [PATCH] PCI: don\u0027t enable device if already enabled\n  [PATCH] PCI: Add a \"enable\" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access\n  ...\n"
    },
    {
      "commit": "4f1bcaf094ccc512c23e10104c05a6f8e5b7a9e4",
      "tree": "883c6ece20a28f86eb73cd329bb9d4674b1e5480",
      "parents": [
        "d702ccb342e49f7591df5a87c3857c698183b0fa"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Jun 22 14:47:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:58 2006 -0700"
      },
      "message": "[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use\n\nVGA_MAP_MEM translates to ioremap() on some architectures.  It makes sense\nto do this to vga_vram_base, because we\u0027re going to access memory between\nvga_vram_base and vga_vram_end.\n\nBut it doesn\u0027t really make sense to map starting at vga_vram_end, because\nwe aren\u0027t going to access memory starting there.  On ia64, which always has\nto be different, ioremapping vga_vram_end gives you something completely\nincompatible with ioremapped vga_vram_start, so vga_vram_size ends up being\nnonsense.\n\nAs a bonus, we often know the size up front, so we can use ioremap()\ncorrectly, rather than giving it a zero size.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b209a6ee49099b7500abf024f7b6b9648b5a3eac",
      "tree": "6e6c614ae010aa92e9ded5e55c3a913f3c6c9dd3",
      "parents": [
        "99dc804d9bcc2c53f4c20c291bf4e185312a1a0c"
      ],
      "author": {
        "name": "bibo,mao",
        "email": "bibo.mao@intel.com",
        "time": "Wed May 31 18:17:33 2006 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:00:00 2006 -0700"
      },
      "message": "[PATCH] PCI: cleanup unused variable about msi driver\n\nIn IA64 platform, msi driver does not use irq_vector variable, and in\nx86 platform LAST_DEVICE_VECTOR should one before FIRST_SYSTEM_VECTOR,\nthis patch modify this.\n\nSigned-off-by: bibo, mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd58e55fcf5568e51da2ed54d7acd049c3fdb184",
      "tree": "2cf41864d66b8db39f637549d4652c7664256155",
      "parents": [
        "c34b4c734482dda750deb6089521f7c891b48736"
      ],
      "author": {
        "name": "Mark Maule",
        "email": "maule@sgi.com",
        "time": "Mon Apr 10 21:17:48 2006 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 11:59:58 2006 -0700"
      },
      "message": "[PATCH] PCI: msi abstractions and support for altix\n\nAbstract portions of the MSI core for platforms that do not use standard\nAPIC interrupt controllers.  This is implemented through a new arch-specific\nmsi setup routine, and a set of msi ops which can be set on a per platform\nbasis.\n\nSigned-off-by: Mark Maule \u003cmaule@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "3e8e7c93d7eb091463839b5212789c4aae09459e",
      "tree": "697a04ce1202b8d8ff398b96944be844329b713c",
      "parents": [
        "36a557d1f48669c57f59e37d9334400a29e4e53c",
        "ffd642e748c867a7339b57225b8bf8b9a0dcd9c5"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 15 15:41:53 2006 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 15 15:41:53 2006 -0400"
      },
      "message": "Pull bugzilla-5653 into release branch\n"
    },
    {
      "commit": "63518472c05a351d779f35803e6ccfb361ae630a",
      "tree": "d3668e960f945a7a1204cfb839bc8aaabcdf2341",
      "parents": [
        "e44e20ff1273cf96c7f195297208f654c49295cf",
        "e6f1f3c54974a30c65ea0b699809d12f0aa04272"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 15 15:37:09 2006 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 15 15:37:09 2006 -0400"
      },
      "message": "Pull trivial1 into release branch\n"
    },
    {
      "commit": "6ae53cd496d36db5f25e6f84b8b9fe7e675999a1",
      "tree": "298b1b2c498c5d8e95954809b9bd3890a92ac0fb",
      "parents": [
        "3793c65c13e4751c7a10f98198bae1758453eb0e"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue May 30 22:47:45 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue May 30 20:31:05 2006 -0700"
      },
      "message": "[PATCH] x86_64: Fix stack/mmap randomization for compat tasks\n\nia32_setup_arg_pages would ignore the passed in random stack top\nand use its own static value.\n\nNow it uses the 8bit of randomness native i386 would use too.\n\nThis indirectly fixes mmap randomization for 32bit processes too,\nwhich depends on the stack randomization.\n\nShould also give slightly better virtual cache colouring and\npossibly better performance with HyperThreading.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66643de455c27973ac31ad6de9f859d399916842",
      "tree": "7ebed7f051879007d4b11d6aaa9e65a1bcb0b08f",
      "parents": [
        "2c23d62abb820e19c54012520f08a198c2233a85",
        "387e2b0439026aa738a9edca15a57e5c0bcb4dfc"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tinclude/asm-powerpc/unistd.h\n\tinclude/asm-sparc/unistd.h\n\tinclude/asm-sparc64/unistd.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "2c23d62abb820e19c54012520f08a198c2233a85",
      "tree": "1b7646fe81694041f7e364d2a15644ad56b7063b",
      "parents": [
        "3ac6c7b44560fdf2ea8865536bd52d4ff038107e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 22:51:13 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 22:51:13 2006 +0100"
      },
      "message": "Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ac71d12c990526b01ef6cfe50907ef8530a30331",
      "tree": "30d00436366c107eeac83e1af12b3e09a41e7607",
      "parents": [
        "8b1ffe9550e71224c43d8c754245bd76f4ea9bb8"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon May 08 15:17:28 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 08 09:34:56 2006 -0700"
      },
      "message": "[PATCH] x86_64: Avoid EBDA area in early boot allocator\n\nBased on analysis\u0026patch from Robert Hentosch\n\nObserved on a Dell PE6850 with 16GB\n\nThe problem occurs very early on, when the kernel allocates space for the\ntemporary memory map called bootmap. The bootmap overlaps the EBDA region.\nEBDA region is not historically reserved in the e820 mapping. When the\nbootmap is freed it marks the EBDA region as usable.\n\nIf you notice in setup.c there is already code to work around the EBDA\nin reserve_ebda_region(), this check however occurs after the bootmap\nis allocated and doesn\u0027t prevent the bootmap from using this range.\n\nAK: I redid the original patch. Thanks also to Jan Beulich for\nspotting some mistakes.\n\nCc: Robert_Hentosch@dell.com\nCc: jbeulich@novell.com\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0c1e9bf81badc7ba59e120d6218101903d5d103",
      "tree": "78f53a42795c935ff7a212d479c3fc00f0357ea3",
      "parents": [
        "abfd3057187812352cd8502c29ca50cd010b3ccc"
      ],
      "author": {
        "name": "Kimball Murray",
        "email": "kimball.murray@gmail.com",
        "time": "Mon May 08 15:17:16 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 08 09:34:56 2006 -0700"
      },
      "message": "[PATCH] x86_64: avoid IRQ0 ioapic pin collision\n\nThe patch addresses a problem with ACPI SCI interrupt entry, which gets\nre-used, and the IRQ is assigned to another unrelated device.  The patch\ncorrects the code such that SCI IRQ is skipped and duplicate entry is\navoided.  Second issue came up with VIA chipset, the problem was caused by\noriginal patch assigning IRQs starting 16 and up.  The VIA chipset uses\n4-bit IRQ register for internal interrupt routing, and therefore cannot\nhandle IRQ numbers assigned to its devices.  The patch corrects this\nproblem by allowing PCI IRQs below 16.\n\nCc: len.brown@intel.com\n\nSigned-off by: Natalie Protasevich \u003cNatalie.Protasevich@unisys.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "56142536868a2be34f261ed8fdca1610f8a73fbd",
      "tree": "0bd66166b318d8403b1881285f6813ece2acced1",
      "parents": [
        "34c278d3913a15b64943e8c40a16b4f732cc7c59"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Apr 29 01:51:47 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 29 01:51:47 2006 +0100"
      },
      "message": "Remove unneeded _syscallX macros from user view in asm-*/unistd.h\n\nThese aren\u0027t needed by glibc or klibc, and they\u0027re broken in some cases\nanyway. The uClibc folks are apparently switching over to stop using\nthem too (now that we agreed that they should be dropped, at least).\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "d6754b401a15eaa16492ea5dbaa4826361d3f411",
      "tree": "032f067d3af458527d903a7653885404ed82431e",
      "parents": [
        "acc429a517bd11fdcac9bea97d082d26231beb92",
        "693f7d362055261882659475d2ef022e32edbff1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Apr 29 01:42:26 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 29 01:42:26 2006 +0100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "cd469e0cc67b74ba41daec335ea72baedb750b80",
      "tree": "8054cc6b13f48785165af1485a873dd3e33d4ca6",
      "parents": [
        "ad1588798620901c12ba86c71865150a4eb727bf"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 27 15:48:08 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 27 15:48:08 2006 +0100"
      },
      "message": "Exclude asm-generic/{page,memory_model}.h from user bits of i386/x86_64 page.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "912d35f86781e64d73be1ef358f703c08905ac37",
      "tree": "5863ad70f5cdccba0c1cd28f83d173deaf71fb83",
      "parents": [
        "016b661e2f717168e600f3c85f29e1a49f88e004"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 10:59:21 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 10:59:21 2006 +0200"
      },
      "message": "[PATCH] Add support for the sys_vmsplice syscall\n\nsys_splice() moves data to/from pipes with a file input/output. sys_vmsplice()\nmoves data to a pipe, with the input being a user address range instead.\n\nThis uses an approach suggested by Linus, where we can hold partial ranges\ninside the pages[] map. Hopefully this will be useful for network\nreceive support as well.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "0b699e36b2d43c1b4288992683e5913d347b5b78",
      "tree": "1ed44a6e82f71e596a0a7de75aefbbbdd904534e",
      "parents": [
        "18bd057b1408cd110ed23281533430cfc2d52091"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 20 02:36:48 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Apr 20 07:58:11 2006 -0700"
      },
      "message": "[PATCH] x86_64: bring back __read_mostly support to linux-2.6.17-rc2\n\nIt seems latest kernel has a wrong/missing __read_mostly implementation\nfor x86_64\n\n__read_mostly macro should be declared outside of #if CONFIG_X86_VSMP block\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18bd057b1408cd110ed23281533430cfc2d52091",
      "tree": "09d8c44ebdb45763173fe54f6962921f4268cf9f",
      "parents": [
        "5dc5cf7dd2723430b6df3d91c5b22af49e063622"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Apr 20 02:36:45 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Apr 20 07:58:11 2006 -0700"
      },
      "message": "[PATCH] i386/x86-64: Fix x87 information leak between processes\n\nAMD K7/K8 CPUs only save/restore the FOP/FIP/FDP x87 registers in FXSAVE\nwhen an exception is pending.  This means the value leak through\ncontext switches and allow processes to observe some x87 instruction\nstate of other processes.\n\nThis was actually documented by AMD, but nobody recognized it as\nbeing different from Intel before.\n\nThe fix first adds an optimization: instead of unconditionally\ncalling FNCLEX after each FXSAVE test if ES is pending and skip\nit when not needed. Then do a x87 load from a kernel variable to\nclear FOP/FIP/FDP.\n\nThis means other processes always will only see a constant value\ndefined by the kernel in their FP state.\n\nI took some pain to make sure to chose a variable that\u0027s already\nin L1 during context switch to make the overhead of this low.\n\nAlso alternative() is used to patch away the new code on CPUs\nwho don\u0027t need it.\n\nPatch for both i386/x86-64.\n\nThe problem was discovered originally by Jan Beulich. Richard\nBrunner provided the basic code for the workarounds, with contribution\nfrom Jan.\n\nThis is CVE-2006-1056\n\nCc: richard.brunner@amd.com\nCc: jbeulich@novell.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676ff453e58c5ff7ddbfebf5a11142e3e4add161",
      "tree": "73dd2d5fa0baa38be1357947b0a90b013b14115f",
      "parents": [
        "5e85d4abe3f43bb5362f384bab0e20ef082ce0b5"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 18 22:20:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:49 2006 -0700"
      },
      "message": "[PATCH] for_each_possible_cpu: x86_64\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had\nmistakes in the past where people were using for_each_cpu() where they\nshould have been iterating across only online or present CPUs.  This is\ninefficient and possibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this\nin the future.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1233ab2cebb22a98df55de206a33a6693e3a78b",
      "tree": "0f5a5dd65e8e91273f1118d3d54d3517964768a3",
      "parents": [
        "6fa679fdea22cd96287d4aa11ee771bcd46c6dfb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Apr 18 12:35:19 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 18 10:39:20 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add tee and sync_file_range\n\ntee was already there for some reason for native 64bit, but\nsys_sync_file_range was missing. Also add it to the compat layer.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fa679fdea22cd96287d4aa11ee771bcd46c6dfb",
      "tree": "42c96f5178c7c15ad4032918375ad097cf8ea0a1",
      "parents": [
        "8bcc5280e68878d2b989c91d98305109e391c86a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Apr 18 12:35:16 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 18 10:39:19 2006 -0700"
      },
      "message": "[PATCH] x86_64: Increase NUMA hash function nodemap\n\nNeeded for some big Opteron systems to compute a numa hash function\nThey have more than 12 bits significant address.\n\nTBD switch this over to dynamic allocation or use better hash\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70524490ee2ea1bbf6cee6c106597b3ac25a3fc2",
      "tree": "c61dd500035bc3e0dea364777de1b7a58b41a75c",
      "parents": [
        "cbb7e577e732f576b9f399bc2600bdc0626c68dc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 15:51:17 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 15:51:17 2006 +0200"
      },
      "message": "[PATCH] splice: add support for sys_tee()\n\nBasically an in-kernel implementation of tee, which uses splice and the\npipe buffers as an intelligent way to pass data around by reference.\n\nWhere the user space tee consumes the input and produces a stdout and\nfile output, this syscall merely duplicates the data inside a pipe to\nanother pipe. No data is copied, the output just grabs a reference to the\ninput pipe data.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cde227afe6b997dce08bcfc2aa6e373fb56857b0",
      "tree": "45b0bc04f54a830d0c3cd3a5afb46fcf7679a4dc",
      "parents": [
        "44b940c299dfaaf25b7aad683ff55cb213502ddd"
      ],
      "author": {
        "name": "mao, bibo",
        "email": "bibo.mao@intel.com",
        "time": "Tue Apr 11 12:54:54 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:38:57 2006 -0700"
      },
      "message": "[PATCH] x86_64: inline function prefix with __always_inline in vsyscall\n\nIn vsyscall function do_vgettimeofday(), some functions are declared as\ninlined, which is a hint for gcc to compile the function inlined but it\nnot forced.  Sometimes compiler does not compile the function as\ninlined, so here inline is replaced by __always_inline prefix.\n\nIt does not happen in gcc compiler actually, but it possibly happens.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4cff6ac78e9c3bbb90c0e01b20418eeae0c6b52",
      "tree": "8238a3c16227089250de19a6ab0fc0a8ec939b36",
      "parents": [
        "97a4d00388db4f0bfa37425b31d7d9751ea649db"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Apr 11 12:54:42 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:38:57 2006 -0700"
      },
      "message": "[PATCH] x86_64: fix sync before RDTSC on Intel cpus\n\nCommit c818a18146997d1356a4840b0c01f1168c16c8a4 didn\u0027t do the expected\nthing.  This fix will remove the additional sync(cpuid) before RDTSC on\nIntel platforms..\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c80d79d746cc48bd94b0ce4f6d4f3c90cd403aaf",
      "tree": "5aa8d1590d95f8fd820ad797fe03a063b592e9bf",
      "parents": [
        "653edba1a8b2ed018bdfb078131324dfbfe1dd6a"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 10 22:53:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:39 2006 -0700"
      },
      "message": "[PATCH] Configurable NODES_SHIFT\n\nCurrent implementations define NODES_SHIFT in include/asm-xxx/numnodes.h for\neach arch.  Its definition is sometimes configurable.  Indeed, ia64 defines 5\nNODES_SHIFT values in the current git tree.  But it looks a bit messy.\n\nSGI-SN2(ia64) system requires 1024 nodes, and the number of nodes already has\nbeen changeable by config.  Suitable node\u0027s number may be changed in the\nfuture even if it is other architecture.  So, I wrote configurable node\u0027s\nnumber.\n\nThis patch set defines just default value for each arch which needs multi\nnodes except ia64.  But, it is easy to change to configurable if necessary.\n\nOn ia64 the number of nodes can be already configured in generic ia64 and SN2\nconfig.  But, NODES_SHIFT is defined for DIG64 and HP\u0027S machine too.  So, I\nchanged it so that all platforms can be configured via CONFIG_NODES_SHIFT.  It\nwould be simpler.\n\nSee also: http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114358010523896\u0026w\u003d2\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67d53ea5a3d42aadeb1584e757ca4660c0e8a810",
      "tree": "054906bb672c6faad287ede5b34c53d56afdc629",
      "parents": [
        "bbd3aff89d4b34ef17a748e4c001ecc5b43e3e55"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:50:31 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:53 2006 -0700"
      },
      "message": "[PATCH] x86_64: Eliminate IA32_NR_syscalls define\n\nOr rather compute it based on the table length automatically.\n\nThis also has the intended side effect of not warning for new system calls\nanymore.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bbd3aff89d4b34ef17a748e4c001ecc5b43e3e55",
      "tree": "26e9521b03e9cff515a96774cf3ac67c9b612bce",
      "parents": [
        "97c2803c9c694cafbd9f5e43a25903e0abf25188"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Apr 07 19:50:28 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:53 2006 -0700"
      },
      "message": "[PATCH] x86_64: fix CONFIG_REORDER\n\nFix CONFIG_REORDER.\n\nThe value of cflags-y was assined to CFLAGS before cflags-y was assigned\nthe value used for CONFIG_REORDER.\n\nUse cflags-y for all CFLAGS options in the Makefile to avoid this\nhappening again.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b20367a6c2a0cd937cb1f0a8cf848f1402fef99c",
      "tree": "8624096baed40f8f89e757b2d170a7b4d1844575",
      "parents": [
        "49c93e84d8b2d602a07c302c7e3cd4fa09095fbb"
      ],
      "author": {
        "name": "Jordan Hargrave",
        "email": "jordan_hargrave@dell.com",
        "time": "Fri Apr 07 19:50:18 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:53 2006 -0700"
      },
      "message": "[PATCH] x86_64: Fix drift with HPET timer enabled\n\nIf the HPET timer is enabled, the clock can drift by ~3 seconds a day.\nThis is due to the HPET timer not being initialized with the correct\nsetting (still using PIT count).\n\nIf HZ changes, this drift can become even more pronounced.\n\nHPET patch initializes tick_nsec with correct tick_nsec settings for\nHPET timer.\n\nVojtech comments:\n\n  \"It\u0027s not entirely correct (it assumes the HPET ticks totally\n   exactly), but it\u0027s significantly better than assuming the PIT error\n   there.\"\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "553f265fe883a23502ee351845f09334790f18b8",
      "tree": "1fd60e72d7d5cbed34812eb6763899d2bd37c152",
      "parents": [
        "be56db6186999a8571ae480cf2b929578f6dfd68"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:57 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:52 2006 -0700"
      },
      "message": "[PATCH] x86_64: Don\u0027t run NMI watchdog during machine checks\n\nMachine checks can stall the machine for a long time and\nit\u0027s not good to trigger the nmi watchdog during that.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be56db6186999a8571ae480cf2b929578f6dfd68",
      "tree": "df0760d15a76b9615c02f37ad5941fd5b52c5658",
      "parents": [
        "4211a30349e8d2b724cfb4ce2584604f5e59c299"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Apr 07 19:49:54 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:51 2006 -0700"
      },
      "message": "[PATCH] x86_64: extra NODES_SHIFT definition\n\nThe generic linux/numa.h file defines NODES_SHIFT to 0 in case\nthe architecture did not.\n\nEvery architecture which has a NUMA config option defines\nNODES_SHIFT in its asm-$ARCH headers, but only if NUMA is\nenabled, except for x86_64.\n\nThis should make it like all the rest.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "952223683ec989e86328c24808fdb962c4dbeb0a",
      "tree": "0c7473d4469cba883bf880bbaa04900960806742",
      "parents": [
        "eee5a9fa63c97366cdea6ab3aa2ed9e3601812d0"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Apr 07 19:49:27 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:50 2006 -0700"
      },
      "message": "[PATCH] x86_64: Introduce e820_all_mapped\n\nIntroduce a e820_all_mapped() function which checks if the entire range\n\u003cstart,end\u003e is mapped with type.\n\nThis is done by moving the local start variable to the end of each\nknown-good region; if at the end of the function the start address is\nstill before end, there must be a part that\u0027s not of the correct type;\notherwise it\u0027s a good region.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eee5a9fa63c97366cdea6ab3aa2ed9e3601812d0",
      "tree": "b01876c5417f52173e9ab3d76c124df2042c9f62",
      "parents": [
        "a8062231d80239cf3405982858c02aea21a6066a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Apr 07 19:49:24 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:17 2006 -0700"
      },
      "message": "[PATCH] x86_64: Rename e820_mapped to e820_any_mapped\n\nRename e820_mapped to e820_any_mapped since it tests if any part of the\nrange is mapped according to the type.\n\nLater steps will introduce e820_all_mapped which will check if the\nentire range is mapped with the type.  Both have their merit.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68a3a7feb08f960095072f28ec20f7900793c506",
      "tree": "1d458822fd4414997b6f12ad8a915f785d7e730f",
      "parents": [
        "9d99aaa31f5994d1923c3713ce9144c4c42332e1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:18 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Reserve SRAT hotadd memory on x86-64\n\nFrom: Keith Mannthey, Andi Kleen\n\nImplement memory hotadd without sparsemem. The memory in the SRAT\nhotadd area is just preserved instead and can be activated later.\n\nThere are a few restrictions:\n- Only one continuous hotadd area allowed per node\n\nThe main problem is dealing with the many buggy SRAT tables\nthat are out there. The strategy here is to reject anything\nsuspicious.\n\nOriginally from Keith Mannthey, with several hacks and changes by AK\nand also contributions from Andrew Morton\n\n[ TBD: Problems pointed out by KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e:\n\n 1) Goto\u0027s rebuild_zonelist patch will not work if CONFIG_MEMORY_HOTPLUG\u003dn.\n\n    Rebuilding zonelist is necessary when the system has just memory \u003c\n    4G at boot, and hot add memory \u003e 4G.  because x86_64 has DMA32,\n    ZONE_NORAML is not included into zonelist at boot time if system\n    doesn\u0027t have memory \u003e4G at boot.\n\n    [AK: should just force the higher zones at boot time when SRAT tells us]\n\n 2) zone and node\u0027s spanned_pages and present_pages are not incremented.\n    They should be.\n\n    For example, our server (ia64/Fujitsu PrimeQuest) can equip memory\n    from 4G to 1T(maybe 2T in future), and SRAT will *always* say we have\n    possible 1T +memory.  (Microsoft requires \"write all possible memory\n    in SRAT\") When we reserve memmap for possible 1T memory, Linux will\n    not work well in +minimum 4G configuraion ;)\n\n    [AK: needs limiting to 5-10% of max memory]\n ]\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c12ea918ee175ceb3a258cd81f1c43e897d0c0bc",
      "tree": "faa804c30ab12a6e1aa73b9ec7c1aaf8628d6eaf",
      "parents": [
        "df42baa0d8e54df18dd9366dd7c93d6be7d5d063"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Tue Mar 28 17:04:00 2006 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Apr 01 22:50:03 2006 -0500"
      },
      "message": "x86_64: Remove stale lapic definition from apicdef.h \n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2cf8d82d63807c2c68adf20bb28bf502496186dd",
      "tree": "13cafaa87dafa639f3876bcda6d302266a349c88",
      "parents": [
        "09ce3512dcad0ad1d07eee0dc5ebb6d037c39c16"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:55 2006 -0800"
      },
      "message": "[PATCH] make local_t signed\n\nlocal_t\u0027s were defined to be unsigned.  This increases confusion because\natomic_t\u0027s are signed.  The patch goes through and changes all implementations\nto use signed longs throughout.\n\nAlso, x86-64 was using 32-bit quantities for the value passed into local_add()\nand local_sub().  Fixed.\n\nAll (actually, both) existing users have been audited.\n\n(Also s/__inline__/inline/ in x86_64/local.h)\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5274f052e7b3dbd81935772eb551dfd0325dfa9d",
      "tree": "c79f813ec513660edb6f1e4a75cb366c6b84f53f",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:15:30 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] Introduce sys_splice() system call\n\nThis adds support for the sys_splice system call. Using a pipe as a\ntransport, it can connect to files or sockets (latter as output only).\n\nFrom the splice.c comments:\n\n   \"splice\": joining two ropes together by interweaving their strands.\n\n   This is the \"extended pipe\" functionality, where a pipe is used as\n   an arbitrary in-memory buffer. Think of a pipe as a small kernel\n   buffer that you can use to transfer data from one end to the other.\n\n   The traditional unix read/write is extended with a \"splice()\" operation\n   that transfers data buffers to or from a pipe buffer.\n\n   Named by Larry McVoy, original implementation from Linus, extended by\n   Jens to support splicing to files and fixing the initial implementation\n   bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f45e4656ac0609437267b242953c07d523649f8d",
      "tree": "bd70b8ae51d2a29c435a6567852f32badafb2720",
      "parents": [
        "50fc9999ec27ad66ce6db31ebb03759f77962bc1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 28 01:56:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl\n\nNowadays, even Debian stable ships a microcode_ctl utility recent enough to no\nlonger use this ioctl.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Tigran Aivazian \u003ctigran_aivazian@symantec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f17d3a5049d32392b79925c73a0cf99ce6d5af0",
      "tree": "3c2aa0cbe337684d353dd2cfb0c177b4ae15217c",
      "parents": [
        "8fdd6c6df7889dc89df3d9fe0f5bbe6733e39f48"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes updates\n\n- fix: initialize the robust list(s) to NULL in copy_process.\n\n- doc update\n\n- cleanup: rename _inuser to _inatomic\n\n- __user cleanups and other small cleanups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fdd6c6df7889dc89df3d9fe0f5bbe6733e39f48",
      "tree": "e037a0eb7214818ad4ef177c618ef1e302c2aed9",
      "parents": [
        "dfd4e3ec246355274c9cf62c6b04a1ee6fa3caba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: x86_64\n\nx86_64: add the futex_atomic_cmpxchg_inuser() assembly implementation, and\nwire up the new syscalls.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9056f13bfcdd054a0c3d730e4e096748d8a363a",
      "tree": "876d70d99cb679f7c4cbf6609d6341cadfb5c57e",
      "parents": [
        "62ac285f3c701f0457a15fe01baa64a965c4f5f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: arch defaults\n\nThis patchset provides a new (written from scratch) implementation of robust\nfutexes, called \"lightweight robust futexes\".  We believe this new\nimplementation is faster and simpler than the vma-based robust futex solutions\npresented before, and we\u0027d like this patchset to be adopted in the upstream\nkernel.  This is version 1 of the patchset.\n\n  Background\n  ----------\n\nWhat are robust futexes?  To answer that, we first need to understand what\nfutexes are: normal futexes are special types of locks that in the\nnoncontended case can be acquired/released from userspace without having to\nenter the kernel.\n\nA futex is in essence a user-space address, e.g.  a 32-bit lock variable\nfield.  If userspace notices contention (the lock is already owned and someone\nelse wants to grab it too) then the lock is marked with a value that says\n\"there\u0027s a waiter pending\", and the sys_futex(FUTEX_WAIT) syscall is used to\nwait for the other guy to release it.  The kernel creates a \u0027futex queue\u0027\ninternally, so that it can later on match up the waiter with the waker -\nwithout them having to know about each other.  When the owner thread releases\nthe futex, it notices (via the variable value) that there were waiter(s)\npending, and does the sys_futex(FUTEX_WAKE) syscall to wake them up.  Once all\nwaiters have taken and released the lock, the futex is again back to\n\u0027uncontended\u0027 state, and there\u0027s no in-kernel state associated with it.  The\nkernel completely forgets that there ever was a futex at that address.  This\nmethod makes futexes very lightweight and scalable.\n\n\"Robustness\" is about dealing with crashes while holding a lock: if a process\nexits prematurely while holding a pthread_mutex_t lock that is also shared\nwith some other process (e.g.  yum segfaults while holding a pthread_mutex_t,\nor yum is kill -9-ed), then waiters for that lock need to be notified that the\nlast owner of the lock exited in some irregular way.\n\nTo solve such types of problems, \"robust mutex\" userspace APIs were created:\npthread_mutex_lock() returns an error value if the owner exits prematurely -\nand the new owner can decide whether the data protected by the lock can be\nrecovered safely.\n\nThere is a big conceptual problem with futex based mutexes though: it is the\nkernel that destroys the owner task (e.g.  due to a SEGFAULT), but the kernel\ncannot help with the cleanup: if there is no \u0027futex queue\u0027 (and in most cases\nthere is none, futexes being fast lightweight locks) then the kernel has no\ninformation to clean up after the held lock!  Userspace has no chance to clean\nup after the lock either - userspace is the one that crashes, so it has no\nopportunity to clean up.  Catch-22.\n\nIn practice, when e.g.  yum is kill -9-ed (or segfaults), a system reboot is\nneeded to release that futex based lock.  This is one of the leading\nbugreports against yum.\n\nTo solve this problem, \u0027Robust Futex\u0027 patches were created and presented on\nlkml: the one written by Todd Kneisel and David Singleton is the most advanced\nat the moment.  These patches all tried to extend the futex abstraction by\nregistering futex-based locks in the kernel - and thus give the kernel a\nchance to clean up.\n\nE.g.  in David Singleton\u0027s robust-futex-6.patch, there are 3 new syscall\nvariants to sys_futex(): FUTEX_REGISTER, FUTEX_DEREGISTER and FUTEX_RECOVER.\nThe kernel attaches such robust futexes to vmas (via\nvma-\u003evm_file-\u003ef_mapping-\u003erobust_head), and at do_exit() time, all vmas are\nsearched to see whether they have a robust_head set.\n\nLots of work went into the vma-based robust-futex patch, and recently it has\nimproved significantly, but unfortunately it still has two fundamental\nproblems left:\n\n - they have quite complex locking and race scenarios.  The vma-based\n   patches had been pending for years, but they are still not completely\n   reliable.\n\n - they have to scan _every_ vma at sys_exit() time, per thread!\n\nThe second disadvantage is a real killer: pthread_exit() takes around 1\nmicrosecond on Linux, but with thousands (or tens of thousands) of vmas every\npthread_exit() takes a millisecond or more, also totally destroying the CPU\u0027s\nL1 and L2 caches!\n\nThis is very much noticeable even for normal process sys_exit_group() calls:\nthe kernel has to do the vma scanning unconditionally!  (this is because the\nkernel has no knowledge about how many robust futexes there are to be cleaned\nup, because a robust futex might have been registered in another task, and the\nfutex variable might have been simply mmap()-ed into this process\u0027s address\nspace).\n\nThis huge overhead forced the creation of CONFIG_FUTEX_ROBUST, but worse than\nthat: the overhead makes robust futexes impractical for any type of generic\nLinux distribution.\n\nSo it became clear to us, something had to be done.  Last week, when Thomas\nGleixner tried to fix up the vma-based robust futex patch in the -rt tree, he\nfound a handful of new races and we were talking about it and were analyzing\nthe situation.  At that point a fundamentally different solution occured to\nme.  This patchset (written in the past couple of days) implements that new\nsolution.  Be warned though - the patchset does things we normally dont do in\nLinux, so some might find the approach disturbing.  Parental advice\nrecommended ;-)\n\n  New approach to robust futexes\n  ------------------------------\n\nAt the heart of this new approach there is a per-thread private list of robust\nlocks that userspace is holding (maintained by glibc) - which userspace list\nis registered with the kernel via a new syscall [this registration happens at\nmost once per thread lifetime].  At do_exit() time, the kernel checks this\nuser-space list: are there any robust futex locks to be cleaned up?\n\nIn the common case, at do_exit() time, there is no list registered, so the\ncost of robust futexes is just a simple current-\u003erobust_list !\u003d NULL\ncomparison.  If the thread has registered a list, then normally the list is\nempty.  If the thread/process crashed or terminated in some incorrect way then\nthe list might be non-empty: in this case the kernel carefully walks the list\n[not trusting it], and marks all locks that are owned by this thread with the\nFUTEX_OWNER_DEAD bit, and wakes up one waiter (if any).\n\nThe list is guaranteed to be private and per-thread, so it\u0027s lockless.  There\nis one race possible though: since adding to and removing from the list is\ndone after the futex is acquired by glibc, there is a few instructions window\nfor the thread (or process) to die there, leaving the futex hung.  To protect\nagainst this possibility, userspace (glibc) also maintains a simple per-thread\n\u0027list_op_pending\u0027 field, to allow the kernel to clean up if the thread dies\nafter acquiring the lock, but just before it could have added itself to the\nlist.  Glibc sets this list_op_pending field before it tries to acquire the\nfutex, and clears it after the list-add (or list-remove) has finished.\n\nThat\u0027s all that is needed - all the rest of robust-futex cleanup is done in\nuserspace [just like with the previous patches].\n\nUlrich Drepper has implemented the necessary glibc support for this new\nmechanism, which fully enables robust mutexes.  (Ulrich plans to commit these\nchanges to glibc-HEAD later today.)\n\nKey differences of this userspace-list based approach, compared to the vma\nbased method:\n\n - it\u0027s much, much faster: at thread exit time, there\u0027s no need to loop\n   over every vma (!), which the VM-based method has to do.  Only a very\n   simple \u0027is the list empty\u0027 op is done.\n\n - no VM changes are needed - \u0027struct address_space\u0027 is left alone.\n\n - no registration of individual locks is needed: robust mutexes dont need\n   any extra per-lock syscalls.  Robust mutexes thus become a very lightweight\n   primitive - so they dont force the application designer to do a hard choice\n   between performance and robustness - robust mutexes are just as fast.\n\n - no per-lock kernel allocation happens.\n\n - no resource limits are needed.\n\n - no kernel-space recovery call (FUTEX_RECOVER) is needed.\n\n - the implementation and the locking is \"obvious\", and there are no\n   interactions with the VM.\n\n  Performance\n  -----------\n\nI have benchmarked the time needed for the kernel to process a list of 1\nmillion (!) held locks, using the new method [on a 2GHz CPU]:\n\n - with FUTEX_WAIT set [contended mutex]: 130 msecs\n - without FUTEX_WAIT set [uncontended mutex]: 30 msecs\n\nI have also measured an approach where glibc does the lock notification [which\nit currently does for !pshared robust mutexes], and that took 256 msecs -\nclearly slower, due to the 1 million FUTEX_WAKE syscalls userspace had to do.\n\n(1 million held locks are unheard of - we expect at most a handful of locks to\nbe held at a time.  Nevertheless it\u0027s nice to know that this approach scales\nnicely.)\n\n  Implementation details\n  ----------------------\n\nThe patch adds two new syscalls: one to register the userspace list, and one\nto query the registered list pointer:\n\n asmlinkage long\n sys_set_robust_list(struct robust_list_head __user *head,\n                     size_t len);\n\n asmlinkage long\n sys_get_robust_list(int pid, struct robust_list_head __user **head_ptr,\n                     size_t __user *len_ptr);\n\nList registration is very fast: the pointer is simply stored in\ncurrent-\u003erobust_list.  [Note that in the future, if robust futexes become\nwidespread, we could extend sys_clone() to register a robust-list head for new\nthreads, without the need of another syscall.]\n\nSo there is virtually zero overhead for tasks not using robust futexes, and\neven for robust futex users, there is only one extra syscall per thread\nlifetime, and the cleanup operation, if it happens, is fast and\nstraightforward.  The kernel doesnt have any internal distinction between\nrobust and normal futexes.\n\nIf a futex is found to be held at exit time, the kernel sets the highest bit\nof the futex word:\n\n\t#define FUTEX_OWNER_DIED        0x40000000\n\nand wakes up the next futex waiter (if any). User-space does the rest of\nthe cleanup.\n\nOtherwise, robust futexes are acquired by glibc by putting the TID into the\nfutex field atomically.  Waiters set the FUTEX_WAITERS bit:\n\n\t#define FUTEX_WAITERS           0x80000000\n\nand the remaining bits are for the TID.\n\n  Testing, architecture support\n  -----------------------------\n\nI\u0027ve tested the new syscalls on x86 and x86_64, and have made sure the parsing\nof the userspace list is robust [ ;-) ] even if the list is deliberately\ncorrupted.\n\ni386 and x86_64 syscalls are wired up at the moment, and Ulrich has tested the\nnew glibc code (on x86_64 and i386), and it works for his robust-mutex\ntestcases.\n\nAll other architectures should build just fine too - but they wont have the\nnew syscalls yet.\n\nArchitectures need to implement the new futex_atomic_cmpxchg_inuser() inline\nfunction before writing up the syscalls (that function returns -ENOSYS right\nnow).\n\nThis patch:\n\nAdd placeholder futex_atomic_cmpxchg_inuser() implementations to every\narchitecture that supports futexes.  It returns -ENOSYS.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc8ecb43701a78bd3c38e7fed1d1c76840579450",
      "tree": "4e9056ec8a86fc321384da15ba7a05bfda32e034",
      "parents": [
        "ad658b385e6308066f9084a7ea01305b223cd3a0"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: x86_64 pfn_to_page\n\nx86_64 can use generic funcs.\nFor DISCONTIGMEM, CONFIG_OUT_OF_LINE_PFN_TO_PAGE is selected.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7",
      "tree": "ccfa4927ebc7a8f663f9ac9e7789a713a33253ff",
      "parents": [
        "77e4bfbcf071f795b54862455dce8902b3fc29c2"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 27 01:15:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] sched: new sched domain for representing multi-core\n\nAdd a new sched domain for representing multi-core with shared caches\nbetween cores.  Consider a dual package system, each package containing two\ncores and with last level cache shared between cores with in a package.  If\nthere are two runnable processes, with this appended patch those two\nprocesses will be scheduled on different packages.\n\nOn such systems, with this patch we have observed 8% perf improvement with\nspecJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2\nusers).\n\nThis new domain will come into play only on multi-core systems with shared\ncaches.  On other systems, this sched domain will be removed by domain\ndegeneration code.  This new domain can be also used for implementing power\nsavings policy (see OLS 2005 CMP kernel scheduler paper for more details..\nI will post another patch for power savings policy soon)\n\nMost of the arch/* file changes are for cpu_coregroup_map() implementation.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f33e2fbacce8008984db99c45120db31081577c5",
      "tree": "762b2bdbbc10e36cca280ed06710d7a4964fba88",
      "parents": [
        "a58259cddf9f824af27abf8960ed604bee53f7c1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:14 2006 -0800"
      },
      "message": "[PATCH] bitops: x86_64: use generic bitops\n\n- remove sched_find_first_bit()\n- remove generic_hweight{64,32,16,8}()\n- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f271a6f557497830f3995138b0c78d8634b33863",
      "tree": "32d2fdb8f4e95c7414bdf8a2aa339daecabe14c8",
      "parents": [
        "3076a492a5e8dd624f237886646b35d12193502d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:58 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:14:39 2006 -0800"
      },
      "message": "[PATCH] x86_64: Removed duplicated declaration of force_iommu\n\nNoticed by Andrew Morton.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcf36bfa5de6d4e37878d4c98b6986fee4eb8b4c",
      "tree": "6b18d3efd64e55f14209f40ee3232da2ea25d69e",
      "parents": [
        "40caa884650fc6931cf55918dbf7496c49b3ddf8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Mar 25 16:31:46 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:14:38 2006 -0800"
      },
      "message": "[PATCH] x86_64: group memnodemap and memnodeshift in a memnode structure\n\npfn_to_page() and others need to access both memnode_shift and the very\nfirst bytes of memnodemap[]. If we force memnode_shift to be just before the\nmemnodemap array, we can reduce the memory footprint to one cache line\ninstead of two for most setups. This patch introduce a \u0027memnode\u0027 structure\nwhere shift and map[] are carefully placed.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94949436191f69dac735919a9698612ef6b3dbba",
      "tree": "9648177bb03f620b6333153102e5bdd7e56f47ca",
      "parents": [
        "5d05f4de414c98348219b633401ad9c9a5348a8b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:37 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:14:38 2006 -0800"
      },
      "message": "[PATCH] x86_64: Make local_t 64bit instead of 32bit\n\nFor consistency with other architectures\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba22f13563de5773701fc318ccaaa37b1fb6d294",
      "tree": "e29ddeaca4c9f7b1b5ef08804980600d0e089f5b",
      "parents": [
        "9d95dd849ccc43c4b21504e1829b5bed68cdb1bc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:31 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:14:38 2006 -0800"
      },
      "message": "[PATCH] x86_64: Remove CONFIG_UNORDERED_IO\n\nIt was a failed experiment - all benchmarks done with it on both AMD\nand Intel showed it was a loss. That was probably because the store\nbuffers of the CPUs for write combining traffic weren\u0027t large enough.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da7ed9f98f6f3f18664f8ab24303f9428b9d78f8",
      "tree": "692653ace76f945b130eeb991b8e3857caf866b6",
      "parents": [
        "b1fc513d81b0f50f9543428ce95ec63ae70ab184"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Mar 25 16:31:16 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:57 2006 -0800"
      },
      "message": "[PATCH] x86_64: timer interrupt lockup due to pending interrupt\n\no check_timer() routine fails while second kernel is booting after a crash\n  on an opetron box. Problem happens because timer vector (0x31) seems to be\n  locked.\n\no After a system crash, it is not safe to service interrupts any more, hence\n  interrupts are disabled. This leads to pending interrupts at LAPIC. LAPIC\n  sends these interrupts to the CPU during early boot of second kernel. Other\n  pending interrupts are discarded saying unexpected trap but timer interrupt\n  is serviced and CPU does not issue an LAPIC EOI because it think this\n  interrupt came from i8259 and sends ack to 8259. This leads to vector 0x31\n  locking as LAPIC does not clear respective ISR and keeps on waiting for\n  EOI.\n\no This patch issues extra EOI for the pending interrupts who have ISR set.\n\no Though today only timer seems to be the special case because in early\n  boot it thinks interrupts are coming from i8259 and uses\n  mask_and_ack_8259A() as ack handler and does not issue LAPIC EOI. But\n  probably doing it in generic manner for all vectors makes sense.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df92004ce60a0bb60c8315903c0765873c34a702",
      "tree": "420782e1621f8d5d44dd8b4ecc640cbcfc0c4131",
      "parents": [
        "01d4bed417b5943577e9290fbf672ea9a449dc46"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Mar 25 16:31:01 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Reorder one field of the PDA to reduce padding\n\nThis reorders the mmu_state int in the pda, such that there is no more\npadding (there currently is 4 bytes of padding).  Boot tested.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "554d284ba90bc2306c31e5363789f05c320969c3",
      "tree": "8fb67f8c7bed5c6525a060b094ff461fb4bfb104",
      "parents": [
        "28456edeff2ef9273c55cd12e4b193208717d4cd"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:30:40 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:55 2006 -0800"
      },
      "message": "[PATCH] x86_64: Don\u0027t invoke OOM killer while allocating floppy DMA buffers\n\nFloppy can fall back to smaller buffers, so don\u0027t do OOM killing.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2d3efedbecc04dc348d723e4c90b46731b3bb48",
      "tree": "982c7838a97a5c2420de392e5a36f49eaa1778b0",
      "parents": [
        "f083a329e63d471a5e9238e837772b1b76c218db"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:30:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:55 2006 -0800"
      },
      "message": "[PATCH] x86_64: Implement early DMI scanning\n\nThere are more and more cases where we need to know DMI information\nearly to work around bugs.  i386 already had early DMI scanning, but\nx86-64 didn\u0027t.  Implement this now.\n\nThis required some cleanup in the i386 code.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6edfba1b33c701108717f4e036320fc39abe1912",
      "tree": "48f69c4e9c103c88541d4c5e36fae9a688c45bb1",
      "parents": [
        "681558fdb5848f0a6dc248108f0f7323f7380857"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:29:49 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:53 2006 -0800"
      },
      "message": "[PATCH] x86_64: Don\u0027t define string functions to builtin\n\ngcc should handle this anyways, and it causes problems when\nsprintf is turned into strcpy by gcc behind our backs and\nthe C fallback version of strcpy is actually defining __builtin_strcpy\n\nThen drop -ffreestanding from the main Makefile because it isn\u0027t\nneeded anymore and implies -fno-builtin, which is wrong now.\n(it was only added for x86-64, so dropping it should be safe)\n\nNoticed by Roman Zippel\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86ebcea899ff01274c1e8e15bf1d1f1cf5fac471",
      "tree": "d14b575e09c71aaf6f467a28c72f943ab815dd8f",
      "parents": [
        "8c914cb704a11460eec7ed2a572bb5e9bd513d24"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sat Mar 25 16:29:43 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:53 2006 -0800"
      },
      "message": "[PATCH] x86_64: remove dead do_softirq_thunk\n\nAppearantly a left-over...\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c914cb704a11460eec7ed2a572bb5e9bd513d24",
      "tree": "3d735f0e33f474b296f106dee70935d77e267a74",
      "parents": [
        "85f9eebccde51e24896f31383f5b70776362e1a6"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sat Mar 25 16:29:40 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:53 2006 -0800"
      },
      "message": "[PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks\n\nWhile the modular aspect of the respective i386 patch doesn\u0027t apply to\nx86-64 (as the top level page directory entry is shared between modules\nand the base kernel), handlers registered with register_die_notifier()\nare still under similar constraints for touching ioremap()ed or\nvmalloc()ed memory. The likelihood of this problem becoming visible is\nof course significantly lower, as the assigned virtual addresses would\nhave to cross a 2**39 byte boundary. This is because the callback gets\ninvoked\n(a) in the page fault path before the top level page table propagation\ngets carried out (hence a fault to propagate the top level page table\nentry/entries mapping to module\u0027s code/data would nest infinitly) and\n(b) in the NMI path, where nested faults must absolutely not happen,\nsince otherwise the IRET from the nested fault re-enables NMIs,\npotentially resulting in nested NMI occurences.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2b514e74f4e59e3b8e54891580fef2c9ff6c7bd0",
      "tree": "106ddc876df761c2b3d9aa3ef27c576ad15ed54b",
      "parents": [
        "893efca9279d7a78bae6532de0524e53370819d5"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sat Mar 25 16:29:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:52 2006 -0800"
      },
      "message": "[PATCH] x86_64: eliminate set_debug()\n\nFor consistency and to have only a single place of definition, replace\nset_debug() uses with set_debugreg(), and eliminate the definition of\nthj former.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abe059e7590fd4475285f2d037c70dec712a4572",
      "tree": "4c15ffcf11786a89cd87d0766c6d6717342aa722",
      "parents": [
        "913bd906019514579b3c7ec5ab9c463e89207a57"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:29:12 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:52 2006 -0800"
      },
      "message": "[PATCH] x86_64: Rename struct node in x86-64 NUMA code to struct bootnode\n\nIt conflicts with the struct node in node.h\nActually the x86-64 version was there first, but ..\n\nSuggested by Jan Beulich\n\nCc: jbeulich@novell.com\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "913bd906019514579b3c7ec5ab9c463e89207a57",
      "tree": "8f73c66bf2b30afb2807814d97f9307af0508454",
      "parents": [
        "dca99a38bccceda9e079d4c95abefbd9028605fe"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:29:09 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:52 2006 -0800"
      },
      "message": "[PATCH] x86_64: Increase the variability of the process stack on 64bit architectures\n\n8MB is not really very random, use 1GB (or more with larger page sizes)\ninstead.\n\nAlso use the low bits of the random generator output now instead of\nthrowing them away.\n\nOnly enabled on x86-64 right now. Other architectures need to add\na suitable STACK_RND_MASK\n\nCc: mingo@elte.hu\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f348d70a324e15afc701a494f32ec468abb7d1eb",
      "tree": "a4cb43429f7f08a6621c581bd99e4a03198e8c67",
      "parents": [
        "501f2499b897ca4be68b1acc7a4bc8cf66f5fd24"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Sat Mar 25 03:07:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:56 2006 -0800"
      },
      "message": "[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications\n\nImplement the half-closed devices notifiation, by adding a new POLLRDHUP\n(and its alias EPOLLRDHUP) bit to the existing poll/select sets.  Since the\nexisting POLLHUP handling, that does not report correctly half-closed\ndevices, was feared to be changed, this implementation leaves the current\nPOLLHUP reporting unchanged and simply add a new bit that is set in the few\nplaces where it makes sense.  The same thing was discussed and conceptually\nagreed quite some time ago:\n\nhttp://lkml.org/lkml/2003/7/12/116\n\nSince this new event bit is added to the existing Linux poll infrastruture,\neven the existing poll/select system calls will be able to use it.  As far\nas the existing POLLHUP handling, the patch leaves it as is.  The\npollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing\narchs and sets the bit in the six relevant files.  The other attached diff\nis the simple change required to sys/epoll.h to add the EPOLLRDHUP\ndefinition.\n\nThere is \"a stupid program\" to test POLLRDHUP delivery here:\n\n http://www.xmailserver.org/pollrdhup-test.c\n\nIt tests poll(2), but since the delivery is same epoll(2) will work equally.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57f3ebccaa560d1eeb40b5c719773bed5cb0df46",
      "tree": "5c475fe84dbd352f9758f63c20a3c76c1b89c8ca",
      "parents": [
        "c44fec118b62baad3fc70e2ef3447729a1d9b194"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 24 03:15:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:19 2006 -0800"
      },
      "message": "[PATCH] remove ISA legacy functions: remove the helpers\n\nunused isa_...() helpers removed.\n\nAdrian Bunk:\nThe asm-sh part was rediffed due to unrelated changes.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d1712c91df01d2573b934e972e231e8edb102c7",
      "tree": "71ed84ab8e8a59517ec1b7b1af082adc2beb1758",
      "parents": [
        "9b04c997b1120feefa1e6ee8e2902270bc055cd2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Fri Mar 24 03:15:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:15 2006 -0800"
      },
      "message": "[PATCH] x86_64: {set,clear,test}_bit() related cleanup and pci_mmcfg_init() fix\n\nWhile working on these patch set, I found several possible cleanup on x86-64\nand ia64.\n\nakpm: I stole this from Andi\u0027s queue.\n\nNot only does it clean up bitops.  It also unrelatedly changes the prototype\nof pci_mmcfg_init() and removes its arch_initcall().  It seems that the wrong\ntwo patches got joined together, but this is the one which has been tested.\n\nThis patch fixes the current x86_64 build error (the pci_mmcfg_init()\ndeclaration in arch/i386/pci/pci.h disagrees with the definition in\narch/x86_64/pci/mmconfig.c)\n\nThis also means that x86_64\u0027s pci_mmcfg_init() gets called in the same (new)\nmanner as x86\u0027s: from arch/i386/pci/init.c:pci_access_init(), rather than via\ninitcall.\n\nThe bitops cleanups came along for free.\n\nAll this worked OK in -mm testing (since 2.6.16-rc4-mm1) because x86_64 was\ntested with both patches applied.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b2fcfdb8b4e7e379192f24ea2203163ddf5df1d",
      "tree": "1f3995e41ab12ff76e737389e0b59a40c0c73668",
      "parents": [
        "713729e8b993cb880225e2ced50a3f5ac05c2b3f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Mar 23 03:01:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] atomic: add_unless cmpxchg optimise\n\nWithout branch hints, the very unlikely chance of the loop repeating due to\ncmpxchg failure is unrolled with gcc-4 that I have tested.\n\nImprove this for architectures with a native cas/cmpxchg.  llsc archs\nshould try to implement this natively.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "804f1594cc3deb161e531a43d90c501f0db2635a",
      "tree": "81f7a7cea8dbf671c733df379c6582e36459e8da",
      "parents": [
        "6a2900b67652421b51fe25e4b86ecfec742b1f30"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Thu Mar 23 03:00:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:10 2006 -0800"
      },
      "message": "[PATCH] Move read_mostly definition to asm/cache.h\n\nSeems like needless clutter having a bunch of #if defined(CONFIG_$ARCH) in\ninclude/linux/cache.h.  Move the per architecture section definition to\nasm/cache.h, and keep the if-not-defined dummy case in linux/cache.h to\ncatch architectures which don\u0027t implement the section.\n\nVerified that symbols still go in .data.read_mostly on parisc,\nand the compile doesn\u0027t break.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f860591ffb29738cf5539b6fbf27f50dcdeb380",
      "tree": "4265e45c4a79d86a16cd5175a836e8c531be8117",
      "parents": [
        "aed75ff3caafce404d9be7f0c088716375be5279"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed Mar 22 00:08:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] Enable mprotect on huge pages\n\n2.6.16-rc3 uses hugetlb on-demand paging, but it doesn_t support hugetlb\nmprotect.\n\nFrom: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n  Remove a test from the mprotect() path which checks that the mprotect()ed\n  range on a hugepage VMA is hugepage aligned (yes, really, the sense of\n  is_aligned_hugepage_range() is the opposite of what you\u0027d guess :-/).\n\n  In fact, we don\u0027t need this test.  If the given addresses match the\n  beginning/end of a hugepage VMA they must already be suitably aligned.  If\n  they don\u0027t, then mprotect_fixup() will attempt to split the VMA.  The very\n  first test in split_vma() will check for a badly aligned address on a\n  hugepage VMA and return -EINVAL if necessary.\n\nFrom: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\n\n  On i386 and x86-64, pte flag _PAGE_PSE collides with _PAGE_PROTNONE.  The\n  identify of hugetlb pte is lost when changing page protection via mprotect.\n  A page fault occurs later will trigger a bug check in huge_pte_alloc().\n\n  The fix is to always make new pte a hugetlb pte and also to clean up\n  legacy code where _PAGE_PRESENT is forced on in the pre-faulting day.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "637029c6cb5efcbaa3d5831af4c1972bdd629779",
      "tree": "cd6d32dceef73f0ad467f495f51f331a459d01db",
      "parents": [
        "d4f0f122ec407bd1b4d1c773d0c87edc6a92cd26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 27 20:41:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 27 20:41:56 2006 -0800"
      },
      "message": "Revert \"[PATCH] x86_64: Only do the clustered systems have unsynchronized TSC assumption on IBM systems\"\n\nThis reverts commit 13a229abc25640813f1480c0478dfc6bdbc1c19e.\n\nQuoth Andi:\n  \"After some consideration and feedback from various people it turns\n   out this wasn\u0027t that good an idea.  It has some problems and needs\n   more work.  Since it was only an optimization anyways it\u0027s best to\n   just back it out again for now.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8b917775b572bc27de105f1317c2de4335db5b3",
      "tree": "940351af2d1690331d82a65331acf34254621936",
      "parents": [
        "e2c0388866dc12bef56b178b958f9b778fe6c687"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Feb 26 04:18:49 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 26 09:53:31 2006 -0800"
      },
      "message": "[PATCH] x86_64: Move the SMP time selection earlier\n\nSMP time selection originally ran after all CPUs were brought up because\nit needed to know the number of CPUs to decide if it needs an MP safe\ntimer or not.\n\nThis is not needed anymore because we know present CPUs early.\n\nThis fixes a couple of problems:\n - apicmaintimer didn\u0027t always work because it relied on state that was\n   set up time_init_gtod too late.\n - The output for the used timer in early kernel log was misleading\n   because time_init_gtod could actually change it later.  Now always\n   print the final timer choice\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2c0388866dc12bef56b178b958f9b778fe6c687",
      "tree": "8a029b1e859215340fd7a029194bffdd7661e4c8",
      "parents": [
        "2eb1bdbad89b19c99f8ac1de1492cdabbff6b3d3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Feb 26 04:18:46 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 26 09:53:30 2006 -0800"
      },
      "message": "[PATCH] x86_64: Fix the additional_cpus\u003d.. option\n\nIt didn\u0027t set up the CPU possible map early enough, so the\noption didn\u0027t actually work.\n\nNoticed by Heiko Carstens\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13a229abc25640813f1480c0478dfc6bdbc1c19e",
      "tree": "bdb9da6ba327bd4f6ee64aa3ca1548670be395f2",
      "parents": [
        "5342fba5412cead88b61ead07168615dbeba1ee3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Feb 26 04:18:31 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 26 09:53:30 2006 -0800"
      },
      "message": "[PATCH] x86_64: Only do the clustered systems have unsynchronized TSC assumption on IBM systems\n\nBig Unisys systems have multiple clusters too, but they have an\nsynchronized TSC.\n\nI\u0027m using the SMBIOS to check for vendor \u003d\u003d IBM.\n\nCc: Chris McDermott \u003clcm@us.ibm.com\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@unisys.com\u003e\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f83f2b5fbab4585f4de4523c7879d60e3f85a248",
      "tree": "93377911ff62ca519e918bd061c77c79cb90fbda",
      "parents": [
        "60b08c67220cf6faef7410ac6adba23a8a743bf7"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Feb 26 04:18:25 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 26 09:53:30 2006 -0800"
      },
      "message": "[PATCH] x86_64: fix USER_PTRS_PER_PGD\n\nThe value, while currently unused in the native kernel, was off by one.\n\nSigned-Off-By: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "60b08c67220cf6faef7410ac6adba23a8a743bf7",
      "tree": "ad3c5f6933f06ce46ff41b0fe456a10900a04567",
      "parents": [
        "04a3d311c01d3ad287750c5c8d03fa614475af91"
      ],
      "author": {
        "name": "Jon Mason",
        "email": "jdmason@us.ibm.com",
        "time": "Sun Feb 26 04:18:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 26 09:53:29 2006 -0800"
      },
      "message": "[PATCH] x86_64: no_iommu removal in pci-gart.c\n\nIn previous versions of pci-gart.c, no_iommu was used to determine if IOMMU was\ndisabled in the GART DMA mapping functions.  This changed in 2.6.16 and now\ngart_xxx() functions are only called if gart is enabled.  Therefore, uses of\nno_iommu in the GART code are no longer necessary and can be removed.\n\nAlso, it removes double deceleration of no_iommu and force_iommu in pci.h and\nproto.h, by removing the deceleration in pci.h.\n\nLastly, end_pfn off by one error.\n\nTested (along with patch 1/2) on dual opteron with gart enabled, iommu\u003dsoft,\nand iommu\u003doff.\n\nSigned-off-by: Jon Mason \u003cjdmason@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fd67843b96f90f59c9a244a1bc25137978a3ff9",
      "tree": "600a7951745cc67f36075e5d60c30bd5ea842112",
      "parents": [
        "ab68805955ee3dd84a6aa76cd70e61fde996968d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Feb 16 23:42:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 17 08:00:40 2006 -0800"
      },
      "message": "[PATCH] x86_64: Disable tsc when apicpmtimer is active\n\nOtherwise it has no effect anyways.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f6164f3092832e0d9b12eed52e09a76bf39c64a",
      "tree": "507043c3eafa00ad7241f1102c860e486f8dc544",
      "parents": [
        "06fed33849c13af637c4d09e9ba27828fac9edd5"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Wed Feb 15 15:17:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 15 15:32:22 2006 -0800"
      },
      "message": "[PATCH] add asm-generic/mman.h\n\nMake new MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK consistent across all\narches.  The idea is to make it possible to use them portably even before\ndistros include them in libc headers.\n\nMove common flags to asm-generic/mman.h\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f822566165dd46ff5de9bf895cfa6c51f53bb0c4",
      "tree": "e052f406d5a14140d17f76dc8914d33bbc8e5f1d",
      "parents": [
        "8861da31e3b3e3df7b05e7b157230de3d486e53b"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Feb 14 13:53:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:34 2006 -0800"
      },
      "message": "[PATCH] madvise MADV_DONTFORK/MADV_DOFORK\n\nCurrently, copy-on-write may change the physical address of a page even if the\nuser requested that the page is pinned in memory (either by mlock or by\nget_user_pages).  This happens if the process forks meanwhile, and the parent\nwrites to that page.  As a result, the page is orphaned: in case of\nget_user_pages, the application will never see any data hardware DMA\u0027s into\nthis page after the COW.  In case of mlock\u0027d memory, the parent is not getting\nthe realtime/security benefits of mlock.\n\nIn particular, this affects the Infiniband modules which do DMA from and into\nuser pages all the time.\n\nThis patch adds madvise options to control whether memory range is inherited\nacross fork.  Useful e.g.  for when hardware is doing DMA from/into these\npages.  Could also be useful to an application wanting to speed up its forks\nby cutting large areas out of consideration.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33042a9ff4d126ba944b9dc3076665a2029e0a34",
      "tree": "d5cf22cebc02316058ad860feecef20742a4ae5e",
      "parents": [
        "e00d82d07fb112446586d225763d3572e64b7abf"
      ],
      "author": {
        "name": "Chris McDermott",
        "email": "lcm@us.ibm.com",
        "time": "Sat Feb 11 17:55:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 11 21:41:11 2006 -0800"
      },
      "message": "[PATCH] x86-64: Fix HPET timer on x460\n\n[description from AK]\n\nThe IBM Summit 3 chipset doesn\u0027t implement the HPET timer replacement\noption.  Since the current Linux code relies on it use a mixed mode with\nboth PIT for the interrupt and HPET counters for the time keeping.  That\nwas already implemented, but didn\u0027t work properly because it was still\nusing the last interrupt offset in HPET.  This resulted in x460 not\nbooting.  Fix this up by using the free running HPET counter.\n\nShouldn\u0027t affect any other machine because they either use full HPET mode\nor no HPET at all.\n\nTBD needs a similar 32bit fix.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Pallipadi, Venkatesh\" \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cff2b760096d1e6feaa31948e7af4abbefe47822",
      "tree": "9bd6d2796ffb8c6611ca06b74c6349f8f1289ce2",
      "parents": [
        "25bf368b3d98668c5d5f38e2201d8bca16e52680"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sat Feb 11 17:55:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 11 21:41:10 2006 -0800"
      },
      "message": "[PATCH] fstatat64 support\n\nThe *at patches introduced fstatat and, due to inusfficient research, I\nused the newfstat functions generally as the guideline.  The result is that\non 32-bit platforms we don\u0027t have all the information needed to implement\nfstatat64.\n\nThis patch modifies the code to pass up 64-bit information if\n__ARCH_WANT_STAT64 is defined.  I renamed the syscall entry point to make\nthis clear.  Other archs will continue to use the existing code.  On x86-64\nthe compat code is implemented using a new sys32_ function.  this is what\nis done for the other stat syscalls as well.\n\nThis patch might break some other archs (those which define\n__ARCH_WANT_STAT64 and which already wired up the syscall).  Yet others\nmight need changes to accomodate the compatibility mode.  I really don\u0027t\nwant to do that work because all this stat handling is a mess (more so in\nglibc, but the kernel is also affected).  It should be done by the arch\nmaintainers.  I\u0027ll provide some stand-alone test shortly.  Those who are\neager could compile glibc and run \u0027make check\u0027 (no installation needed).\n\nThe patch below has been tested on x86 and x86-64.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ffd642e748c867a7339b57225b8bf8b9a0dcd9c5",
      "tree": "4e924eab664b99c87a59e4603f60c5002901ccbb",
      "parents": [
        "0bdd340c092b0936f78a54bdbd3927463ed4fca3"
      ],
      "author": {
        "name": "David Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Feb 08 17:35:00 2006 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 09 00:38:04 2006 -0500"
      },
      "message": "[ACPI] enable SMP C-states on x86_64\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d5653\n\nSigned-off-by: David Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4b88f09364e94b05b66fb1441131e8460495a2f8",
      "tree": "006c9594aa26a8ee6805b337901ecf7823c17dd9",
      "parents": [
        "ca76a2f3a5202ec1618cb7e76aa8a573235e469f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Feb 09 00:35:50 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 08 15:52:15 2006 -0800"
      },
      "message": "[PATCH] x86-64: Add sys_unshare\n\nAdd unshare syscall for x86-64\n\nppoll/pselect are not ready yet, but add reservations.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "488fc08d914f2b07b701c9b9c811437cc1c1c518",
      "tree": "e84cdb61842a6b6f3286a83aad34f9e87857c32c",
      "parents": [
        "7714d5985bb7101a90fb427dc29dc592cf1b960e"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Feb 07 12:58:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:31 2006 -0800"
      },
      "message": "[PATCH] x86_64: Fix the node cpumask of a cpu going down\n\nCurrently, x86_64 and ia64 arches do not clear the corresponding bits in\nthe node\u0027s cpumask when a cpu goes down or cpu bring up is cancelled.  This\nis buggy since there are pieces of common code where the cpumask is checked\nin the cpu down code path to decide on things (like in the slab down path).\n PPC does the right thing, but x86_64 and ia64 don\u0027t (This was the reason\nSonny hit upon a slab bug during cpu offline on ppc and could not reproduce\non other arches).  This patch fixes it for x86_64.  I won\u0027t attempt ia64 as\nI cannot test it.\n\nCredit for spotting this should go to Alok.\n\n(akpm: this was applied, then reverted.  But it\u0027s OK now because we now use\nfor_each_cpu() in the right places).\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "911b0ad25d167fede6aadc05065b414ec7ab5086",
      "tree": "8e85fd8a70a75aa8b2d18b89b2ebd8fc843c361c",
      "parents": [
        "b53e8f68e07fb8f3ba9ab1812c9c186c09a50c16"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Sat Feb 04 23:28:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:54 2006 -0800"
      },
      "message": "[PATCH] Fix \"value computed is not used\" compile warnings with gcc-4.1\n\nFix gcc4.1 compile warnings \"value computed is not used\" with\nset_current_state() and set_task_state() on i386/SMP and x86-64.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cef5076987dd545ac74f4efcf1c962be8eac34b0",
      "tree": "d404e17d44665c39006d6a5f25cd6b02819a4772",
      "parents": [
        "5b7b644ca9a12396a46fad825a973fb8bed17102"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 10:51:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 10:51:57 2006 -0800"
      },
      "message": "Revert \"[PATCH] x86_64: Fix the node cpumask of a cpu going down\"\n\nThis reverts commit 10f4dc8b27ac42f930ac55adb8c521264dc997f8.\n\nQuoth Andi Kleen:\n  \"Kiran decided that it makes the problem worse than it was before.\n   Fixing it fully requires more work which is too much for 2.6.16.  So\n   please revert that commit for now.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3777a95903953c55f2309a89679b73c19ae5535b",
      "tree": "45a922a1ff82fc0f3d2a3865bfcb23d68c12792c",
      "parents": [
        "7f66ae48de27bc9506cff0f2991d74901a0c2f8d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Feb 03 21:51:53 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:15 2006 -0800"
      },
      "message": "[PATCH] i386/x86-64: Don\u0027t ack the APIC for bad interrupts when the APIC is not enabled\n\nIt\u0027s bad juju to touch the APIC when it hasn\u0027t been enabled.\nI also moved ack_bad_irq for x86-64 out of line following i386.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c3749c41f5eee0da36bbf92b2793338b4d8574f",
      "tree": "3af004c5533ab04297004f5ec40da4c6801b8fda",
      "parents": [
        "099f318b8d97490e58c595eb1b6d3415da5ccc03"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Feb 03 21:51:41 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:15 2006 -0800"
      },
      "message": "[PATCH] x86_64: Calibrate APIC timer using PM timer\n\nOn some broken motherboards (at least one NForce3 based AMD64 laptop)\nthe PIT timer runs at a incorrect frequency.  This patch adds a new\noption \"apicpmtimer\" that allows to use the APIC timer and calibrate it\nusing the PMTimer.  It requires the earlier patch that allows to run the\nmain timer from the APIC.\n\nSpecifying apicpmtimer implies apicmaintimer.\n\nThe option defaults to off for now.\n\nI tested it on a few systems and the resulting APIC timer frequencies\nwere usually a bit off, but always \u003c1%, which should be tolerable.\n\nTBD figure out heuristic to enable this automatically on the affected\nsystems TBD perhaps do it on all NForce3s or using DMI?\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10f4dc8b27ac42f930ac55adb8c521264dc997f8",
      "tree": "88d56b784d7ae5d84fd5e486f666b779c161d8af",
      "parents": [
        "7bcd3f34e262bbebffa954d80eab3a84f053da31"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Fri Feb 03 21:51:05 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:13 2006 -0800"
      },
      "message": "[PATCH] x86_64: Fix the node cpumask of a cpu going down\n\nCurrently, x86_64 and ia64 arches do not clear the corresponding bits\nin the node\u0027s cpumask when a cpu goes down or cpu bring up is cancelled.\nThis is buggy since there are pieces of common code where the cpumask is\nchecked in the cpu down code path to decide on things (like in  the slab\ndown path).  PPC does the right thing, but x86_64 and ia64 don\u0027t (This\nwas the reason Sonny hit upon a slab bug during cpu offline on ppc and\ncould not reproduce on other arches).  This patch fixes it for x86_64.\nI won\u0027t attempt ia64 as I cannot test it.\n\nCredit for spotting this should go to Alok.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7bcd3f34e262bbebffa954d80eab3a84f053da31",
      "tree": "f0765da9eaa8024a2b1d67d3e43730cb32f99fa7",
      "parents": [
        "6bca52b544489b626c7d0db801df6b4aa3d5adb5"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Feb 03 21:51:02 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:13 2006 -0800"
      },
      "message": "[PATCH] x86_64: Undo the earlier changes to remove unrolled copy/memset functions\n\nThey cause quite bad performance regressions on Netburst\nThis is temporary until we can get new optimized functions\nfor these CPUs.\n\nThis undoes changes that were done in 2.6.15 and in 2.6.16-rc1,\nessentially bringing the code back to 2.6.14 level. Only change\nis I renamed the X86_FEATURE_K8_C flag to X86_FEATURE_REP_GOOD\nand fixed the check for the flag and also fixed some comments.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0dd2ea9af8f0eca43cf6200baa182b3aba307049",
      "tree": "68d19724e9c50e14ea7d900493a9af37ff26c948",
      "parents": [
        "6f3814cd2fb5ea4d53a7fa5b0635d68fa4036c1b"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Feb 03 21:50:56 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:13 2006 -0800"
      },
      "message": "[PATCH] x86_64: [PATCH] timer resume\n\nAt resume time, TSC\u0027s value or something similar might be changed a lot\nagainst suspend time. This could make system gets a very big lost ticks.\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d5825\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73dea47faeb96d54a984b9d7f4de564816966354",
      "tree": "6b1f090e9071e281367bc106c1b2ab05cb43e459",
      "parents": [
        "76b461c21468f41837283b7888d55f1c0671f719"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Feb 03 21:50:50 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:13 2006 -0800"
      },
      "message": "[PATCH] x86_64: Allow to run main time keeping from the local APIC interrupt\n\nAnother piece from the no-idle-tick patch.\n\nThis can be enabled with the \"apicmaintimer\" option.\n\nThis is mainly useful when the PIT/HPET interrupt is unreliable.\nNote there are some systems that are known to stop the APIC\ntimer in C3. For those it will never work, but this case\nshould be automatically detected.\n\nIt also only works with PM timer right now. When HPET is used\nthe way the main timer handler computes the delay doesn\u0027t work.\n\nIt should be a bit more efficient because there is one less\nregular interrupt to process on the boot processor.\n\nRequires earlier bugfix from Venkatesh\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "226d780909f71bebfa4dfffa21493244aa22dfdc",
      "tree": "ae9f0ff1e2b62076585825379c3b859ad3f3a1af",
      "parents": [
        "eddb6fb9a54cdc8c7c37e056a2b4bbbc8a128a36"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Feb 03 21:50:44 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Feb 04 16:43:12 2006 -0800"
      },
      "message": "[PATCH] x86_64: Define pmtmr_ioport to 0 when PM_TIMER is not available\n\nAvoids some ifdef mess later.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c5d81a58106fa333467beab5f11dafab07b3e66",
      "tree": "7fabac3f87c1c0d385569cbc127df36e5ff6a05f",
      "parents": [
        "bb3b9cf122eb097ed9fe8ae50e1b0dbba9bbe447"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@intellilink.co.jp",
        "time": "Fri Feb 03 03:04:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:09 2006 -0800"
      },
      "message": "[PATCH] Compilation of kexec/kdump broken\n\nThe compilation of kexec/kdump seems to be broken for x86_64.  Remove the\ndependency of kexec on CONFIG_IA32_EMULATION.\n\nSigned-off-by: Fernando Vazquez \u003cfernando@intellilink.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69dcc99199fe29b0a29471a3488d39d9d33b25fc",
      "tree": "4232ad9a782dee6abfe7fa20c95a49249195de8f",
      "parents": [
        "66ac5a294db70aa377c0d7bbdb0c4e3ef2349b7b"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Fri Feb 03 03:04:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:09 2006 -0800"
      },
      "message": "[PATCH] Export cpu topology in sysfs\n\nThe patch implements cpu topology exportation by sysfs.\n\nItems (attributes) are similar to /proc/cpuinfo.\n\n1) /sys/devices/system/cpu/cpuX/topology/physical_package_id:\n\trepresent the physical package id of  cpu X;\n2) /sys/devices/system/cpu/cpuX/topology/core_id:\n\trepresent the cpu core id to cpu X;\n3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:\n\trepresent the thread siblings to cpu X in the same core;\n4) /sys/devices/system/cpu/cpuX/topology/core_siblings:\n\trepresent the thread siblings to cpu X in the same physical package;\n\nTo implement it in an architecture-neutral way, a new source file,\ndriver/base/topology.c, is to export the 5 attributes.\n\nIf one architecture wants to support this feature, it just needs to\nimplement 4 defines, typically in file include/asm-XXX/topology.h.\nThe 4 defines are:\n#define topology_physical_package_id(cpu)\n#define topology_core_id(cpu)\n#define topology_thread_siblings(cpu)\n#define topology_core_siblings(cpu)\n\nThe type of **_id is int.\nThe type of siblings is cpumask_t.\n\nTo be consistent on all architectures, the 4 attributes should have\ndeafult values if their values are unavailable. Below is the rule.\n\n1) physical_package_id: If cpu has no physical package id, -1 is the\ndefault value.\n\n2) core_id: If cpu doesn\u0027t support multi-core, its core id is 0.\n\n3) thread_siblings: Just include itself, if the cpu doesn\u0027t support\nHT/multi-thread.\n\n4) core_siblings: Just include itself, if the cpu doesn\u0027t support\nmulti-core and HT/Multi-thread.\n\nSo be careful when declaring the 4 defines in include/asm-XXX/topology.h.\n\nIf an attribute isn\u0027t defined on an architecture, it won\u0027t be exported.\n\nThank Nathan, Greg, Andi, Paul and Venki.\n\nThe patch provides defines for i386/x86_64/ia64.\n\nSigned-off-by: Zhang, Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59ed2f59e4ea6a32f9591e378da7935f713a7000",
      "tree": "a1276a611dbb1bc44685ef8af363e99603e60047",
      "parents": [
        "9ad11ab48b1ad618bf47076e9e579f267f5306c2",
        "b8e4d89357fc434618a59c1047cac72641191805"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 22:06:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 22:06:15 2006 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n"
    }
  ],
  "next": "3a2ca64496cc1c9aeab1076e06d092b3ec74a43d"
}
