)]}'
{
  "log": [
    {
      "commit": "34596dc9e59d7bece16fe5aba08116b49465da26",
      "tree": "75e09786a8ff8db3a69a5c82663f97d317e59e46",
      "parents": [
        "120b114237e2461fb4fa437c5c37edf014c916b9"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "message": "[PATCH] Define vsyscall cache as blob to make clearer that user space shouldn\u0027t use it\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "29cbc78b90a73ad80f2f58ba2927956cf663abed",
      "tree": "e72fdb9c1c055da47b4cd8834bc944af8efc1ed8",
      "parents": [
        "013bf2c50ed943e9c23a2145d3ea7c4d88cda310"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "message": "[PATCH] x86: Clean up x86 NMI sysctls\n\nUse prototypes in headers\nDon\u0027t define panic_on_unrecovered_nmi for all architectures\n\nCc: dzickus@redhat.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "181b64803661209cda64e5e874ad75f373a69de8",
      "tree": "0e0ee378b98e5ee72aeae428b1f155d031fe2597",
      "parents": [
        "683e91cbd0582cb8e63daaf0429e0a62be9cc421"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Sep 29 02:01:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:25 2006 -0700"
      },
      "message": "[PATCH] cpuset: fix obscure attach_task vs exiting race\n\nFix obscure race condition in kernel/cpuset.c attach_task() code.\n\nThere is basically zero chance of anyone accidentally being harmed by this\nrace.\n\nIt requires a special \u0027micro-stress\u0027 load and a special timing loop hacks\nin the kernel to hit in less than an hour, and even then you\u0027d have to hit\nit hundreds or thousands of times, followed by some unusual and senseless\ncpuset configuration requests, including removing the top cpuset, to cause\nany visibly harm affects.\n\nOne could, with perhaps a few days or weeks of such effort, get the\nreference count on the top cpuset below zero, and manage to crash the\nkernel by asking to remove the top cpuset.\n\nI found it by code inspection.\n\nThe race was introduced when \u0027the_top_cpuset_hack\u0027 was introduced, and one\npiece of code was not updated.  An old check for a possibly null task\ncpuset pointer needed to be changed to a check for a task marked\nPF_EXITING.  The pointer can\u0027t be null anymore, thanks to\nthe_top_cpuset_hack (documented in kernel/cpuset.c).  But the task could\nhave gone into PF_EXITING state after it was found in the task_list scan.\n\nIf a task is PF_EXITING in this code, it is possible that its task-\u003ecpuset\npointer is pointing to the top cpuset due to the_top_cpuset_hack, rather\nthan because the top_cpuset was that tasks last valid cpuset.  In that\ncase, the wrong cpuset reference counter would be decremented.\n\nThe fix is trivial.  Instead of failing the system call if the tasks cpuset\npointer is null here, fail it if the task is in PF_EXITING state.\n\nThe code for \u0027the_top_cpuset_hack\u0027 that changes an exiting tasks cpuset to\nthe top_cpuset is done without locking, so could happen at anytime.  But it\nis done during the exit handling, after the PF_EXITING flag is set.  So if\nwe verify that a task is still not PF_EXITING after we copy out its cpuset\npointer (into \u0027oldcs\u0027, below), we know that \u0027oldcs\u0027 is not one of these\nhack references to the top_cpuset.\n\nSigned-off-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": "03cbc358aab3faf34bfeaa02206fa660127e9b3f",
      "tree": "8d95237532390a1beeef37158174fd045b0f8819",
      "parents": [
        "632dd2053a1146c826ceb6f26ab689389c05e751"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 29 02:01:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:25 2006 -0700"
      },
      "message": "[PATCH] lockdep core: improve the lock-chain-hash\n\nWith CONFIG_DEBUG_LOCK_ALLOC turned off i was getting sporadic failures in\nthe locking self-test:\n\n  ------------\u003e\n  | Locking API testsuite:\n  ----------------------------------------------------------------------------\n                                   | spin |wlock |rlock |mutex | wsem | rsem |\n    --------------------------------------------------------------------------\n                       A-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |\n                   A-B-B-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |\n               A-B-B-C-C-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |\n               A-B-C-A-B-C deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |\n           A-B-B-C-C-D-D-A deadlock:  ok  |FAILED|  ok  |  ok  |  ok  |  ok  |\n           A-B-C-D-B-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |\n           A-B-C-D-B-C-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |FAILED|\n\nafter much debugging it turned out to be caused by accidental chain-hash\nkey collisions.  The current hash is:\n\n #define iterate_chain_key(key1, key2) \\\n\t(((key1) \u003c\u003c MAX_LOCKDEP_KEYS_BITS/2) ^ \\\n\t((key1) \u003e\u003e (64-MAX_LOCKDEP_KEYS_BITS/2)) ^ \\\n \t(key2))\n\nwhere MAX_LOCKDEP_KEYS_BITS is 11.  This hash is pretty good as it will\nshift by 5 bits in every iteration, where every new ID \u0027mixed\u0027 into the\nhash would have up to 11 bits.  But because there was a 6 bits overlap\nbetween subsequent IDs and their high bits tended to be similar, there was\na chance for accidental chain-hash collision for a low number of locks\nheld.\n\nthe solution is to shift by 11 bits:\n\n #define iterate_chain_key(key1, key2) \\\n\t(((key1) \u003c\u003c MAX_LOCKDEP_KEYS_BITS) ^ \\\n\t((key1) \u003e\u003e (64-MAX_LOCKDEP_KEYS_BITS)) ^ \\\n \t(key2))\n\nThis keeps the hash perfect up to 5 locks held, but even above that the\nhash is still good because 11 bits is a relative prime to the total 64\nbits, so a complete match will only occur after 64 held locks (which doesnt\nhappen in Linux).  Even after 5 locks held, entropy of the 5 IDs mixed into\nthe hash is already good enough so that overlap doesnt generate a colliding\nhash ID.\n\nwith this change the false positives went away.\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": "eb84a20e9e6b98dcb33023ad22241d79107a08a7",
      "tree": "4971aef730cc3a1917463afe1dbb381dea664e99",
      "parents": [
        "5f412b24240d92212e50ebbaff2dff20c9e6f3d0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Sep 29 02:01:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:25 2006 -0700"
      },
      "message": "[PATCH] audit/accounting: tty locking\n\nAdd tty locking around the audit and accounting code.\n\nThe whole current-\u003esignal-\u003e locking is all deeply strange but it\u0027s for\nsomeone else to sort out.  Add rather than replace the lock for acct.c\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\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": "e5582ca21af82929d5cd3613321ac9233c492ebc",
      "tree": "33d2b5cc6a42efac04320c7b566c55ca5388dfe9",
      "parents": [
        "39f0247d3823e4e0bf8f6838a10362864b1e1053"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 29 02:01:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:24 2006 -0700"
      },
      "message": "[PATCH] stop_machine.c copyright\n\nI had to look back: this code was extracted from the module.c code in 2005.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04b1db9fd7eea63c9663072feece616ea41b0a79",
      "tree": "70b92bf4040acbad744970b82432caac768c2658",
      "parents": [
        "3b5e0cbb4fb6e2a599d72652f56a9acb6af16bcf"
      ],
      "author": {
        "name": "Ian S. Nelson",
        "email": "nelsonian@comcast.net",
        "time": "Fri Sep 29 02:01:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:23 2006 -0700"
      },
      "message": "[PATCH] /sys/modules: allow full length section names\n\nI\u0027ve been using systemtap for some debugging and I noticed that it can\u0027t\nprobe a lot of modules.  Turns out it\u0027s kind of silly, the sections section\nof /sys/module is limited to 32byte filenames and many of the actual\nsections are a a bit longer than that.\n\n[akpm@osdl.org: rewrite to use dymanic allocation]\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b1aac8bb824c658ddebd296b088a8bff5029c288",
      "tree": "4b19b71fac4f769b7be7cff97ac7f6445d14d236",
      "parents": [
        "38837fc75acb7fa9b0e111b0241fe4fe76c5d4b3"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Sep 29 02:01:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:21 2006 -0700"
      },
      "message": "[PATCH] cpuset: hotunplug cpus and mems in all cpusets\n\nThe cpuset code handling hot unplug of CPUs or Memory Nodes was incorrect -\nit could remove a CPU or Node from the top cpuset, while leaving it still\nin some child cpusets.\n\nOne basic rule of cpusets is that each cpusets cpus and mems are subsets of\nits parents.  The cpuset hot unplug code violated this rule.\n\nSo the cpuset hotunplug handler must walk down the tree, removing any\nremoved CPU or Node from all cpusets.\n\nHowever, it is not allowed to make a cpusets cpus or mems become empty.\nThey can only transition from empty to non-empty, not back.\n\nSo if the last CPU or Node would be removed from a cpuset by the above\nwalk, we scan back up the cpuset hierarchy, finding the nearest ancestor\nthat still has something online, and copy its CPU or Memory placement.\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": "38837fc75acb7fa9b0e111b0241fe4fe76c5d4b3",
      "tree": "51508cbc49527e35921efb4ba31bca7da9795ad2",
      "parents": [
        "af3ffa6758dbd2ab7ebe62dddf66b3aa94d64eeb"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Sep 29 02:01:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:21 2006 -0700"
      },
      "message": "[PATCH] cpuset: top_cpuset tracks hotplug changes to node_online_map\n\nChange the list of memory nodes allowed to tasks in the top (root) nodeset\nto dynamically track what cpus are online, using a call to a cpuset hook\nfrom the memory hotplug code.  Make this 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 memory hotplug, then these tasks cannot make\nuse of memory nodes that are added after system boot, because the memory\nnodes are not allowed in the top cpuset.  This is a surprising regression\nover earlier kernels that didn\u0027t have cpusets enabled.\n\nOne key motivation for this change is to remain consistent with the\nbehaviour for the top_cpuset\u0027s \u0027cpus\u0027, which is also read-only, and which\nautomatically tracks the cpu_online_map.\n\nThis change also has the minor benefit that it fixes a long standing,\nlittle noticed, minor bug in cpusets.  The cpuset performance tweak to\nshort circuit the cpuset_zone_allowed() check on systems with just a single\ncpuset (see \u0027number_of_cpusets\u0027, in linux/cpuset.h) meant that simply\nchanging the \u0027mems\u0027 of the top_cpuset had no affect, even though the change\n(the write system call) appeared to succeed.  With the following change,\nthat write to the \u0027mems\u0027 file fails -EACCES, and the \u0027mems\u0027 file stubbornly\nrefuses to be changed via user space writes.  Thus no one should be mislead\ninto thinking they\u0027ve changed the top_cpusets\u0027s \u0027mems\u0027 when in affect they\nhaven\u0027t.\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 \u0027mems\u0027 file in the top (root) cpuset, making it read\nonly, and making it automatically track the value of node_online_map.  Thus\ntasks in the top cpuset will have automatic use of hot plugged memory nodes\nallowed by their cpuset.\n\n[akpm@osdl.org: build fix]\n[bunk@stusta.de: build fix]\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\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": "c394cc9fbb367f87faa2228ec2eabacd2d4701c6",
      "tree": "2177214ac92b3a7ac21cb2632786c9de728c3868",
      "parents": [
        "55a101f8f71a3d3dbda7b5c77083ffe47552f831"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:21 2006 -0700"
      },
      "message": "[PATCH] introduce TASK_DEAD state\n\nI am not sure about this patch, I am asking Ingo to take a decision.\n\ntask_struct-\u003estate \u003d\u003d EXIT_DEAD is a very special case, to avoid a confusion\nit makes sense to introduce a new state, TASK_DEAD, while EXIT_DEAD should\nlive only in -\u003eexit_state as documented in sched.h.\n\nNote that this state is not visible to user-space, get_task_state() masks off\nunsuitable states.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "55a101f8f71a3d3dbda7b5c77083ffe47552f831",
      "tree": "52706df201efd82d09bed39562502b4caa357af4",
      "parents": [
        "29b884921634e1e01cbd276e1c9b8fc07a7e4a90"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] kill PF_DEAD flag\n\nAfter the previous change (-\u003eflags \u0026 PF_DEAD) \u003c\u003d\u003e (-\u003estate \u003d\u003d EXIT_DEAD), we\ndon\u0027t need PF_DEAD any longer.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "29b884921634e1e01cbd276e1c9b8fc07a7e4a90",
      "tree": "951fce8626715b1ad26ca81bec9002cfcb8242af",
      "parents": [
        "e8106b941ceab68cc5ff713df7b1276484554584"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] set EXIT_DEAD state in do_exit(), not in schedule()\n\nschedule() checks PF_DEAD on every context switch and sets -\u003estate \u003d EXIT_DEAD\nto ensure that the exiting task will be deactivated.  Note that this EXIT_DEAD\nis in fact a \"random\" value, we can use any bit except normal TASK_XXX values.\n\nIt is better to set this state in do_exit() along with PF_DEAD flag and remove\nthat check in schedule().\n\nWe are safe wrt concurrent try_to_wake_up() (for example ptrace, tkill), it\ncan not change task\u0027s -\u003estate: the \u0027state\u0027 argument of try_to_wake_up() can\u0027t\nhave EXIT_DEAD bit.  And in case when try_to_wake_up() sees a stale value of\n-\u003estate \u003d\u003d TASK_RUNNING it will do nothing.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "aaa2a97eb9c0e91d7abc66bf76811a9599fdb3ee",
      "tree": "90d45393fe0116e53412f8f8afa4e8b538177832",
      "parents": [
        "d359b549bf3d7f42f0084918a4816ea4572e507c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:18 2006 -0700"
      },
      "message": "[PATCH] sys_get_robust_list(): don\u0027t take tasklist_lock\n\nuse rcu locks for find_task_by_pid().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: 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": "d359b549bf3d7f42f0084918a4816ea4572e507c",
      "tree": "a154a9b1913a459bdaed49c623d39f1e73689295",
      "parents": [
        "44938af6e08580514abce8bea23ae1c034ea0b1d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:18 2006 -0700"
      },
      "message": "[PATCH] futex_find_get_task(): don\u0027t take tasklist_lock\n\nIt is ok to do find_task_by_pid() + get_task_struct() under\nrcu_read_lock(), we cand drop tasklist_lock.\n\nNote that testing of -\u003eexit_state is racy with or without tasklist anyway.\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": "5b160f5ecd2f1b6df2e0015dc1f319c8ef803d62",
      "tree": "ff7f77b4178299146d6450f01f5d1da769c3fda9",
      "parents": [
        "1c573afebc6213e4372e0d8352034c23d5262e1f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:18 2006 -0700"
      },
      "message": "[PATCH] copy_process: cosmetic -\u003eioprio tweak\n\ncopy_process:\n// holds tasklist_lock + -\u003esiglock\n       /*\n        * inherit ioprio\n        */\n       p-\u003eioprio \u003d current-\u003eioprio;\n\nWhy?  -\u003eioprio was already copied in dup_task_struct().  I guess this is\nneeded to ensure that the child can\u0027t escape\nsys_ioprio_set(IOPRIO_WHO_{PGRP,USER}), yes?\n\nIn that case we don\u0027t need -\u003esiglock held, and the comment should be\nupdated.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c573afebc6213e4372e0d8352034c23d5262e1f",
      "tree": "89741782e842fcbe8d499cb0d07de818d37893eb",
      "parents": [
        "8dc3e9099e01dfdd53f27f329c268eced03dfef6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:18 2006 -0700"
      },
      "message": "[PATCH] reparent_to_init(): use has_rt_policy()\n\nRemove open-coded has_rt_policy(), no changes in kernel/exit.o\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dc3e9099e01dfdd53f27f329c268eced03dfef6",
      "tree": "c4a88aeabd5726185bf65c75cc52145d9dc33e43",
      "parents": [
        "57a6f51c4281aa3119975473c70dce0480d322bd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] sched_setscheduler: fix? policy checks\n\nI am not sure this patch is correct: I can\u0027t understand what the current\ncode does, and I don\u0027t know what it was supposed to do.\n\nThe comment says:\n\n\t\t * can\u0027t change policy, except between SCHED_NORMAL\n\t\t * and SCHED_BATCH:\n\nThe code:\n\n\t\tif (((policy !\u003d SCHED_NORMAL \u0026\u0026 p-\u003epolicy !\u003d SCHED_BATCH) \u0026\u0026\n\t\t\t(policy !\u003d SCHED_BATCH \u0026\u0026 p-\u003epolicy !\u003d SCHED_NORMAL)) \u0026\u0026\n\nBut this is equivalent to:\n\n\t\tif ( (is_rt_policy(policy) \u0026\u0026 has_rt_policy(p)) \u0026\u0026\n\nwhich means something different.  We can\u0027t _decrease_ the current\n-\u003ert_priority with such a check (if rlim[RLIMIT_RTPRIO] \u003d\u003d 0).\n\nProbably, it was supposed to be:\n\n\t\tif (\t!(policy \u003d\u003d SCHED_NORMAL \u0026\u0026 p-\u003epolicy \u003d\u003d SCHED_BATCH)  \u0026\u0026\n\t\t\t!(policy \u003d\u003d SCHED_BATCH  \u0026\u0026 p-\u003epolicy \u003d\u003d SCHED_NORMAL)\n\nthis matches the comment, but strange: it doesn\u0027t allow to _drop_ the\nrealtime priority when rlim[RLIMIT_RTPRIO] \u003d\u003d 0.\n\nI think the right check would be:\n\n\t\t/* can\u0027t set/change rt policy */\n\t\tif (is_rt_policy(policy) \u0026\u0026\n\t\t\t\tpolicy !\u003d p-\u003epolicy \u0026\u0026\n\t\t\t\t!rlim_rtprio)\n\t\t\treturn -EPERM;\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57a6f51c4281aa3119975473c70dce0480d322bd",
      "tree": "05d22c0c64fc9de38554b6aca24b021a81479975",
      "parents": [
        "5fe1d75f34974046fffcca5e22fb8a7b42fded33"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] introduce is_rt_policy() helper\n\nImho, makes the code a bit easier to read.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fe1d75f34974046fffcca5e22fb8a7b42fded33",
      "tree": "831e360aa8d7d37c7c5202937a2f617ebea6e737",
      "parents": [
        "c9472e0f28cd2f0695a0ac3a0b4bd33f21714a7e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] do_sched_setscheduler(): don\u0027t take tasklist_lock\n\nUse rcu locks instead. sched_setscheduler() now takes -\u003esiglock\nbefore reading -\u003esignal-\u003erlim[].\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9472e0f28cd2f0695a0ac3a0b4bd33f21714a7e",
      "tree": "fb5e4c3d3acf40549249cdca6f047cc2927ec2c2",
      "parents": [
        "111dbe0c8a21dffa473239861be47ebc87f593b3"
      ],
      "author": {
        "name": "Cal Peake",
        "email": "cp@absolutedigital.net",
        "time": "Fri Sep 29 02:00:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] kill extraneous printk in kernel_restart()\n\nGet rid of an extraneous printk in kernel_restart().\n\nSigned-off-by: Cal Peake \u003ccp@absolutedigital.net\u003e\nAcked-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": "111dbe0c8a21dffa473239861be47ebc87f593b3",
      "tree": "e2bbc7f3abdf3110f0292f0fd0d3a13a0b018dcd",
      "parents": [
        "3e26a423e78c1bb1ebd29c49d4ae4ccbbacd861b"
      ],
      "author": {
        "name": "Björn Steinbrink",
        "email": "B.Steinbrink@gmx.de",
        "time": "Fri Sep 29 02:00:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] Fix ____call_usermodehelper errors being silently ignored\n\nIf ____call_usermodehelper fails, we\u0027re not interested in the child\nprocess\u0027 exit value, but the real error, so let\u0027s stop wait_for_helper from\noverwriting it in that case.\n\nIssue discovered by Benedikt Böhm while working on a Linux-VServer usermode\nhelper.\n\nSigned-off-by: Björn Steinbrink \u003cB.Steinbrink@gmx.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54306cf04c0ea0a8c432603dbc657ab62a438668",
      "tree": "da60e18bfdc89803255c02c026e065c144e43a96",
      "parents": [
        "3cfd0885fac78c130a119ed576d18b5948fa2a5a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Sep 29 02:00:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] exit: fix crash case\n\nIf we are going to BUG() not panic() here then we should cover the case of\nthe BUG being compiled out\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b4a8a789a328af6aac613734c362cf6aad72201",
      "tree": "e2488a7e4767dd1d25f4691b12fde86041404982",
      "parents": [
        "3171a0305d62e6627a24bff35af4f997e4988a80"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 29 02:00:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] kexec warning fix\n\nThis fixes a couple of compiler warnings, and adds paranoia checks as well.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \"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": "3171a0305d62e6627a24bff35af4f997e4988a80",
      "tree": "5cf70462490528523172927c75f47970faa46ce9",
      "parents": [
        "27d91e07f9b863fa94491ffafe250580f0c2ce78"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Sep 29 02:00:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] simplify update_times (avoid jiffies/jiffies_64 aliasing problem)\n\nPass ticks to do_timer() and update_times(), and adjust x86_64 and s390\ntimer interrupt handler with this change.\n\nCurrently update_times() calculates ticks by \"jiffies - wall_jiffies\", but\ncallers of do_timer() should know how many ticks to update.  Passing ticks\nget rid of this redundant calculation.  Also there are another redundancy\npointed out by Martin Schwidefsky.\n\nThis cleanup make a barrier added by\n5aee405c662ca644980c184774277fc6d0769a84 needless.  So this patch removes\nit.\n\nAs a bonus, this cleanup make wall_jiffies can be removed easily, since now\nwall_jiffies is always synced with jiffies.  (This patch does not really\nremove wall_jiffies.  It would be another cleanup patch)\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27d91e07f9b863fa94491ffafe250580f0c2ce78",
      "tree": "0e5237670110b70496d68398e68a071c43c9e03e",
      "parents": [
        "b9ecb2bd5d3ab8904752685696cb76aac1f3fef2"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 29 02:00:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] __dequeue_signal() cleanup\n\nThis tightens up __dequeue_signal a little.  It also avoids doing\nrecalc_sigpending twice in a row, instead doing it once in dequeue_signal.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "b9ecb2bd5d3ab8904752685696cb76aac1f3fef2",
      "tree": "e831f310301d68bb16c0df0efca05a8045c9bb0b",
      "parents": [
        "fb50ae7446abb35184be029c51f825e45a4e0670"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 29 02:00:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] has_stopped_jobs() cleanup\n\nThis check has been obsolete since the introduction of TASK_TRACED.  Now\nTASK_STOPPED always means job control stop.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "e4b765551aa6355eae60b644bed851a9477c4e2b",
      "tree": "d1636c58e475407e2a770659430d54c7d67d72be",
      "parents": [
        "1711ef3866b0360e102327389fe4b76c849bbe83"
      ],
      "author": {
        "name": "Toyo Abe",
        "email": "toyoa@mvista.com",
        "time": "Fri Sep 29 02:00:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] posix-timers: Fix the flags handling in posix_cpu_nsleep()\n\nWhen a posix_cpu_nsleep() sleep is interrupted by a signal more than twice, it\nincorrectly reports the sleep time remaining to the user.  Because\nposix_cpu_nsleep() doesn\u0027t report back to the user when it\u0027s called from\nrestart function due to the wrong flags handling.\n\nThis patch, which applies after previous one, moves the nanosleep() function\nfrom posix_cpu_nsleep() to do_cpu_nanosleep() and cleans up the flags handling\nappropriately.\n\nSigned-off-by: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "1711ef3866b0360e102327389fe4b76c849bbe83",
      "tree": "b74a2cb6167840563d450859a571d6685966b771",
      "parents": [
        "9c4751fd0eab5b8ebbfafb28cbcc8e03b0da5933"
      ],
      "author": {
        "name": "Toyo Abe",
        "email": "toyoa@mvista.com",
        "time": "Fri Sep 29 02:00:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] posix-timers: Fix clock_nanosleep() doesn\u0027t return the remaining time in compatibility mode\n\nThe clock_nanosleep() function does not return the time remaining when the\nsleep is interrupted by a signal.\n\nThis patch creates a new call out, compat_clock_nanosleep_restart(), which\nhandles returning the remaining time after a sleep is interrupted.  This\npatch revives clock_nanosleep_restart().  It is now accessed via the new\ncall out.  The compat_clock_nanosleep_restart() is used for compatibility\naccess.\n\nSince this is implemented in compatibility mode the normal path is\nvirtually unaffected - no real performance impact.\n\nSigned-off-by: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "07dccf3344010f9b9df7fe725da7e73bca2992df",
      "tree": "696730ef4e1bf85a24eac84713921746f74c7c10",
      "parents": [
        "6c2d8b5dcad468cb0bdec3368b53383bde51e487"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Fri Sep 29 02:00:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:14 2006 -0700"
      },
      "message": "[PATCH] check return value of cpu_callback\n\nSpawing ksoftirqd, migration, or watchdog, and calling init_timers_cpu()\nmay fail with small memory.  If it happens in initcalls, kernel NULL\npointer dereference happens later.  This patch makes crash happen\nimmediately in such cases.  It seems a bit better than getting kernel NULL\npointer dereference later.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a45bce49545739a940f8bd4ca85c3b7435564893",
      "tree": "3f558e487448db9e49c8d4cd36379d9f42f93da2",
      "parents": [
        "99de055ac065e19ed69de961e97c6336a261b34e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Fri Sep 29 02:00:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:13 2006 -0700"
      },
      "message": "[PATCH] memory ordering in __kfifo primitives\n\nBoth __kfifo_put() and __kfifo_get() have header comments stating that if\nthere is but one concurrent reader and one concurrent writer, locking is not\nnecessary.  This is almost the case, but a couple of memory barriers are\nneeded.  Another option would be to change the header comments to remove the\nbit about locking not being needed, and to change the those callers who\ncurrently don\u0027t use locking to add the required locking.  The attachment\nanalyzes this approach, but the patch below seems simpler.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Stelian Pop \u003cstelian@popies.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99de055ac065e19ed69de961e97c6336a261b34e",
      "tree": "edc25ea5f39c09e4e273b8824f2306655d6f4726",
      "parents": [
        "2b33b4dcbe5e09e683eef281f72aef951e17061c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Sep 29 02:00:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:13 2006 -0700"
      },
      "message": "[PATCH] lockdep: print kernel version\n\nLets do the same thing we do for oopses - print out the version in the\nreport.  It\u0027s an extra line of output though.  We could tack it on the end\nof the INFO: lines, but that screws up Ingo\u0027s pretty output.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f400e198b2ed26ce55b22a1412ded0896e7516ac",
      "tree": "a3d78bfc1c20635e199fe0fe85aaa1d8792acc58",
      "parents": [
        "959ed340f4867fda7684340625f60e211c2296d6"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Fri Sep 29 02:00:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:12 2006 -0700"
      },
      "message": "[PATCH] pidspace: is_init()\n\nThis is an updated version of Eric Biederman\u0027s is_init() patch.\n(http://lkml.org/lkml/2006/2/6/280).  It applies cleanly to 2.6.18-rc3 and\nreplaces a few more instances of -\u003epid \u003d\u003d 1 with is_init().\n\nFurther, is_init() checks pid and thus removes dependency on Eric\u0027s other\npatches for now.\n\nEric\u0027s original description:\n\n\tThere are a lot of places in the kernel where we test for init\n\tbecause we give it special properties.  Most  significantly init\n\tmust not die.  This results in code all over the kernel test\n\t-\u003epid \u003d\u003d 1.\n\n\tIntroduce is_init to capture this case.\n\n\tWith multiple pid spaces for all of the cases affected we are\n\tlooking for only the first process on the system, not some other\n\tprocess that has pid \u003d\u003d 1.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \u003clxc-devel@lists.sourceforge.net\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b9b8ab65d8eed784b9164d03807cb2bda7b5cd6",
      "tree": "104c7b01768acd7e152cbf66e4868a73804e8af9",
      "parents": [
        "fc09561d6392771a392dea55c287de7e849b6b63"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Fri Sep 29 02:00:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:12 2006 -0700"
      },
      "message": "[PATCH] Fix unserialized task-\u003efiles changing\n\nFixed race on put_files_struct on exec with proc.  Restoring files on\ncurrent on error path may lead to proc having a pointer to already kfree-d\nfiles_struct.\n\n-\u003efiles changing at exit.c and khtread.c are safe as exit_files() makes all\nthings under lock.\n\nFound during OpenVZ stress testing.\n\n[akpm@osdl.org: add export]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6cab99bb478e067b1a7a120333ff326954a2412",
      "tree": "59211a97c63eaa87db1b8e44343eb15f1be21d1a",
      "parents": [
        "0e51a720b9d9ea5ebf0fda39108919c6626bffa3"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Fri Sep 29 01:59:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:11 2006 -0700"
      },
      "message": "[PATCH] unwind: fix unused variable warning when !CONFIG_MODULES\n\nFix \"variable defined but not used\" compiler warning in unwind.c when\nCONFIG_MODULES is not set.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2aae4a108dab8b8bc92270335f6e4b5c146b32ae",
      "tree": "e1bc601a3575d1ea25947564bcaf7abbe08b9d69",
      "parents": [
        "d7ff0dbf45ee8a7c4802ff46844e6e8167b7f360"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Fri Sep 29 01:59:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:10 2006 -0700"
      },
      "message": "[PATCH] Fix kerneldoc comments in kernel/timer.c\n\nSome of the kerneldoc comments in this file are ignored since the lead-in\nis malformed, using either \"/*\" or \"/***\" instead of \"/**\".\n\n[rdunlap@xenotime.net: kerneldoc fixes]\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db630637b2f192bea2ba1c000e9cbe4e542a03ea",
      "tree": "87866cf839510cc2e434730bc1f33fe4264f25a1",
      "parents": [
        "c24c95a085c6b52c11c2f5afecc38b0ca143cdae"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 29 01:59:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] clean up and remove some extra spinlocks from rtmutex\n\nOleg brought up some interesting points about grabbing the pi_lock for some\nprotections.  In this discussion, I realized that there are some places\nthat the pi_lock is being grabbed when it really wasn\u0027t necessary.  Also\nthis patch does a little bit of clean up.\n\nThis patch basically does three things:\n\n1) renames the \"boost\" variable to \"chain_walk\".  Since it is used in\n   the debugging case when it isn\u0027t going to be boosted.  It better\n   describes what the test is going to do if it succeeds.\n\n2) moves get_task_struct to just before the unlocking of the wait_lock.\n   This removes duplicate code, and makes it a little easier to read.  The\n   owner wont go away while either the pi_lock or the wait_lock are held.\n\n3) removes the pi_locking and owner blocked checking completely from the\n   debugging case.  This is because the grabbing the lock and doing the\n   check, then releasing the lock is just so full of races.  It\u0027s just as\n   good to go ahead and call the pi_chain_walk function, since after\n   releasing the lock the owner can then block anyway, and we would have\n   missed that.  For the debug case, we really do want to do the chain walk\n   to test for deadlocks anyway.\n\n[oleg@tv-sign.ru: more of the same]\nSigned-of-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Esben Nielsen \u003cnielsen.esben@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c5c934153513dc72e2d6464f39e8ef1f27c0a3e",
      "tree": "be799da4af646a96c2d6ab473e276a7361beb685",
      "parents": [
        "3d5b6fccc4b900cc4267692f015ea500bad4c6bf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Sep 29 01:59:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] ifdef blktrace debugging fields\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89e7e374dde1015d69d2d70797ae4053b14fa9db",
      "tree": "c6d819506caeec6680be88fccc4ed8e910a25ac9",
      "parents": [
        "650a898342b3fa21c392c06a2b7010fa19823efa"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 01:59:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] timer: add lock annotation to lock_timer_base\n\nlock_timer_base acquires a lock and returns with that lock held.  Add a\nlock annotation to this function so that sparse can check callers for lock\npairing, and so that sparse will not complain about this function since it\nintentionally uses the lock in this manner.\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": "d10be6d1bdb0c901b78244872de3cc1c1b6c3fb2",
      "tree": "560171a8091e7f18763ff40099ccbcf9567b7842",
      "parents": [
        "8454aeef6fea944ced757ff8e761b59eb3ee960f"
      ],
      "author": {
        "name": "Mark Huang",
        "email": "mlhuang@CS.Princeton.EDU",
        "time": "Fri Sep 29 01:59:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:08 2006 -0700"
      },
      "message": "[PATCH] module_subsys: initialize earlier\n\nInitialize module_subsys earlier (or at least earlier than devices) since\nit could be used very early in the boot process if kmod loads a module\nbefore the device initcalls.  Otherwise, kmod will crash in\nkernel/module.c:mod_sysfs_setup() since the kset in module_subsys is not\ninitialized yet.\n\nI only noticed this problem because occasionally, kmod loads the modules\nfor my SCSI and Ethernet adapters very early, during the boot process\nitself.  I don\u0027t quite understand why it loads them sometimes and doesn\u0027t\nload them other times.  Or who is telling kmod to do so.  Can someone\nexplain?\n\nSigned-off-by: Mark Huang \u003cmlhuang@cs.princeton.edu\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": "a49a4af759c0193d42aeaeefb4df7de8973dd713",
      "tree": "e93b6621352db514da2fd4ae364a5054f99fc6ac",
      "parents": [
        "9c4dbee79d3f46608bec3ac80d392ce6415d2f90"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 01:59:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:08 2006 -0700"
      },
      "message": "[PATCH] rcu: add lock annotations to rcu{,_bh}_torture_read_{lock,unlock}\n\nrcu_torture_read_lock and rcu_bh_torture_read_lock acquire locks without\nreleasing them, and the matching functions rcu_torture_read_unlock and\nrcu_bh_torture_read_unlock get called with the corresponding locks held and\nrelease them.  Add lock annotations to these four functions so that sparse\ncan check callers for lock pairing, and so that sparse will not complain\nabout these functions since they intentionally use locks in this manner.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul 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": "538d9d532b0e0320c9dd326a560b5a72d73f910d",
      "tree": "ad41d9ddc79aa74eceb806f6d207cea479c06608",
      "parents": [
        "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: remove a extra line\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028",
      "tree": "c6a3f085b6bbba80f468eab68e04477e42194232",
      "parents": [
        "42012cc4a2183c555a907eee32d7ce4fc7dc3a6a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: fixed coding style\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c78a6639386f9e7399fbc0d0a173d4cc1a3e9bf",
      "tree": "3c4413565f1146ee589bcbc43c23c153879966cf",
      "parents": [
        "c0d92cbc5849f26451f478d538b8d885ae547221"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Sep 29 01:59:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:06 2006 -0700"
      },
      "message": "[PATCH] kernel-doc for relay interface\n\nAdd relay interface support to DocBook/kernel-api.tmpl.  Fix typos etc.  in\nrelay.c and relayfs.txt.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c7649e99e4b081b624aefe1e77caa30b53cb18",
      "tree": "4afc0411a45521963492a22a6c9712d9b7059bbb",
      "parents": [
        "5906e4171ad61ce68de95e51b773146707671f80"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Sep 29 01:58:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] kernel/params: driver layer error checking\n\nCheck driver layer return values in kernel/params.c\n\nSigned-off-by: 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": "910067d188d56d80801b71b0ca1f73aa400c7b8c",
      "tree": "5176ec3f62544cb4d8c3ff33c00d75c877856a17",
      "parents": [
        "e04da1dfd9041e306cb33d1b40b6005c23c5b325"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Sep 29 01:58:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:03 2006 -0700"
      },
      "message": "[PATCH] remove generic__raw_read_trylock()\n\nIf the cpu has the lock held for write, is interrupted, and the interrupt\nhandler calls read_trylock(), it\u0027s an instant deadlock.\n\nNow, Dave Miller has subsequently pointed out that we don\u0027t have any\nsituations where this can occur.  Nevertheless, we should delete\ngeneric__raw_read_lock (and its associated EXPORT to make Arjan happy) so that\nnobody thinks they can use it.\n\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebdea46fecae40c4d7effcd33f40918a37a1df4b",
      "tree": "e4312bf7f1f3d184738963a0ec300aa9fdfd55c1",
      "parents": [
        "fecf3404f4aba6d0edeba31eeb018cbb6326dff2",
        "250d375d1da45a5e08ab8baf5eaa7eb258afd82b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 28 14:40:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 28 14:40:39 2006 -0700"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)\n  [ARM] 3856/1: Add clocksource for Intel IXP4xx platforms\n  [ARM] 3855/1: Add generic time support\n  [ARM] 3873/1: S3C24XX: Add irq_chip names\n  [ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips\n  [ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23\n  [ARM] nommu: confirms the CR_V bit in nommu mode\n  [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.\n  [ARM] 3870/1: AT91: Start removing static memory mappings\n  [ARM] 3869/1: AT91: NAND support for DK and KB9202 boards\n  [ARM] 3868/1: AT91 hardware header update\n  [ARM] 3867/1: AT91 GPIO update\n  [ARM] 3866/1: AT91 clock update\n  [ARM] 3865/1: AT91RM9200 header updates\n  [ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series\n  [ARM] kthread: switch arch/arm/kernel/apm.c\n  [ARM] Off-by-one in arch/arm/common/icst*\n  [ARM] 3864/1: Refactore sharpsl_pm\n  [ARM] 3863/1: Add Locomo SPI Device\n  [ARM] 3847/2:  Convert LOMOMO to use struct device for GPIOs\n  [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h\n  ...\n"
    },
    {
      "commit": "2dc94310bd94d0906febea7d0f7c188da620c952",
      "tree": "6de4096f1887e2c00966177354b1c378e59bd632",
      "parents": [
        "c06015148fa9a3cc452ec7121b8c3f59f4a7d6ac",
        "fb60cf4ab52f3520c2119aa42f7d4ed8e7594eb6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Wed Sep 27 19:57:54 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Sep 27 19:57:54 2006 +0100"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-upstream into devel\n"
    },
    {
      "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": "b36e4758dc1b9ff1f6d97e951edba22366230d11",
      "tree": "3419ae3d588bdc1ecc51748c63077cb18ac974c3",
      "parents": [
        "7ad1bcb25c5623f1f87c50fdf2272f58ff91db5a"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Aug 27 12:26:34 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Sep 20 14:58:35 2006 +0100"
      },
      "message": "[ARM] Fix kernel/fork.c for lockdep on ARM\n\nARM has interrupts enabled over context switches (iow, has\n__ARCH_WANT_INTERRUPTS_ON_CTXSW defined.)  The lockdep code in fork.c\n assumes that interrupts are always disabled.  Fix this wrong\nassumption by making the initialisation of \u0027p-\u003ehardirqs_enabled\u0027\ndepend on __ARCH_WANT_INTERRUPTS_ON_CTXSW.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\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"
    }
  ],
  "next": "e1ed7ac77b63abb6b3a2c0b4b070f50da5b1fb2f"
}
