)]}'
{
  "log": [
    {
      "commit": "65800ac77e080cf159d6c1207b6886e18f22bc08",
      "tree": "e18a27daff0f97139afa1ff731ac47f054285ee6",
      "parents": [
        "c18258c6f0848f97e85287f6271c511a092bb784"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 27 01:51:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:19 2006 -0700"
      },
      "message": "[PATCH] pid: remove temporary debug code in attach_pid\n\nWith the patches flying between Oleg and myself somehow this temporary\ndebug code got left in pid.c.  It was never intended to make it to the\nstable kernel.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c18258c6f0848f97e85287f6271c511a092bb784",
      "tree": "16c057a171b7623895ee208459392c1104193b84",
      "parents": [
        "35fa2048ab13d1be846be612e395c15c200bd51c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 27 01:51:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:19 2006 -0700"
      },
      "message": "[PATCH] pid: Implement transfer_pid and use it to simplify de_thread\n\nIn de_thread we move pids from one process to another, a rather ugly case.\nThe function transfer_pid makes it clear what we are doing, and makes the\naction atomic.  This is useful we ever want to atomically traverse the\nprocess group and session lists, in a rcu safe manner.\n\nEven if the atomic properties this change should be a win as transfer_pid\nshould be less code to execute than executing both attach_pid and\ndetach_pid, and this should make de_thread slightly smaller as only a\nsingle function call needs to be emitted.  The only downside is that the\ncode might be slower to execute as the odds are against transfer_pid being\nin cache.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b89a81712f486e4f7a606987413e387605fdeaf4",
      "tree": "98702b89a50e927c38f2e31cf824c10d2585722f",
      "parents": [
        "571817849c76aabf34d534c905b5e604f2e824c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 27 01:51:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:19 2006 -0700"
      },
      "message": "[PATCH] sysctl: Allow /proc/sys without sys_sysctl\n\nSince sys_sysctl is deprecated start allow it to be compiled out.  This\nshould catch any remaining user space code that cares, and paves the way\nfor further sysctl cleanups.\n\n[akpm@osdl.org: If sys_sysctl() is not compiled-in, emit a warning]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "8e18e2941c53416aa219708e7dcad21fb4bd6794",
      "tree": "44118f8b09556193ac93e0b71aecfa3e1d4bc182",
      "parents": [
        "6a1d9805ec506d8b9d04450997707da5f643d87c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private\n\nThe following patches reduce the size of the VFS inode structure by 28 bytes\non a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction\nin the inode size on a UP kernel that is configured in a production mode\n(i.e., with no spinlock or other debugging functions enabled; if you want to\nsave memory taken up by in-core inodes, the first thing you should do is\ndisable the debugging options; they are responsible for a huge amount of bloat\nin the VFS inode structure).\n\nThis patch:\n\nThe filesystem or device-specific pointer in the inode is inside a union,\nwhich is pretty pointless given that all 30+ users of this field have been\nusing the void pointer.  Get rid of the union and rename it to i_private, with\na comment to explain who is allowed to use the void pointer.  This is just a\ncleanup, but it allows us to reuse the union \u0027u\u0027 for something something where\nthe union will actually be used.\n\n[judith@osdl.org: powerpc build fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Judith Lebzelter \u003cjudith@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f269fdd1829acc5e53bf57b145003e5733133f2b",
      "tree": "494fef02f26f089f14c719e9a4394a41f7b686ec",
      "parents": [
        "930e652a21a08986b03d1f370f933057dc0db2dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:15 2006 -0700"
      },
      "message": "[PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place\n\nMove the fallback arch_vma_name() to a sensible place (kernel/signal.c).\n\nCurrently it\u0027s in fs/proc/task_mmu.c, a file that is dependent on both\nCONFIG_PROC_FS and CONFIG_MMU being enabled, but it\u0027s used from\nkernel/signal.c from where it is called unconditionally.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ec76a110f432e98277e464b82ace8dd66571689",
      "tree": "3ed8de0ea6869fe17bec7689c493a2db02f73f4a",
      "parents": [
        "361f6ed1d00f666a1a7c33f3e9aaccb713f9b9e4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Check that access_process_vm() has a valid target\n\nCheck that access_process_vm() is accessing a valid mapping in the target\nprocess.\n\nThis limits ptrace() accesses and accesses through /proc/\u003cpid\u003e/maps to only\nthose regions actually mapped by a program.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d33b6fba2c4350651f3f61ff2ab858a2f116e9a4",
      "tree": "fa4fa45fd6cc3bf177e13c2e9544b3e8134e1456",
      "parents": [
        "b278240839e20fa9384ea430df463b367b90e04e"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Jun 30 02:31:24 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 26 17:43:52 2006 -0700"
      },
      "message": "Resources: insert identical resources above existing resources\n\nIf you have two resources which aree exactly the same size,\ninsert_resource() currently inserts the new one below the existing one. \nThis is wrong because there\u0027s no way to insert a resource of the same size\nabove an existing one.\n\nI took this opportunity to rewrite the initial loop to be a for-loop\ninstead of a goto-loop and fix the documentation.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b278240839e20fa9384ea430df463b367b90e04e",
      "tree": "f99f0c8cdd4cc7f177cd75440e6bd181cded7fb3",
      "parents": [
        "dd77a4ee0f3981693d4229aa1d57cea9e526ff47",
        "3f75f42d7733e73aca5c78326489efd4189e0111"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 13:07:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 13:07:55 2006 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)\n  [PATCH] Don\u0027t set calgary iommu as default y\n  [PATCH] i386/x86-64: New Intel feature flags\n  [PATCH] x86: Add a cumulative thermal throttle event counter.\n  [PATCH] i386: Make the jiffies compares use the 64bit safe macros.\n  [PATCH] x86: Refactor thermal throttle processing\n  [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)\n  [PATCH] Fix unwinder warning in traps.c\n  [PATCH] x86: Allow disabling early pci scans with pci\u003dnoearly or disallowing conf1\n  [PATCH] x86: Move direct PCI scanning functions out of line\n  [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI\n  [PATCH] Don\u0027t leak NT bit into next task\n  [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder\n  [PATCH] Fix some broken white space in ia32_signal.c\n  [PATCH] Initialize argument registers for 32bit signal handlers.\n  [PATCH] Remove all traces of signal number conversion\n  [PATCH] Don\u0027t synchronize time reading on single core AMD systems\n  [PATCH] Remove outdated comment in x86-64 mmconfig code\n  [PATCH] Use string instructions for Core2 copy/clear\n  [PATCH] x86: - restore i8259A eoi status on resume\n  [PATCH] i386: Split multi-line printk in oops output.\n  ...\n"
    },
    {
      "commit": "dd77a4ee0f3981693d4229aa1d57cea9e526ff47",
      "tree": "cb486be20b950201103a03636cbb1e1d180f0098",
      "parents": [
        "e8216dee838c09776680a6f1a2e54d81f3cdfa14",
        "7e9f4b2d3e21e87c26025810413ef1592834e63b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 11:49:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 11:49:46 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (47 commits)\n  Driver core: Don\u0027t call put methods while holding a spinlock\n  Driver core: Remove unneeded routines from driver core\n  Driver core: Fix potential deadlock in driver core\n  PCI: enable driver multi-threaded probe\n  Driver Core: add ability for drivers to do a threaded probe\n  sysfs: add proper sysfs_init() prototype\n  drivers/base: check errors\n  drivers/base: Platform notify needs to occur before drivers attach to the device\n  v4l-dev2: handle __must_check\n  add CONFIG_ENABLE_MUST_CHECK\n  add __must_check to device management code\n  Driver core: fixed add_bind_files() definition\n  Driver core: fix comments in drivers/base/power/resume.c\n  sysfs_remove_bin_file: no return value, dump_stack on error\n  kobject: must_check fixes\n  Driver core: add ability for devices to create and remove bin files\n  Class: add support for class interfaces for devices\n  Driver core: create devices/virtual/ tree\n  Driver core: add device_rename function\n  Driver core: add ability for classes to handle devices properly\n  ...\n"
    },
    {
      "commit": "c5c6ba4e08ab9c9e390a0f3a7d9a5c332f5cc6ef",
      "tree": "4e13a9eebd8f3901dcc187c585369ef843d1e1a7",
      "parents": [
        "7d145aa3abf4d96c91f37c012facd5cfbb9010d1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:04 2006 -0700"
      },
      "message": "[PATCH] PM: Add pm_trace switch\n\nAdd the pm_trace attribute in /sys/power which has to be explicitly set to\none to really enable the \"PM tracing\" code compiled in when CONFIG_PM_TRACE\nis set (which modifies the machine\u0027s CMOS clock in unpredictable ways).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8eb8b4025175f967af0ba8e933f23aa9954dc35",
      "tree": "1e7dcfe6472aa0cae05651e375bebb3e7b5b9eb8",
      "parents": [
        "940864ddabdb180e02041c4dcd46ba6f9eee732f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:03 2006 -0700"
      },
      "message": "[PATCH] PM: make it possible to disable console suspending\n\nChange suspend_console() so that it waits for all consoles to flush the\nremaining messages and make it possible to switch the console suspending off\nwith the help of a Kconfig option.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Stefan Seyfried \u003cseife@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "940864ddabdb180e02041c4dcd46ba6f9eee732f",
      "tree": "cee174e45717dce64f7108a1c74182e691c1c8c2",
      "parents": [
        "b788db79896ef2a5817b9395ad63573b254a6d93"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:02 2006 -0700"
      },
      "message": "[PATCH] swsusp: Use memory bitmaps during resume\n\nMake swsusp use memory bitmaps to store its internal information during the\nresume phase of the suspend-resume cycle.\n\nIf the pfns of saveable pages are saved during the suspend phase instead of\nthe kernel virtual addresses of these pages, we can use them during the resume\nphase directly to set the corresponding bits in a memory bitmap.  Then, this\nbitmap is used to mark the page frames corresponding to the pages that were\nsaveable before the suspend (aka \"unsafe\" page frames).\n\nNext, we allocate as many page frames as needed to store the entire suspend\nimage and make sure that there will be some extra free \"safe\" page frames for\nthe list of PBEs constructed later.  Subsequently, the image is loaded and, if\npossible, the data loaded from it are written into their \"original\" page\nframes (ie.  the ones they had occupied before the suspend).\n\nThe image data that cannot be written into their \"original\" page frames are\nloaded into \"safe\" page frames and their \"original\" kernel virtual addresses,\nas well as the addresses of the \"safe\" pages containing their copies, are\nstored in a list of PBEs.  Finally, the list of PBEs is used to copy the\nremaining image data into their \"original\" page frames (this is done\natomically, by the architecture-dependent parts of swsusp).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b788db79896ef2a5817b9395ad63573b254a6d93",
      "tree": "2ed150c373a6e0ceafb30b5d10ec5eacad39c6c8",
      "parents": [
        "0bcd888d64684f896ffa70c1d16a42b00753c184"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:02 2006 -0700"
      },
      "message": "[PATCH] swsusp: Introduce memory bitmaps\n\nIntroduce the memory bitmap data structure and make swsusp use in the suspend\nphase.\n\nThe current swsusp\u0027s internal data structure is not very efficient from the\nmemory usage point of view, so it seems reasonable to replace it with a data\nstructure that will require less memory, such as a pair of bitmaps.\n\nThe idea is to use bitmaps that may be allocated as sets of individual pages,\nso that we can avoid making allocations of order greater than 0.  For this\nreason the memory bitmap structure consists of several linked lists of objects\nthat contain pointers to memory pages with the actual bitmap data.  Still, for\na typical system all of these lists fit in a single page, so it\u0027s reasonable\nto introduce an additional mechanism allowing us to allocate all of them\nefficiently without sacrificing the generality of the design.  This is done\nwith the help of the chain_allocator structure and associated functions.\n\nWe need to use two memory bitmaps during the suspend phase of the\nsuspend-resume cycle.  One of them is necessary for marking the saveable\npages, and the second is used to mark the pages in which to store the copies\nof them (aka image pages).\n\nFirst, the bitmaps are created and we allocate as many image pages as needed\n(the corresponding bits in the second bitmap are set as soon as the pages are\nallocated).  Second, the bits corresponding to the saveable pages are set in\nthe first bitmap and the saveable pages are copied to the image pages.\nFinally, the first bitmap is used to save the kernel virtual addresses of the\nsaveable pages and the second one is used to save the contents of the image\npages.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bcd888d64684f896ffa70c1d16a42b00753c184",
      "tree": "17c26a6d1b8236f7d4ebb8bc3475550ca961cd57",
      "parents": [
        "75534b50cc658e951bcb213c2763c81e9f7b0b48"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:02 2006 -0700"
      },
      "message": "[PATCH] swsusp: Introduce some helpful constants\n\nIntroduce some constants that hopefully will help improve the readability of\ncode in kernel/power/snapshot.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75534b50cc658e951bcb213c2763c81e9f7b0b48",
      "tree": "1686cfe1f88bb9cd8ce0d34477b2eaac83709703",
      "parents": [
        "dcbb5a54f6e3984efa24772394f2225b11495c55"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:01 2006 -0700"
      },
      "message": "[PATCH] Change the name of pagedir_nosave\n\nThe name of the pagedir_nosave variable does not make sense any more, so it\nseems reasonable to change it to something more meaningful.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd560bb2f9e2cd451bb3942af43da19632ba4a8e",
      "tree": "bc533af52cc8686f53694cd60a974f7fd3bd80fc",
      "parents": [
        "f6143aa60ed71e58578bc92cc64d98158a694d99"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: Fix alloc_pagedir\n\nGet rid of the FIXME in kernel/power/snapshot.c#alloc_pagedir() and\nsimplify the functions called by it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6143aa60ed71e58578bc92cc64d98158a694d99",
      "tree": "aa3ccc4327ecf950abb15800e3d008cde6dc26f3",
      "parents": [
        "f623f0db8e6aa86a37be86167e4ff478821a9f4f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: Reorder memory-allocating functions\n\nMove some functions in kernel/power/snapshot.c to a better place (in the\nsame file) and introduce free_image_page() (will be necessary in the\nfuture).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f623f0db8e6aa86a37be86167e4ff478821a9f4f",
      "tree": "fab12e8dc57d14101e9e512ba708b83f74551dd9",
      "parents": [
        "e3920fb42c8ddfe63befb54d95c0e13eabacea9b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: Fix mark_free_pages\n\nClean up mm/page_alloc.c#mark_free_pages() and make it avoid clearing\nPageNosaveFree for PageNosave pages.  This allows us to get rid of an ugly\nhack in kernel/power/snapshot.c#copy_data_pages().\n\nAdditionally, the page-copying loop in copy_data_pages() is moved to an\ninline function.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3920fb42c8ddfe63befb54d95c0e13eabacea9b",
      "tree": "08371a71e58e6e9d3ec62dfa6a22b3b5e6ff0fd5",
      "parents": [
        "e8eff5ac294e12531c4195e0c15a222d3c9015e5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:59 2006 -0700"
      },
      "message": "[PATCH] Disable CPU hotplug during suspend\n\nThe current suspend code has to be run on one CPU, so we use the CPU\nhotplug to take the non-boot CPUs offline on SMP machines.  However, we\nshould also make sure that these CPUs will not be enabled by someone else\nafter we have disabled them.\n\nThe functions disable_nonboot_cpus() and enable_nonboot_cpus() are moved to\nkernel/cpu.c, because they now refer to some stuff in there that should\nbetter be static.  Also it\u0027s better if disable_nonboot_cpus() returns an\nerror instead of panicking if something goes wrong, and\nenable_nonboot_cpus() has no reason to panic(), because the CPUs may have\nbeen enabled by the userland before it tries to take them online.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb13a28b0f5ada60861868c4fa48a12bd0cb8dea",
      "tree": "e0a4611621f2d5abc94f0b0ea5a2c41f2962e5e1",
      "parents": [
        "ae83c5eef59ffe6eb61110b8c8fd1ea3e0881712"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: struct snapshot_handle cleanup\n\nAdd comments describing struct snapshot_handle and its members, change the\nconfusing name of its member \u0027page\u0027 to \u0027cur\u0027.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae83c5eef59ffe6eb61110b8c8fd1ea3e0881712",
      "tree": "731e4d382ff408387624df1fc59e82ab50436f50",
      "parents": [
        "546e0d271941dd1ff6961e2a1f7eac75f1fc277e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 25 23:32:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: clean up browsing of pfns\n\nClean up some loops over pfns for each zone in snapshot.c: reduce the\nnumber of additions to perform, rework detection of saveable pages and make\nthe code a bit less difficult to understand, hopefully.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "546e0d271941dd1ff6961e2a1f7eac75f1fc277e",
      "tree": "60c74a9598f7cb4622c1b6acd25df5df67284353",
      "parents": [
        "8c002494b55119a3fd1dddee83b4fb75cfda47e5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Sep 25 23:32:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: read speedup\n\nImplement async reads for swsusp resuming.\n\nCrufty old PIII testbox:\n\t15.7 MB/s -\u003e 20.3 MB/s\n\nSony Vaio:\n\t14.6 MB/s -\u003e 33.3 MB/s\n\nI didn\u0027t implement the post-resume bio_set_pages_dirty().  I don\u0027t really\nunderstand why resume needs to run set_page_dirty() against these pages.\n\nIt might be a worry that this code modifies PG_Uptodate, PG_Error and\nPG_Locked against the image pages.  Can this possibly affect the resumed-into\nkernel?  Hopefully not, if we\u0027re atomically restoring its mem_map?\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Laurent Riffard \u003claurent.riffard@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c002494b55119a3fd1dddee83b4fb75cfda47e5",
      "tree": "11e68d48b80d729a492b0f43401798a366ad94b3",
      "parents": [
        "ab954160350c91c77ae03740ef90458c3ad5412c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Sep 25 23:32:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: add read-speed instrumentation\n\nAdd some instrumentation to the swsusp readin code to show what bandwidth\nwe\u0027re achieving.\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab954160350c91c77ae03740ef90458c3ad5412c",
      "tree": "28f99d765c2c6d497a1f5543b1867875cd6102a5",
      "parents": [
        "3a4f7577c9ef393ca80c783f02ffbc125de771c7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Sep 25 23:32:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: write speedup\n\nSwitch the swsusp writeout code from 4k-at-a-time to 4MB-at-a-time.\n\nCrufty old PIII testbox:\n\t12.9 MB/s -\u003e 20.9 MB/s\n\nSony Vaio:\n\t14.7 MB/s -\u003e 26.5 MB/s\n\nThe implementation is crude.  A better one would use larger BIOs, but wouldn\u0027t\ngain any performance.\n\nThe memcpys will be mostly pipelined with the IO and basically come for free.\n\nThe ENOMEM path has not been tested.  It should be.\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a4f7577c9ef393ca80c783f02ffbc125de771c7",
      "tree": "9b55b98309d0ac13e35db05379792d52b29a2345",
      "parents": [
        "930631edd4b1fe2781d9fe90edbe35d89dfc94cc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Sep 25 23:32:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:58 2006 -0700"
      },
      "message": "[PATCH] swsusp: add write-speed instrumentation\n\nAdd some instrumentation to the swsusp writeout code to show what bandwidth\nwe\u0027re achieving.\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af8c65b57aaa4ae321af34dbfc5ca7f5625263fe",
      "tree": "404b7054e52f8cd0a4347649cae8b5ab82fec357",
      "parents": [
        "88d6e19900366781739df033e9c0e2532e715fa5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 25 23:32:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:53 2006 -0700"
      },
      "message": "[PATCH] FRV: permit __do_IRQ() to be dispensed with\n\nPermit __do_IRQ() to be dispensed with based on a configuration option.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "1a70cd40cb291c25b67ec0da715a49d76719329d",
      "tree": "ffb4c6cd3f7ef1b92822ebbda11bd2b035c2bc86",
      "parents": [
        "62bac0185ad3dfef11d9602980445c54d45199c6"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Sep 25 23:31:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:52 2006 -0700"
      },
      "message": "[PATCH] selinux: rename selinux_ctxid_to_string\n\nRename selinux_ctxid_to_string to selinux_sid_to_string to be\nconsistent with other interfaces.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62bac0185ad3dfef11d9602980445c54d45199c6",
      "tree": "8478673a1dccac5f4e7add4ad802a2bf69b269a4",
      "parents": [
        "89fa30242facca249aead2aac03c4c69764f911c"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Sep 25 23:31:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:52 2006 -0700"
      },
      "message": "[PATCH] selinux: eliminate selinux_task_ctxid\n\nEliminate selinux_task_ctxid since it duplicates selinux_task_get_sid.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89fa30242facca249aead2aac03c4c69764f911c",
      "tree": "1ac46b4777b819f2a4793d8e37330576ae5089ec",
      "parents": [
        "4415cc8df630b05d3a54267d5f3e5c0b63a4ec05"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:52 2006 -0700"
      },
      "message": "[PATCH] NUMA: Add zone_to_nid function\n\nThere are many places where we need to determine the node of a zone.\nCurrently we use a difficult to read sequence of pointer dereferencing.\nPut that into an inline function and use throughout VM.  Maybe we can find\na way to optimize the lookup in the future.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ff38490c836dc379ff7ec45b10a15a662f4e5f6",
      "tree": "cb42d5d3cace3c8d12f0b304879039c503807981",
      "parents": [
        "972d1a7b140569084439a81265a0f15b74e924e0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] zone_reclaim: dynamic slab reclaim\n\nCurrently one can enable slab reclaim by setting an explicit option in\n/proc/sys/vm/zone_reclaim_mode.  Slab reclaim is then used as a final\noption if the freeing of unmapped file backed pages is not enough to free\nenough pages to allow a local allocation.\n\nHowever, that means that the slab can grow excessively and that most memory\nof a node may be used by slabs.  We have had a case where a machine with\n46GB of memory was using 40-42GB for slab.  Zone reclaim was effective in\ndealing with pagecache pages.  However, slab reclaim was only done during\nglobal reclaim (which is a bit rare on NUMA systems).\n\nThis patch implements slab reclaim during zone reclaim.  Zone reclaim\noccurs if there is a danger of an off node allocation.  At that point we\n\n1. Shrink the per node page cache if the number of pagecache\n   pages is more than min_unmapped_ratio percent of pages in a zone.\n\n2. Shrink the slab cache if the number of the nodes reclaimable slab pages\n   (patch depends on earlier one that implements that counter)\n   are more than min_slab_ratio (a new /proc/sys/vm tunable).\n\nThe shrinking of the slab cache is a bit problematic since it is not node\nspecific.  So we simply calculate what point in the slab we want to reach\n(current per node slab use minus the number of pages that neeed to be\nallocated) and then repeately run the global reclaim until that is\nunsuccessful or we have reached the limit.  I hope we will have zone based\nslab reclaim at some point which will make that easier.\n\nThe default for the min_slab_ratio is 5%\n\nAlso remove the slab option from /proc/sys/vm/zone_reclaim_mode.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbd98167e653535c5816be154f2149c0efa7757d",
      "tree": "4cc984a81571c19cffa091d0bb467798396413e0",
      "parents": [
        "1192d526412b1b8ccb1493064cea06efc12c772b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:50 2006 -0700"
      },
      "message": "[PATCH] Profiling: require buffer allocation on the correct node\n\nProfiling really suffers with off node buffers.  Fail if no memory is\navailable on the nodes.  The profiling code can deal with these failures\nshould they occur.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b819d204cf602eab1a53a9ec4b8d2ca51e02a1d",
      "tree": "9442bf01a00a93a8ae54462fb4878588e1b2a6bf",
      "parents": [
        "056c62418cc639bf2fe962c6a6ee56054b838bc7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:50 2006 -0700"
      },
      "message": "[PATCH] Add __GFP_THISNODE to avoid fallback to other nodes and ignore cpuset/memory policy restrictions\n\nAdd a new gfp flag __GFP_THISNODE to avoid fallback to other nodes.  This\nflag is essential if a kernel component requires memory to be located on a\ncertain node.  It will be needed for alloc_pages_node() to force allocation\non the indicated node and for alloc_pages() to force allocation on the\ncurrent node.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a2966b48fb784e437520e400ddc94874ddbd4e8",
      "tree": "1bb2a4d2c33aa9d60eb427b0b4bf189e65073caf",
      "parents": [
        "656ddf798dbe588217c97e58b9cfdfce649ebdc3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@sgi.com",
        "time": "Mon Sep 25 23:30:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:43 2006 -0700"
      },
      "message": "[PATCH] Fix longstanding load balancing bug in the scheduler\n\nThe scheduler will stop load balancing if the most busy processor contains\nprocesses pinned via processor affinity.\n\nThe scheduler currently only does one search for busiest cpu.  If it cannot\npull any tasks away from the busiest cpu because they were pinned then the\nscheduler goes into a corner and sulks leaving the idle processors idle.\n\nF.e.  If you have processor 0 busy running four tasks pinned via taskset,\nthere are none on processor 1 and one just started two processes on\nprocessor 2 then the scheduler will not move one of the two processes away\nfrom processor 2.\n\nThis patch fixes that issue by forcing the scheduler to come out of its\ncorner and retrying the load balancing by considering other processors for\nload balancing.\n\nThis patch was originally developed by John Hawkes and discussed at\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113901368523205\u0026w\u003d2.\n\nI have removed extraneous material and gone back to equipping struct rq\nwith the cpu the queue is associated with since this makes the patch much\neasier and it is likely that others in the future will have the same\ndifficulty of figuring out which processor owns which runqueue.\n\nThe overhead added through these patches is a single word on the stack if\nthe kernel is configured to support 32 cpus or less (32 bit).  For 32 bit\nenvironments the maximum number of cpus that can be configued is 255 which\nwould result in the use of 32 bytes additional on the stack.  On IA64 up to\n1k cpus can be configured which will result in the use of 128 additional\nbytes on the stack.  The maximum additional cache footprint is one\ncacheline.  Typically memory use will be much less than a cacheline and the\nadditional cpumask will be placed on the stack in a cacheline that already\ncontains other local variable.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: John Hawkes \u003chawkes@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "adf1423698f00d00b267f7dca8231340ce7d65ef",
      "tree": "ec2e28a32d467cc3c618c8ee0cedd3d1a49f9c43",
      "parents": [
        "ab2e0b46cb9a197fab7d98e147cac7cd41a14047"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Sep 26 10:52:41 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:41 2006 +0200"
      },
      "message": "[PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder\n\nCurrent gcc generates calls not jumps to noreturn functions. When that happens the\nreturn address can point to the next function, which confuses the unwinder.\n\nThis patch works around it by marking asynchronous exception\nframes in contrast normal call frames in the unwind information.  Then teach\nthe unwinder to decode this.\n\nFor normal call frames the unwinder now subtracts one from the address which avoids\nthis problem.  The standard libgcc unwinder uses the same trick.\n\nIt doesn\u0027t include adjustment of the printed address (i.e. for the original\nexample, it\u0027d still be kernel_math_error+0 that gets displayed, but the\nunwinder wouldn\u0027t get confused anymore.\n\nThis only works with binutils 2.6.17+ and some versions of H.J.Lu\u0027s 2.6.16\nunfortunately because earlier binutils don\u0027t support .cfi_signal_frame\n\n[AK: added automatic detection of the new binutils and wrote description]\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3162f751d04086a9d006342de63ac8f44fe0f72a",
      "tree": "be702f29e5604621898e394ef387c2617334bb65",
      "parents": [
        "0a4254058037eb172758961d0a5b94f4320a1425"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "message": "[PATCH] Add the __stack_chk_fail() function\n\nGCC emits a call to a __stack_chk_fail() function when the stack canary is\nnot matching the expected value.\n\nSince this is a bad security issue; lets panic the kernel rather than limping\nalong; the kernel really can\u0027t be trusted anymore when this happens.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCC: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "0a4254058037eb172758961d0a5b94f4320a1425",
      "tree": "e9e64daf007952322c7ab0671b2f2f841085c04d",
      "parents": [
        "b62a5c740df1e3d49a97349fce0c6a23f633d7fe"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Sep 26 10:52:38 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:38 2006 +0200"
      },
      "message": "[PATCH] Add the canary field to the PDA area and the task struct\n\nThis patch adds the per thread cookie field to the task struct and the PDA.\nAlso it makes sure that the PDA value gets the new cookie value at context\nswitch, and that a new task gets a new cookie at task creation time.\n\nSigned-off-by: Arjan van Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCC: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3fa7c794fe4dc127f7fac3fad4d13628e68f89ce",
      "tree": "855a6737a2275317bcd3f3a9934c33dcadba6e6f",
      "parents": [
        "5a1b3999d6cb7ab87f1f3b1700bc91839fd6fa29"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "message": "[PATCH] Avoid recursion in lockdep when stack tracer takes locks\n\nThe new dwarf2 unwinder needs to take locks to do backtraces\ninside modules. This patch makes sure lockdep which calls\nstacktrace is not reentered.\n\nThanks to Ingo for suggesting this simpler approach.\n\nCc: mingo@elte.hu\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "5a1b3999d6cb7ab87f1f3b1700bc91839fd6fa29",
      "tree": "ec969406fe68d875d7904c364ea9a5b74c084567",
      "parents": [
        "4ea8a5d8b57cd504b4b2de1212523848e7ab50cf"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:34 2006 +0200"
      },
      "message": "[PATCH] x86: Some preparationary cleanup for stack trace\n\n- Remove unused all_contexts parameter\nNo caller used it\n- Move skip argument into the structure (needed for\nfollowon patches)\n\nCc: mingo@elte.hu\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "0cb91a2293648507886563ccb91979cfc94d6a4b",
      "tree": "f2a994f8b874e3c81c5519d445a0c5fa5522e4b5",
      "parents": [
        "c16b63e09d9d03158e0a92e961234e94c4862620"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "message": "[PATCH] i386: Account spinlocks to the caller during profiling for !FP kernels\n\nThis ports the algorithm from x86-64 (with improvements) to i386.\nPreviously this only worked for frame pointer enabled kernels.\nBut spinlocks have a very simple stack frame that can be manually\nanalyzed. Do this.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3cfc348bf90ffaa777c188652aa297f04eb94de8",
      "tree": "8908d6a5a61e54ab422ec7f4800d6ac591695423",
      "parents": [
        "c08c820508233b424deab3302bc404bbecc6493a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "message": "[PATCH] x86: Add portable getcpu call\n\nFor NUMA optimization and some other algorithms it is useful to have a fast\nto get the current CPU and node numbers in user space.\n\nx86-64 added a fast way to do this in a vsyscall. This adds a generic\nsyscall for other architectures to make it a generic portable facility.\n\nI expect some of them will also implement it as a faster vsyscall.\n\nThe cache is an optimization for the x86-64 vsyscall optimization. Since\nwhat the syscall returns is an approximation anyways and user space\noften wants very fast results it can be cached for some time.  The norma\nmethods to get this information in user space are relatively slow\n\nThe vsyscall is in a better position to manage the cache because it has direct\naccess to a fast time stamp (jiffies). For the generic syscall optimization\nit doesn\u0027t help much, but enforce a valid argument to keep programs\nportable\n\nI only added an i386 syscall entry for now. Other architectures can follow\nas needed.\n\nAK: Also added some cleanups from Andrew Morton\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "8da5adda91df3d2fcc5300e68da491694c9af019",
      "tree": "bae152dabd728ba2f7fead421276e3cc9a779141",
      "parents": [
        "e33e89ab1a8d295de0500b697f4f31c3ceee9aa2"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "message": "[PATCH] x86: Allow users to force a panic on NMI\n\nTo quote Alan Cox:\n\nThe default Linux behaviour on an NMI of either memory or unknown is to\ncontinue operation. For many environments such as scientific computing\nit is preferable that the box is taken out and the error dealt with than\nan uncorrected parity/ECC error get propogated.\n\nA small number of systems do generate NMI\u0027s for bizarre random reasons\nsuch as power management so the default is unchanged. In other respects\nthe new proc/sys entry works like the existing panic controls already in\nthat directory.\n\nThis is separate to the edac support - EDAC allows supported chipsets to\nhandle ECC errors well, this change allows unsupported cases to at least\npanic rather than cause problems further down the line.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "407984f1af259b31957c7c05075a454a751bb801",
      "tree": "1e9318b4255957c27a4dbacd84711604bf789393",
      "parents": [
        "2fbe7b25c8edaf2d10e6c1a4cc9f8afe714c4764"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "message": "[PATCH] x86: Add abilty to enable/disable nmi watchdog with sysctl\n\nAdds a new /proc/sys/kernel/nmi call that will enable/disable the nmi\nwatchdog.\n\nSigned-off-by:  Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2fbe7b25c8edaf2d10e6c1a4cc9f8afe714c4764",
      "tree": "e4012ae3cd4519cba1836668237f077c60fb1086",
      "parents": [
        "957dc87c1bd849440f0eef27e2ade67387001e13"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:27 2006 +0200"
      },
      "message": "[PATCH] i386/x86-64: Remove un/set_nmi_callback and reserve/release_lapic_nmi functions\n\nRemoves the un/set_nmi_callback and reserve/release_lapic_nmi functions as\nthey are no longer needed.  The various subsystems are modified to register\nwith the die_notifier instead.\n\nAlso includes compile fixes by Andrew Morton.\n\nSigned-off-by:  Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1d3a82af45428c5e8deaa119cdeb79611ae46371",
      "tree": "e8e5b7a03a979e149541149cab5570352b90656f",
      "parents": [
        "1ebfd79eb46a89eacf3cbdf4a463d5d572d3557b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Aug 30 14:09:47 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:38 2006 -0700"
      },
      "message": "PM: no suspend_prepare() phase\n\nRemove the new suspend_prepare() phase.  It doesn\u0027t seem very usable,\nhas never been tested, doesn\u0027t address fault cleanup, and would need\na sibling resume_complete(); plus there are no real use cases.  It\ncould be restored later if those issues get resolved.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Linus Torvalds \u003ctorvalds@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2bca293e56b6a8cd16bb6e70a09b2adac9c723b5",
      "tree": "a67697a05fa718a2a03b603d8afbdcbae41d68bc",
      "parents": [
        "047bda36150d11422b2c7bacca1df324c909c0b3"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Aug 30 13:54:36 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:37 2006 -0700"
      },
      "message": "PM: add kconfig option for deprecated .../power/state files\n\nAdd a new PM_SYSFS_DEPRECATED config option to control whether or\nnot the /sys/devices/.../power/state files are provided.  This will\nmake it easier to get rid of that mechanism when the time comes,\nand to verify that userspace tools work right without it.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1cc0a894c963923b766eb2d455747495e6e982d",
      "tree": "cccd3a2c337f0117d664e204eedf5c222a6c43f7",
      "parents": [
        "185849991d592497e43bcd264c6152af1261ffe2"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Aug 14 23:11:08 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:37 2006 -0700"
      },
      "message": "PM: issue PM_EVENT_PRETHAW\n\nThis patch is the first of this series that should actually change any\nbehavior ...  by issuing the new event, now tha the rest of the kernel is\nprepared to receive it.\n\nThis converts the PM core to issue the new PRETHAW message, which the rest of\nthe kernel is now ready to receive.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7c8265f51073bc8632a99de78d5fd19117ed78b7",
      "tree": "85efa2114f3765c98236152ca46d783dc1bd7d5b",
      "parents": [
        "ceeee1fb2897651b434547eb26d93e6d2ff5a1a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@osdl.org",
        "time": "Sat Jun 24 14:50:29 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:36 2006 -0700"
      },
      "message": "Suspend infrastructure cleanup and extension\n\nAllow devices to participate in the suspend process more intimately,\nin particular, allow the final phase (with interrupts disabled) to\nalso be open to normal devices, not just system devices.\n\nAlso, allow classes to participate in device suspend.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1cc5f7142eca352109895fe20b1fc6405dd17727",
      "tree": "9c6b4b3204f06317c830457e091ff2c83272ea09",
      "parents": [
        "bfa0e9a07cd31f3858239dbc93011b82780acf4b"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@arastra.com",
        "time": "Mon Sep 25 16:25:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 25 17:38:36 2006 -0700"
      },
      "message": "[PATCH] load_module: no BUG if module_subsys uninitialized\n\nInvoking load_module() before param_sysfs_init() is called crashes in\nmod_sysfs_setup(), since the kset in module_subsys is not initialized yet.\n\nIn my case, net-pf-1 is getting modprobed as a result of hotplug trying to\ncreate a UNIX socket.  Calls to hotplug begin after the topology_init\ninitcall.\n\nAnother patch for the same symptom (module_subsys-initialize-earlier.patch)\nmoves param_sysfs_init() to the subsys initcalls, but this is still not\nearly enough in the boot process in some cases.  In particular,\ntopology_init() causes /sbin/hotplug to run, which requests net-pf-1 (the\nUNIX socket protocol) which can be compiled as a module.  Moving\nparam_sysfs_init() to the postcore initcalls fixes this particular race,\nbut there might well be other cases where a usermodehelper causes a module\nto load earlier still.\n\nThe patch makes load_module() return an error rather than crashing the\nkernel if invoked before module_subsys is initialized.\n\nCc: Mark Huang \u003cmlhuang@cs.princeton.edu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe4944e59c357f945f81bc67edb7ed1392e875ad",
      "tree": "9634365d416ac574442fc7e21e1eaa26a71a26d1",
      "parents": [
        "e1ef4bf23b1ced0bf78a1c98289f746486e5c912"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:03:05 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:43 2006 -0700"
      },
      "message": "[NETLINK]: Extend netlink messaging interface\n\nAdds:\n nlmsg_get_pos()                 return current position in message\n nlmsg_trim()                    trim part of message\n nla_reserve_nohdr(skb, len)     reserve room for an attribute w/o hdr\n nla_put_nohdr(skb, len, data)   add attribute w/o hdr\n nla_find_nested()               find attribute in nested attributes\n\nFixes nlmsg_new() to take allocation flags and consider size.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86998aa6534e839ec003ed2ef7067d6fe8696ccc",
      "tree": "ca2e8fff9371ef26f339f2893c6c1d50c5f4e2fe",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 19 11:14:34 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 19 07:57:20 2006 -0700"
      },
      "message": "[PATCH] genirq core: fix handle_level_irq()\n\nwhile porting the -rt tree to 2.6.18-rc7 i noticed the following\nscreaming-IRQ scenario on an SMP system:\n\n 2274  0Dn.:1 0.001ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.010ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.020ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.029ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.039ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.048ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.058ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.068ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.077ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.087ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.097ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n\nas it turns out, the bug is caused by handle_level_irq(), which if it\nraces with another CPU already handling this IRQ, it _unmasks_ the IRQ\nline on the way out. This is not how 2.6.17 works, and we introduced\nthis bug in one of the early genirq cleanups right before it went into\n-mm. (the bug was not in the genirq patchset for a long time, and we\ndidnt notice the bug due to the lack of -rt rebase to the new genirq\ncode. -rt, and hardirq-preemption in particular opens up such races much\nwider than anything else.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4b69aa2a1bcee21f8d5e089b8682dd8aaace5eb",
      "tree": "ccc3ff548d892965999d2ec2d64617e6daff41ac",
      "parents": [
        "1ab7a1f3b496aae5b1e062a6f50d62830c248190"
      ],
      "author": {
        "name": "Kenneth Lee",
        "email": "kenlee@dg.gov.cn",
        "time": "Sat Sep 16 12:15:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 16 12:54:32 2006 -0700"
      },
      "message": "[PATCH] bug fix in kernel/kmod.c\n\nI think there is a bug in kmod.c: In __call_usermodehelper(), when\nkernel_thread(wait_for_helper, ...) return success, since wait_for_helper()\nmight call complete() at any time, the sub_info should not be used any\nmore.\n\nNormally wait_for_helper() take a long time to finish, you may not get\nproblem for most of the case.  But if you remove /sbin/modprobe, it may\nbecome easier for you to get a oop in khelper.\n\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1ed7ac77b63abb6b3a2c0b4b070f50da5b1fb2f",
      "tree": "f82b0558b445cdae2ebf377c19e6409cef7679e0",
      "parents": [
        "63b98080daa35f0d682db04f4fb7ada010888752"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@solidboot.com",
        "time": "Sat Sep 16 12:15:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 16 12:54:30 2006 -0700"
      },
      "message": "[PATCH] genirq: fix typo in IRQ resend\n\nFix a bug where the IRQ_PENDING flag is never cleared and the ISR is called\nendlessly without an actual interrupt.\n\nSigned-off-by: Imre Deak \u003cimre.deak@solidboot.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: 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": "dd9daa221e77f642954849a795fa7c59533a9b2f",
      "tree": "6b207a5296063e1a773f36fb724402ea7cbab7eb",
      "parents": [
        "7fbb36451a91de6e8f9ece4f1f1ee9bd8ebf838a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Sep 12 20:35:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 13 07:32:14 2006 -0700"
      },
      "message": "[PATCH] rcu_do_batch: make -\u003eqlen decrement irq safe\n\nrcu_do_batch() decrements rdp-\u003eqlen with irqs enabled.  This is not good,\nit can also be modified by call_rcu() from interrupt.\n\nDecrement -\u003eqlen once with irqs disabled, after a main loop.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9bb25bf36f0d7b06368432e2324dbbc2e98b5e60",
      "tree": "c788a094599f6d1d82bd1263290757d7a6a1d7c7",
      "parents": [
        "a4f5749ba6e3f23ae4a137cee10324830db4d081"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 12 20:35:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 13 07:32:14 2006 -0700"
      },
      "message": "[PATCH] lockdep: double the number of stack-trace entries\n\nMiles Lane reported the \"BUG: MAX_STACK_TRACE_ENTRIES too low!\" message,\nwhich means that during normal use his system produced enough lockdep\nevents so that the 128-thousand entries stack-trace array got exhausted.\nDouble the size of the array.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55669bfa141b488be865341ed12e188967d11308",
      "tree": "efeec37a93f46c48937eb849c083da9a42ed3709",
      "parents": [
        "dc104fb3231f11e95b5a0f09ae3ab27a8fd5b2e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 31 19:26:40 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 11 13:32:30 2006 -0400"
      },
      "message": "[PATCH] audit: AUDIT_PERM support\n\nadd support for AUDIT_PERM predicate\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5974501e2d44546748e67c635cec20ba66619a3d",
      "tree": "f36ef74c1192b73d25a84f9c09ddb844a0d59cc6",
      "parents": [
        "8ef2d3040e5cf38f7d64a408038f576b4a5ec987"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Sep 07 17:46:18 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 11 13:32:17 2006 -0400"
      },
      "message": "[PATCH] update audit rule change messages\n\nMake the audit message for implicit rule removal more informative.\nMake the rule update message consistent with other messages.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8ef2d3040e5cf38f7d64a408038f576b4a5ec987",
      "tree": "def11d400d2262e104cb1c64a953276794d8c9a8",
      "parents": [
        "3b33ac3182a4554742757a0c61ee1df162cf8225"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Sep 07 17:03:02 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 11 13:32:17 2006 -0400"
      },
      "message": "[PATCH] sanity check audit_buffer\n\nAdd sanity checks for NULL audit_buffer consistent with other\naudit_log* routines.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3b33ac3182a4554742757a0c61ee1df162cf8225",
      "tree": "edf8603a39931681f679388d3aaee154930f9192",
      "parents": [
        "e004876c3b0b6a71406069b0e55368cb9bbdc920"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Sat Aug 26 14:06:20 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Sep 11 13:32:04 2006 -0400"
      },
      "message": "[PATCH] fix ppid bug in 2.6.18 kernel\n\nHello,\n\nDuring some troubleshooting, I found that ppid was accidentally omitted from\nthe legacy rule section. This resulted in EINVAL for any rule with ppid sent\nwith AUDIT_ADD.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c5780e976e19faff345fcef4a01db87108b51a44",
      "tree": "1e75fc4cd3765beb575fb3196a477d97ed1905a4",
      "parents": [
        "3a459756810912d2c2bf188cef566af255936b4d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 08 09:47:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 08 10:22:50 2006 -0700"
      },
      "message": "[PATCH] Use the correct restart option for futex_lock_pi\n\nThe current implementation of futex_lock_pi returns -ERESTART_RESTARTBLOCK\nin case that the lock operation has been interrupted by a signal.  This\nresults in a return of -EINTR to userspace in case there is an handler for\nthe signal.  This is wrong, because userspace expects that the lock\nfunction does not return in any case of signal delivery.\n\nThis was not caught by my insufficient test case, but triggered a nasty\nuserspace problem in an high load application scenario.  Unfortunately also\nglibc does not check for this invalid return value.\n\nUsing -ERSTARTNOINTR makes sure, that the interrupted syscall is restarted.\n The restart block related code can be safely removed, as the possible\ntimeout argument is an absolute time value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: 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": "068c4579fe5c21e84c7cb2ba89db80899e25104e",
      "tree": "ab16bf723c648d936cefb89b6dc6634145668b86",
      "parents": [
        "471b40d0dfc17bf0161629950b82524d41bc37ce"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 06 00:03:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:02 2006 -0700"
      },
      "message": "[PATCH] lockdep: do not touch console state when tainting the kernel\n\nRemove an unintended console_verbose() side-effect from add_taint().\n\nSigned-off-by: 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": "471b40d0dfc17bf0161629950b82524d41bc37ce",
      "tree": "1f3a95ec7a182e313556afe16d8107444d090fa8",
      "parents": [
        "96dd7421a06a5bc6eb731323b95efcb2fd864854"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Sep 06 00:03:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:02 2006 -0700"
      },
      "message": "[PATCH] prevent swsusp with PAE\n\nPAE + swsusp results in hard-to-debug crash about 50% of time during\nresume.  Cause is known, fix needs to be ported from x86-64 (but we can\u0027t\nmake it to 2.6.18, and I\u0027d like this to be worked around in 2.6.18).\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc47e7b592dc45b03c27b0a4c8f2d215dae9944d",
      "tree": "54ea55d491e2f708bc23655041668e19da3de619",
      "parents": [
        "c336923b668fdcf0312efbec3b44895d713f4d81"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Wed Sep 06 00:03:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:01 2006 -0700"
      },
      "message": "[PATCH] lockdep ifdef fix\n\nWith\n\n\tCONFIG_SMP\u003dy\n\tCONFIG_PREEMPT\u003dy\n\tCONFIG_LOCKDEP\u003dy\n\tCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\t# CONFIG_PROVE_LOCKING is not set\n\nspin_unlock_irqrestore() goes through lockdep but spin_lock_irqsave() doesn\u0027t.\nApparently, bad things happen.\n\nAcked-by: 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": "3b6362b833b9f7a9d4222cf1bb35f99c411abb31",
      "tree": "b72c39577b6a5d50cda735c43213158118c8f7e4",
      "parents": [
        "d738752fc46c4cc339bc66346cf6134446ce08db"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sat Sep 02 21:22:16 2006 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 02 14:51:27 2006 -0700"
      },
      "message": "[PATCH] eligible_child: remove an obsolete -\u003etgid check\n\nIt is not possible to find a sub-thread in -\u003echildren/-\u003eptrace_children\nlists, ptrace_attach() does not allow to attach to sub-threads.\n\nEven if it was possible to ptrace the task from the same thread group,\nwe can\u0027t allow to release -\u003egroup_leader while there are others (ptracer)\nthreads in the same group.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43a1dd502f40fdb644402f64cd06cf8016cd9780",
      "tree": "24b6b285e528b0f48c9d70d11a3ba9a15cc47aba",
      "parents": [
        "290995fc3c06c0548ae303dd0b1371a8727f4fad"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Thu Aug 31 21:27:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:09 2006 -0700"
      },
      "message": "[PATCH] kerneldoc for handle_bad_irq()\n\nAdds the description of the parameters from handle_bad_irq().\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "35df17c57cecb08f0120fb18926325f1093dc429",
      "tree": "dc79780b3133e55dc591e35238fdb313e8e0219e",
      "parents": [
        "30f3174d1c506db2c6d2c1dddc9c064e741d6b76"
      ],
      "author": {
        "name": "Shailabh Nagar",
        "email": "nagar@watson.ibm.com",
        "time": "Thu Aug 31 21:27:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:08 2006 -0700"
      },
      "message": "[PATCH] task delay accounting fixes\n\nCleanup allocation and freeing of tsk-\u003edelays used by delay accounting.\nThis solves two problems reported for delay accounting:\n\n1. oops in __delayacct_blkio_ticks\nhttp://www.uwsg.indiana.edu/hypermail/linux/kernel/0608.2/1844.html\n\nCurrently tsk-\u003edelays is getting freed too early in task exit which can\ncause a NULL tsk-\u003edelays to get accessed via reading of /proc/\u003ctgid\u003e/stats.\n The patch fixes this problem by freeing tsk-\u003edelays closer to when\ntask_struct itself is freed up.  As a result, it also eliminates the use of\ntsk-\u003edelays_lock which was only being used (inadequately) to safeguard\naccess to tsk-\u003edelays while a task was exiting.\n\n2. Possible memory leak in kernel/delayacct.c\nhttp://www.uwsg.indiana.edu/hypermail/linux/kernel/0608.2/1389.html\n\nThe patch cleans up tsk-\u003edelays allocations after a bad fork which was\nmissing earlier.\n\nThe patch has been tested to fix the problems listed above and stress\ntested with rapid calls to delay accounting\u0027s taskstats command interface\n(which is the other path that can access the same data, besides the /proc\ninterface causing the oops above).\n\nSigned-off-by: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d673a5a4775d3dc565b6668ed75fd2db2ede624",
      "tree": "a447aa33cf8b8fea26a81add012169a1a8060706",
      "parents": [
        "36920e069a87c6fccffbc0ec5e74985d94d3bcc4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Aug 27 01:23:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:32 2006 -0700"
      },
      "message": "[PATCH] cpuset: oom panic fix\n\ncpuset_excl_nodes_overlap always returns 0 if current is exiting.  This caused\ncustomer\u0027s systems to panic in the OOM killer when processes were having\ntrouble getting memory for the final put_user in mm_release.  Even though\nthere were lots of processes to kill.\n\nChange to returning 1 in this case.  This achieves parity with !CONFIG_CPUSETS\ncase, and was observed to fix the problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c4d50f7b39cc58f1064b93a61ad617451ae41df",
      "tree": "d55ec85fd917472e9859a17e34f8114a7e87892b",
      "parents": [
        "6394cca54894f6a9bcf927ab78d28985944298ff"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Aug 27 01:23:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:32 2006 -0700"
      },
      "message": "[PATCH] cpuset: top_cpuset tracks hotplug changes to cpu_online_map\n\nChange the list of cpus allowed to tasks in the top (root) cpuset to\ndynamically track what cpus are online, using a CPU hotplug notifier.  Make\nthis top cpus file read-only.\n\nOn systems that have cpusets configured in their kernel, but that aren\u0027t\nactively using cpusets (for some distros, this covers the majority of\nsystems) all tasks end up in the top cpuset.\n\nIf that system does support CPU hotplug, then these tasks cannot make use\nof CPUs that are added after system boot, because the CPUs are not allowed\nin the top cpuset.  This is a surprising regression over earlier kernels\nthat didn\u0027t have cpusets enabled.\n\nIn order to keep the behaviour of cpusets consistent between systems\nactively making use of them and systems not using them, this patch changes\nthe behaviour of the \u0027cpus\u0027 file in the top (root) cpuset, making it read\nonly, and making it automatically track the value of cpu_online_map.  Thus\ntasks in the top cpuset will have automatic use of hot plugged CPUs allowed\nby their cpuset.\n\nThanks to Anton Blanchard and Nathan Lynch for reporting this problem,\ndriving the fix, and earlier versions of this patch.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Nathan Lynch \u003cntl@pobox.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4edb9a143e31d2e191c199262226e1a5923ff8f7",
      "tree": "c876dfb150124613dfb0564781de4fb2bf424d7c",
      "parents": [
        "ecdc63948763586e101108dfe1ba316ec069fe39"
      ],
      "author": {
        "name": "Yingchao Zhou",
        "email": "yingchao.zhou@gmail.com",
        "time": "Sun Aug 27 01:23:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:31 2006 -0700"
      },
      "message": "[PATCH] Remove redundant up() in stop_machine()\n\nAn up() is called in kernel/stop_machine.c on failure, and also in the\ncaller (unconditionally).\n\nSigned-off-by: Zhou Yingchao \u003cyingchao.zhou@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d015baebba44613ef59ddffeae2114fa4ede7104",
      "tree": "24fb1e84890da3dbbd391b79f91426e3de274480",
      "parents": [
        "533475d3d48eb839be2b57f6b020150abae91063"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Aug 27 01:23:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:30 2006 -0700"
      },
      "message": "[PATCH] futex_find_get_task(): remove an obscure EXIT_ZOMBIE check\n\nfutex_find_get_task:\n\n\tif (p-\u003estate \u003d\u003d EXIT_ZOMBIE || p-\u003eexit_state \u003d\u003d EXIT_ZOMBIE)\n\t\treturn NULL;\n\nI can\u0027t understand this.  First, p-\u003estate can\u0027t be EXIT_ZOMBIE.  The\n-\u003eexit_state check looks strange too.  Sub-threads or tasks whose -\u003eparent\nignores SIGCHLD go directly to EXIT_DEAD state (I am ignoring a ptrace\ncase).  Why EXIT_DEAD tasks should be ok?  Yes, EXIT_ZOMBIE is more\nimportant (a task may stay zombie for a long time), but this doesn\u0027t mean\nwe should explicitely ignore other EXIT_XXX states.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8986c241dfd54d51c9eff967129a550ae230144",
      "tree": "62f9a9739a2119024ad7bef7c26498bd332904b5",
      "parents": [
        "cb3e0fe3a5dabdc5eda50b825acb23bdfa2d1d55"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Aug 27 01:23:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:29 2006 -0700"
      },
      "message": "[PATCH] revert \"Drop tasklist lock in do_sched_setscheduler\"\n\nsched_setscheduler() looks at -\u003esignal-\u003erlim[].  It is unsafe do\ndereference -\u003esignal unless tasklist_lock or -\u003esiglock is held (or p \u003d\u003d\ncurrent).  We pin the task structure, but this can\u0027t prevent from\nrelease_task()-\u003e__exit_signal() which sets -\u003esignal \u003d NULL.\n\nRestore tasklist_lock across the setscheduler call.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "9b41ea7289a589993d3daabc61f999b4147872c4",
      "tree": "35a79670ca4493832f1da026a047e3fc9eec0910",
      "parents": [
        "2b25742556b1a351ce4821f6feddcba23bdd930b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Aug 13 23:24:26 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:29 2006 -0700"
      },
      "message": "[PATCH] workqueue: remove lock_cpu_hotplug()\n\nUse a private lock instead.  It protects all per-cpu data structures in\nworkqueue.c, including the workqueues list.\n\nFix a bug in schedule_on_each_cpu(): it was forgetting to lock down the\nper-cpu resources.\n\nUnfixed long-standing bug: if someone unplugs the CPU identified by\n`singlethread_cpu\u0027 the kernel will get very sick.\n\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e579dcbf23604cb33c08b5c3c3ac06ca36e7c683",
      "tree": "293581684fc47260a4610e4a77510b459346e2aa",
      "parents": [
        "6997a6faaa129a1c91775f7344c8d371a05178ea"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Sun Aug 13 23:24:24 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:29 2006 -0700"
      },
      "message": "[PATCH] futex_handle_fault always fails\n\nWe found this issue last week w/ the -RT kernel, but it seems the same\nissue is in mainline as well.\n\nBasically it is possible for futex_unlock_pi to return without actually\nfreeing the lock.  This is due to buggy logic in the use of\nfutex_handle_fault() and its attempt argument in a failure case.\n\nLooking at futex.c the logic is as follows:\n\n1) In futex_unlock_pi() we start w/ ret\u003d0 and we go down to the first\n   futex_atomic_cmpxchg_inatomic(), where we find uval\u003d\u003d-EFAULT.  We then\n   jump to the pi_faulted label.\n\n2) From pi_faulted: We increment attempt, unlock the sem and hit the\n   retry label.\n\n3) From the retry label, with ret still zero, we again hit EFAULT on the\n   first futex_atomic_cmpxchg_inatomic(), and again goto the pi_faulted\n   label.\n\n4) Again from pi_faulted: we increment attempt and enter the\n   conditional, where we call futex_handle_fault.\n\n5) futex_handle_fault fails, and we goto the out_unlock_release_sem\n   label.\n\n6) From out_unlock_release_sem we return, and since ret is still zero,\n   we return without error, while never actually unlocking the lock.\n\nIssue #1: at the first futex_atomic_cmpxchg_inatomic() we should probably\nbe setting ret\u003d-EFAULT before jumping to pi_faulted: However in our case\nthis doesn\u0027t really affect anything, as the glibc we\u0027re using ignores the\nerror value from futex_unlock_pi().\n\nIssue #2: Look at futex_handle_fault(), its first conditional will return\n-EFAULT if attempt is \u003e\u003d 2.  However, from the \"if(attempt++)\nfutex_handle_fault(attempt)\" logic above, we\u0027ll *never* call\nfutex_handle_fault when attempt is less then two.  So we never get a chance\nto even try to fault the page in.\n\nThe following patch addresses these two issues by 1) Always setting ret to\n-EFAULT if futex_handle_fault fails, and 2) Removing the \u003d in\nfutex_handle_fault\u0027s (attempt \u003e\u003d 2) check.\n\nI\u0027m really not sure this is the right fix, but wanted to bring it up so\nfolks knew the issue is alive and well in the current -git tree.  From\nlooking at the git logs the logic was first introduced (then later copied\nto other places) in the following commit almost a year ago:\n\nhttp://www.kernel.org/git/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003d4732efbeb997189d9f9b04708dc26bf8613ed721;hp\u003d5b039e681b8c5f30aac9cc04385cc94be45d0823\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6997a6faaa129a1c91775f7344c8d371a05178ea",
      "tree": "d1dbf57afc7d561620ad1b192ae031fd234b085a",
      "parents": [
        "012c437d03cb299814e58ac8d574f7510f5989a5"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Sun Aug 13 23:24:23 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:29 2006 -0700"
      },
      "message": "[PATCH] sys_getppid oopses on debug kernel\n\nsys_getppid() optimization can access a freed memory.  On kernels with\nDEBUG_SLAB turned ON, this results in Oops.  As Dave Hansen noted, this\noptimization is also unsafe for memory hotplug.\n\nSo this patch always takes the lock to be safe.\n\n[oleg@tv-sign.ru: simplifications]\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "657b3010d8f8a72195dfcbe63040127d596f0b14",
      "tree": "e3cd79a634949a01955be6e53f84b78b4f1b0d66",
      "parents": [
        "3773dc92055f219c2f2403f9de774b8ad41a9214"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Aug 13 23:24:19 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:28 2006 -0700"
      },
      "message": "[PATCH] panic.c build fix\n\nkernel/panic.c: In function \u0027add_taint\u0027:\nkernel/panic.c:176: warning: implicit declaration of function \u0027debug_locks_off\u0027\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3773dc92055f219c2f2403f9de774b8ad41a9214",
      "tree": "621406999c6bafdf635a8425be2e67ba8e894e22",
      "parents": [
        "95f8797f42b058333d1e6f0d1dcd8edf5dc6c244"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Sun Aug 13 23:24:19 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:28 2006 -0700"
      },
      "message": "[PATCH] fix hrtimer percpu usage typo\n\nThe percpu variable is used incorrectly in switch_hrtimer_base().\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ce2c6b53847afc444c4d0a7a1075c61f499c57a5",
      "tree": "ad7e920292169f1febcf0cdc12375a8473d75337",
      "parents": [
        "2b8de5f50e4a302b83ebcd5b0120621336d50bd6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 05 12:15:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:49 2006 -0700"
      },
      "message": "[PATCH] futex: Apply recent futex fixes to futex_compat\n\nThe recent fixups in futex.c need to be applied to futex_compat.c too.  Fixes\na hang reported by Olaf.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "58c1b5b079071d82b2f924000b7e8fb5585ce7d8",
      "tree": "74178ceb6462b68cba9f1b144d450dafcaf01c22",
      "parents": [
        "0f04ab5efbca73ab366a156d96b073d2da35b158"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sat Aug 05 12:15:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:48 2006 -0700"
      },
      "message": "[PATCH] memory hotadd fixes: find_next_system_ram catch range fix\n\nfind_next_system_ram() is used to find available memory resource at onlining\nnewly added memory.  This patch fixes following problem.\n\nfind_next_system_ram() cannot catch this case.\n\nResource:      (start)-------------(end)\nSection :                (start)-------------(end)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Keith Mannthey \u003ckmannth@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f04ab5efbca73ab366a156d96b073d2da35b158",
      "tree": "53da6790d43c370c56699e093e7c9ba6ad310ea6",
      "parents": [
        "6f712711dbd180aa3777efe5ae3b9b0e915b9471"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sat Aug 05 12:14:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:48 2006 -0700"
      },
      "message": "[PATCH] memory hotadd fixes: change find_next_system_ram\u0027s return value manner\n\nfind_next_system_ram() returns valid memory range which meets requested area,\nonly used by memory-hot-add.\n\nThis function always rewrite requested resource even if returned area is not\nfully fit in requested one.  And sometimes the returnd resource is larger than\nrequested area.  This annoyes the caller.  This patch changes the returned\nvalue to fit in requested area.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Keith Mannthey \u003ckmannth@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "78944e549d36673eb6265a2411574e79c28e23dc",
      "tree": "5e080e775c21f6d7af69f37f37d25b7680cc46b8",
      "parents": [
        "38cbcdc0a7be69a15462dc49512d43353f34b43b"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Sat Aug 05 12:14:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:47 2006 -0700"
      },
      "message": "[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion\n\nReported by: Dave Jones\n\nWhilst printk\u0027ing to both console and serial console, I got this...\n(2.6.18rc1)\n\nBUG: sleeping function called from invalid context at kernel/sched.c:4438\nin_atomic():0, irqs_disabled():1\n\nCall Trace:\n [\u003cffffffff80271db8\u003e] show_trace+0xaa/0x23d\n [\u003cffffffff80271f60\u003e] dump_stack+0x15/0x17\n [\u003cffffffff8020b9f8\u003e] __might_sleep+0xb2/0xb4\n [\u003cffffffff8029232e\u003e] __cond_resched+0x15/0x55\n [\u003cffffffff80267eb8\u003e] cond_resched+0x3b/0x42\n [\u003cffffffff80268c64\u003e] console_conditional_schedule+0x12/0x14\n [\u003cffffffff80368159\u003e] fbcon_redraw+0xf6/0x160\n [\u003cffffffff80369c58\u003e] fbcon_scroll+0x5d9/0xb52\n [\u003cffffffff803a43c4\u003e] scrup+0x6b/0xd6\n [\u003cffffffff803a4453\u003e] lf+0x24/0x44\n [\u003cffffffff803a7ff8\u003e] vt_console_print+0x166/0x23d\n [\u003cffffffff80295528\u003e] __call_console_drivers+0x65/0x76\n [\u003cffffffff80295597\u003e] _call_console_drivers+0x5e/0x62\n [\u003cffffffff80217e3f\u003e] release_console_sem+0x14b/0x232\n [\u003cffffffff8036acd6\u003e] fb_flashcursor+0x279/0x2a6\n [\u003cffffffff80251e3f\u003e] run_workqueue+0xa8/0xfb\n [\u003cffffffff8024e5e0\u003e] worker_thread+0xef/0x122\n [\u003cffffffff8023660f\u003e] kthread+0x100/0x136\n [\u003cffffffff8026419e\u003e] child_rip+0x8/0x12\n\nThis can occur when release_console_sem() is called but the log\nbuffer still has contents that need to be flushed. The console drivers\nare called while the console_may_schedule flag is still true. The\nmight_sleep() is triggered when fbcon calls console_conditional_schedule().\n\nFix by setting console_may_schedule to zero earlier, before the call to the\nconsole drivers.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f59ce5d0e0dd837853385927b150f5cef3a7f52",
      "tree": "12d158ca678e803e77803cd9476fd6104e8ae0c0",
      "parents": [
        "f9abd1ace43d6186268856dbec2ebf411218d6ca"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Sat Aug 05 12:14:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] ptrace: make pid of child process available for PTRACE_EVENT_VFORK_DONE\n\nWhen delivering PTRACE_EVENT_VFORK_DONE, provide pid of the child process\nwhen tracer calls ptrace(PTRACE_GETEVENTMSG).  This is already\n(accidentally) available when the tracer is tracing VFORK in addition to\nVFORK_DONE.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nCc: Daniel Jacobowitz \u003cdan@debian.org\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e91467ecd1ef381377fd327c0ded922835ec52ab",
      "tree": "b80a9c5d4b86df9c766c6a9613ae596d19ed0abf",
      "parents": [
        "72f0b4e2133ba1d65147d06016c0b6d2202235ca"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntrae@de.ibm.com",
        "time": "Sat Aug 05 12:13:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] bug in futex unqueue_me\n\nThis patch adds a barrier() in futex unqueue_me to avoid aliasing of two\npointers.\n\nOn my s390x system I saw the following oops:\n\nUnable to handle kernel pointer dereference at virtual kernel address\n0000000000000000\nOops: 0004 [#1]\nCPU:    0    Not tainted\nProcess mytool (pid: 13613, task: 000000003ecb6ac0, ksp: 00000000366bdbd8)\nKrnl PSW : 0704d00180000000 00000000003c9ac2 (_spin_lock+0xe/0x30)\nKrnl GPRS: 00000000ffffffff 000000003ecb6ac0 0000000000000000 0700000000000000\n           0000000000000000 0000000000000000 000001fe00002028 00000000000c091f\n           000001fe00002054 000001fe00002054 0000000000000000 00000000366bddc0\n           00000000005ef8c0 00000000003d00e8 0000000000144f91 00000000366bdcb8\nKrnl Code: ba 4e 20 00 12 44 b9 16 00 3e a7 84 00 08 e3 e0 f0 88 00 04\nCall Trace:\n([\u003c0000000000144f90\u003e] unqueue_me+0x40/0xe4)\n [\u003c0000000000145a0c\u003e] do_futex+0x33c/0xc40\n [\u003c000000000014643e\u003e] sys_futex+0x12e/0x144\n [\u003c000000000010bb00\u003e] sysc_noemu+0x10/0x16\n [\u003c000002000003741c\u003e] 0x2000003741c\n\nThe code in question is:\n\nstatic int unqueue_me(struct futex_q *q)\n{\n        int ret \u003d 0;\n        spinlock_t *lock_ptr;\n\n        /* In the common case we don\u0027t take the spinlock, which is nice. */\n retry:\n        lock_ptr \u003d q-\u003elock_ptr;\n        if (lock_ptr !\u003d 0) {\n                spin_lock(lock_ptr);\n\t\t/*\n                 * q-\u003elock_ptr can change between reading it and\n                 * spin_lock(), causing us to take the wrong lock.  This\n                 * corrects the race condition.\n[...]\n\nand my compiler (gcc 4.1.0) makes the following out of it:\n\n00000000000003c8 \u003cunqueue_me\u003e:\n     3c8:       eb bf f0 70 00 24       stmg    %r11,%r15,112(%r15)\n     3ce:       c0 d0 00 00 00 00       larl    %r13,3ce \u003cunqueue_me+0x6\u003e\n                        3d0: R_390_PC32DBL      .rodata+0x2a\n     3d4:       a7 f1 1e 00             tml     %r15,7680\n     3d8:       a7 84 00 01             je      3da \u003cunqueue_me+0x12\u003e\n     3dc:       b9 04 00 ef             lgr     %r14,%r15\n     3e0:       a7 fb ff d0             aghi    %r15,-48\n     3e4:       b9 04 00 b2             lgr     %r11,%r2\n     3e8:       e3 e0 f0 98 00 24       stg     %r14,152(%r15)\n     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)\n\t\t/* write q-\u003elock_ptr in r12 */\n     3f4:       b9 02 00 cc             ltgr    %r12,%r12\n     3f8:       a7 84 00 4b             je      48e \u003cunqueue_me+0xc6\u003e\n\t\t/* if r12 is zero then jump over the code.... */\n     3fc:       e3 20 b0 28 00 04       lg      %r2,40(%r11)\n\t\t/* write q-\u003elock_ptr in r2 */\n     402:       c0 e5 00 00 00 00       brasl   %r14,402 \u003cunqueue_me+0x3a\u003e\n                        404: R_390_PC32DBL      _spin_lock+0x2\n\t\t/* use r2 as parameter for spin_lock */\n\nSo the code becomes more or less:\nif (q-\u003elock_ptr !\u003d 0) spin_lock(q-\u003elock_ptr)\ninstead of\nif (lock_ptr !\u003d 0) spin_lock(lock_ptr)\n\nWhich caused the oops from above.\nAfter adding a barrier gcc creates code without this problem:\n[...] (the same)\n     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)\n     3f4:       b9 02 00 cc             ltgr    %r12,%r12\n     3f8:       b9 04 00 2c             lgr     %r2,%r12\n     3fc:       a7 84 00 48             je      48c \u003cunqueue_me+0xc4\u003e\n     400:       c0 e5 00 00 00 00       brasl   %r14,400 \u003cunqueue_me+0x38\u003e\n                        402: R_390_PC32DBL      _spin_lock+0x2\n\nAs a general note, this code of unqueue_me seems a bit fishy. The retry logic\nof unqueue_me only works if we can guarantee, that the original value of\nq-\u003elock_ptr is always a spinlock (Otherwise we overwrite kernel memory). We\nknow that q-\u003elock_ptr can change. I dont know what happens with the original\nspinlock, as I am not an expert with the futex code.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@timesys.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntrae@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7ef7878ea7c8bca9b624db3f61223cdadda2a0a",
      "tree": "3727435826f2fe3d054f0f3fbc3e60f2b37d8bad",
      "parents": [
        "f5d635f649607b09b0b4620d25d028fd2b1b7ea5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 05 12:13:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:45 2006 -0700"
      },
      "message": "[PATCH] Make suspend possible with a traced process at a breakpoint\n\nIt should be possible to suspend, either to RAM or to disk, if there\u0027s a\ntraced process that has just reached a breakpoint.  However, this is a\nspecial case, because its parent process might have been frozen already and\nthen we are unable to deliver the \"freeze\" signal to the traced process.\nIf this happens, it\u0027s better to cancel the freezing of the traced process.\n\nRef. http://bugzilla.kernel.org/show_bug.cgi?id\u003d6787\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f2792ffbd88dc1cd41d226674cc428914981e98",
      "tree": "40d176c192eed972df3acd494079d56e6b0e9a34",
      "parents": [
        "5ac3a9c26c1cc4861d9cdd8b293fecbfcdc81afe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 16 06:43:48 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:59:51 2006 -0400"
      },
      "message": "[PATCH] take filling -\u003epid, etc. out of audit_get_context()\n\nmove that stuff downstream and into the only branch where it\u0027ll be\nused.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5ac3a9c26c1cc4861d9cdd8b293fecbfcdc81afe",
      "tree": "6ca960fade3253ac358f3614e6a07361fc90d09e",
      "parents": [
        "d51374adf5f2f88155a072d3d801104e3c0c3d7f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 16 06:38:45 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:59:42 2006 -0400"
      },
      "message": "[PATCH] don\u0027t bother with aux entires for dummy context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d51374adf5f2f88155a072d3d801104e3c0c3d7f",
      "tree": "2b87e74cdb43fca5635cc25fb5a419cbb686ce00",
      "parents": [
        "471a5c7c839114cc8b55876203aeb2817c33e3c5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:59:26 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:59:26 2006 -0400"
      },
      "message": "[PATCH] mark context of syscall entered with no rules as dummy\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "471a5c7c839114cc8b55876203aeb2817c33e3c5",
      "tree": "a034011f4efe66adcdca6e21efc2e05b0c0d3e34",
      "parents": [
        "5422e01ac16df7398b2bad1eccad0ae3be4dee32"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 10 08:29:24 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:55:18 2006 -0400"
      },
      "message": "[PATCH] introduce audit rules counter\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5422e01ac16df7398b2bad1eccad0ae3be4dee32",
      "tree": "adb7941adc3125155874859b93b4d7720ce8db48",
      "parents": [
        "6988434ee5f532c71be3131fba23283f5cf43847"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Tue Aug 01 17:52:26 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:54:43 2006 -0400"
      },
      "message": "[PATCH] fix audit oops with invalid operator\n\nMichael C Thompson wrote:  [Tue Aug 01 2006, 02:36:36PM EDT]\n\u003e The trigger for this oops is:\n\u003e # auditctl -a exit,always -S pread64 -F \u0027inode\u003c1\u0027\n\nSetting the err value will fix it.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6988434ee5f532c71be3131fba23283f5cf43847",
      "tree": "bdec2a0f267af6b3067dca31753565db25c28127",
      "parents": [
        "73d3ec5abad3f1730ac8530899d2c14d92f3ad63"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jul 13 13:17:12 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:50:39 2006 -0400"
      },
      "message": "[PATCH] fix oops with CONFIG_AUDIT and !CONFIG_AUDITSYSCALL\n\nAlways initialize the audit_inode_hash[] so we don\u0027t oops on list rules.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73d3ec5abad3f1730ac8530899d2c14d92f3ad63",
      "tree": "c2829a1e36ca155eecc7d4b8648fe9755247bec5",
      "parents": [
        "3e2efce067cec0099f99ae59f28feda99b02b498"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jul 13 13:16:39 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:50:30 2006 -0400"
      },
      "message": "[PATCH] fix missed create event for directory audit\n\nWhen an object is created via a symlink into an audited directory, audit misses\nthe event due to not having collected the inode data for the directory.  Modify\n__audit_inode_child() to copy the parent inode data if a parent wasn\u0027t found in\naudit_names[].\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3e2efce067cec0099f99ae59f28feda99b02b498",
      "tree": "94577cb6cb7f223319bb89a805b2d6945d42632e",
      "parents": [
        "46f5960fdbf359f0c75989854bbaebc1de7a1eb4"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jul 13 13:16:02 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:50:21 2006 -0400"
      },
      "message": "[PATCH] fix faulty inode data collection for open() with O_CREAT\n\nWhen the specified path is an existing file or when it is a symlink, audit\ncollects the wrong inode number, which causes it to miss the open() event.\nAdding a second hook to the open() path fixes this.\n\nAlso add audit_copy_inode() to consolidate some code.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ae74c3b69a08e1de20cb681ec959f3a48af0006a",
      "tree": "97def06a79fdaee2294ef197666a369b18728058",
      "parents": [
        "202668ecb6cb221460d884598dd4cd2e1f3292f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 02 20:17:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 02 20:17:49 2006 -0700"
      },
      "message": "Fix force_sig_info() semantics after cleanups\n\nSuresh points out that commit b0423a0d9cc836b2c3d796623cd19236bfedfe63\nbroke the semantics of a synchronous signal like SIGSEGV occurring\nrecursively inside its own handler handler (or, indeed, any other\ncontext when the signal was blocked).\n\nThat was unintentional, and this fixes things up by reinstating the old\nsemantics, but without reverting the cleanups.\n\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51d8c5edd3b166fcc51aba84d78761d578400a7c",
      "tree": "d3cf04b8fd2d7a5a2ba8c0957bd3dbe3839981f5",
      "parents": [
        "bc65ac6a0ffc66c56d1e6893685d7fe87c63cc44"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Sun Jul 30 03:04:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:44 2006 -0700"
      },
      "message": "[PATCH] timer: Fix tvec_bases initializer\n\nkernel/timer.c defines a (per-cpu) pointer to tvec_base_t, but initializes\nit using { \u0026a_tvec_base_t }, which sparse warns about; change this to just\n\u0026a_tvec_base_t.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d07fe82c24daab2360e2790f488bcffa7db74825",
      "tree": "9fa6c2550b7ec62c617c03f33ceabc640973631c",
      "parents": [
        "0d94df56963251d896e87c6197f6df132593232b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sun Jul 30 03:04:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:43 2006 -0700"
      },
      "message": "[PATCH] reference rt-mutex-design in rtmutex.c\n\nIn order to prevent Doc Rot, this patch adds a reference to the design\ndocument for rtmutex.c in rtmutex.c.  So when someone needs to update or\nchange the design of that file they will know that a document actually\nexists that explains the design (helping them change it), and hopefully\nthat they will update the document if they too change the design.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: 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": "3c829c367a1a52550378584a657768217971e587",
      "tree": "78dfcbe28e6a0db56992ce5ad5891398a9743bf4",
      "parents": [
        "953a7f20667a8b6217ea2ac49c0877e957a0130a"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Sun Jul 30 03:04:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:42 2006 -0700"
      },
      "message": "[PATCH] Reducing local_bh_enable/disable overhead in irqtrace\n\nThe recent changes from irqtrace feature has added overheads to\nlocal_bh_disable and local_bh_enable that reduces UDP performance across\nx86_64 and IA64, even though IA64 does not support the irqtrace feature.\nPatch in question is\n\n[PATCH]lockdep: irqtrace subsystem, core\nhttp://www.kernel.org/git/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dc\nommit;h\u003dde30a2b355ea85350ca2f58f3b9bf4e5bc007986\n\nPrior to this patch, local_bh_disable was a short macro.  Now it is a\nfunction which calls __local_bh_disable with added irq flags save and\nrestore.  The irq flags save and restore were also added to\nlocal_bh_enable, probably for injecting the trace irqs code.\n\nThis overhead is on the generic code path across all architectures.  On a\nIA_64 test machine (Itanium-2 1.6 GHz) running a benchmark like netperf\u0027s\nUDP streaming test, the added overhead results in a drop of 3% in\nthroughput, as udp_sendmsg calls the local_bh_enable/disable several times.\n\nOther workloads that have heavy usages of local_bh_enable/disable could\nalso be affected.  The patch ideally should not have affected IA-64\nperformance as it does not have IRQ tracing support.  A significant portion\nof the overhead is in the added irq flags save and restore, which I think\nis not needed if IRQ tracing is unused.  A suggested patch is attached\nbelow that recovers the lost performance.  However, the \"ifdef\"s in the\npatch are a bit ugly.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@intel.com\u003e\nAcked-by: 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": "b50f60ceeef2e38e529737c0260d9543939915ad",
      "tree": "608880dd1c9d1751eceea9f21f7f1d2898ea917f",
      "parents": [
        "a04b61d3dc68857dcc81a5761268c96056742fb2"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jul 30 03:03:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:41 2006 -0700"
      },
      "message": "[PATCH] pi-futex: missing pi_waiters plist initialization\n\nInitialize init task\u0027s pi_waiters plist.  Otherwise cpu hotplug of cpu 0\nmight crash, since rt_mutex_getprio() accesses an uninitialized list head.\n\ncall chain which led to crash:\n\ntake_cpu_down\nsched_idle_next\n__setscheduler\nrt_mutex_getprio\n\nUsing PLIST_HEAD_INIT in the INIT_TASK macro doesn\u0027t work unfortunately,\nsince the pi_waiters member is only conditionally present.\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0fcb78c22f06340cdba884d7381adb3a0148bbb6",
      "tree": "565c221a078fc7271d09fd4ad9453c4a2d76f485",
      "parents": [
        "d75763d24063cafe28ace8863560da9c968ee099"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sun Jul 30 03:03:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:40 2006 -0700"
      },
      "message": "[PATCH] Add DocBook documentation for workqueue functions\n\nkernel/workqueue.c was omitted from generating kernel documentation.  This\nadds a new section \"Workqueues and Kevents\" and adds documentation for some\nof the functions.\n\nSome functions in this file already had DocBook-style comments, now they\nfinally become visible.\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d7d253548cffdce80f4e03664686e9ccb1b0ed7",
      "tree": "08771f36c2506e39f9adfc0bb09e4a574ce196dd",
      "parents": [
        "6ea24f9ad18c65cc179593b5cc2a88cdadf8cc0c"
      ],
      "author": {
        "name": "Jim Houston",
        "email": "jim.houston@ccur.com",
        "time": "Sun Jul 30 03:03:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:40 2006 -0700"
      },
      "message": "[PATCH] fix cond_resched() fix\n\nIn cond_resched_lock() it calls __resched_legal() before dropping the spin\nlock.  __resched_legal() will always finds the preempt_count non-zero and\nwill prevent the call to __cond_resched().\n\nThe attached patch adds a parameter to __resched_legal() with the expected\npreempt_count value.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ea24f9ad18c65cc179593b5cc2a88cdadf8cc0c",
      "tree": "7a47cc8e18a6f25b4af0560282d8a0315f72241d",
      "parents": [
        "be6b5a3505fa0cd54c3b5959a39293f47c648980"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sun Jul 30 03:03:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:40 2006 -0700"
      },
      "message": "[PATCH] fix bad macro param in timer.c\n\nWe have\n\n#define INDEX(N) (base-\u003etimer_jiffies \u003e\u003e (TVR_BITS + N * TVN_BITS)) \u0026 TVN_MASK\n\nand it\u0027s used via\n\n\tlist \u003d varray[i + 1]-\u003evec + (INDEX(i + 1));\n\nSo, due to underparenthesisation, this INDEX(i+1) is now a ...  (TVR_BITS + i\n+ 1 * TVN_BITS)) ...\n\nSo this bugfix changes behaviour.  It worked before by sheer luck:\n\n  \"If i was anything but 0, it was broken.  But this was only used by\n   s390 and arm.  Since it was for the next interrupt, could that next\n   interrupt be a problem (going into the second cascade)? But it was\n   probably seldom wrong.  That is, this would fail if the next\n   interrupt was in the second cascade, and was wrapped.  Which may\n   never of happened.  Also if it did happen, it would have just missed\n   the interrupt.\n\n   If an interrupt was missed, and no one was there to miss it, was it\n   really missed :-)\"\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c78f3075dab4be279e283f901f00e33ce44890a",
      "tree": "034d667a713b24d39608b09bd2aafb7983fb6ba5",
      "parents": [
        "cea6a4ba8acfba6f59cc9ed71e0d05cb770b9d9c"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Sun Jul 30 03:03:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:39 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: replace __devinit* with __cpuinit* for cpu notifications\n\nFew of the callback functions and notifier blocks that are associated with cpu\nnotifications incorrectly have __devinit and __devinitdata.  They should be\n__cpuinit and __cpuinitdata instead.\n\nIt makes no functional difference but wastes text area when CONFIG_HOTPLUG is\nenabled and CONFIG_HOTPLUG_CPU is not.\n\nThis patch fixes all those instances.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "a9ad965ea9a6d719daf333847a2ceb0e363994bd"
}
