)]}'
{
  "log": [
    {
      "commit": "0c2043abefacac97b6d01129c1123a466c95b7c1",
      "tree": "e1b7bfd3222250fddabec15fc41fd1d2b5eb83dd",
      "parents": [
        "70cb97935b8859f27296772885104b599f560576"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:17:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:23:13 2007 -0700"
      },
      "message": "Don\u0027t do load-average calculations at even 5-second intervals\n\nIt turns out that there are a few other five-second timers in the\nkernel, and if the timers get in sync, the load-average can get\nartificially inflated by events that just happen to coincide.\n\nSo just offset the load average calculation it by a timer tick.\n\nNoticed by Anders Boström, for whom the coincidence started triggering\non one of his machines with the JBD jiffies rounding code (JBD is one of\nthe subsystems that also end up using a 5-second timer by default).\n\nTested-by: Anders Boström \u003canders@bostrom.dyndns.org\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8fceee17a310f189188599a8fa5e9beaff57eb0",
      "tree": "21308319be2579059a4d4d7db680a73334659f82",
      "parents": [
        "9db619e66503494e41159de3c76fafabe80d016b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Sep 20 12:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Sep 20 13:19:59 2007 -0700"
      },
      "message": "signalfd simplification\n\nThis simplifies signalfd code, by avoiding it to remain attached to the\nsighand during its lifetime.\n\nIn this way, the signalfd remain attached to the sighand only during\npoll(2) (and select and epoll) and read(2).  This also allows to remove\nall the custom \"tsk \u003d\u003d current\" checks in kernel/signal.c, since\ndequeue_signal() will only be called by \"current\".\n\nI think this is also what Ben was suggesting time ago.\n\nThe external effect of this, is that a thread can extract only its own\nprivate signals and the group ones.  I think this is an acceptable\nbehaviour, in that those are the signals the thread would be able to\nfetch w/out signalfd.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1799e35d5baab6e06168b46cc78b968e728ea3d1",
      "tree": "cccf64a62fa9106aa18253371b675925c0582bab",
      "parents": [
        "a88a8eff1e6e32d3288986a9d36c6a449c032d3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "message": "sched: add /proc/sys/kernel/sched_compat_yield\n\nadd /proc/sys/kernel/sched_compat_yield to make sys_sched_yield()\nmore agressive, by moving the yielding task to the last position\nin the rbtree.\n\nwith sched_compat_yield\u003d0:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2539 mingo     20   0  1576  252  204 R   50  0.0   0:02.03 loop_yield\n  2541 mingo     20   0  1576  244  196 R   50  0.0   0:02.05 loop\n\nwith sched_compat_yield\u003d1:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2584 mingo     20   0  1576  248  196 R   99  0.0   0:52.45 loop\n  2582 mingo     20   0  1576  256  204 R    0  0.0   0:00.00 loop_yield\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "28f300d23674fa01ae747c66ce861d4ee6aebe8c",
      "tree": "52ea69a57a89760d7060597690cb289d049eb4d0",
      "parents": [
        "735de2230f09741077a645a913de0a04b10208bf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Fix user namespace exiting OOPs\n\nIt turned out, that the user namespace is released during the do_exit() in\nexit_task_namespaces(), but the struct user_struct is released only during the\nput_task_struct(), i.e.  MUCH later.\n\nOn debug kernels with poisoned slabs this will cause the oops in\nuid_hash_remove() because the head of the chain, which resides inside the\nstruct user_namespace, will be already freed and poisoned.\n\nSince the uid hash itself is required only when someone can search it, i.e.\nwhen the namespace is alive, we can safely unhash all the user_struct-s from\nit during the namespace exiting.  The subsequent free_uid() will complete the\nuser_struct destruction.\n\nFor example simple program\n\n   #include \u003csched.h\u003e\n\n   char stack[2 * 1024 * 1024];\n\n   int f(void *foo)\n   {\n   \treturn 0;\n   }\n\n   int main(void)\n   {\n   \tclone(f, stack + 1 * 1024 * 1024, 0x10000000, 0);\n   \treturn 0;\n   }\n\nrun on kernel with CONFIG_USER_NS turned on will oops the\nkernel immediately.\n\nThis was spotted during OpenVZ kernel testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735de2230f09741077a645a913de0a04b10208bf",
      "tree": "b408a671c9c07bec41a9ca8056fa7a6710982f3b",
      "parents": [
        "d8a4821dca693867a7953104c1e3cc830eb9191f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Convert uid hash to hlist\n\nSurprisingly, but (spotted by Alexey Dobriyan) the uid hash still uses\nlist_heads, thus occupying twice as much place as it could.  Convert it to\nhlist_heads.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6cf891c4d7128f9f91243fc0b9ce99e10fa1586",
      "tree": "ab26a8e708756c3fbafbb15ce48acea4f80ced08",
      "parents": [
        "5f01d519e60a6ca1a7d9be9f2d73c5f521383992"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 28 12:53:24 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 28 12:53:24 2007 +0200"
      },
      "message": "sched: make the scheduler converge to the ideal latency\n\nde-HZ-ification of the granularity defaults unearthed a pre-existing\nproperty of CFS: while it correctly converges to the granularity goal,\nit does not prevent run-time fluctuations in the range of\n[-gran ... 0 ... +gran].\n\nWith the increase of the granularity due to the removal of HZ\ndependencies, this becomes visible in chew-max output (with 5 tasks\nrunning):\n\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n out:  27 . 27. 32 | flu:  0 .  0 | ran:   17 .   13 | per:   44 .   40\n out:  27 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   36 .   40\n out:  29 . 27. 32 | flu:  2 .  0 | ran:   17 .   13 | per:   46 .   40\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n out:  29 . 27. 32 | flu:  0 .  0 | ran:   18 .   13 | per:   47 .   40\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n\naverage slice is the ideal 13 msecs and the period is picture-perfect 40\nmsecs. But the \u0027ran\u0027 field fluctuates around 13.33 msecs and there\u0027s no\nmechanism in CFS to keep that from happening: it\u0027s a perfectly valid\nsolution that CFS finds.\n\nto fix this we add a granularity/preemption rule that knows about\nthe \"target latency\", which makes tasks that run longer than the ideal\nlatency run a bit less. The simplest approach is to simply decrease the\npreemption granularity when a task overruns its ideal latency. For this\nwe have to track how much the task executed since its last preemption.\n\n( this adds a new field to task_struct, but we can eliminate that\n  overhead in 2.6.24 by putting all the scheduler timestamps into an\n  anonymous union. )\n\nwith this change in place, chew-max output is fluctuation-less all\naround:\n\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  1 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  1 | ran:   13 .   13 | per:   41 .   40\n\nthis patch has no impact on any fastpath or on any globally observable\nscheduling property. (unless you have sharp enough eyes to see\nmillisecond-level ruckles in glxgears smoothness :-)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "172ac3dbb7d3e528ac53d08a34df88d1ac53c534",
      "tree": "f17de2a4a7a562792fd85a14bb1c278bb8c40804",
      "parents": [
        "218050855ece4e923106ab614ac65afa0f618df3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: cleanup, sched_granularity -\u003e sched_min_granularity\n\ndue to adaptive granularity scheduling the role of sched_granularity\nhas changed to \"minimum granularity\", so rename the variable (and the\ntunable) accordingly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "218050855ece4e923106ab614ac65afa0f618df3",
      "tree": "f7b1234ce9e8ad0bc5d5af949949251240ec6a2c",
      "parents": [
        "1fc84aaae3bae9646dd4c7798b8c0ff934338909"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: adaptive scheduler granularity\n\nInstead of specifying the preemption granularity, specify the wanted\nlatency. By fixing the granlarity to a constany the wakeup latency\nit a function of the number of running tasks on the rq.\n\nInvert this relation.\n\nsysctl_sched_granularity becomes a minimum for the dynamic granularity\ncomputed from the new sysctl_sched_latency.\n\nThen use this latency to do more intelligent granularity decisions: if\nthere are fewer tasks running then we can schedule coarser. This helps\nperformance while still always keeping the latency target.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8700df7c419781efb34696de7e7f49717f8ede7",
      "tree": "c3b4c8e563e1caf5e144310817fc1ecdf812ae41",
      "parents": [
        "efe567fc8281661524ffa75477a7c4ca9b466c63"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "message": "sched: fix broken SMT/MC optimizations\n\nOn a four package system with HT - HT load balancing optimizations were\nbroken.  For example, if two tasks end up running on two logical threads\nof one of the packages, scheduler is not able to pull one of the tasks\nto a completely idle package.\n\nIn this scenario, for nice-0 tasks, imbalance calculated by scheduler\nwill be 512 and find_busiest_queue() will return 0 (as each cpu\u0027s load\nis 1024 \u003e imbalance and has only one task running).\n\nSimilarly MC scheduler optimizations also get fixed with this patch.\n\n[ mingo@elte.hu: restored fair balancing by increasing the fuzz and\n                 adding it back to the power decision, without the /2\n                 factor. ]\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aa44d0567ed21b47b87d68819415d48194cb923",
      "tree": "7be2a8a30a23b363e1e2aecd41934e75f581e115",
      "parents": [
        "b377fd3982ad957c796758a90e2988401a884241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "message": "sched: sched_clock_idle_[sleep|wakeup]_event()\n\nconstruct a more or less wall-clock time out of sched_clock(), by\nusing ACPI-idle\u0027s existing knowledge about how much time we spent\nidling. This allows the rq clock to work around TSC-stops-in-C2,\nTSC-gets-corrupted-in-C3 type of problems.\n\n( Besides the scheduler\u0027s statistics this also benefits blktrace and\n  printk-timestamps as well. )\n\nFurthermore, the precise before-C2/C3-sleep and after-C2/C3-wakeup\ncallbacks allow the scheduler to get out the most of the period where\nthe CPU has a reliable TSC. This results in slightly more precise\ntask statistics.\n\nthe ACPI bits were acked by Len.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ee0827d8b5271094380410cf21d8c48c109a773a",
      "tree": "2886f7c95b983ffdb89d3a34590e01fbbb3133c7",
      "parents": [
        "31ee529cc2254e8b62880535ec8f21a4c5e1c091"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003etask_new()\n\nremove the \u0027u64 now\u0027 parameter from -\u003etask_new().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31ee529cc2254e8b62880535ec8f21a4c5e1c091",
      "tree": "df9a19be47c3111d0e34ce9f13498b236733a850",
      "parents": [
        "ff95f3df54609d9d4b9572f8a67d09922a645043"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb8d47240246e20f864f0724a23a7220cd1c59ac",
      "tree": "0c94ecb977355a2152655738bfcee6072c10f41e",
      "parents": [
        "f02231e51a280f1a0fee4d03ad8f50048e06cced"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003epick_next_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003epick_next_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f02231e51a280f1a0fee4d03ad8f50048e06cced",
      "tree": "becd8bf748828e3dfe34f73df11d260fd6300026",
      "parents": [
        "fd390f6a04f22fb457d6fd1855964f79536525de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003edequeue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003edequeue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd390f6a04f22fb457d6fd1855964f79536525de",
      "tree": "753b2c9889a4127e6c4b4ea8d80bae972228a875",
      "parents": [
        "f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cef9eca3837a8dcf605a360e213c4179a07c41a",
      "tree": "36dbdbf4e35d82cb66de92da56121ffde9c2cd05",
      "parents": [
        "d281918d7c135c555d9cebcf73d4320efa8177dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from print_cfs_rq()\n\nremove the \u0027u64 now\u0027 parameter from print_cfs_rq().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4ac01c36e286dd1b9a1d5cd7422c5af51dc55f8",
      "tree": "0c275d58a4835a3d604d9cac4e1dd7c25714e150",
      "parents": [
        "aea25401c3347d9f3a64ebdc81043be246a9f631"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: fix bug in balance_tasks()\n\nThere are two problems with balance_tasks() and how it used:\n\n1. The variables best_prio and best_prio_seen (inherited from the old\nmove_tasks()) were only required to handle problems caused by the\nactive/expired arrays, the order in which they were processed and the\npossibility that the task with the highest priority could be on either.\n  These issues are no longer present and the extra overhead associated\nwith their use is unnecessary (and possibly wrong).\n\n2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same\nthis_best_prio variable needs to be used by all scheduling classes or\nthere is a risk of moving too much load.  E.g. if the highest priority\ntask on this at the beginning is a fairly low priority task and the rt\nclass migrates a task (during its turn) then that moved task becomes the\nnew highest priority task on this_rq but when the sched_fair class\ninitializes its copy of this_best_prio it will get the priority of the\noriginal highest priority task as, due to the run queue locks being\nheld, the reschedule triggered by pull_task() will not have taken place.\n  This could result in inappropriate overriding of skip_for_load and\nexcessive load being moved.\n\nThe attached patch addresses these problems by deleting all reference to\nbest_prio and best_prio_seen and making this_best_prio a reference\nparameter to the various functions involved.\n\nload_balance_fair() has also been modified so that this_best_prio is\nonly reset (in the loop) if CONFIG_FAIR_GROUP_SCHED is set.  This should\npreserve the effect of helping spread groups\u0027 higher priority tasks\naround the available CPUs while improving system performance when\nCONFIG_FAIR_GROUP_SCHED isn\u0027t set.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4301065920b0cbde3986519582347e883b166f3e",
      "tree": "415b8e3a2796709673015e100a3b5b28e556104a",
      "parents": [
        "f1a438d813d416fa9f4be4e6dbd10b54c5938d89"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: simplify move_tasks()\n\nThe move_tasks() function is currently multiplexed with two distinct\ncapabilities:\n\n1. attempt to move a specified amount of weighted load from one run\nqueue to another; and\n2. attempt to move a specified number of tasks from one run queue to\nanother.\n\nThe first of these capabilities is used in two places, load_balance()\nand load_balance_idle(), and in both of these cases the return value of\nmove_tasks() is used purely to decide if tasks/load were moved and no\nnotice of the actual number of tasks moved is taken.\n\nThe second capability is used in exactly one place,\nactive_load_balance(), to attempt to move exactly one task and, as\nbefore, the return value is only used as an indicator of success or failure.\n\nThis multiplexing of sched_task() was introduced, by me, as part of the\nsmpnice patches and was motivated by the fact that the alternative, one\nfunction to move specified load and one to move a single task, would\nhave led to two functions of roughly the same complexity as the old\nmove_tasks() (or the new balance_tasks()).  However, the new modular\ndesign of the new CFS scheduler allows a simpler solution to be adopted\nand this patch addresses that solution by:\n\n1. adding a new function, move_one_task(), to be used by\nactive_load_balance(); and\n2. making move_tasks() a single purpose function that tries to move a\nspecified weighted load and returns 1 for success and 0 for failure.\n\nOne of the consequences of these changes is that neither move_one_task()\nor the new move_tasks() care how many tasks sched_class.load_balance()\nmoves and this enables its interface to be simplified by returning the\namount of load moved as its result and removing the load_moved pointer\nfrom the argument list.  This helps simplify the new move_tasks() and\nslightly reduces the amount of work done in each of\nsched_class.load_balance()\u0027s implementations.\n\nFurther simplification, e.g. changes to balance_tasks(), are possible\nbut (slightly) complicated by the special needs of load_balance_fair()\nso I\u0027ve left them to a later patch (if this one gets accepted).\n\nNB Since move_tasks() gets called with two run queue locks held even\nsmall reductions in overhead are worthwhile.\n\n[ mingo@elte.hu ]\n\nthis change also reduces code size nicely:\n\n   text    data     bss     dec     hex filename\n   39216    3618      24   42858    a76a sched.o.before\n   39173    3618      24   42815    a73f sched.o.after\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94c18227d1e3f02de5b345bd3cd5c960214dc9c8",
      "tree": "c2cb18bf1deb097f61cea3ebec23bbd844e1e072",
      "parents": [
        "6cfb0d5d06bea2b8791f32145eae539d524e5f6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: reduce task_struct size\n\nmore task_struct size reduction, by moving the debugging/instrumentation\nfields to under CONFIG_SCHEDSTATS:\n\n (i386, nodebug):\n\n                          size\n                          ----\n     pre-CFS              1328\n         CFS              1472\n         CFS+patch        1376\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cad60d93e18ba52b6f069b2edb031c89bf603b07",
      "tree": "dfe74c165e7607c233d223614ef400163c6ba44c",
      "parents": [
        "4e6f96f313561d86d248edf0eaff2336d8217e1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: -\u003etask_new cleanup\n\nmake sched_class.task_new \u003d\u003d NULL a \u0027default method\u0027, this\nallows the removal of task_rt_new.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "362a7016637648c6aefc98b706298baedfaa1543",
      "tree": "cb3f434fb71d29b247686b6dcfc76864cea4f57a",
      "parents": [
        "1ed4395035a6791ebbbf618429a58ab9c207cc83"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: remove cache_hot_time\n\nremove the last unused remains of cache_hot_time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d02c7a8cf208eb80a3ccbff40a6bebe8902af35a",
      "tree": "b6e2a0393bf917e5e04be955d6c6d5384caa4dfa",
      "parents": [
        "b762f3ffb797c1281a38a1c82194534055fba5ec"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: add above_background_load() function\n\nAdd an above_background_load() function which can be used by other\nsubsystems to detect if there is anything besides niced tasks running.\n\nPlace it in sched.h to allow it to be compiled out if not used.\n\nUnused for now, but it is a useful hint to the IO scheduler and to\nswap-prefetch.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e107be36efb2a233833e8c9899039a370e4b2318",
      "tree": "655955aa81aefeff441c412adaafe9b51a00ff56",
      "parents": [
        "b47e8608a08766ef8121cd747d3aaf6c3dc22649"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: arch preempt notifier mechanism\n\nThis adds a general mechanism whereby a task can request the scheduler to\nnotify it whenever it is preempted or scheduled back in.  This allows the\ntask to swap any special-purpose registers like the fpu or Intel\u0027s VT\nregisters.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n[ mingo@elte.hu: fixes, cleanups ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b47e8608a08766ef8121cd747d3aaf6c3dc22649",
      "tree": "24092b893d9d2e92113dcbd8bf48bf76e404d8e6",
      "parents": [
        "e4903fb59590f86190280a549420f6cb85bd7f7e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: increase SCHED_LOAD_SCALE_FUZZ\n\nincrease SCHED_LOAD_SCALE_FUZZ that adds a small amount of\nover-balancing: to help distribute CPU-bound tasks more fairly on SMP\nsystems.\n\nthe problem of unfair balancing was noticed and reported by Tong N Li.\n\n10 CPU-bound tasks running on 8 CPUs, v2.6.23-rc1:\n\n  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n 2572 mingo     20   0  1576  244  196 R  100  0.0   1:03.61 loop\n 2578 mingo     20   0  1576  248  196 R  100  0.0   1:03.59 loop\n 2576 mingo     20   0  1576  248  196 R  100  0.0   1:03.52 loop\n 2571 mingo     20   0  1576  244  196 R  100  0.0   1:03.46 loop\n 2569 mingo     20   0  1576  244  196 R   99  0.0   1:03.36 loop\n 2570 mingo     20   0  1576  244  196 R   95  0.0   1:00.55 loop\n 2577 mingo     20   0  1576  248  196 R   50  0.0   0:31.88 loop\n 2574 mingo     20   0  1576  248  196 R   50  0.0   0:31.87 loop\n 2573 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop\n 2575 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop\n\nv2.6.23-rc1 + patch:\n\n  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n 2681 mingo     20   0  1576  244  196 R   85  0.0   3:51.68 loop\n 2688 mingo     20   0  1576  244  196 R   81  0.0   3:46.35 loop\n 2682 mingo     20   0  1576  244  196 R   80  0.0   3:43.68 loop\n 2685 mingo     20   0  1576  248  196 R   80  0.0   3:45.97 loop\n 2683 mingo     20   0  1576  248  196 R   80  0.0   3:40.25 loop\n 2679 mingo     20   0  1576  244  196 R   80  0.0   3:33.53 loop\n 2680 mingo     20   0  1576  244  196 R   79  0.0   3:43.53 loop\n 2686 mingo     20   0  1576  244  196 R   79  0.0   3:39.31 loop\n 2687 mingo     20   0  1576  244  196 R   78  0.0   3:33.31 loop\n 2684 mingo     20   0  1576  244  196 R   77  0.0   3:27.52 loop\n\nso they now nicely converge to the expected 80% long-term CPU usage.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e436d80085133858bf2613a630365e8a0459fd58",
      "tree": "c579410a12ed63d94e3a40a023634c7df4aebc76",
      "parents": [
        "969bb4e4032dac67287951d8f6642a3b5119694e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "message": "[PATCH] sched: implement cpu_clock(cpu) high-speed time source\n\nImplement the cpu_clock(cpu) interface for kernel-internal use:\nhigh-speed (but slightly incorrect) per-cpu clock constructed from\nsched_clock().\n\nThis API, unused at the moment, will be used in the future by blktrace,\nby the softlockup-watchdog, by printk and by lockstat.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64",
      "tree": "d363522865706f0674b7b104a8fc7b151f336764",
      "parents": [
        "6c5d523826dc639df709ed0f88c5d2ce25379652"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "coredump masking: add an interface for core dump filter\n\nThis patch adds an interface to set/reset flags which determines each memory\nsegment should be dumped or not when a core file is generated.\n\n/proc/\u003cpid\u003e/coredump_filter file is provided to access the flags.  You can\nchange the flag status for a particular process by writing to or reading from\nthe file.\n\nThe flag status is inherited to the child process when it is created.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5d523826dc639df709ed0f88c5d2ce25379652",
      "tree": "ef2fa8cb30266b3a9b047902794e78c583b099da",
      "parents": [
        "76fdbb25f963de5dc1e308325f0578a2f92b1c2d"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: reimplementation of dumpable using two flags\n\nThis patch changes mm_struct.dumpable to a pair of bit flags.\n\nset_dumpable() converts three-value dumpable to two flags and stores it into\nlower two bits of mm_struct.flags instead of mm_struct.dumpable.\nget_dumpable() behaves in the opposite way.\n\n[akpm@linux-foundation.org: export set_dumpable]\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ec739d8d0979477fc91f530403805afa2581a4",
      "tree": "0cefb80a7ff8d57a8f735954fdeb88e9efbaf05c",
      "parents": [
        "acce292c82d4d82d35553b928df2b0597c3a9c78"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sun Jul 15 23:41:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add unshare\n\nThis patch enables the unshare of user namespaces.\n\nIt adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which\nresets the current user_struct and adds a new root user (uid \u003d\u003d 0)\n\nFor now, unsharing the user namespace allows a process to reset its\nuser_struct accounting and uid 0 in the new user namespace should be contained\nusing appropriate means, for instance selinux\n\nThe plan, when the full support is complete (all uid checks covered), is to\nkeep the original user\u0027s rights in the original namespace, and let a process\nbecome uid 0 in the new namespace, with full capabilities to the new\nnamespace.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acce292c82d4d82d35553b928df2b0597c3a9c78",
      "tree": "464288f40db9c254da214c400d0880ee50dc37f3",
      "parents": [
        "7d69a1f4a72b18876c99c697692b78339d491568"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add the framework\n\nBasically, it will allow a process to unshare its user_struct table,\nresetting at the same time its own user_struct and all the associated\naccounting.\n\nA new root user (uid \u003d\u003d 0) is added to the user namespace upon creation.\nSuch root users have full privileges and it seems that theses privileges\nshould be controlled through some means (process capabilities ?)\n\nThe unshare is not included in this patch.\n\nChanges since [try #4]:\n\t- Updated get_user_ns and put_user_ns to accept NULL, and\n\t  get_user_ns to return the namespace.\n\nChanges since [try #3]:\n\t- moved struct user_namespace to files user_namespace.{c,h}\n\nChanges since [try #2]:\n\t- removed struct user_namespace* argument from find_user()\n\nChanges since [try #1]:\n\t- removed struct user_namespace* argument from find_user()\n\t- added a root_user per user namespace\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "522ed7767e800cff6c650ec64b0ee0677303119c",
      "tree": "f65ecb29f2cf885018d3557f840de3ef4be6ec64",
      "parents": [
        "4f27c00bf80f122513d3a5be16ed851573164534"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Sun Jul 15 23:40:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Audit: add TTY input auditing\n\nAdd TTY input auditing, used to audit system administrator\u0027s actions.  This is\nrequired by various security standards such as DCID 6/3 and PCI to provide\nnon-repudiation of administrator\u0027s actions and to allow a review of past\nactions if the administrator seems to overstep their duties or if the system\nbecomes misconfigured for unknown reasons.  These requirements do not make it\nnecessary to audit TTY output as well.\n\nCompared to an user-space keylogger, this approach records TTY input using the\naudit subsystem, correlated with other audit events, and it is completely\ntransparent to the user-space application (e.g.  the console ioctls still\nwork).\n\nTTY input auditing works on a higher level than auditing all system calls\nwithin the session, which would produce an overwhelming amount of mostly\nuseless audit events.\n\nAdd an \"audit_tty\" attribute, inherited across fork ().  Data read from TTYs\nby process with the attribute is sent to the audit subsystem by the kernel.\nThe audit netlink interface is extended to allow modifying the audit_tty\nattribute, and to allow sending explanatory audit events from user-space (for\nexample, a shell might send an event containing the final command, after the\ninteractive command-line editing and history expansion is performed, which\nmight be difficult to decipher from the TTY input alone).\n\nBecause the \"audit_tty\" attribute is inherited across fork (), it would be set\ne.g.  for sshd restarted within an audited session.  To prevent this, the\naudit_tty attribute is cleared when a process with no open TTY file\ndescriptors (e.g.  after daemon startup) opens a TTY.\n\nSee https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a\nmore detailed rationale document for an older version of this patch.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "924b42d5a2dbe508407a0a6290d3751f826bccdd",
      "tree": "c13a647ae93bcf033bddb713c1e117e84698c679",
      "parents": [
        "7c3f1a573237b90ef331267260358a0ec4ac9079"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use boot based time for process start time and boot time in /proc\n\nCommit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and\nprocess start times to become invalid after suspend.  Using boot based time\nfor those restores the old behaviour and fixes the issue.\n\n[akpm@linux-foundation.org: little cleanup]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fb43d7b50e49a36f8be3199141bec473e5ecb00",
      "tree": "f63f0a9b8279dcd6cd4acf9e99b88d9c60d95c61",
      "parents": [
        "9c4801cebc2add1fe514bc8eb201b16372eee11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:01 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:01 2007 +0200"
      },
      "message": "sched: micro-optimize mmdrop()\n\nmicro-optimize mmdrop(). Improves schedule()\u0027s assembly a bit.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43ae34cb4cd650d1eb4460a8253a8e747ba052ac",
      "tree": "51f1b6a8331dea95d8d560c2c27f4abdad1d759c",
      "parents": [
        "77e54a1f88a1cb0746c7694fa40052bd02df1123"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: scheduler debugging, core\n\nscheduler debugging core: implement /proc/sched_debug and\n/proc/\u003cPID\u003e/sched files for scheduler debugging.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7dd593608df3f9d4e4531cfe29f28c3a3766a0ee",
      "tree": "13ba74c11b214f7c45f39e306c5ef9d6eaabf6b7",
      "parents": [
        "b2cfba19f67228e78e48177187f6b07f4107c784"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove old cpu accounting field\n\nremove the old cpu-accounting field from signal_struct, now\nthat the code is using CFS\u0027s stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c57d5893e4a9857ff22ec9e379f6bdbdad50850",
      "tree": "825287e44b868e621f059b33f15b78fe227356af",
      "parents": [
        "50e645a8a1a91f57dd5d8454620be5f1cb0fc089"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove batch_task()\n\nbatch_task() in sched.h is now unused - remove it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50e645a8a1a91f57dd5d8454620be5f1cb0fc089",
      "tree": "d917b1f178c81b9a71f40bca7513e231336bf909",
      "parents": [
        "634fa8c97cc8f4ee2ae1dea7200ff0df762405e7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove interactivity types from sched.h\n\nremove now-unused types/fields used by the old scheduler.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad46c2c4ebcead75cd364a79b63b134393094fb9",
      "tree": "a6210b644771568549763a6799a2134638f4c11c",
      "parents": [
        "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: clean up fastcall uses of sched_fork()/sched_exit()\n\nsched_fork()/sched_exit() does not need to specify fastcall anymore,\nas the x86 kernel defaults to regparm3, and no assembly code calls\nthese functions.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a",
      "tree": "5e1bfd820c8e68fc28450688f166f4136351e1e1",
      "parents": [
        "b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: update delay-accounting to use CFS\u0027s precise stats\n\nupdate delay-accounting to use CFS\u0027s precise stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb29ab26863c022743143f27956cc0ca362f258c",
      "tree": "f8106b8a82d4abe9c3b217c7ca96307539a945ad",
      "parents": [
        "dd41f596cda0d7d6e4a8b139ffdfabcefdd46528"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: x86, track TSC-unstable events\n\ntrack TSC-unstable events and propagate it to the scheduler code.\nAlso allow sched_clock() to be used when the TSC is unstable,\nthe rq_clock() wrapper creates a reliable clock out of it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2ac58ee617fd9f6cd9922fbcd291b661d7c9954",
      "tree": "6eee6329575aafba0efe055b8f8f3c39674b1196",
      "parents": [
        "45bf76df4814a4cd1c57226ae001c464467cb656"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: remove sleep_type\n\nremove the sleep_type heuristics from the core scheduler - scheduling\npolicy is implemented in the scheduling-policy modules. (and CFS does\nnot use this type of sleep-type heuristics)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05606d3301525aa67b081ad9fccade2b31ab35a",
      "tree": "2a3e5a477dfca70ce32f3ea8dbc5e16034c98c23",
      "parents": [
        "138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: clean up the rt priority macros\n\nclean up the rt priority macros, pointed out by Andrew Morton.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41b86e9c510ae66639bf29d3201e1d2384a7fde6",
      "tree": "f340b94f53be08e2fbba2344deb985f9ecb4a036",
      "parents": [
        "20d315d42aed95423a7203e1d7e84086004b5a00"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: make posix-cpu-timers use CFS\u0027s accounting information\n\nupdate the posix-cpu-timers code to use CFS\u0027s CPU accounting information.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20b8a59f2461e1be911dce2cfafefab9d22e4eee",
      "tree": "e40e8558726629818b6dbdcdd64e93823f719fcd",
      "parents": [
        "fa72e9e484c16f0c9aee23981917d8c8c03f0482"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: cfs, core data types\n\nadd the CFS data types to sched.h.\n\n(the old scheduler is still fully intact.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf0f6f24a1ece8988b243aefe84ee613099a9245",
      "tree": "f8525fb86fb8e41f9d7b68b36c3d083ba0df3f80",
      "parents": [
        "9aa7b369819940cb1f3c74ba210516739a32ad95"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: cfs core, kernel/sched_fair.c\n\nadd kernel/sched_fair.c - which implements the bulk of CFS\u0027s\nbehavioral changes for SCHED_OTHER tasks.\n\nsee Documentation/sched-design-CFS.txt about details.\n\nAuthors:\n\n Ingo Molnar \u003cmingo@elte.hu\u003e\n Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\n Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n Mike Galbraith \u003cefault@gmx.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9aa7b369819940cb1f3c74ba210516739a32ad95",
      "tree": "19f0e54740c52f143c5e88877fa75eefaf7b30ae",
      "parents": [
        "425e0968a25fa3f111f9919964cac079738140b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: increase the resolution of smpnice\n\nincrease SMP-nice\u0027s resolution. This is needed by CFS to\nimplement SCHED_IDLE and cleaned up nice level support.\n\nno behavioral changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1df21055e34b6a68d62cf0c524b9e52deebd7ead",
      "tree": "b3611a364b289340d6b5016eba9f53a37b6b1de2",
      "parents": [
        "4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: add init_idle_bootup_task()\n\nadd the init_idle_bootup_task() callback to the bootup thread,\nunused at the moment. (CFS will use it to switch the scheduling\nclass of the boot thread to the idle class)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c65cc8705256ad7524c97564b4fe3ca9782bf6d1",
      "tree": "f51e32d6b5ec813bdee5b623dd36f9af3967e8fd",
      "parents": [
        "0437e109e1841607f2988891eaa36c531c6aa6ac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: uninline set_task_cpu()\n\nuninline set_task_cpu(): CFS will add more code to it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0437e109e1841607f2988891eaa36c531c6aa6ac",
      "tree": "e9d8f170786f7e33d4c5829cb008cf38d42a2014",
      "parents": [
        "0e6aca43e08a62a48d6770e9a159dbec167bf4c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: zap the migration init / cache-hot balancing code\n\nthe SMP load-balancer uses the boot-time migration-cost estimation\ncode to attempt to improve the quality of balancing. The reason for\nthis code is that the discrete priority queues do not preserve\nthe order of scheduling accurately, so the load-balancer skips\ntasks that were running on a CPU \u0027recently\u0027.\n\nthis code is fundamental fragile: the boot-time migration cost detector\ndoesnt really work on systems that had large L3 caches, it caused boot\ndelays on large systems and the whole cache-hot concept made the\nbalancing code pretty undeterministic as well.\n\n(and hey, i wrote most of it, so i can say it out loud that it sucks ;-)\n\nunder CFS the same purpose of cache affinity can be achieved without\nany special cache-hot special-case: tasks are sorted in the \u0027timeline\u0027\ntree and the SMP balancer picks tasks from the left side of the\ntree, thus the most cache-cold task is balanced automatically.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e6aca43e08a62a48d6770e9a159dbec167bf4c6",
      "tree": "be62a8825d1b5dd23915457f85bf56c0d5c8de9a",
      "parents": [
        "d15bcfdbe1818478891d714343f037cfe60875f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: add SCHED_IDLE policy\n\nthis patch adds the SCHED_IDLE policy to sched.h.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d15bcfdbe1818478891d714343f037cfe60875f0",
      "tree": "62362e16a1b189161d0c163085898043e6844a5e",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: rename idle_type/SCHED_IDLE\n\nenum idle_type (used by the load-balancer) clashes with the\nSCHED_IDLE name that we want to introduce. \u0027CPU_IDLE\u0027 instead\nof \u0027SCHED_IDLE\u0027 is more descriptive as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "778e9a9c3e7193ea9f434f382947155ffb59c755",
      "tree": "2ceb8c7ce1d55124982b77966dcd65cee5cc623b",
      "parents": [
        "1a539a87280b3032fd12bc93a4a82f1d8aa97ca8"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Fri Jun 08 13:47:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:34 2007 -0700"
      },
      "message": "pi-futex: fix exit races and locking problems\n\n1. New entries can be added to tsk-\u003epi_state_list after task completed\n   exit_pi_state_list(). The result is memory leakage and deadlocks.\n\n2. handle_mm_fault() is called under spinlock. The result is obvious.\n\n3. results in self-inflicted deadlock inside glibc.\n   Sometimes futex_lock_pi returns -ESRCH, when it is not expected\n   and glibc enters to for(;;) sleep() to simulate deadlock. This problem\n   is quite obvious and I think the patch is right. Though it looks like\n   each \"if\" in futex_lock_pi() got some stupid special case \"else if\". :-)\n\n4. sometimes futex_lock_pi() returns -EDEADLK,\n   when nobody has the lock. The reason is also obvious (see comment\n   in the patch), but correct fix is far beyond my comprehension.\n   I guess someone already saw this, the chunk:\n\n                        if (rt_mutex_trylock(\u0026q.pi_state-\u003epi_mutex))\n                                ret \u003d 0;\n\n   is obviously from the same opera. But it does not work, because the\n   rtmutex is really taken at this point: wake_futex_pi() of previous\n   owner reassigned it to us. My fix works. But it looks very stupid.\n   I would think about removal of shift of ownership in wake_futex_pi()\n   and making all the work in context of process taking lock.\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nFix 1) Avoid the tasklist lock variant of the exit race fix by adding\n    an additional state transition to the exit code.\n\n    This fixes also the issue, when a task with recursive segfaults\n    is not able to release the futexes.\n\nFix 2) Cleanup the lookup_pi_state() failure path and solve the -ESRCH\n    problem finally.\n\nFix 3) Solve the fixup_pi_state_owner() problem which needs to do the fixup\n    in the lock protected section by using the in_atomic userspace access\n    functions.\n\n    This removes also the ugly lock drop / unqueue inside of fixup_pi_state()\n\nFix 4) Fix a stale lock in the error path of futex_wake_pi()\n\nAdded some error checks for verification.\n\nThe -EDEADLK problem is solved by the rtmutex fixups.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bb44adef39ad3bda2be40bb34686bc56bd563a5",
      "tree": "1e9eecbd03877c7ac8b00a8cb1d4ae54ebec3bb1",
      "parents": [
        "3c6df2a9177c010bf811c361149069e4bfd9bb11"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed May 23 13:57:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:12 2007 -0700"
      },
      "message": "recalc_sigpending_tsk fixes\n\nSteve Hawkes discovered a problem where recalc_sigpending_tsk was called in\ndo_sigaction but no signal_wake_up call was made, preventing later signals\nfrom waking up blocked threads with TIF_SIGPENDING already set.\n\nIn fact, the few other calls to recalc_sigpending_tsk outside the signals\ncode are also subject to this problem in other race conditions.\n\nThis change makes recalc_sigpending_tsk private to the signals code.  It\nchanges the outside calls, as well as do_sigaction, to use the new\nrecalc_sigpending_and_wake instead.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \u003cSteve.Hawkes@motorola.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba96a0c88098697a63e80157718b7440414ed24d",
      "tree": "bdd999761eed452cc162f5b63166d1014aaf2e3e",
      "parents": [
        "33e1c288da62a6a5aa9077a6b7bfa690b1b02cf4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 23 13:57:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "freezer: fix vfork problem\n\nCurrently try_to_freeze_tasks() has to wait until all of the vforked processes\nexit and for this reason every user can make it fail.  To fix this problem we\ncan introduce the additional process flag PF_FREEZER_SKIP to be used by tasks\nthat do not want to be counted as freezable by the freezer and want to have\nTIF_FREEZE set nevertheless.  Then, this flag can be set by tasks using\nsys_vfork() before they call wait_for_completion(\u0026vfork) and cleared after\nthey have woken up.  After clearing it, the tasks should call try_to_freeze()\nas soon as possible.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cabca0cb0d0e8579428d8f8c3f606e2f01d26d14",
      "tree": "a32426d345bab465488df20a228a495a12b26b8b",
      "parents": [
        "853da0022023c046e0a5ccc51d427745f0c94de7",
        "87c1efbfeac49849b981a7eac8cba42d4a49b2e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  Fix compile/link of init/do_mounts.c with !CONFIG_BLOCK\n  When stacked block devices are in-use (e.g. md or dm), the recursive calls\n"
    },
    {
      "commit": "fba2afaaec790dc5ab4ae8827972f342211bbb86",
      "tree": "2694d4cd8c6b7d69a5569b92151d61a3d4af39b7",
      "parents": [
        "5dc8bf8132d59c03fe2562bce165c2f03f021687"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: signalfd core\n\nThis patch series implements the new signalfd() system call.\n\nI took part of the original Linus code (and you know how badly it can be\nbroken :), and I added even more breakage ;) Signals are fetched from the same\nsignal queue used by the process, so signalfd will compete with standard\nkernel delivery in dequeue_signal().  If you want to reliably fetch signals on\nthe signalfd file, you need to block them with sigprocmask(SIG_BLOCK).  This\nseems to be working fine on my Dual Opteron machine.  I made a quick test\nprogram for it:\n\nhttp://www.xmailserver.org/signafd-test.c\n\nThe signalfd() system call implements signal delivery into a file descriptor\nreceiver.  The signalfd file descriptor if created with the following API:\n\nint signalfd(int ufd, const sigset_t *mask, size_t masksize);\n\nThe \"ufd\" parameter allows to change an existing signalfd sigmask, w/out going\nto close/create cycle (Linus idea).  Use \"ufd\" \u003d\u003d -1 if you want a brand new\nsignalfd file.\n\nThe \"mask\" allows to specify the signal mask of signals that we are interested\nin.  The \"masksize\" parameter is the size of \"mask\".\n\nThe signalfd fd supports the poll(2) and read(2) system calls.  The poll(2)\nwill return POLLIN when signals are available to be dequeued.  As a direct\nconsequence of supporting the Linux poll subsystem, the signalfd fd can use\nused together with epoll(2) too.\n\nThe read(2) system call will return a \"struct signalfd_siginfo\" structure in\nthe userspace supplied buffer.  The return value is the number of bytes copied\nin the supplied buffer, or -1 in case of error.  The read(2) call can also\nreturn 0, in case the sighand structure to which the signalfd was attached,\nhas been orphaned.  The O_NONBLOCK flag is also supported, and read(2) will\nreturn -EAGAIN in case no signal is available.\n\nIf the size of the buffer passed to read(2) is lower than sizeof(struct\nsignalfd_siginfo), -EINVAL is returned.  A read from the signalfd can also\nreturn -ERESTARTSYS in case a signal hits the process.  The format of the\nstruct signalfd_siginfo is, and the valid fields depends of the (-\u003ecode \u0026\n__SI_MASK) value, in the same way a struct siginfo would:\n\nstruct signalfd_siginfo {\n\t__u32 signo;\t/* si_signo */\n\t__s32 err;\t/* si_errno */\n\t__s32 code;\t/* si_code */\n\t__u32 pid;\t/* si_pid */\n\t__u32 uid;\t/* si_uid */\n\t__s32 fd;\t/* si_fd */\n\t__u32 tid;\t/* si_fd */\n\t__u32 band;\t/* si_band */\n\t__u32 overrun;\t/* si_overrun */\n\t__u32 trapno;\t/* si_trapno */\n\t__s32 status;\t/* si_status */\n\t__s32 svint;\t/* si_int */\n\t__u64 svptr;\t/* si_ptr */\n\t__u64 utime;\t/* si_utime */\n\t__u64 stime;\t/* si_stime */\n\t__u64 addr;\t/* si_addr */\n};\n\n[akpm@linux-foundation.org: fix signalfd_copyinfo() on i386]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eaeeaba39e5fa3d52a0bb8de15e995516ae251a",
      "tree": "5b4052fabfe107ad5332cb758ad8d86ea5a87848",
      "parents": [
        "02239c29967418284c05d58971894d658575e78c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 10 22:22:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "getrusage(): fill ru_inblock and ru_oublock fields if possible\n\nIf CONFIG_TASK_IO_ACCOUNTING is defined, we update io accounting counters for\neach task.\n\nThis patch permits reporting of values using the well known getrusage()\nsyscall, filling ru_inblock and ru_oublock instead of null values.\n\nAs TASK_IO_ACCOUNTING currently counts bytes counts, we approximate blocks\ncount doing : nr_blocks \u003d nr_bytes / 512\n\nExample of use :\n----------------------\nAfter patch is applied, /usr/bin/time command can now give a good\napproximation of IO that the process had to do.\n\n$ /usr/bin/time grep tototo /usr/include/*\nCommand exited with non-zero status 1\n0.00user 0.02system 0:02.11elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k\n24288inputs+0outputs (0major+259minor)pagefaults 0swaps\n\n$ /usr/bin/time dd if\u003d/dev/zero of\u003d/tmp/testfile count\u003d1000\n1000+0 enregistrements lus\n1000+0 enregistrements écrits\n512000 octets (512 kB) copiés, 0,00326601 seconde, 157 MB/s\n0.00user 0.00system 0:00.00elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+3000outputs (0major+299minor)pagefaults 0swaps\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d89d87965dcbe6fe4f96a2a7e8421b3a75f634d1",
      "tree": "8e87952d6e016192220aa090a8121e357a951d8f",
      "parents": [
        "129a84de2347002f09721cda3155ccfd19fade40"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue May 01 09:53:42 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri May 11 13:28:37 2007 +0200"
      },
      "message": "When stacked block devices are in-use (e.g. md or dm), the recursive calls\n\nto generic_make_request can use up a lot of space, and we would rather they\ndidn\u0027t.\n\nAs generic_make_request is a void function, and as it is generally not\nexpected that it will have any effect immediately, it is safe to delay any\ncall to generic_make_request until there is sufficient stack space\navailable.\n\nAs -\u003ebi_next is reserved for the driver to use, it can have no valid value\nwhen generic_make_request is called, and as __make_request implicitly\nassumes it will be NULL (ELEVATOR_BACK_MERGE fork of switch) we can be\ncertain that all callers set it to NULL.  We can therefore safely use\nbi_next to link pending requests together, providing we clear it before\nmaking the real call.\n\nSo, we choose to allow each thread to only be active in one\ngeneric_make_request at a time.  If a subsequent (recursive) call is made,\nthe bio is linked into a per-thread list, and is handled when the active\ncall completes.\n\nAs the list of pending bios is per-thread, there are no locking issues to\nworry about.\n\nI say above that it is \"safe to delay any call...\".  There are, however,\nsome behaviours of a make_request_fn which would make it unsafe.  These\ninclude any behaviour that assumes anything will have changed after a\nrecursive call to generic_make_request.\n\nThese could include:\n - waiting for that call to finish and call it\u0027s bi_end_io function.\n   md use to sometimes do this (marking the superblock dirty before\n   completing a write) but doesn\u0027t any more\n - inspecting the bio for fields that generic_make_request might\n   change, such as bi_sector or bi_bdev.  It is hard to see a good\n   reason for this, and I don\u0027t think anyone actually does it.\n - inspecing the queue to see if, e.g. it is \u0027full\u0027 yet.  Again, I\n   think this is very unlikely to be useful, or to be done.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \u003cdm-devel@redhat.com\u003e\n\nAlasdair G Kergon \u003cagk@redhat.com\u003e said:\n\n I can see nothing wrong with this in principle.\n\n For device-mapper at the moment though it\u0027s essential that, while the bio\n mappings may now get delayed, they still get processed in exactly\n the same order as they were passed to generic_make_request().\n\n My main concern is whether the timing changes implicit in this patch\n will make the rare data-corrupting races in the existing snapshot code\n more likely. (I\u0027m working on a fix for these races, but the unfinished\n patch is already several hundred lines long.)\n\n It would be helpful if some people on this mailing list would test\n this patch in various scenarios and report back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f",
      "tree": "9c3932bb871d4b6727dc588e4d6c9987637aaee5",
      "parents": [
        "c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "rename thread_info to stack\n\nThis finally renames the thread_info field in task structure to stack, so that\nthe assumptions about this field are gone and archs have more freedom about\nplacing the thread_info structure.\n\nNonbroken archs which have a proper thread pointer can do the access to both\ncurrent thread and task structure via a single pointer.\n\nIt\u0027ll allow for a few more cleanups of the fork code, from which e.g.  ia64\ncould benefit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n[akpm@linux-foundation.org: build fix]\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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: Andi Kleen \u003cak@muc.de\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10ab825bdef8df510f99c703a5a2d9b13a4e31a5",
      "tree": "e4db81f26c03ba5a5bff43ed44646a4ed4509d67",
      "parents": [
        "5de18d169739293e27e0cf9acfc75a2d2f4aa572"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "change kernel threads to ignore signals instead of blocking them\n\nCurrently kernel threads use sigprocmask(SIG_BLOCK) to protect against\nsignals.  This doesn\u0027t prevent the signal delivery, this only blocks\nsignal_wake_up().  Every \"killall -33 kthreadd\" means a \"struct siginfo\"\nleak.\n\nChange kthreadd_setup() to set all handlers to SIG_IGN instead of blocking\nthem (make a new helper ignore_signals() for that).  If the kernel thread\nneeds some signal, it should use allow_signal() anyway, and in that case it\nshould not use CLONE_SIGHAND.\n\nNote that we can\u0027t change daemonize() (should die!) in the same way,\nbecause it can be used along with CLONE_SIGHAND.  This means that\nallow_signal() still should unblock the signal to work correctly with\ndaemonize()ed threads.\n\nHowever, disallow_signal() doesn\u0027t block the signal any longer but ignores\nit.\n\nNOTE: with or without this patch the kernel threads are not protected from\nhandle_stop_signal(), this seems harmless, but not good.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5517d86bea237c1d7078840182d9ebc0fe4c1afc",
      "tree": "67f1999895313878bfa904c66dffb7066f3c8d91",
      "parents": [
        "46cb4b7c88fa5517f64b5bee42939ea3614cddcb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:32:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "Speed up divides by cpu_power in scheduler\n\nI noticed expensive divides done in try_to_wakeup() and\nfind_busiest_group() on a bi dual core Opteron machine (total of 4 cores),\nmoderatly loaded (15.000 context switch per second)\n\noprofile numbers :\n\nCPU: AMD64 processors, speed 2600.05 MHz (estimated)\nCounted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit\nmask of 0x00 (No unit mask) count 50000\nsamples  %        symbol name\n...\n613914    1.0498  try_to_wake_up\n    834  0.0013 :ffffffff80227ae1:   div    %rcx\n77513  0.1191 :ffffffff80227ae4:   mov    %rax,%r11\n\n608893    1.0413  find_busiest_group\n   1841  0.0031 :ffffffff802260bf:       div    %rdi\n140109  0.2394 :ffffffff802260c2:       test   %sil,%sil\n\nSome of these divides can use the reciprocal divides we introduced some\ntime ago (currently used in slab AFAIK)\n\nWe can assume a load will fit in a 32bits number, because with a\nSCHED_LOAD_SCALE\u003d128 value, its still a theorical limit of 33554432\n\nWhen/if we reach this limit one day, probably cpus will have a fast\nhardware divide and we can zap the reciprocal divide trick.\n\nIngo suggested to rename cpu_power to __cpu_power to make clear it should\nnot be modified without changing its reciprocal value too.\n\nI did not convert the divide in cpu_avg_load_per_task(), because tracking\nnr_running changes may be not worth it ?  We could use a static table of 32\nreciprocal values but it would add a conditional branch and table lookup.\n\n[akpm@linux-foundation.org: !SMP build fix]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46cb4b7c88fa5517f64b5bee42939ea3614cddcb",
      "tree": "429b8092394974ae787bf0cfaefe5c7b6a1da782",
      "parents": [
        "bdecea3a9282d529b54954f3f1e59877629baba1"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue May 08 00:32:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "sched: dynticks idle load balancing\n\nFix the process idle load balancing in the presence of dynticks.  cpus for\nwhich ticks are stopped will sleep till the next event wakes it up.\nPotentially these sleeps can be for large durations and during which today,\nthere is no periodic idle load balancing being done.\n\nThis patch nominates an owner among the idle cpus, which does the idle load\nbalancing on behalf of the other idle cpus.  And once all the cpus are\ncompletely idle, then we can stop this idle load balancing too.  Checks added\nin fast path are minimized.  Whenever there are busy cpus in the system, there\nwill be an owner(idle cpu) doing the system wide idle load balancing.\n\nOpen items:\n1. Intelligent owner selection (like an idle core in a busy package).\n2. Merge with rcu\u0027s nohz_cpu_mask?\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c9167f91e309c9c4ea982992aa08e83b2eb42e",
      "tree": "b15e7bed8eb2e22e96971bbe3156a00683c70909",
      "parents": [
        "966812dc98e6a7fcdf759cbfa0efab77500a8868"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 08 00:28:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "add touch_all_softlockup_watchdogs()\n\nAdd touch_all_softlockup_watchdogs() to allow the softlockup watchdog\ntimers on all cpus to be updated.  This is used to prevent sysrq-t from\ngenerating a spurious watchdog message when generating lots of output.\n\nSoftlockup watchdogs use sched_clock() as its timebase, which is inherently\nper-cpu (at least, when it is measuring unstolen time).  Because of this,\nit isn\u0027t possible for one CPU to directly update the other CPU\u0027s timers,\nbut it is possible to tell the other CPUs to do update themselves\nappropriately.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3367b994fe4f131ab1240600682a1981de7cad0c",
      "tree": "2afbec0bf8943d628c48dfb07883b7ce62a5c318",
      "parents": [
        "28287033e12463c8ff89f1ea8038783d0360391c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue May 08 00:27:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "\u003clinux/sysdev.h\u003e needs to include \u003clinux/module.h\u003e\n\nsysdev.h uses THIS_MODULE so should include \u003clinux/module.h\u003e.\n\n[akpm@linux-foundation.org: couple of fixes]\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97dc32cdb1b53832801159d5f634b41aad9d0a23",
      "tree": "438f59c84d3528de5f68583d312beceb1aa32659",
      "parents": [
        "4d7bf11d649c72621ca31b8ea12b9c94af380e63"
      ],
      "author": {
        "name": "William Cohen",
        "email": "wcohen@redhat.com",
        "time": "Tue May 08 00:23:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "reduce size of task_struct on 64-bit machines\n\nThis past week I was playing around with that pahole tool\n(http://oops.ghostprotocols.net:81/acme/dwarves/) and looking at the size\nof various struct in the kernel.  I was surprised by the size of the\ntask_struct on x86_64, approaching 4K.  I looked through the fields in\ntask_struct and found that a number of them were declared as \"unsigned\nlong\" rather than \"unsigned int\" despite them appearing okay as 32-bit\nsized fields.  On x86_64 \"unsigned long\" ends up being 8 bytes in size and\nforces 8 byte alignment.  Is there a reason there a reason they are\n\"unsigned long\"?\n\nThe patch below drops the size of the struct from 3808 bytes (60 64-byte\ncachelines) to 3760 bytes (59 64-byte cachelines).  A couple other fields\nin the task struct take a signficant amount of space:\n\nstruct thread_struct       thread;               688\nstruct held_lock           held_locks[30];       1680\n\nCONFIG_LOCKDEP is turned on in the .config\n\n[akpm@linux-foundation.org: fix printk warnings]\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39bc89fd4019b164002adaacef92c4140e37955a",
      "tree": "34ff87b8d8c2984af2015dd8c01177df88815214",
      "parents": [
        "20f09390b2da2432309afe8aaa0bd64ec64c4584"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 25 20:50:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:46:51 2007 -0700"
      },
      "message": "make SysRq-T show all tasks again\n\nshow_state() (SysRq-T) developed the buggy habbit of not showing\nTASK_RUNNING tasks.  This was due to the mistaken belief that state_filter\n\u003d\u003d -1 would be a pass-through filter - while in reality it did not let\nTASK_RUNNING \u003d\u003d 0 p-\u003estate values through.\n\nFix this by restoring the original \u0027!state_filter means all tasks\u0027\nspecial-case i had in the original version.  Test-built and test-booted on\ni686, SysRq-T now works as intended.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69f7c0a1be84b10a81b6edcce2dbee0cdec26eba",
      "tree": "a6d4988fda72595ea71ba7e2b4ac11f91fde0159",
      "parents": [
        "759b9775c25f5e69aaea8a75c3914019e2dc5539"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Mon Mar 05 00:30:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:51 2007 -0800"
      },
      "message": "[PATCH] sched: remove SMT nice\n\nRemove the SMT-nice feature which idles sibling cpus on SMT cpus to\nfacilitiate nice working properly where cpu power is shared.  The idling of\ncpus in the presence of runnable tasks is considered too fragile, easy to\nbreak with outside code, and the complexity of managing this system if an\narchitecture comes along with many logical cores sharing cpu power will be\nunworkable.\n\nRemove the associated per_cpu_gain variable in sched_domains used only by\nthis code.\n\nAlso:\n\n  The reason is that with dynticks enabled, this code breaks without yet\n  further tweaks so dynticks brought on the rapid demise of this code.  So\n  either we tweak this code or kill it off entirely.  It was Ingo\u0027s preference\n  to kill it off.  Either way this needs to happen for 2.6.21 since dynticks\n  has gone in.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0138a6cb7923a997d278b47c176778534d1095b",
      "tree": "4fcb8822a69631baba568e4e1942847747123887",
      "parents": [
        "6572d6d7d0f965dda19d02af804ed3ae4b3bf1fc",
        "1055a8af093fea7490445bd15cd671020e542035"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 12:48:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 12:48:06 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (78 commits)\n  [PARISC] Use symbolic last syscall in __NR_Linux_syscalls\n  [PARISC] Add missing statfs64 and fstatfs64 syscalls\n  Revert \"[PARISC] Optimize TLB flush on SMP systems\"\n  [PARISC] Compat signal fixes for 64-bit parisc\n  [PARISC] Reorder syscalls to match unistd.h\n  Revert \"[PATCH] make kernel/signal.c:kill_proc_info() static\"\n  [PARISC] fix sys_rt_sigqueueinfo\n  [PARISC] fix section mismatch warnings in harmony sound driver\n  [PARISC] do not export get_register/set_register\n  [PARISC] add ENTRY()/ENDPROC() and simplify assembly of HP/UX emulation code\n  [PARISC] convert to use CONFIG_64BIT instead of __LP64__\n  [PARISC] use CONFIG_64BIT instead of __LP64__\n  [PARISC] add ASM_EXCEPTIONTABLE_ENTRY() macro\n  [PARISC] more ENTRY(), ENDPROC(), END() conversions\n  [PARISC] fix ENTRY() and ENDPROC() for 64bit-parisc\n  [PARISC] Fixes /proc/cpuinfo cache output on B160L\n  [PARISC] implement standard ENTRY(), END() and ENDPROC()\n  [PARISC] kill ENTRY_SYS_CPUS\n  [PARISC] clean up debugging printks in smp.c\n  [PARISC] factor syscall_restart code out of do_signal\n  ...\n\nFix conflict in include/linux/sched.h due to kill_proc_info() being made\npublicly available to PARISC again.\n"
    },
    {
      "commit": "c3de4b38153a201cfc8561abb093a1b482fd3abb",
      "tree": "30226ed724dac5502a930a0004274cdc1a506128",
      "parents": [
        "d104f11c3989b0bbe1216f6ad663d0ed91fb7bd8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Feb 09 08:11:47 2007 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@athena.road.mcmartin.ca",
        "time": "Sat Feb 17 01:20:07 2007 -0500"
      },
      "message": "Revert \"[PATCH] make kernel/signal.c:kill_proc_info() static\"\n\nThis reverts commit d3228a887cae75ef2b8b1211c31c539bef5a5698.\nDeBunk this code.  We need it for compat_sys_rt_sigqueueinfo.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "27b0b2f44adffe0193a695bb528a83b550b8e54b",
      "tree": "fd7578afab2e9fa72e3f157f94c9dd73a8265678",
      "parents": [
        "9f57a54b6cf3f626334d97e93b5b917ad11e1efc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] pid: remove the now unused kill_pg kill_pg_info and __kill_pg_info\n\nNow that I have changed all of the in-tree users remove the old version of\nthese functions.  This should make it clear to any out of tree users that they\nshould be using kill_pgrp kill_pgrp_info or __kill_pgrp_info instead.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab521dc0f8e117fd808d3e425216864d60390500",
      "tree": "f9d6449c4d8c9508fd43edfe845108043e1536b2",
      "parents": [
        "3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] tty: update the tty layer to work with struct pid\n\nOf kernel subsystems that work with pids the tty layer is probably the largest\nconsumer.  But it has the nice virtue that the assiation with a session only\nlasts until the session leader exits.  Which means that no reference counting\nis required.  So using struct pid winds up being a simple optimization to\navoid hash table lookups.\n\nIn the long term the use of pid_nr also ensures that when we have multiple pid\nspaces mixed everything will work correctly.\n\nSigned-off-by: Eric W. Biederman \u003ceric@maxwell.lnxi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b98d11b40f03382918796f3c5c936d5495d20a4",
      "tree": "616b7260196c9bd0eaf208ef8fab91fcf9efcece",
      "parents": [
        "18f705f49a5b19206233f7cef8f869ce7291f8c8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:46:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] ifdef -\u003erchar, -\u003ewchar, -\u003esyscr, -\u003esyscw from task_struct\n\nThey are fat: 4x8 bytes in task_struct.\nThey are uncoditionally updated in every fork, read, write and sendfile.\nThey are used only if you have some \"extended acct fields feature\".\n\nAnd please, please, please, read(2) knows about bytes, not characters,\nwhy it is called \"rchar\"?\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a102eed9c4e1d21bad07a8fd97bd4fbf125d966",
      "tree": "9ec99f046b94971db46b08a87d7eab3e84c4acd4",
      "parents": [
        "3df494a32b936aef76d893f5065f962ebd9b9437"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 13 00:34:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:49 2006 -0800"
      },
      "message": "[PATCH] PM: Fix SMP races in the freezer\n\nCurrently, to tell a task that it should go to the refrigerator, we set the\nPF_FREEZE flag for it and send a fake signal to it.  Unfortunately there\nare two SMP-related problems with this approach.  First, a task running on\nanother CPU may be updating its flags while the freezer attempts to set\nPF_FREEZE for it and this may leave the task\u0027s flags in an inconsistent\nstate.  Second, there is a potential race between freeze_process() and\nrefrigerator() in which freeze_process() running on one CPU is reading a\ntask\u0027s PF_FREEZE flag while refrigerator() running on another CPU has just\nset PF_FROZEN for the same task and attempts to reset PF_FREEZE for it.  If\nthe refrigerator wins the race, freeze_process() will state that PF_FREEZE\nhasn\u0027t been set for the task and will set it unnecessarily, so the task\nwill go to the refrigerator once again after it\u0027s been thawed.\n\nTo solve first of these problems we need to stop using PF_FREEZE to tell\ntasks that they should go to the refrigerator.  Instead, we can introduce a\nspecial TIF_*** flag and use it for this purpose, since it is allowed to\nchange the other tasks\u0027 TIF_*** flags and there are special calls for it.\n\nTo avoid the freeze_process()-refrigerator() race we can make\nfreeze_process() to always check the task\u0027s PF_FROZEN flag after it\u0027s read\nits \"freeze\" flag.  We should also make sure that refrigerator() will\nalways reset the task\u0027s \"freeze\" flag after it\u0027s set PF_FROZEN for it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06066714f6016cffcb249f6ab21b7919de1bc859",
      "tree": "ef6848c94a8cf0af47bdf8534aa49b507dfc5952",
      "parents": [
        "783609c6cb4eaa23f2ac5c968a44483584ec133f"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sun Dec 10 02:20:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:43 2006 -0800"
      },
      "message": "[PATCH] sched: remove lb_stopbalance counter\n\nRemove scheduler stats lb_stopbalance counter.  This counter can be\ncalculated by: lb_balanced - lb_nobusyg - lb_nobusyq.  There is no need to\ncreate gazillion counters while we can derive the value.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "783609c6cb4eaa23f2ac5c968a44483584ec133f",
      "tree": "678704bab2c69f5115ad84452e931adf4c11f3f4",
      "parents": [
        "b18ec80396834497933d77b81ec0918519f4e2a7"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sun Dec 10 02:20:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:43 2006 -0800"
      },
      "message": "[PATCH] sched: decrease number of load balances\n\nCurrently at a particular domain, each cpu in the sched group will do a\nload balance at the frequency of balance_interval.  More the cores and\nthreads, more the cpus will be in each sched group at SMP and NUMA domain.\nAnd we endup spending quite a bit of time doing load balancing in those\ndomains.\n\nFix this by making only one cpu(first idle cpu or first cpu in the group if\nall the cpus are busy) in the sched group do the load balance at that\nparticular sched domain and this load will slowly percolate down to the\nother cpus with in that group(when they do load balancing at lower\ndomains).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08c183f31bdbb709f177f6d3110d5f288ea33933",
      "tree": "be7b84c07f3b0bf29473bad2b7b788fa189f948e",
      "parents": [
        "1bd77f2da58e9cdd1f159217887343dadd9af417"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Dec 10 02:20:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:43 2006 -0800"
      },
      "message": "[PATCH] sched: add option to serialize load balancing\n\nLarge sched domains can be very expensive to scan.  Add an option SD_SERIALIZE\nto the sched domain flags.  If that flag is set then we make sure that no\nother such domain is being balanced.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2",
      "tree": "de5d63d17e400eb06b26c88adfd2ef2cf290898e",
      "parents": [
        "47694bb86af3648d4ec34c7afd46653cefc9b359"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Dec 10 02:19:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:41 2006 -0800"
      },
      "message": "[PATCH] io-accounting: core statistics\n\nThe present per-task IO accounting isn\u0027t very useful.  It simply counts the\nnumber of bytes passed into read() and write().  So if a process reads 1MB\nfrom an already-cached file, it is accused of having performed 1MB of I/O,\nwhich is wrong.\n\n(David Wright had some comments on the applicability of the present logical IO accounting:\n\n  For billing purposes it is useless but for workload analysis it is very\n  useful\n\n  read_bytes/read_calls  average read request size\n  write_bytes/write_calls average write request size\n\n  read_bytes/read_blocks ie logical/physical can indicate hit rate or thrashing\n  write_bytes/write_blocks  ie logical/physical  guess since pdflush writes can\n                                                be missed\n\n  I often look for logical larger than physical to see filesystem cache\n  problems.  And the bytes/cpusec can help find applications that are\n  dominating the cache and causing slow interactive response from page cache\n  contention.\n\n  I want to find the IO intensive applications and make sure they are doing\n  efficient IO.  Thus the acctcms(sysV) or csacms command would give the high\n  IO commands).\n\nThis patchset adds new accounting which tries to be more accurate.  We account\nfor three things:\n\nreads:\n\n  attempt to count the number of bytes which this process really did cause\n  to be fetched from the storage layer.  Done at the submit_bio() level, so it\n  is accurate for block-backed filesystems.  I also attempt to wire up NFS and\n  CIFS.\n\nwrites:\n\n  attempt to count the number of bytes which this process caused to be sent\n  to the storage layer.  This is done at page-dirtying time.\n\n  The big inaccuracy here is truncate.  If a process writes 1MB to a file\n  and then deletes the file, it will in fact perform no writeout.  But it will\n  have been accounted as having caused 1MB of write.\n\n  So...\n\ncancelled_writes:\n\n  account the number of bytes which this process caused to not happen, by\n  truncating pagecache.\n\n  We _could_ just subtract this from the process\u0027s `write\u0027 accounting.  But\n  that means that some processes would be reported to have done negative\n  amounts of write IO, which is silly.\n\n  So we just report the raw number and punt this decision up to userspace.\n\nNow, we _could_ account for writes at the physical I/O level.  But\n\n- This would require that we track memory-dirtying tasks at the per-page\n  level (would require a new pointer in struct page).\n\n- It would mean that IO statistics for a process are usually only available\n  long after that process has exitted.  Which means that we probably cannot\n  communicate this info via taskstats.\n\nThis patch:\n\nWire up the kernel-private data structures and the accessor functions to\nmanipulate them.\n\nCc: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nCc: David Wright \u003cdaw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f4f154fd920b2178382a6a24a236348e4429ebc1",
      "tree": "0bba747eb50b5d7e18d2b828f8c707b2781d7544",
      "parents": [
        "c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Dec 08 02:39:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:02 2006 -0800"
      },
      "message": "[PATCH] fault injection: process filtering for fault-injection capabilities\n\nThis patch provides process filtering feature.\nThe process filter allows failing only permitted processes\nby /proc/\u003cpid\u003e/make-it-fail\n\nPlease see the example that demostrates how to inject slab allocation\nfailures into module init/cleanup code\nin Documentation/fault-injection/fault-injection.txt\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84d737866e2babdeab0c6b18ea155c6a649663b8",
      "tree": "e504da826174c2804d8c680828800aa680090686",
      "parents": [
        "6cc1b22a4acef3816eaa5f8c227d93d749b23195"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Fri Dec 08 02:38:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:52 2006 -0800"
      },
      "message": "[PATCH] add child reaper to pid_namespace\n\nAdd a per pid_namespace child-reaper.  This is needed so processes are reaped\nwithin the same pid space and do not spill over to the parent pid space.  Its\nalso needed so containers preserve existing semantic that pid \u003d\u003d 1 would reap\norphaned children.\n\nThis is based on Eric Biederman\u0027s patch: http://lkml.org/lkml/2006/2/6/285\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ec320afdc9552c92191d5f89fcd1ebe588334ca",
      "tree": "e526fb29f9487f1ea34aa9ccdf14c318aea2159f",
      "parents": [
        "937949d9edbf4049bd41af6c9f92c26280584564"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Dec 08 02:37:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] add process_session() helper routine: deprecate old field\n\nAdd an anonymous union and ((deprecated)) to catch direct usage of the\nsession field.\n\n[akpm@osdl.org: fix various missed conversions]\n[jdike@addtoit.com: fix UML bug]\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "937949d9edbf4049bd41af6c9f92c26280584564",
      "tree": "d0a28f503b082f890cfa1f7fe952fda8fc771752",
      "parents": [
        "ef55d53caa055aedee13e77da82740987dd64f2d"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Dec 08 02:37:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] add process_session() helper routine\n\nReplace occurences of task-\u003esignal-\u003esession by a new process_session() helper\nroutine.\n\nIt will be useful for pid namespaces to abstract the session pid number.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae424ae4b5bcd820ad6ee6f0b986c4e14ed4d6cf",
      "tree": "ef8bc16fc2415b50154135e3b23f8e34b9d75c86",
      "parents": [
        "7bcfa95e561f11a17720162935e4f704c5d6fda3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Dec 08 02:36:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:38 2006 -0800"
      },
      "message": "[PATCH] make set_special_pids() static\n\nMake set_special_pids() static, the only caller is daemonize().\n\nSigned-off-by: 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": "15ad7cdcfd76450d4beebc789ec646664238184d",
      "tree": "279d05a76ae0906c23ee2de8c5684d95d9886ad3",
      "parents": [
        "4a08a9f68168e547c2baf100020e9b96cae5fbd1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Dec 06 20:40:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] struct seq_operations and struct file_operations constification\n\n - move some file_operations structs into the .rodata section\n\n - move static strings from policy_types[] array into the .rodata section\n\n - fix generic seq_operations usages, so that those structs may be defined\n   as \"const\" as well\n\n[akpm@osdl.org: couple of fixes]\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3228a887cae75ef2b8b1211c31c539bef5a5698",
      "tree": "05e8fcc5fd433a7c7a99b46985a6075c121c1248",
      "parents": [
        "ebe7e5fe4b41deeb2731c5b52d8c8e6ac08b1f74"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:39 2006 -0800"
      },
      "message": "[PATCH] make kernel/signal.c:kill_proc_info() static\n\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": "e59e2ae2c29700117a54e85c106017c24837119f",
      "tree": "d746e90d2d79fa8458d021d3572bc55ebdc3aca3",
      "parents": [
        "875d95ec9eb69ffb334116fb44d04d9a64dcbfbb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 06 20:35:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:32 2006 -0800"
      },
      "message": "[PATCH] SysRq-X: show blocked tasks\n\nAdd SysRq-X support: show blocked (TASK_UNINTERRUPTIBLE) tasks only.\n\nUseful for debugging IO stalls.\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": "7dfb71030f7636a0d65200158113c37764552f93",
      "tree": "276b812903d377b16d8828e888552fd256f48aab",
      "parents": [
        "8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@linuxmail.org",
        "time": "Wed Dec 06 20:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:27 2006 -0800"
      },
      "message": "[PATCH] Add include/linux/freezer.h and move definitions from sched.h\n\nMove process freezing functions from include/linux/sched.h to freezer.h, so\nthat modifications to the freezer or the kernel configuration don\u0027t require\nrecompiling just about everything.\n\n[akpm@osdl.org: fix ueagle driver]\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.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: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36de6437866bbb1d37e2312ff4f95ee4ed6d2b61",
      "tree": "5e77ff1af2ccaaeaba09d9aa0d9f10732207e865",
      "parents": [
        "33f2ef89f8e181486b63fdbdc97c6afa6ca9f34b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Dec 06 20:33:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] Save some bytes in struct mm_struct\n\nBefore:\n[acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct\n\n/* include2/asm/processor.h:542 */\nstruct mm_struct {\n        struct vm_area_struct *    mmap;                 /*     0     4 */\n        struct rb_root             mm_rb;                /*     4     4 */\n        struct vm_area_struct *    mmap_cache;           /*     8     4 */\n        long unsigned int          (*get_unmapped_area)(); /*    12     4 */\n        void                       (*unmap_area)();      /*    16     4 */\n        long unsigned int          mmap_base;            /*    20     4 */\n        long unsigned int          task_size;            /*    24     4 */\n        long unsigned int          cached_hole_size;     /*    28     4 */\n        /* ---------- cacheline 1 boundary ---------- */\n        long unsigned int          free_area_cache;      /*    32     4 */\n        pgd_t *                    pgd;                  /*    36     4 */\n        atomic_t                   mm_users;             /*    40     4 */\n        atomic_t                   mm_count;             /*    44     4 */\n        int                        map_count;            /*    48     4 */\n        struct rw_semaphore        mmap_sem;             /*    52    64 */\n        spinlock_t                 page_table_lock;      /*   116    40 */\n        struct list_head           mmlist;               /*   156     8 */\n        mm_counter_t               _file_rss;            /*   164     4 */\n        mm_counter_t               _anon_rss;            /*   168     4 */\n        long unsigned int          hiwater_rss;          /*   172     4 */\n        long unsigned int          hiwater_vm;           /*   176     4 */\n        long unsigned int          total_vm;             /*   180     4 */\n        long unsigned int          locked_vm;            /*   184     4 */\n        long unsigned int          shared_vm;            /*   188     4 */\n        /* ---------- cacheline 6 boundary ---------- */\n        long unsigned int          exec_vm;              /*   192     4 */\n        long unsigned int          stack_vm;             /*   196     4 */\n        long unsigned int          reserved_vm;          /*   200     4 */\n        long unsigned int          def_flags;            /*   204     4 */\n        long unsigned int          nr_ptes;              /*   208     4 */\n        long unsigned int          start_code;           /*   212     4 */\n        long unsigned int          end_code;             /*   216     4 */\n        long unsigned int          start_data;           /*   220     4 */\n        /* ---------- cacheline 7 boundary ---------- */\n        long unsigned int          end_data;             /*   224     4 */\n        long unsigned int          start_brk;            /*   228     4 */\n        long unsigned int          brk;                  /*   232     4 */\n        long unsigned int          start_stack;          /*   236     4 */\n        long unsigned int          arg_start;            /*   240     4 */\n        long unsigned int          arg_end;              /*   244     4 */\n        long unsigned int          env_start;            /*   248     4 */\n        long unsigned int          env_end;              /*   252     4 */\n        /* ---------- cacheline 8 boundary ---------- */\n        long unsigned int          saved_auxv[44];       /*   256   176 */\n        unsigned int               dumpable:2;           /*   432     4 */\n        cpumask_t                  cpu_vm_mask;          /*   436     4 */\n        mm_context_t               context;              /*   440    68 */\n        long unsigned int          swap_token_time;      /*   508     4 */\n        /* ---------- cacheline 16 boundary ---------- */\n        char                       recent_pagein;        /*   512     1 */\n\n        /* XXX 3 bytes hole, try to pack */\n\n        int                        core_waiters;         /*   516     4 */\n        struct completion *        core_startup_done;    /*   520     4 */\n        struct completion          core_done;            /*   524    52 */\n        rwlock_t                   ioctx_list_lock;      /*   576    36 */\n        struct kioctx *            ioctx_list;           /*   612     4 */\n}; /* size: 616, sum members: 613, holes: 1, sum holes: 3, cachelines: 20,\n      last cacheline: 8 bytes */\n\nAfter:\n\n[acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct\n/* include2/asm/processor.h:542 */\nstruct mm_struct {\n        struct vm_area_struct *    mmap;                 /*     0     4 */\n        struct rb_root             mm_rb;                /*     4     4 */\n        struct vm_area_struct *    mmap_cache;           /*     8     4 */\n        long unsigned int          (*get_unmapped_area)(); /*    12     4 */\n        void                       (*unmap_area)();      /*    16     4 */\n        long unsigned int          mmap_base;            /*    20     4 */\n        long unsigned int          task_size;            /*    24     4 */\n        long unsigned int          cached_hole_size;     /*    28     4 */\n        /* ---------- cacheline 1 boundary ---------- */\n        long unsigned int          free_area_cache;      /*    32     4 */\n        pgd_t *                    pgd;                  /*    36     4 */\n        atomic_t                   mm_users;             /*    40     4 */\n        atomic_t                   mm_count;             /*    44     4 */\n        int                        map_count;            /*    48     4 */\n        struct rw_semaphore        mmap_sem;             /*    52    64 */\n        spinlock_t                 page_table_lock;      /*   116    40 */\n        struct list_head           mmlist;               /*   156     8 */\n        mm_counter_t               _file_rss;            /*   164     4 */\n        mm_counter_t               _anon_rss;            /*   168     4 */\n        long unsigned int          hiwater_rss;          /*   172     4 */\n        long unsigned int          hiwater_vm;           /*   176     4 */\n        long unsigned int          total_vm;             /*   180     4 */\n        long unsigned int          locked_vm;            /*   184     4 */\n        long unsigned int          shared_vm;            /*   188     4 */\n        /* ---------- cacheline 6 boundary ---------- */\n        long unsigned int          exec_vm;              /*   192     4 */\n        long unsigned int          stack_vm;             /*   196     4 */\n        long unsigned int          reserved_vm;          /*   200     4 */\n        long unsigned int          def_flags;            /*   204     4 */\n        long unsigned int          nr_ptes;              /*   208     4 */\n        long unsigned int          start_code;           /*   212     4 */\n        long unsigned int          end_code;             /*   216     4 */\n        long unsigned int          start_data;           /*   220     4 */\n        /* ---------- cacheline 7 boundary ---------- */\n        long unsigned int          end_data;             /*   224     4 */\n        long unsigned int          start_brk;            /*   228     4 */\n        long unsigned int          brk;                  /*   232     4 */\n        long unsigned int          start_stack;          /*   236     4 */\n        long unsigned int          arg_start;            /*   240     4 */\n        long unsigned int          arg_end;              /*   244     4 */\n        long unsigned int          env_start;            /*   248     4 */\n        long unsigned int          env_end;              /*   252     4 */\n        /* ---------- cacheline 8 boundary ---------- */\n        long unsigned int          saved_auxv[44];       /*   256   176 */\n        cpumask_t                  cpu_vm_mask;          /*   432     4 */\n        mm_context_t               context;              /*   436    68 */\n        long unsigned int          swap_token_time;      /*   504     4 */\n        char                       recent_pagein;        /*   508     1 */\n        unsigned char              dumpable:2;           /*   509     1 */\n\n        /* XXX 2 bytes hole, try to pack */\n\n        int                        core_waiters;         /*   512     4 */\n        struct completion *        core_startup_done;    /*   516     4 */\n        struct completion          core_done;            /*   520    52 */\n        rwlock_t                   ioctx_list_lock;      /*   572    36 */\n        struct kioctx *            ioctx_list;           /*   608     4 */\n}; /* size: 612, sum members: 610, holes: 1, sum holes: 2, cachelines: 20,\n      last cacheline: 4 bytes */\n\n[acme@newtoy net-2.6.20]$ codiff -V /tmp/sched.o.before kernel/sched.o\n/pub/scm/linux/kernel/git/acme/net-2.6.20/kernel/sched.c:\n  struct mm_struct |   -4\n    dumpable:2;\n     from: unsigned int          /*   432(30)    4(2) */\n     to:   unsigned char         /*   509(6)     1(2) */\n\u003c SNIP other offset changes \u003e\n 1 struct changed\n[acme@newtoy net-2.6.20]$\n\nI\u0027m not aware of any problem about using 2 byte wide bitfields where\npreviously a 4 byte wide one was, holler if there is any, I wouldn\u0027t be\nsurprised, bitfields are things from hell.\n\nFor the curious, 432(30) means: at offset 432 from the struct start, at\noffset 30 in the bitfield (yeah, it comes backwards, hellish, huh?) ditto\nfor 509(6), while 4(2) and 1(2) means \"struct field size(bitfield size)\".\n\nNow we have a 2 bytes hole and are using only 4 bytes of the last 32\nbytes cacheline, any takers? :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7602bdf2fd14a40dd9b104e516fdc05e1bd17952",
      "tree": "5ca703b0a95f6f2e6d977c816532b9085f453974",
      "parents": [
        "098fe651f7e9d759d1117c78c1a642b9b3945922"
      ],
      "author": {
        "name": "Ashwin Chaugule",
        "email": "ashwin.chaugule@celunite.com",
        "time": "Wed Dec 06 20:31:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] new scheme to preempt swap token\n\nThe new swap token patches replace the current token traversal algo.  The old\nalgo had a crude timeout parameter that was used to handover the token from\none task to another.  This algo, transfers the token to the tasks that are in\nneed of the token.  The urgency for the token is based on the number of times\na task is required to swap-in pages.  Accordingly, the priority of a task is\nincremented if it has been badly affected due to swap-outs.  To ensure that\nthe token doesnt bounce around rapidly, the token holders are given a priority\nboost.  The priority of tasks is also decremented, if their rate of swap-in\u0027s\nkeeps reducing.  This way, the condition to check whether to pre-empt the swap\ntoken, is a matter of comparing two task\u0027s priority fields.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Ashwin Chaugule \u003cashwin.chaugule@celunite.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b8534d7bd89df0cd41cd47bcd6733a05ea9a691a",
      "tree": "c4650f417d7f05a9c645d6a0b1f64405ec4c8a39",
      "parents": [
        "17b02695b254aa2ef0e53df9c8e6548f86e66a9d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sat Oct 28 10:38:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:54 2006 -0700"
      },
      "message": "[PATCH] taskstats: kill -\u003etaskstats_lock in favor of -\u003esiglock\n\nsignal_struct is (mostly) protected by -\u003esighand-\u003esiglock, I think we don\u0027t\nneed -\u003etaskstats_lock to protect -\u003estats.  This also allows us to simplify the\nlocking in fill_tgid().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3260259f0084e51ce21503b130473b78871e7077",
      "tree": "c553cd9d492b5dc11f33cb260da1f31dcd52ed62",
      "parents": [
        "1662d32cea96a8711bd61094ff090979478f0fd4"
      ],
      "author": {
        "name": "Henne",
        "email": "henne@nachtwindheim.de",
        "time": "Fri Oct 06 00:44:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:41 2006 -0700"
      },
      "message": "[PATCH] sched: fix a kerneldoc error on is_init()\n\nFix a kerneldoc warning and reorderd the description for is_init().\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89c4710ee9bbbefe6a4d469d9f36266a92c275c5",
      "tree": "f84fe28e48bbda210f01f22ae0065f7ed1fcc5e1",
      "parents": [
        "1a84887080dc15f048db7c3a643e98f1435790d6"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup sched_group cpu_power setup\n\nUp to now sched group\u0027s cpu_power for each sched domain is initialized\nindependently.  This made the setup code ugly as the new sched domains are\ngetting added.\n\nMake the sched group cpu_power setup code generic, by using domain child\nfield and new domain flag in sched_domain.  For most of the sched\ndomains(except NUMA), sched group\u0027s cpu_power is now computed generically\nusing the domain properties of itself and of the child domain.\n\nsched groups in NUMA domains are setup little differently and hence they\ndon\u0027t use this generic mechanism.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: 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": "1a84887080dc15f048db7c3a643e98f1435790d6",
      "tree": "7cd335fee247c0b60f8562c82806b49435b5fb9d",
      "parents": [
        "74732646431a1bb7e23e6b564127a8881cfef900"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: introduce child field in sched_domain\n\nIntroduce the child field in sched_domain struct and use it in\nsched_balance_self().\n\nWe will also use this field in cleaning up the sched group cpu_power\nsetup(done in a different patch) code.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: 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": "9ec52099e4b8678a60e9f93e41ad87885d64f3e6",
      "tree": "a68fe051b39f8f8e8be469cbd3c2f653b9b71a9d",
      "parents": [
        "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Mon Oct 02 02:19:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] replace cad_pid by a struct pid\n\nThere are a few places in the kernel where the init task is signaled.  The\nctrl+alt+del sequence is one them.  It kills a task, usually init, using a\ncached pid (cad_pid).\n\nThis patch replaces the pid_t by a struct pid to avoid pid wrap around\nproblem.  The struct pid is initialized at boot time in init() and can be\nmodified through systctl with\n\n\t/proc/sys/kernel/cad_pid\n\n[ I haven\u0027t found any distro using it ? ]\n\nIt also introduces a small helper routine kill_cad_pid() which is used\nwhere it seemed ok to use cad_pid instead of pid 1.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: 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": "25b21cb2f6d69b0475b134e0a3e8e269137270fa",
      "tree": "cd9c3966408c0ca5903249437c35ff35961de544",
      "parents": [
        "c0b2fc316599d6cd875b6b8cafa67f03b9512b4d"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Mon Oct 02 02:18:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] IPC namespace core\n\nThis patch set allows to unshare IPCs and have a private set of IPC objects\n(sem, shm, msg) inside namespace.  Basically, it is another building block of\ncontainers functionality.\n\nThis patch implements core IPC namespace changes:\n- ipc_namespace structure\n- new config option CONFIG_IPC_NS\n- adds CLONE_NEWIPC flag\n- unshare support\n\n[clg@fr.ibm.com: small fix for unshare of ipc namespace]\n[akpm@osdl.org: build fix]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.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": "071df104f808b8195c40643dcb4d060681742e29",
      "tree": "e5c3355e526e0182797d59c7e80062fbc2bb7d77",
      "parents": [
        "bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: implement CLONE_NEWUTS flag\n\nImplement a CLONE_NEWUTS flag, and use it at clone and sys_unshare.\n\n[clg@fr.ibm.com: IPC unshare fix]\n[bunk@stusta.de: cleanup]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4865ecf1315b450ab3317a745a6678c04d311e40",
      "tree": "6cf5d3028f8642eba2a8094eb413db080cc9219c",
      "parents": [
        "96b644bdec977b97a45133e5b4466ba47a7a5e65"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: implement utsname namespaces\n\nThis patch defines the uts namespace and some manipulators.\nAdds the uts namespace to task_struct, and initializes a\nsystem-wide init namespace.\n\nIt leaves a #define for system_utsname so sysctl will compile.\nThis define will be removed in a separate patch.\n\n[akpm@osdl.org: build fix, cleanup]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1651e14e28a2d9f446018ef522882e0709a2ce4f",
      "tree": "401ff78624fdc4b445f3f95174a223acaf6a4ca0",
      "parents": [
        "0437eb594e6e5e699248f865482e61034be846d0"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: incorporate fs namespace into nsproxy\n\nThis moves the mount namespace into the nsproxy.  The mount namespace count\nnow refers to the number of nsproxies point to it, rather than the number of\ntasks.  As a result, the unshare_namespace() function in kernel/fork.c no\nlonger checks whether it is being shared.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab516013ad9ca47f1d3a936fa81303bfbf734d52",
      "tree": "643ea9c4c3d28958cb42dd87b1856f74edd22b11",
      "parents": [
        "b1ba4ddde0cf67991d89f039365eaaeda61aa027"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: add nsproxy\n\nThis patch adds a nsproxy structure to the task struct.  Later patches will\nmove the fs namespace pointer into this structure, and introduce a new utsname\nnamespace into the nsproxy.\n\nThe vserver and openvz functionality, then, would be implemented in large part\nby virtualizing/isolating more and more resources into namespaces, each\ncontained in the nsproxy.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2425c08b37244005ff221efe4957d8aaff18609c",
      "tree": "488a298587acb651bd6964c0f9d53c9f48327362",
      "parents": [
        "43fa1adb9334bf4585cd53144eb5911488f85bc7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] usb: fixup usb so it uses struct pid\n\nThe problem with remembering a user space process by its pid is that it is\npossible that the process will exit, pid wrap around will occur.\nConverting to a struct pid avoid that problem, and paves the way for\nimplementing a pid namespace.\n\nAlso since usb is the only user of kill_proc_info_as_uid rename\nkill_proc_info_as_uid to kill_pid_info_as_uid and have the new version take\na struct pid.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fbc96486459324e182717b03c50c90c880be6ec",
      "tree": "c2b5ccb3f64913daeb040c21652e4b421cc76bca",
      "parents": [
        "aa5a6662f93f52605b6c447ba6f7291e92f515c5"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 02 02:17:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] Define struct pspace\n\nDefine a per-container pid space object.  And create one instance of this\nobject, init_pspace, to define the entire pid space.  Subsequent patches\nwill provide/use interfaces to create/destroy pid spaces.\n\nIts a subset/rework of Eric Biederman\u0027s patch\nhttp://lkml.org/lkml/2006/2/6/285 .\n\nSigned-off-by: Eric 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: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4b92fc112f7be5cce308128236ff75cc98535c3",
      "tree": "ea4dfac4355c64decbf6aa1ca65af76af43b90fb",
      "parents": [
        "558cb325485aaf655130f140e8ddd25392f6c972"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] pid: implement signal functions that take a struct pid *\n\nCurrently the signal functions all either take a task or a pid_t argument.\nThis patch implements variants that take a struct pid *.  After all of the\nusers have been update it is my intention to remove the variants that take a\npid_t as using pid_t can be more work (an extra hash table lookup) and\ndifficult to get right in the presence of multiple pid namespaces.\n\nThere are two kinds of functions introduced in this patch.  The are the\ngeneral use functions kill_pgrp and kill_pid which take a priv argument that\nis ultimately used to create the appropriate siginfo information, Then there\nare _kill_pgrp_info, kill_pgrp_info, kill_pid_info the internal implementation\nhelpers that take an explicit siginfo.\n\nThe distinction is made because filling out an explcit siginfo is tricky, and\nwill be even more tricky when pid namespaces are introduced.\n\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"
    }
  ],
  "next": "22c935f47c03399c78e64c71b757eb36fa917ff6"
}
