)]}'
{
  "log": [
    {
      "commit": "49048622eae698e5c4ae61f7e71200f265ccc529",
      "tree": "e568595fe5329e1293eafc3a3cc833dfe89ffbf2",
      "parents": [
        "56c7426b3951e4f35a71d695f1c982989399d6fd"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Fri Sep 05 18:12:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:35 2008 +0200"
      },
      "message": "sched: fix process time monotonicity\n\nSpencer reported a problem where utime and stime were going negative despite\nthe fixes in commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa. The suspected\nreason for the problem is that signal_struct maintains it\u0027s own utime and\nstime (of exited tasks), these are not updated using the new task_utime()\nroutine, hence sig-\u003eutime can go backwards and cause the same problem\nto occur (sig-\u003eutime, adds tsk-\u003eutime and not task_utime()). This patch\nfixes the problem\n\nTODO: using max(task-\u003eprev_utime, derived utime) works for now, but a more\ngeneric solution is to implement cputime_max() and use the cputime_gt()\nfunction for comparison.\n\nReported-by: spencer@bluehost.com\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9",
      "tree": "96a9da2c1e733cce2dced4868aaa68b48ced49e1",
      "parents": [
        "8d0968abd03ec6b407df117adc773562386702fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 13 16:20:04 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 14 09:35:23 2008 +1000"
      },
      "message": "CRED: Introduce credential access wrappers\n\nThe patches that are intended to introduce copy-on-write credentials for 2.6.28\nrequire abstraction of access to some fields of the task structure,\nparticularly for the case of one task accessing another\u0027s credentials where RCU\nwill have to be observed.\n\nIntroduced here are trivial no-op versions of the desired accessors for current\nand other tasks so that other subsystems can start to be converted over more\neasily.\n\nWrappers are introduced into a new header (linux/cred.h) for UID/GID,\nEUID/EGID, SUID/SGID, FSUID/FSGID, cap_effective and current\u0027s subscribed\nuser_struct.  These wrappers are macros because the ordering between header\nfiles mitigates against making them inline functions.\n\nlinux/cred.h is #included from linux/sched.h.\n\nFurther, XFS is modified such that it no longer defines and uses parameterised\nversions of current_fs[ug]id(), thus getting rid of the namespace collision\notherwise incurred.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c1955a3d4762e7a9bf84035eb3c4886a900f0d15",
      "tree": "a00dcd1736c612017df7094a91d8a6435b7a49c9",
      "parents": [
        "4a273f209cc95d148f79b4c96d3d03997b44ffda"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "message": "sched_clock: delay using sched_clock()\n\nSome arch\u0027s can\u0027t handle sched_clock() being called too early - delay\nthis until sched_clock_init() has been called.\n\nReported-by: Bill Gatliff \u003cbgat@billgatliff.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCC: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "940389b8afad6495211614c13eb91ef7001773ec",
      "tree": "92c581cc9dc7a067899a6a28e382e4099dfe8ead",
      "parents": [
        "837b41b5de356aa67abb2cadb5eef3efc7776f91"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Mon Jul 28 00:48:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 16:12:28 2008 -0700"
      },
      "message": "task IO accounting: move all IO statistics in struct task_io_accounting\n\nSimplify the code of include/linux/task_io_accounting.h.\n\nIt is also more reasonable to have all the task i/o-related statistics in a\nsingle struct (task_io_accounting).\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5995477ab7f3522c497c9c4a1c55373e9d655574",
      "tree": "a147fb61642a7ac5441855964eb97a2ff1e37202",
      "parents": [
        "605ccb73f6a1c891a16268b3a2923208fc637958"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sun Jul 27 17:29:15 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:58:20 2008 -0700"
      },
      "message": "task IO accounting: improve code readability\n\nPut all i/o statistics in struct proc_io_accounting and use inline functions to\ninitialize and increment statistics, removing a lot of single variable\nassignments.\n\nThis also reduces the kernel size as following (with CONFIG_TASK_XACCT\u003dy and\nCONFIG_TASK_IO_ACCOUNTING\u003dy).\n\n    text    data     bss     dec     hex filename\n   11651       0       0   11651    2d83 kernel/exit.o.before\n   11619       0       0   11619    2d63 kernel/exit.o.after\n   10886     132     136   11154    2b92 kernel/fork.o.before\n   10758     132     136   11026    2b12 kernel/fork.o.after\n\n 3082029  807968 4818600 8708597  84e1f5 vmlinux.o.before\n 3081869  807968 4818600 8708437  84e155 vmlinux.o.after\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85ba2d862e521375a8ee01526c5c46b1f24bb4af",
      "tree": "f098555cb580b2864f145aa845b574f07d2cf694",
      "parents": [
        "1f5a4ad97a0e7b663d527ecc02aabe203d000d91"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:09 2008 -0700"
      },
      "message": "tracehook: wait_task_inactive\n\nThis extends wait_task_inactive() with a new argument so it can be used in\na \"soft\" mode where it will check for the task changing state unexpectedly\nand back off.  There is no change to existing callers.  This lays the\ngroundwork to allow robust, noninvasive tracing that can try to sample a\nblocked thread but back off safely if it wakes up.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-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": "2b2a1ff64afbadac842bbc58c5166962cf4f7664",
      "tree": "660640eb95117ce6f7436331f23f73805abced10",
      "parents": [
        "fa00b80b3c41a845b3d56f866fb40a2e98754c51"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:09 2008 -0700"
      },
      "message": "tracehook: death\n\nThis moves the ptrace logic in task death (exit_notify) into tracehook.h\ninlines.  Some code is rearranged slightly to make things nicer.  There is\nno change, only cleanup.\n\nThere is one hook called with the tasklist_lock write-locked, as ptrace\nneeds.  There is also a new hook called after exit_state changes and\nwithout locks.  This is a better place for tracing work to be in the\nfuture, since it doesn\u0027t delay the whole system with locking.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-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": "7babe8db99d305340cf4828ce1f5a1481d5622ef",
      "tree": "fdac7a084646bb6d125ebc62b0b75806e45d1025",
      "parents": [
        "c2147a5092cfe13dbf3210e54e8a622015edeecc"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Fri Jul 25 19:45:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "Full conversion to early_initcall() interface, remove old interface\n\nA previous patch added the early_initcall(), to allow a cleaner hooking of\npre-SMP initcalls.  Now we remove the older interface, converting all\nexisting users to the new one.\n\n[akpm@linux-foundation.org: cleanups]\n[akpm@linux-foundation.org: build fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16d69265b930f7e2fa9eea381715696f780718f4",
      "tree": "5b3bf02f5f4fe21da4e9b5e0f22f6518bd81b609",
      "parents": [
        "0c7ad106e779549792deb307242dece6f3499bb9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jul 25 19:44:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:01 2008 -0700"
      },
      "message": "uninline arch_pick_mmap_layout()\n\nFix this, on avr32:\n\n  include/linux/utsname.h:35,\n                   from init/main.c:20:\n  include/linux/sched.h: In function \u0027arch_pick_mmap_layout\u0027:\n  include/linux/sched.h:2149: error: implicit declaration of function \u0027PAGE_ALIGN\u0027\n\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "873b47717732c2f33a4b14de02571a4295a02f0c",
      "tree": "aaef0fe872dbd4ce5c290f3509e5db69f9a3f04a",
      "parents": [
        "3e85ba034deec351f02cb55ff225bbd616463841"
      ],
      "author": {
        "name": "Keika Kobayashi",
        "email": "kobayashi.kk@ncos.nec.co.jp",
        "time": "Fri Jul 25 01:48:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:47 2008 -0700"
      },
      "message": "per-task-delay-accounting: add memory reclaim delay\n\nSometimes, application responses become bad under heavy memory load.\nApplications take a bit time to reclaim memory.  The statistics, how long\nmemory reclaim takes, will be useful to measure memory usage.\n\nThis patch adds accounting memory reclaim to per-task-delay-accounting for\naccounting the time of do_try_to_free_pages().\n\n\u003ci.e\u003e\n\n- When System is under low memory load,\n  memory reclaim may not occur.\n\n$ free\n             total       used       free     shared    buffers     cached\nMem:       8197800    1577300    6620500          0       4808    1516724\n-/+ buffers/cache:      55768    8142032\nSwap:     16386292          0   16386292\n\n$ vmstat 1\nprocs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----\n r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa\n 0  0      0 5069748  10612 3014060    0    0     0     0    3   26  0  0 100  0\n 0  0      0 5069748  10612 3014060    0    0     0     0    4   22  0  0 100  0\n 0  0      0 5069748  10612 3014060    0    0     0     0    3   18  0  0 100  0\n\nMeasure the time of tar command.\n\n$ ls -s test.dat\n1501472 test.dat\n\n$ time tar cvf test.tar test.dat\nreal    0m13.388s\nuser    0m0.116s\nsys     0m5.304s\n\n$ ./delayget -d -p \u003cpid\u003e\nCPU             count     real total  virtual total    delay total\n                  428     5528345500     5477116080       62749891\nIO              count    delay total\n                  338     8078977189\nSWAP            count    delay total\n                    0              0\nRECLAIM         count    delay total\n                    0              0\n\n- When system is under heavy memory load\n  memory reclaim may occur.\n\n$ vmstat 1\nprocs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----\n r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa\n 0  0 7159032  49724   1812   3012    0    0     0     0    3   24  0  0 100  0\n 0  0 7159032  49724   1812   3012    0    0     0     0    4   24  0  0 100  0\n 0  0 7159032  49848   1812   3012    0    0     0     0    3   22  0  0 100  0\n\nIn this case, one process uses more 8G memory\nby execution of malloc() and memset().\n\n$ time tar cvf test.tar test.dat\nreal    1m38.563s        \u003c-  increased by 85 sec\nuser    0m0.140s\nsys     0m7.060s\n\n$ ./delayget -d -p \u003cpid\u003e\nCPU             count     real total  virtual total    delay total\n                 9021     7140446250     7315277975      923201824\nIO              count    delay total\n                 8965    90466349669\nSWAP            count    delay total\n                    3       21036367\nRECLAIM         count    delay total\n                  740    61011951153\n\nIn the later case, the value of RECLAIM is increasing.\nSo, taskstats can show how much memory reclaim influences TAT.\n\nSigned-off-by: Keika Kobayashi \u003ckobayashi.kk@ncos.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujistu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297c5d92634c809cef23d73e7b2556f2528ff7e2",
      "tree": "d006fa29daa24242c64cff3b66dd75fbb0003b0f",
      "parents": [
        "0c18d7a5df82524e634637c3aec24d4cba096442"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Fri Jul 25 01:48:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:47 2008 -0700"
      },
      "message": "task IO accounting: provide distinct tgid/tid I/O statistics\n\nReport per-thread I/O statistics in /proc/pid/task/tid/io and aggregate\nparent I/O statistics in /proc/pid/io.  This approach follows the same\nmodel used to account per-process and per-thread CPU times.\n\nAs a practial application, this allows for example to quickly find the top\nI/O consumer when a process spawns many child threads that perform the\nactual I/O work, because the aggregated I/O statistics can always be found\nin /proc/pid/io.\n\n[ Oleg Nesterov points out that we should check that the task is still\n  alive before we iterate over the threads, but also says that we can do\n  that fixup on top of this later.  - Linus ]\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Matt Heaton \u003cmatt@hostmonster.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nAcked-by-with-comments: 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": "49b5cf34727a6c1be1568ab28e89a2d9a6bf51e0",
      "tree": "29505ad668bfadc67a670ad4ebc5c65823a87413",
      "parents": [
        "7394f0f6c0baab650ea9194cb1be847df646fb57"
      ],
      "author": {
        "name": "Jonathan Lim",
        "email": "jlim@sgi.com",
        "time": "Fri Jul 25 01:48:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:46 2008 -0700"
      },
      "message": "accounting: account for user time when updating memory integrals\n\nAdapt acct_update_integrals() to include user time when calculating the time\ndifference.  The units of acct_rss_mem1 and acct_vm_mem1 are also changed from\npages-jiffies to pages-usecs to avoid calling jiffies_to_usecs() in\nxacct_add_tsk() which might overflow.\n\nSigned-off-by: Jonathan Lim \u003cjlim@sgi.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": "dbda0de52618d13d1b927c7ba7bb839cfddc4e8c",
      "tree": "026bd6c9da6e6e81a21a6e47dcc738bddbb3fe22",
      "parents": [
        "e49859e71e0318b564de1546bdc30fab738f9deb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:48:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "pidns: remove find_task_by_pid, unused for a long time\n\nIt seems to me that it was a mistake marking this function as deprecated\nand scheduling it for removal, rather than resolutely removing it after\nthe last caller\u0027s death.\n\nAnyway - better late, then never.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "e49859e71e0318b564de1546bdc30fab738f9deb",
      "tree": "74f63bbfad6ca9682404e85c3d69482663273004",
      "parents": [
        "19b0cfcca41dd772065671ad0584e1cea0f3fd13"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:48:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "pidns: remove now unused find_pid function.\n\nThis one had the only users so far - the kill_proc, which is removed, so\ndrop this (invalid in namespaced world) call too.\n\nAnd of course - erase all references on it from comments.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "19b0cfcca41dd772065671ad0584e1cea0f3fd13",
      "tree": "6a8a627e2e2f3f26b02fc4228517c421e66a8043",
      "parents": [
        "33166b1ffca5e1945246bcaa77d72a22b0d3e531"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:48:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "pidns: remove now unused kill_proc function\n\nThis function operated on a pid_t to kill a task, which is no longer valid\nin a containerized system.\n\nIt has finally lost all its users and we can safely remove it from the\ntree.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "246bb0b1deb29726990620d8b5e55ca29f331362",
      "tree": "5173b9e0c1d18934a8b2693c690a7162acb1bca8",
      "parents": [
        "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "kill PF_BORROWED_MM in favour of PF_KTHREAD\n\nKill PF_BORROWED_MM.  Change use_mm/unuse_mm to not play with -\u003eflags, and\ndo s/PF_BORROWED_MM/PF_KTHREAD/ for a couple of other users.\n\nNo functional changes yet.  But this allows us to do further\nfixes/cleanups.\n\noom_kill/ptrace/etc often check \"p-\u003emm !\u003d NULL\" to filter out the\nkthreads, this is wrong because of use_mm().  The problem with\nPF_BORROWED_MM is that we need task_lock() to avoid races.  With this\npatch we can check PF_KTHREAD directly, or use a simple lockless helper:\n\n\t/* The result must not be dereferenced !!! */\n\tstruct mm_struct *__get_task_mm(struct task_struct *tsk)\n\t{\n\t\tif (tsk-\u003eflags \u0026 PF_KTHREAD)\n\t\t\treturn NULL;\n\t\treturn tsk-\u003emm;\n\t}\n\nNote also ecard_task().  It runs with -\u003emm !\u003d NULL, but it\u0027s the kernel\nthread without PF_BORROWED_MM.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf",
      "tree": "6822edd5c63db79e97b8c5379a18a058bc5405ff",
      "parents": [
        "3d749b9e676b26584a47e75c235aa6f69d0697ae"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "introduce PF_KTHREAD flag\n\nIntroduce the new PF_KTHREAD flag to mark the kernel threads.  It is set\nby INIT_TASK() and copied to the forked childs (we could set it in\nkthreadd() along with PF_NOFREEZE instead).\n\ndaemonize() was changed as well.  In that case testing of PF_KTHREAD is\nracy, but daemonize() is hopeless anyway.\n\nThis flag is cleared in do_execve(), before search_binary_handler().\nProbably not the best place, we can do this in exec_mmap() or in\nstart_thread(), or clear it along with PF_FORKNOEXEC.  But I think this\ndoesn\u0027t matter in practice, and if do_execve() fails kthread should die\nsoon.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "364d3c13c17f45da6d638011078d4c4d3070d719",
      "tree": "2e6215dd458010cd92786ac7d67053c5d5171c74",
      "parents": [
        "f22ab814a24e654b1de24db0c5f8b57b5ab2026a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "ptrace: give more respect to SIGKILL\n\nptrace_stop() has some complicated checks to prevent the scheduling in the\nTASK_TRACED state with the pending SIGKILL, but these checks are racy, and\nthey depend on arch_ptrace_stop_needed().\n\nThis patch assumes that the traced task should die asap if it was killed by\nSIGKILL, in that case schedule()-\u003esignal_pending_state() has no reason to\nignore the TASK_WAKEKILL part of TASK_TRACED, and we can kill this nasty\nspecial case.\n\nNote: do_exit()-\u003eptrace_notify() is special, the killed task can already\ndequeue SIGKILL at this point. Another indication that fatal_signal_pending()\nis not exactly right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Roland McGrath \u003croland@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": "8b05c7e6e159d2f33c9275281b8b909a89eb7c5d",
      "tree": "646edb14c42d6404e36f1602d47c639c72a8300a",
      "parents": [
        "68ad8df42e12037c3894c9706ab428bf5cd6426b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jul 23 21:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "add a helper function to test if an object is on the stack\n\nlib/debugobjects.c has a function to test if an object is on the stack.\nThe block layer and ide needs it (they need to avoid DMA from/to stack\nbuffers).  This patch moves the function to include/linux/sched.h so that\neveryone can use it.\n\nlib/debugobjects.c uses current-\u003estack but this patch uses a\ntask_stack_page() accessor, which is a preferable way to access the stack.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f9dce38378f0a4a298e885553d6bb7121376376",
      "tree": "5bfd688c9f356f7216bbc3cef3b4c10153de334b",
      "parents": [
        "26dcce0fabbef75ae426461edf21b5030bad60f3",
        "ba42059fbd0aa1ac91b582412b5fedb1258f241f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: hrtick_enabled() should use cpu_active()\n  sched, x86: clean up hrtick implementation\n  sched: fix build error, provide partition_sched_domains() unconditionally\n  sched: fix warning in inc_rt_tasks() to not declare variable \u0027rq\u0027 if it\u0027s not needed\n  cpu hotplug: Make cpu_active_map synchronization dependency clear\n  cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n  sched: rework of \"prioritize non-migratable tasks over migratable ones\"\n  sched: reduce stack size in isolated_cpu_setup()\n  Revert parts of \"ftrace: do not trace scheduler functions\"\n\nFixed up conflicts in include/asm-x86/thread_info.h (due to the\nTIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and\nkernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()\nintroduction).\n"
    },
    {
      "commit": "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
      "tree": "46904d68a5a68f22e6c6baf3472edd4c37a39481",
      "parents": [
        "30d38542ec777468bb6a31829076a2dbc5690e35",
        "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix invalid proc_handler for softlockup_panic\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: show irqtrace\n  softlockup: print a module list on being stuck\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n  softlockup: fix softlockup_thresh fix\n  softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n  softlockup: allow panic on lockup\n"
    },
    {
      "commit": "1b427c153a08fdbc092c2bdbf845b92fda58d857",
      "tree": "b3803cd09abf687021e53676a3948415fc1a96a6",
      "parents": [
        "39b0fad7121eace85770e7a4c6dc35dfd2879768"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 14:01:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 14:02:46 2008 +0200"
      },
      "message": "sched: fix build error, provide partition_sched_domains() unconditionally\n\nprovide an empty partition_sched_domains() definition for the UP case:\n\n include/linux/cpuset.h: In function ‘rebuild_sched_domains\u0027:\n include/linux/cpuset.h:163: error: implicit declaration of function ‘partition_sched_domains\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f470021adb9190819c03d6d8c5c860a17480aa6d",
      "tree": "9e5c2808138624e272b562a502cfd035ae59c268",
      "parents": [
        "98abed02007b19bbfd68b6d06a5485afc3eeb01b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Mar 24 18:36:23 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jul 16 18:02:33 2008 -0700"
      },
      "message": "ptrace children revamp\n\nptrace no longer fiddles with the children/sibling links, and the\nold ptrace_children list is gone.  Now ptrace, whether of one\u0027s own\nchildren or another\u0027s via PTRACE_ATTACH, just uses the new ptraced\nlist instead.\n\nThere should be no user-visible difference that matters.  The only\nchange is the order in which do_wait() sees multiple stopped\nchildren and stopped ptrace attachees.  Since wait_task_stopped()\nwas changed earlier so it no longer reorders the children list, we\nalready know this won\u0027t cause any new problems.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "ebb12db51f6c13b30752fcf506baad4c617b153c",
      "tree": "55c08b82463ffd5b78a8bc4a4748261b02391593",
      "parents": [
        "d20a4dca47d2cd027ed58a13f91b424affd1f449"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 11 22:04:29 2008 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed Jul 16 23:27:03 2008 +0200"
      },
      "message": "Freezer: Introduce PF_FREEZER_NOSIG\n\nThe freezer currently attempts to distinguish kernel threads from\nuser space tasks by checking if their mm pointer is unset and it\ndoes not send fake signals to kernel threads.  However, there are\nkernel threads, mostly related to networking, that behave like\nuser space tasks and may want to be sent a fake signal to be frozen.\n\nIntroduce the new process flag PF_FREEZER_NOSIG that will be set\nby default for all kernel threads and make the freezer only send\nfake signals to the tasks having PF_FREEZER_NOSIG unset.  Provide\nthe set_freezable_with_signal() function to be called by the kernel\nthreads that want to be sent a fake signal for freezing.\n\nThis patch should not change the freezer\u0027s observable behavior.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "1e09481365ce248dbb4eb06dad70129bb5807037",
      "tree": "c0cff5bef95c8b5e7486f144718ade9a06c284dc",
      "parents": [
        "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n\nConflicts:\n\n\tkernel/softlockup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "948769a5ba304ed3329a2f42ee3561f04a0b5692",
      "tree": "7430c5fcae383d90c7c0101364440ac24e5cbc18",
      "parents": [
        "e18425a0abc8eafa8e98ecffac517bb0c0904f4b",
        "773dc8eacaedb2e8c8d0defb5de2c66ea7dc4a08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:50:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:50:49 2008 -0700"
      },
      "message": "Merge branch \u0027sched/new-API-sched_setscheduler\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/new-API-sched_setscheduler\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: add new API sched_setscheduler_nocheck: add a flag to control access checks\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "361833efac4d277d209008e1e0658e597bc1bdef",
      "tree": "ef3b3f3bbe274f1e59cc1521566a85584777ace7",
      "parents": [
        "54ef76f37bcccf8c16fbaaed13c3c40825195958",
        "c300ba252829e9325e08f0af60687add94445b25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:13 2008 +0200"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into sched/devel\n"
    },
    {
      "commit": "af52a90a14cdaa54ecbfb6e6982abb13466a4b56",
      "tree": "2488d6d7943b167987c33f984f7109c3dc4ae783",
      "parents": [
        "f7cce27f5605b9e137b829a47949cb2d3c7e1cab"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: stop maximum check on NO HZ\n\nWorking with ftrace I would get large jumps of 11 millisecs or more with\nthe clock tracer. This killed the latencing timings of ftrace and also\ncaused the irqoff self tests to fail.\n\nWhat was happening is with NO_HZ the idle would stop the jiffy counter and\nbefore the jiffy counter was updated the sched_clock would have a bad\ndelta jiffies to compare with the gtod with the maximum.\n\nThe jiffies would stop and the last sched_tick would record the last gtod.\nOn wakeup, the sched clock update would compare the gtod + delta jiffies\n(which would be zero) and compare it to the TSC. The TSC would have\ncorrectly (with a stable TSC) moved forward several jiffies. But because the\njiffies has not been updated yet the clock would be prevented from moving\nforward because it would appear that the TSC jumped too far ahead.\n\nThe clock would then virtually stop, until the jiffies are updated. Then\nthe next sched clock update would see that the clock was very much behind\nsince the delta jiffies is now correct. This would then jump the clock\nforward by several jiffies.\n\nThis caused ftrace to report several milliseconds of interrupts off\nlatency at every resume from NO_HZ idle.\n\nThis patch adds hooks into the nohz code to disable the checking of the\nmaximum clock update when nohz is in effect. It resumes the max check\nwhen nohz has updated the jiffies again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2398f2c6d34b43025f274fc42eaca34d23ec2320",
      "tree": "0ff3e9edf12c6b4485e4fa94f47a79b44d75376a",
      "parents": [
        "cd80917e4ff465ea77106f8e4fb631eedc4cf426"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:45 2008 +0200"
      },
      "message": "sched: update shares on wakeup\n\nWe found that the affine wakeup code needs rather accurate load figures\nto be effective. The trouble is that updating the load figures is fairly\nexpensive with group scheduling. Therefore ratelimit the updating.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6a86c746f5b708012809958462234d19e9c8177",
      "tree": "38654c70da6382f50779ede1e973d2d395f38e54",
      "parents": [
        "32df2ee86a580f70f2dbb90cf81f413aa655f838"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:32 2008 +0200"
      },
      "message": "sched: fix sched_domain aggregation\n\nKeeping the aggregate on the first cpu of the sched domain has two problems:\n - it could collide between different sched domains on different cpus\n - it could slow things down because of the remote accesses\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c09595f63bb1909c5dc4dca288f4fe818561b5f3",
      "tree": "42631e6986f3ea4543b125ca62a99df8548e0eb9",
      "parents": [
        "ced8aa16e1db55c33c507174c1b1f9e107445865"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:29 2008 +0200"
      },
      "message": "sched: revert revert of: fair-group: SMP-nice for group scheduling\n\nTry again..\n\nInitial commit: 18d95a2832c1392a2d63227a7a6d433cb9f2037e\nRevert: 6363ca57c76b7b83639ca8c83fc285fa26a7880e\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "961ccddd59d627b89bd3dc284b6517833bbdf25d",
      "tree": "4d755085845b8beeaa0bbc3d3ee66e1ccc4156a8",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jun 23 13:55:38 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:57:56 2008 +0200"
      },
      "message": "sched: add new API sched_setscheduler_nocheck: add a flag to control access checks\n\nHidehiro Kawai noticed that sched_setscheduler() can fail in\nstop_machine: it calls sched_setscheduler() from insmod, which can\nhave CAP_SYS_MODULE without CAP_SYS_NICE.\n\nTwo cases could have failed, so are changed to sched_setscheduler_nocheck:\n  kernel/softirq.c:cpu_callback()\n\t- CPU hotplug callback\n  kernel/stop_machine.c:__stop_machine_run()\n\t- Called from various places, including modprobe()\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: linux-mm@kvack.org\nCc: sugita \u003cyumiko.sugita.yf@hitachi.com\u003e\nCc: Satoshi OSHIMA \u003csatoshi.oshima.fk@hitachi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bbd54d69e9c66adbf544e21d8dcfb15fb9198f7",
      "tree": "95f30814fc759c2cb523dbea95bc531c7f8f3231",
      "parents": [
        "8c2238eaaf0f774ca0f8d9daad7a616429bbb7f1",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:24:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:24:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n"
    },
    {
      "commit": "e765ee90da62535ac7d7a97f2464f9646539d683",
      "tree": "7a9cecce5aab958938e9a3bf46c2302d6af1958c",
      "parents": [
        "a4500b84c51645bbc86be3ca84f2252b7ada060f",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "f9e8e07e074a880e110922759dcdb369fecdf07c",
      "tree": "61bc9a61e0a0546a81d699047d9e001c50b52d50",
      "parents": [
        "e9886ca3a93d7d041d3de8e5acebe213da777d59",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:21 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched-devel\n"
    },
    {
      "commit": "9985b0bab332289f14837eff3c6e0bcc658b58f7",
      "tree": "8c4bcbc4348c473b14644dc4d371a45c0dabda53",
      "parents": [
        "7def2be1dc679984f4c4fb3ef19a8a081b2454ec"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jun 05 12:57:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 12:26:16 2008 +0200"
      },
      "message": "sched: prevent bound kthreads from changing cpus_allowed\n\nKthreads that have called kthread_bind() are bound to specific cpus, so\nother tasks should not be able to change their cpus_allowed from under\nthem.  Otherwise, it is possible to move kthreads, such as the migration\nor software watchdog threads, so they are not allowed access to the cpu\nthey work on.\n\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16882c1e962b4be5122fc05aaf2afc10fd9e2d15",
      "tree": "c39cae4ae4874998d7e3486cd57d57613b05a89c",
      "parents": [
        "39b945a37bac2b692773a470890c8ba301485b15"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jun 08 21:20:41 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:37:25 2008 +0200"
      },
      "message": "sched: fix TASK_WAKEKILL vs SIGKILL race\n\nschedule() has the special \"TASK_INTERRUPTIBLE \u0026\u0026 signal_pending()\" case,\nthis allows us to do\n\n\tcurrent-\u003estate \u003d TASK_INTERRUPTIBLE;\n\tschedule();\n\nwithout fear to sleep with pending signal.\n\nHowever, the code like\n\n\tcurrent-\u003estate \u003d TASK_KILLABLE;\n\tschedule();\n\nis not right, schedule() doesn\u0027t take TASK_WAKEKILL into account. This means\nthat mutex_lock_killable(), wait_for_completion_killable(), down_killable(),\nschedule_timeout_killable() can miss SIGKILL (and btw the second SIGKILL has\nno effect).\n\nIntroduce the new helper, signal_pending_state(), and change schedule() to\nuse it. Hopefully it will have more users, that is why the task\u0027s state is\npassed separately.\n\nNote this \"__TASK_STOPPED | __TASK_TRACED\" check in signal_pending_state().\nThis is needed to preserve the current behaviour (ptrace_notify). I hope\nthis check will be removed soon, but this (afaics good) change needs the\nseparate discussion.\n\nThe fast path is \"(state \u0026 (INTERRUPTIBLE | WAKEKILL)) + signal_pending(p)\",\nbasically the same that schedule() does now. However, this patch of course\nbloats schedule().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f11eb6a8bc92536d9e93ead48fa3ffbd1478571",
      "tree": "40a123bd566bab8ddc726303e2725bae55b1a499",
      "parents": [
        "099f98c8a1f13501a98afbfff4756395a610581c"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Jun 04 15:04:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 06 15:19:42 2008 +0200"
      },
      "message": "sched: fix cpupri hotplug support\n\nThe RT folks over at RedHat found an issue w.r.t. hotplug support which\nwas traced to problems with the cpupri infrastructure in the scheduler:\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d449676\n\nThis bug affects 23-rt12+, 24-rtX, 25-rtX, and sched-devel.  This patch\napplies to 25.4-rt4, though it should trivially apply to most cpupri enabled\nkernels mentioned above.\n\nIt turned out that the issue was that offline cpus could get inadvertently\nregistered with cpupri so that they were erroneously selected during\nmigration decisions.  The end result would be an OOPS as the offline cpu\nhad tasks routed to it.\n\nThis patch generalizes the old join/leave domain interface into an\nonline/offline interface, and adjusts the root-domain/hotplug code to\nutilize it.\n\nI was able to easily reproduce the issue prior to this patch, and am no\nlonger able to reproduce it after this patch.  I can offline cpus\nindefinately and everything seems to be in working order.\n\nThanks to Arnaldo (acme), Thomas, and Peter for doing the legwork to point\nme in the right direction.  Also thank you to Peter for reviewing the\nearly iterations of this patch.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7aceaba042702538b23cf4e0de1b2891ad8e671",
      "tree": "aecf427f32aba870d7beed983e6e3917bb6aed6b",
      "parents": [
        "81d41d7ece23a1c3b4bcd1604026d3a06cc4dc79"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu May 15 12:09:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 06 15:19:35 2008 +0200"
      },
      "message": "sched: reorder task_struct to reduce padding on 64bit builds\n\nThis patch removes 24 bytes of padding and allows 1 extra object per\nslab on my fedora based config.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "554ec22f075d46e4363520a407d2b7eeb5dfdd43",
      "tree": "251ddf6cf1304e77e215814a087d183ccfe5e370",
      "parents": [
        "f7dcd80bbc8e7032443e6539ea1b830364f82200"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 06 15:19:33 2008 +0200"
      },
      "message": "namespacecheck: more sched.c fixes\n\n[ Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: build fix ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6715930654e06c4d2e66e718ea159079f71838f4",
      "tree": "6a0a19fb62f3e99cb5f6bf6c34ae541f7c30fb42",
      "parents": [
        "ea3f01f8afd3bc5daff915cc4ea5cc5ea9e7d427",
        "e490517a039a99d692cb3a5561941b0a5f576172"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 16:05:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 16:05:05 2008 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into sched-fixes-for-linus\n"
    },
    {
      "commit": "6363ca57c76b7b83639ca8c83fc285fa26a7880e",
      "tree": "b8630b4af286409efdd648920a546fae24d4db88",
      "parents": [
        "4285f594f84d1f0641fc962d00e6638dec4a19c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "message": "revert (\"sched: fair-group: SMP-nice for group scheduling\")\n\nYanmin Zhang reported:\n\nComparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1.\nIt\u0027s about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito.\n\nWith bisect, I located the following patch:\n\n| 18d95a2832c1392a2d63227a7a6d433cb9f2037e is first bad commit\n| commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e\n| Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n| Date:   Sat Apr 19 19:45:00 2008 +0200\n|\n|     sched: fair-group: SMP-nice for group scheduling\n\nRevert it so that we get v2.6.25 behavior.\n\nBisected-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbaffba12ce08beb3e80bfda148ee0fa14aac188",
      "tree": "b35f29814b46593d864e8c8921e9eccac5a5a173",
      "parents": [
        "c8e85b4f4b9ee23bf0e79bdeb3da274a0f9c663f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon May 26 20:55:42 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 26 10:37:07 2008 -0700"
      },
      "message": "posix timers: discard SI_TIMER signals on exec\n\nBased on Roland\u0027s patch. This approach was suggested by Austin Clements\nfrom the very beginning, and then by Linus.\n\nAs Austin pointed out, the execing task can be killed by SI_TIMER signal\nbecause exec flushes the signal handlers, but doesn\u0027t discard the pending\nsignals generated by posix timers. Perhaps not a bug, but people find this\nsurprising. See http://bugzilla.kernel.org/show_bug.cgi?id\u003d10460\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Austin Clements \u003camdragon+kernelbugzilla@mit.edu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9383d9679056e6cc4e7ff70f31da945a268238f4",
      "tree": "c6678a8c4e0fed0739e43f24b608d51856af6f1f",
      "parents": [
        "9c44bc03fff44ff04237a7d92e35304a0e50c331"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:35:03 2008 +0200"
      },
      "message": "softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n\nFix unaligned access errors when setting softlockup_thresh on\n64 bit platforms.\n\nAllow softlockup detection to be disabled by setting\nsoftlockup_thresh \u003c\u003d 0.\n\nDetect that boot time softlockup detection has been disabled\nearlier in softlockup_tick.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9c44bc03fff44ff04237a7d92e35304a0e50c331",
      "tree": "64704ff78933a3a3bd8549801308d0557c02980d",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:34:44 2008 +0200"
      },
      "message": "softlockup: allow panic on lockup\n\nallow users to configure the softlockup detector to generate a panic\ninstead of a warning message.\n\nhigh-availability systems might opt for this strict method (combined\nwith panic_timeout\u003d boot option/sysctl), instead of generating\nsoftlockup warnings ad infinitum.\n\nalso, automated tests work better if the system reboots reliably (into\na safe kernel) in case of a lockup.\n\nThe full spectrum of configurability is supported: boot option, sysctl\noption and Kconfig option.\n\nit\u0027s default-disabled.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b82a1b08a00b2adca3d9dd9777efff40b7aaaa1",
      "tree": "4dcce4af592ca177bee3dfeb34f9b482d142e713",
      "parents": [
        "0aa977f592f17004f9d1d545f2e1bb9ea71896c3"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon May 12 21:21:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 22:29:25 2008 +0200"
      },
      "message": "Port ftrace to markers\n\nPorting ftrace to the marker infrastructure.\n\nDon\u0027t need to chain to the wakeup tracer from the sched tracer, because markers\nsupport multiple probes connected.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "88a4216c3ec4281fc7e6725cc3a3ccd01fb1aa14",
      "tree": "3d93bdfa757da02953ec2532f7504a2e7f81ea78",
      "parents": [
        "36fc25a9f48deacd8aa08cd2d1c186a4e412604f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:53 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:08:47 2008 +0200"
      },
      "message": "ftrace: sched special\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1a3c3034336320554a3342572dae98d69e054fc7",
      "tree": "b28ca59b09a0e2d3c3be61dba2e864526383ae1e",
      "parents": [
        "017730c11241e26577673eb9d957cfc66172ea91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:52 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:07:20 2008 +0200"
      },
      "message": "ftrace: fix __trace_special()\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "017730c11241e26577673eb9d957cfc66172ea91",
      "tree": "3585323be944d23814b3e28b50042b7477cc9206",
      "parents": [
        "24cd5d111e8c713e62cda7ca1d01232402e3d3c9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:52 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:05:02 2008 +0200"
      },
      "message": "ftrace: fix wakeups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e65551905fb0300ae7e667cbaa41ee2e3f29a13",
      "tree": "0e642c311e31043eecf86c218128c40e1ddac782",
      "parents": [
        "4c1f4d4f0175129934d5dbc19a39296430937a05"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:52 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:04:44 2008 +0200"
      },
      "message": "ftrace: sched tracer, trace full rbtree\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8ac0fca4ccb355ce50471d7aa3f10f5900b28b95",
      "tree": "39b9f0b863692d6e3f23eef85bed68072734d6fb",
      "parents": [
        "86387f7ee5d3273ff4859e2c64ce656639b6ca65"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:04:28 2008 +0200"
      },
      "message": "ftrace: sched tracer fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7c731e0a495e25e79dc1e9e68772a67a55721a65",
      "tree": "6d61a9a01708a8174d2b0badaee8df1153449be8",
      "parents": [
        "bd3bff9e20f454b242d979ec2f9a4dca0d5fa06f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:31:05 2008 +0200"
      },
      "message": "ftrace: make the task state char-string visible to all\n\nThe tracer wants to be able to convert the state number\ninto a user visible character. This patch pulls that conversion\nstring out the scheduler into the header. This way if it were to\never change, other parts of the kernel will know.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bd3bff9e20f454b242d979ec2f9a4dca0d5fa06f",
      "tree": "f9aa5959cb63a0c9d51185109264dd0b0f547765",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:30:55 2008 +0200"
      },
      "message": "sched: add latency tracer callbacks to the scheduler\n\nadd 3 lightweight callbacks to the tracer backend.\n\nzero impact if tracing is turned off.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c714a534d85576af21b06be605ca55cb2fb887ee",
      "tree": "2d0501e6426b9e069082fd6f09da02c2334832e0",
      "parents": [
        "542dafadd81eb5826280f7714592930144ae3e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 13:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 13:34:13 2008 -0700"
      },
      "message": "Make \u0027cond_resched()\u0027 nullification depend on PREEMPT_BKL\n\nBecause it\u0027s not correct with a non-preemptable BKL and just causes\nPREEMPT kernels to have longer latencies than non-PREEMPT ones (which is\nobviously not the point of it at all).\n\nOf course, that config option actually got removed as an option earlier,\nso for now this basically disables it entirely, but if BKL preemption is\never resurrected it will be a meaningful optimization.  And in the\nmeantime, it at least documents the intent of the code, while not doing\nthe wrong thing.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9404ef02974a5411687b6c1b8ef3984305620e02",
      "tree": "9ffc2c51a06ad36d5c2c58b50c590e2ac8dceac0",
      "parents": [
        "2b753a1599a28612851a2908abdbf86802c989c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 10:14:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 10:14:22 2008 -0700"
      },
      "message": "Fix up \u0027need_resched()\u0027 definition\n\nWe should not go through the task pointer to get at the thread info,\nsince it\u0027s usually cheaper to just access the thread info directly.\n\nSo don\u0027t make the code look up \u0027current\u0027, when we can just use the\nthread info accessor functions directly.  This generally avoids one\nlevel of indirection and tends to work better together with code that\nalso looks at other thread flags (eg preempt_count).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3921ab71507b108d51a0f1ee960f80cd668a93d",
      "tree": "b1408b898a8b50f15ad4a0cf1f29e17cc0138485",
      "parents": [
        "9662369786b9d07fd46d65b0f9e3938a3e01a5d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "message": "Add new \u0027cond_resched_bkl()\u0027 helper function\n\nIt acts exactly like a regular \u0027cond_resched()\u0027, but will not get\noptimized away when CONFIG_PREEMPT is set.\n\nNormal kernel code is already preemptable in the presense of\nCONFIG_PREEMPT, so cond_resched() is optimized away (see commit\n02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 \"sched: do not do\ncond_resched() when CONFIG_PREEMPT\").\n\nBut when wanting to conditionally reschedule while holding a lock, you\nneed to use \"cond_sched_lock(lock)\", and the new function is the BKL\nequivalent of that.\n\nAlso make fs/locks.c use it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd",
      "tree": "3752f9ea8e014ec40e95a1b197b0a3d18e1056a8",
      "parents": [
        "a5574cf65b5f03ce9ade3918764fe22e5e2371e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 03 18:29:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nthis replaces the rq-\u003eclock stuff (and possibly cpu_clock()).\n\n - architectures that have an \u0027imperfect\u0027 hardware clock can set\n   CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\n - the \u0027jiffie\u0027 window might be superfulous when we update tick_gtod\n   before the __update_sched_clock() call in sched_clock_tick()\n\n - cpu_clock() might be implemented as:\n\n     sched_clock_cpu(smp_processor_id())\n\n   if the accuracy proves good enough - how far can TSC drift in a\n   single jiffie when considering the filtering and idle hooks?\n\n[ mingo@elte.hu: various fixes and cleanups ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "690229a0912ca2fef8b542fe4d8b73acfcdc6e24",
      "tree": "28be1db230f039589650f2b5d46de9e6f5722ef0",
      "parents": [
        "d7dcdc11cfa6a8860a29b09f985467b89224699d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 23 09:31:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: make clock sync tunable by architecture code\n\nmake time_sync_thresh tunable to architecture code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ae121ac8666b0421aa20fd80d4597ec66fa54bc",
      "tree": "1db411965b1b12029d501ea10ab90fbc8aa4ec62",
      "parents": [
        "983ed7a66bcec9dc307d89dc7af47cdf209e56af"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Apr 23 07:13:29 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix RT task-wakeup logic\n\nDmitry Adamushko pointed out a logic error in task_wake_up_rt() where we\nwill always evaluate to \"true\".  You can find the thread here:\n\nhttp://lkml.org/lkml/2008/4/22/296\n\nIn reality, we only want to try to push tasks away when a wake up request is\nnot going to preempt the current task.  So lets fix it.\n\nNote: We introduce test_tsk_need_resched() instead of open-coding the flag\ncheck so that the merge-conflict with -rt should help remind us that we\nmay need to support NEEDS_RESCHED_DELAYED in the future, too.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cd204550b1a006f2b0c986b0e0f53220ebfd391",
      "tree": "ee0f5e042072d4d2f4a3c6cd6e3a8b60676868ae",
      "parents": [
        "cb41d6d068716b2b3666925da34d3d7e658bf4f3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "Deprecate find_task_by_pid()\n\nThere are some places that are known to operate on tasks\u0027\nglobal pids only:\n\n* the rest_init() call (called on boot)\n* the kgdb\u0027s getthread\n* the create_kthread() (since the kthread is run in init ns)\n\nSo use the find_task_by_pid_ns(..., \u0026init_pid_ns) there\nand schedule the find_task_by_pid for removal.\n\n[sukadev@us.ibm.com: Fix warning in kernel/pid.c]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@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": "f3de272b821accbc8387211977c2de4f38468d05",
      "tree": "775b5b3db5a09176447d4e62e04077b63640a4d7",
      "parents": [
        "49eaeb4bc4c901c327ee259c7768be20fd020a30"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: use HAVE_SET_RESTORE_SIGMASK\n\nChange all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to\n#ifdef HAVE_SET_RESTORE_SIGMASK.  If arch code defines it first, the generic\nset_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f",
      "tree": "8990ac958d29733cb61733ae69265472f5e1d13c",
      "parents": [
        "193191035ad6268db9f561e81e3474b8be89a5ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: fix /sbin/init protection from unwanted signals\n\nThe global init has a lot of long standing problems with the unhandled fatal\nsignals.\n\n\t- The \"is_global_init(current)\" check in get_signal_to_deliver()\n\t  protects only the main thread. Sub-thread can dequee the fatal\n\t  signal and shutdown the whole thread group except the main thread.\n\t  If it dequeues SIGSTOP /sbin/init will be stopped, this is not\n\t  right too. Note that we can\u0027t use is_global_init(-\u003egroup_leader),\n\t  this breaks exec and this can\u0027t solve other problems we have.\n\n\t- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT\n\t  on delivery. This breaks exec, has other bad implications, and this\n\t  is just wrong.\n\nIntroduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps\nto solve some other problems addressed by the subsequent patches.\n\nCurrently we use this flag for the global init only, but it could also be used\nby kthreads and (perhaps) by the sub-namespace inits.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@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": "ac5c215383f43a106ba4ef298126bf78c126f5e9",
      "tree": "77340eea86103df7bc3b4a6c6d83f4140004bc9c",
      "parents": [
        "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: join send_sigqueue() with send_group_sigqueue()\n\nWe export send_sigqueue() and send_group_sigqueue() for the only user,\nposix_timer_event().  This is a bit silly, because both are just trivial\nhelpers on top of do_send_sigqueue() and because the we pass the unused\n.si_signo parameter.\n\nKill them both, rename do_send_sigqueue() to send_sigqueue(), and export it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "e442055193e4584218006e616c9bdce0c5e9ae5c",
      "tree": "5e444253953c2f48c0a194bf8c5799f03bb2e266",
      "parents": [
        "3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: re-assign CLD_CONTINUED notification from the sender to reciever\n\nBased on discussion with Jiri and Roland.\n\nIn short: currently handle_stop_signal(SIGCONT, p) sends the notification to\np-\u003eparent, with this patch p itself notifies its parent when it becomes\nrunning.\n\nhandle_stop_signal(SIGCONT) has to drop -\u003esiglock temporary in order to notify\nthe parent with do_notify_parent_cldstop().  This leads to multiple problems:\n\n\t- as Jiri Kosina pointed out, the stopped task can resume without\n\t  actually seeing SIGCONT which may have a handler.\n\n\t- we race with another sig_kernel_stop() signal which may come in\n\t  that window.\n\n\t- we race with sig_fatal() signals which may set SIGNAL_GROUP_EXIT\n\t  in that window.\n\n\t- we can\u0027t avoid taking tasklist_lock() while sending SIGCONT.\n\nWith this patch handle_stop_signal() just sets the new SIGNAL_CLD_CONTINUED\nflag in p-\u003esignal-\u003eflags and returns.  The notification is sent by the first\ntask which returns from finish_stop() (there should be at least one) or any\nother signalled thread from get_signal_to_deliver().\n\nThis is a user-visible change.  Say, currently kill(SIGCONT, stopped_child)\ncan\u0027t return without seeing SIGCHLD, with this patch SIGCHLD can be delayed\nunpredictably.  Another difference is that if the child is ptraced by another\nprocess, CLD_CONTINUED may be delivered to -\u003ereal_parent after ptrace_detach()\nwhile currently it always goes to the tracer which doesn\u0027t actually need this\nnotification.  Hopefully not a problem.\n\nThe patch asks for the futher obvious cleanups, I\u0027ll send them separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf475ad28ac35cc9ba612d67158f29b73b38b05d",
      "tree": "2c7cd568d00357bd42643ea602884e731cc24f26",
      "parents": [
        "29486df325e1fe6e1764afcb19e3370804c2b002"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: add an owner to the mm_struct\n\nRemove the mem_cgroup member from mm_struct and instead adds an owner.\n\nThis approach was suggested by Paul Menage.  The advantage of this approach\nis that, once the mm-\u003eowner is known, using the subsystem id, the cgroup\ncan be determined.  It also allows several control groups that are\nvirtually grouped by mm_struct, to exist independent of the memory\ncontroller i.e., without adding mem_cgroup\u0027s for each controller, to\nmm_struct.\n\nA new config option CONFIG_MM_OWNER is added and the memory resource\ncontroller selects this config option.\n\nThis patch also adds cgroup callbacks to notify subsystems when mm-\u003eowner\nchanges.  The mm_cgroup_changed callback is called with the task_lock() of\nthe new task held and is called just prior to changing the mm-\u003eowner.\n\nI am indebted to Paul Menage for the several reviews of this patchset and\nhelping me make it lighter and simpler.\n\nThis patch was tested on a powerpc box, it was compiled with both the\nMM_OWNER config turned on and off.\n\nAfter the thread group leader exits, it\u0027s moved to init_css_state by\ncgroup_exit(), thus all future charges from runnings threads would be\nredirected to the init_css_set\u0027s subsystem.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e,\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Paul Menage \u003cmenage@google.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": "3898b1b4ebff8dcfbcf1807e0661585e06c9a91c",
      "tree": "69a338864dfe654f68064a599c5d0da460df34ac",
      "parents": [
        "4016a1390d07f15b267eecb20e76a48fd5c524ef"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Apr 28 02:13:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:26 2008 -0700"
      },
      "message": "capabilities: implement per-process securebits\n\nFilesystem capability support makes it possible to do away with (set)uid-0\nbased privilege and use capabilities instead.  That is, with filesystem\nsupport for capabilities but without this present patch, it is (conceptually)\npossible to manage a system with capabilities alone and never need to obtain\nprivilege via (set)uid-0.\n\nOf course, conceptually isn\u0027t quite the same as currently possible since few\nuser applications, certainly not enough to run a viable system, are currently\nprepared to leverage capabilities to exercise privilege.  Further, many\napplications exist that may never get upgraded in this way, and the kernel\nwill continue to want to support their setuid-0 base privilege needs.\n\nWhere pure-capability applications evolve and replace setuid-0 binaries, it is\ndesirable that there be a mechanisms by which they can contain their\nprivilege.  In addition to leveraging the per-process bounding and inheritable\nsets, this should include suppressing the privilege of the uid-0 superuser\nfrom the process\u0027 tree of children.\n\nThe feature added by this patch can be leveraged to suppress the privilege\nassociated with (set)uid-0.  This suppression requires CAP_SETPCAP to\ninitiate, and only immediately affects the \u0027current\u0027 process (it is inherited\nthrough fork()/exec()).  This reimplementation differs significantly from the\nhistorical support for securebits which was system-wide, unwieldy and which\nhas ultimately withered to a dead relic in the source of the modern kernel.\n\nWith this patch applied a process, that is capable(CAP_SETPCAP), can now drop\nall legacy privilege (through uid\u003d0) for itself and all subsequently\nfork()\u0027d/exec()\u0027d children with:\n\n  prctl(PR_SET_SECUREBITS, 0x2f);\n\nThis patch represents a no-op unless CONFIG_SECURITY_FILE_CAPABILITIES is\nenabled at configure time.\n\n[akpm@linux-foundation.org: fix uninitialised var warning]\n[serue@us.ibm.com: capabilities: use cap_task_prctl when !CONFIG_SECURITY]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-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": "402b08622d9ac6e32e25289573272e0f21bb58a7",
      "tree": "40d7386154cef85c9bfd2bd862db025933820776",
      "parents": [
        "37817f2982d0f559f90cecc66e150dd9d2c2df05"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:10 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:40 2008 +0300"
      },
      "message": "s390: KVM preparation: provide hook to enable pgstes in user pagetable\n\nThe SIE instruction on s390 uses the 2nd half of the page table page to\nvirtualize the storage keys of a guest. This patch offers the s390_enable_sie\nfunction, which reorganizes the page tables of a single-threaded process to\nreserve space in the page table:\ns390_enable_sie makes sure that the process is single threaded and then uses\ndup_mm to create a new mm with reorganized page tables. The old mm is freed\nand the process has now a page status extended field after every page table.\n\nCode that wants to exploit pgstes should SELECT CONFIG_PGSTE.\n\nThis patch has a small common code hit, namely making dup_mm non-static.\n\nEdit (Carsten): I\u0027ve modified Martin\u0027s patch, following Jeremy Fitzhardinge\u0027s\nreview feedback. Now we do have the prototype for dup_mm in\ninclude/linux/sched.h. Following Martin\u0027s suggestion, s390_enable_sie() does now\ncall task_lock() to prevent race against ptrace modification of mm_users.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8c9843e57a7d9d7a090d6467a0f1f3afb8031527",
      "tree": "5efdab577853bc92e3c980fc97aba74be58c1efb",
      "parents": [
        "1d32e21889b96e594e8b63b193bf7d2a51ab93ec"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 18 16:56:15 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Apr 24 20:57:33 2008 +1000"
      },
      "message": "[POWERPC] Add thread_info_cache_init() weak hook\n\nSome architectures need to maintain a kmem cache for thread info\nstructures.  The next commit adds that to powerpc to fix an alignment\nproblem.\n\nThere is no good arch callback to use to initialize that cache\nthat I can find, so this adds a new one in the form of a weak\nfunction whose default is empty.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "4a55bd5e97b1775913f88f11108a4f144f590e89",
      "tree": "4514f2370d898b93086779c821023319fe4c8b9d",
      "parents": [
        "ac884dec6d4a7df252150af875cffddf8f1d9c15"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: de-couple load-balancing from the rb-trees\n\nDe-couple load-balancing from the rb-trees, so that I can change their\norganization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58d6c2d72f8628f39e8689fbde8aa177fcf00a37",
      "tree": "0be40bd788856b3cabb99ff258561b15a574f2f3",
      "parents": [
        "d19ca30874f2ad343d054e0b5c0576744afeecd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: rt-group: optimize dequeue_rt_stack\n\nNow that the group hierarchy can have an arbitrary depth the O(n^2) nature\nof RT task dequeues will really hurt. Optimize this by providing space to\nstore the tree path, so we can walk it the other way.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18d95a2832c1392a2d63227a7a6d433cb9f2037e",
      "tree": "fa85b700aa3caac5b1309edd8e31d9b957957a83",
      "parents": [
        "1d3504fcf5606579d60b649d19f44b3871c1ddae"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: SMP-nice for group scheduling\n\nImplement SMP nice support for the full group hierarchy.\n\nOn each load-balance action, compile a sched_domain wide view of the full\ntask_group tree. We compute the domain wide view when walking down the\nhierarchy, and readjust the weights when walking back up.\n\nAfter collecting and readjusting the domain wide view, we try to balance the\ntasks within the task_groups. The current approach is a naively balance each\ntask group until we\u0027ve moved the targeted amount of load.\n\nInspired by Srivatsa Vaddsgiri\u0027s previous code and Abhishek Chandra\u0027s H-SMP\npaper.\n\nXXX: there will be some numerical issues due to the limited nature of\n     SCHED_LOAD_SCALE wrt to representing a task_groups influence on the\n     total weight. When the tree is deep enough, or the task weight small\n     enough, we\u0027ll run out of bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Abhishek Chandra \u003cchandra@cs.umn.edu\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d3504fcf5606579d60b649d19f44b3871c1ddae",
      "tree": "001a1b57bd7f123fd51361d78d9277b2dcac1bf3",
      "parents": [
        "4d5f35533fb9b2cd553cec6611195bcbfb7ffd84"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Tue Apr 15 14:04:23 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched, cpuset: customize sched domains, core\n\n[rebased for sched-devel/latest]\n\n - Add a new cpuset file, having levels:\n     sched_relax_domain_level\n\n - Modify partition_sched_domains() and build_sched_domains()\n   to take attributes parameter passed from cpuset.\n\n - Fill newidle_idx for node domains which currently unused but\n   might be required if sched_relax_domain_level become higher.\n\n - We can change the default level by boot option \u0027relax_domain_level\u003d\u0027.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eff766a65c60237bfa865160c3129de31fab591b",
      "tree": "c003be272be4bd614485606c77893295f3b175a2",
      "parents": [
        "ec7dc8ac73e4a56ed03b673f026f08c0d547f597"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fix the task_group hierarchy for UID grouping\n\nUID grouping doesn\u0027t actually have a task_group representing the root of\nthe task_group tree. Add one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec7dc8ac73e4a56ed03b673f026f08c0d547f597",
      "tree": "851dd612f2c80e4643d10c18bb33ab5b2df9aa70",
      "parents": [
        "354d60c2ff72d86627dfe2089d186824abf4bb8e"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: allow the group scheduler to have multiple levels\n\nThis patch makes the group scheduler multi hierarchy aware.\n\n[a.p.zijlstra@chello.nl: rt-parts and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2",
      "tree": "3b4138c7b683c2168ac13be41aab74b49a6bcf1c",
      "parents": [
        "e0982e90cd1ecf59818b137386b7f63debded9cc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Mar 26 14:23:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: add new set_cpus_allowed_ptr function\n\nAdd a new function that accepts a pointer to the \"newly allowed cpus\"\ncpumask argument.\n\nint set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)\n\nThe current set_cpus_allowed() function is modified to use the above\nbut this does not result in an ABI change.  And with some compiler\noptimization help, it may not introduce any additional overhead.\n\nAdditionally, to enforce the read only nature of the new_mask arg, the\n\"const\" property is migrated to sub-functions called by set_cpus_allowed.\nThis silences compiler warnings.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b53e921ba1cff8453dc9a87a84052fa12d5b30bd",
      "tree": "021cadb6c58543ecccd95b55fc319f249ebf176e",
      "parents": [
        "f9a86fcbbb1e5542eabf45c9144ac4b6330861a4"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "generic: reduce stack pressure in sched_affinity\n\n  * Modify sched_affinity functions to pass cpumask_t variables by reference\n    instead of by value.\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50df5d6aea6694ca481b8005900401e8c95c2603",
      "tree": "3b2e2955aceed795f5d54220ee37a859e83c12c6",
      "parents": [
        "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 16:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: remove sysctl_sched_batch_wakeup_granularity\n\nit\u0027s unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a6483feb0c5193519625d0ea8c4254364d423cc",
      "tree": "2235220e522882ac5872937fa43d3d1b188c1f4e",
      "parents": [
        "cb688371e27880d86c42323826846d1cd7caad8f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:00:17 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:54 2008 -0400"
      },
      "message": "include: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they (or some user of them) rely\non it dragging in some unrelated header file, but I can\u0027t build all\nthese files, so we\u0027ll have to fix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "06d8308c61e54346585b2691c13ee3f90cb6fb2f",
      "tree": "d522e285525964706e7ec112bca23d407a540a8e",
      "parents": [
        "898a19de1502649877091b398229026b4142c0e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 22 09:20:24 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 26 08:28:55 2008 +0100"
      },
      "message": "NOHZ: reevaluate idle sleep length after add_timer_on()\n\nadd_timer_on() can add a timer on a CPU which is currently in a long\nidle sleep, but the timer wheel is not reevaluated by the nohz code on\nthat CPU. So a timer can be delayed for quite a long time. This\ntriggered a false positive in the clocksource watchdog code.\n\nTo avoid this we need to wake up the idle CPU and enforce the\nreevaluation of the timer wheel for the next timer event.\n\nAdd a function, which checks a given CPU for idle state, marks the\nidle task with NEED_RESCHED and sends a reschedule IPI to notify the\nother CPU of the change in the timer wheel.\n\nCall this function from add_timer_on().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\n\n--\n include/linux/sched.h |    6 ++++++\n kernel/sched.c        |   43 +++++++++++++++++++++++++++++++++++++++++++\n kernel/timer.c        |   10 +++++++++-\n 3 files changed, 58 insertions(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "9aefd0abd8610e8f3bb097debf3afb73f8b7b210",
      "tree": "3456c6949cd8b9c926aa9beef7c9bf99d0a84caa",
      "parents": [
        "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: add exported arch_reinit_sched_domains() to header file.\n\nNeeded so it can be called from outside of sched.c.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86",
      "tree": "c7517529ec199d3d9936b4049880a820534d2703",
      "parents": [
        "6f3d09291b4982991680b61763b2541e53e2a95f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:42:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: improve affine wakeups\n\nimprove affine wakeups. Maintain the \u0027overlap\u0027 metric based on CFS\u0027s\nsum_exec_runtime - which means the amount of time a task executes\nafter it wakes up some other task.\n\nUse the \u0027overlap\u0027 for the wakeup decisions: if the \u0027overlap\u0027 is short,\nit means there\u0027s strong workload coupling between this task and the\nwoken up task. If the \u0027overlap\u0027 is large then the workload is decoupled\nand the scheduler will move them to separate CPUs more easily.\n\n( Also slightly move the preempt_check within try_to_wake_up() - this has\n  no effect on functionality but allows \u0027early wakeups\u0027 (for still-on-rq\n  tasks) to be correctly accounted as well.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "810b38179e9e4d4f57b4b733767bb08f8291a965",
      "tree": "91692de4fbd46879b29d803839b5bf7e25f30cd8",
      "parents": [
        "ce4796d1e16cf3761dc2a02b8d588667d05b3078"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 29 15:21:01 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:42:59 2008 +0100"
      },
      "message": "sched: retain vruntime\n\nKei Tokunaga reported an interactivity problem when moving tasks\nbetween control groups.\n\nTasks would retain their old vruntime when moved between groups, this\ncan cause funny lags. Re-set the vruntime on group move to fit within\nthe new tree.\n\nReported-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62fb185130e4d420f71a30ff59d8b16b74ef5d2b",
      "tree": "474c0824a5bf90950b0a430a11a52b358c9e1f31",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 17:34:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 04 17:54:06 2008 +0100"
      },
      "message": "sched: revert load_balance_monitor() changes\n\nThe following commits cause a number of regressions:\n\n  commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduling, change how cpu load is calculated\n\n  commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nNamely:\n - very frequent wakeups on SMP, reported by PowerTop users.\n - cacheline trashing on (large) SMP\n - some latencies larger than 500ms\n\nWhile there is a mergeable patch to fix the latter, the former issues\nare not fixable in a manner suitable for .25 (we\u0027re at -rc3 now).\n\nHence we revert them and try again in v2.6.26.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fca96eed1cc9fb524aec536bba8ae921563f1bb",
      "tree": "474cdcc572b3433f01f221ea8857414bde53b7a2",
      "parents": [
        "98c1fc934c097d84dc30c639e9bdb0b992ef53e2",
        "1481197b50114d7212d659d41cb97f31a8934883"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:49:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:49:15 2008 -0800"
      },
      "message": "Merge branch \u0027v2.6.25-rc3-lockdep\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep\n\n* \u0027v2.6.25-rc3-lockdep\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:\n  Subject: lockdep: include all lock classes in all_lock_classes\n  lockdep: increase MAX_LOCK_DEPTH\n"
    },
    {
      "commit": "bdb9441e9c325d50b5ae17f7d3205d65b8ed2e5f",
      "tree": "2696d81a8c3f5bf128aab134b1f23c14d539baac",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 23:02:48 2008 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 23:02:48 2008 +0100"
      },
      "message": "lockdep: increase MAX_LOCK_DEPTH\n\nSome code paths exceed the current max lock depth (XFS), so increase\nthis limit a bit. I looked at making this a dynamic allocated array,\nbut we should not advocate insane lock depths, so stay with this as\nlong as it works...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d07b255c7b8a9723010e5c74778e058dc05162e",
      "tree": "3d1e2d56a89c23faede930f77e875a718fb4f0b6",
      "parents": [
        "67ca7bde2e9d3516b5ae0188330ad1059ac03f38"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 15 09:56:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: add declaration of sched_tail to sched.h\n\nAvoids sparse warnings:\nkernel/sched.c:2170:17: warning: symbol \u0027schedule_tail\u0027 was not declared. Should it be static?\n\nAvoids the need for an external declaration in arch/um/process.c\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b3c97528689619fc66569b30bf83d09d9929521a",
      "tree": "91dc53590deab88c9bf255c2b5cbd74bdbc36de1",
      "parents": [
        "aa02cd2d9bd1e24a230bd66a0a741b984d03915a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "include/linux: Remove all users of FASTCALL() macro\n\nFASTCALL() is always expanded to empty, remove it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "052f1dc7eb02300b05170ae341ccd03b76207778",
      "tree": "f58630b7876ae9e4308c0577e36aa13318b7bcfc",
      "parents": [
        "9f0c1e560c43327b70998e6c702b2f01321130d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 13 15:45:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 13 15:45:40 2008 +0100"
      },
      "message": "sched: rt-group: make rt groups scheduling configurable\n\nMake the rt group scheduler compile time configurable.\nKeep it experimental for now.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f0c1e560c43327b70998e6c702b2f01321130d9",
      "tree": "b2cc7ef5bb0dc9d7d2912de339bff3e0db3530c9",
      "parents": [
        "23b0fdfc9299b137bd126e9dc22f62a59dae546d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 13 15:45:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 13 15:45:39 2008 +0100"
      },
      "message": "sched: rt-group: interface\n\nChange the rt_ratio interface to rt_runtime_us, to match rt_period_us.\nThis avoids picking a granularity for the ratio.\n\nExtend the /sys/kernel/uids/\u003cuid\u003e/ interface to allow setting\nthe group\u0027s rt_runtime.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "146a505d498c36de98ec161d791dd50beca7f9a3",
      "tree": "f126c55b34488866ff179717f1b2a0c7cdd5df6b",
      "parents": [
        "d5df763b81946a405837b80874516dfc2a8f7ebf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Get rid of the kill_pgrp_info() function\n\nThere\u0027s only one caller left - the kill_pgrp one - so merge these two\nfunctions and forget the kill_pgrp_info one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: 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": "fea9d175545b38cb3e84569400419eb81bc90fa3",
      "tree": "0d43fe9ed2ea6104ee8b15a3eb8da081dd08fd35",
      "parents": [
        "46f382d2b69d2221086b823f0dbc8f32c027cac2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "ITIMER_REAL: convert to use struct pid\n\nsignal_struct-\u003etsk points to the -\u003egroup_leader and thus we have the nasty\ncode in de_thread() which has to change it and restart -\u003ereal_timer if the\nleader is changed.\n\nUse \"struct pid *leader_pid\" instead.  This also allows us to kill now\nunneeded send_group_sig_info().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44c4e1b2581f7273ab14ef30b6430618801c57b1",
      "tree": "9881990d56dd58f0c93991217a999bab145946fa",
      "parents": [
        "161550d74c07303ffa6187ba776f62df5a906a21"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:19:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "pid: Extend/Fix pid_vnr\n\npid_vnr returns the user space pid with respect to the pid namespace the\nstruct pid was allocated in.  What we want before we return a pid to user\nspace is the user space pid with respect to the pid namespace of current.\n\npid_vnr is a very nice optimization but because it isn\u0027t quite what we want\nit is easy to use pid_vnr at times when we aren\u0027t certain the struct pid\nwas allocated in our pid namespace.\n\nCurrently this describes at least tiocgpgrp and tiocgsid in ttyio.c the\nparent process reported in the core dumps and the parent process in\nget_signal_to_deliver.\n\nSo unless the performance impact is huge having an interface that does what\nwe want instead of always what we want should be much more reliable and\nmuch less error prone.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8520d7c7f8611216e3b270becec95bb35b6899d4",
      "tree": "77001e6830bb415590067e9d4be24cd8bdd36219",
      "parents": [
        "e4cc0a9c876d4d4eadaef97a2bff4a199946d202"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "teach set_special_pids() to use struct pid\n\nChange set_special_pids() to work with struct pid, not pid_t from global name\nspace. This again speedups and imho cleanups the code, also a preparation for\nthe next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78fb74669e80883323391090e4d26d17fe29488f",
      "tree": "9154b703510415ae87bdae8750c1054e79710c61",
      "parents": [
        "8cdea7c05454260c0d4d83503949c358eb131d17"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 07 00:13:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: accounting setup\n\nBasic setup routines, the mm_struct has a pointer to the cgroup that\nit belongs to and the the page has a page_cgroup associated with it.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@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": "1bf47346d75790ebd2563d909d48046961c7ffd5",
      "tree": "0f478764beb8dc4e0c71c5f3d6a657535579fe3a",
      "parents": [
        "6b2fb3c65844452bb9e8b449d50863d1b36c5dc0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:09 2008 -0800"
      },
      "message": "kernel/sys.c: get rid of expensive divides in groups_sort()\n\ngroups_sort() can be quite long if user loads a large gid table.\n\nThis is because GROUP_AT(group_info, some_integer) uses an integer divide.\nSo having to do XXX thousand divides during one syscall can lead to very\nhigh latencies.  (NGROUPS_MAX\u003d65536)\n\nIn the past (25 Mar 2006), an analog problem was found in groups_search()\n(commit d74beb9f33a5f16d2965f11b275e401f225c949d ) and at that time I\nchanged some variables to unsigned int.\n\nI believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is\nunsigned.\n\nSigned-off-by: 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": "3b7391de67da515c91f48aa371de77cb6cc5c07e",
      "tree": "22b9f5d9d1c36b374eb5765219aca3c7e1f23486",
      "parents": [
        "46c383cc4530ccc438cb325e92e11eb21dd3d4fc"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Feb 04 22:29:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "capabilities: introduce per-process capability bounding set\n\nThe capability bounding set is a set beyond which capabilities cannot grow.\n Currently cap_bset is per-system.  It can be manipulated through sysctl,\nbut only init can add capabilities.  Root can remove capabilities.  By\ndefault it includes all caps except CAP_SETPCAP.\n\nThis patch makes the bounding set per-process when file capabilities are\nenabled.  It is inherited at fork from parent.  Noone can add elements,\nCAP_SETPCAP is required to remove them.\n\nOne example use of this is to start a safer container.  For instance, until\ndevice namespaces or per-container device whitelists are introduced, it is\nbest to take CAP_MKNOD away from a container.\n\nThe bounding set will not affect pP and pE immediately.  It will only\naffect pP\u0027 and pE\u0027 after subsequent exec()s.  It also does not affect pI,\nand exec() does not constrain pI\u0027.  So to really start a shell with no way\nof regain CAP_MKNOD, you would do\n\n\tprctl(PR_CAPBSET_DROP, CAP_MKNOD);\n\tcap_t cap \u003d cap_get_proc();\n\tcap_value_t caparray[1];\n\tcaparray[0] \u003d CAP_MKNOD;\n\tcap_set_flag(cap, CAP_INHERITABLE, 1, caparray, CAP_DROP);\n\tcap_set_proc(cap);\n\tcap_free(cap);\n\nThe following test program will get and set the bounding\nset (but not pI).  For instance\n\n\t./bset get\n\t\t(lists capabilities in bset)\n\t./bset drop cap_net_raw\n\t\t(starts shell with new bset)\n\t\t(use capset, setuid binary, or binary with\n\t\tfile capabilities to try to increase caps)\n\n************************************************************\ncap_bound.c\n************************************************************\n #include \u003csys/prctl.h\u003e\n #include \u003clinux/capability.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\n #ifndef PR_CAPBSET_READ\n #define PR_CAPBSET_READ 23\n #endif\n\n #ifndef PR_CAPBSET_DROP\n #define PR_CAPBSET_DROP 24\n #endif\n\nint usage(char *me)\n{\n\tprintf(\"Usage: %s get\\n\", me);\n\tprintf(\"       %s drop \u003ccapability\u003e\\n\", me);\n\treturn 1;\n}\n\n #define numcaps 32\nchar *captable[numcaps] \u003d {\n\t\"cap_chown\",\n\t\"cap_dac_override\",\n\t\"cap_dac_read_search\",\n\t\"cap_fowner\",\n\t\"cap_fsetid\",\n\t\"cap_kill\",\n\t\"cap_setgid\",\n\t\"cap_setuid\",\n\t\"cap_setpcap\",\n\t\"cap_linux_immutable\",\n\t\"cap_net_bind_service\",\n\t\"cap_net_broadcast\",\n\t\"cap_net_admin\",\n\t\"cap_net_raw\",\n\t\"cap_ipc_lock\",\n\t\"cap_ipc_owner\",\n\t\"cap_sys_module\",\n\t\"cap_sys_rawio\",\n\t\"cap_sys_chroot\",\n\t\"cap_sys_ptrace\",\n\t\"cap_sys_pacct\",\n\t\"cap_sys_admin\",\n\t\"cap_sys_boot\",\n\t\"cap_sys_nice\",\n\t\"cap_sys_resource\",\n\t\"cap_sys_time\",\n\t\"cap_sys_tty_config\",\n\t\"cap_mknod\",\n\t\"cap_lease\",\n\t\"cap_audit_write\",\n\t\"cap_audit_control\",\n\t\"cap_setfcap\"\n};\n\nint getbcap(void)\n{\n\tint comma\u003d0;\n\tunsigned long i;\n\tint ret;\n\n\tprintf(\"i know of %d capabilities\\n\", numcaps);\n\tprintf(\"capability bounding set:\");\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tret \u003d prctl(PR_CAPBSET_READ, i);\n\t\tif (ret \u003c 0)\n\t\t\tperror(\"prctl\");\n\t\telse if (ret\u003d\u003d1)\n\t\t\tprintf(\"%s%s\", (comma++) ? \", \" : \" \", captable[i]);\n\t}\n\tprintf(\"\\n\");\n\treturn 0;\n}\n\nint capdrop(char *str)\n{\n\tunsigned long i;\n\n\tint found\u003d0;\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tif (strcmp(captable[i], str) \u003d\u003d 0) {\n\t\t\tfound\u003d1;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!found)\n\t\treturn 1;\n\tif (prctl(PR_CAPBSET_DROP, i)) {\n\t\tperror(\"prctl\");\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char *argv[])\n{\n\tif (argc\u003c2)\n\t\treturn usage(argv[0]);\n\tif (strcmp(argv[1], \"get\")\u003d\u003d0)\n\t\treturn getbcap();\n\tif (strcmp(argv[1], \"drop\")!\u003d0 || argc\u003c3)\n\t\treturn usage(argv[0]);\n\tif (capdrop(argv[2])) {\n\t\tprintf(\"unknown capability\\n\");\n\t\treturn 1;\n\t}\n\treturn execl(\"/bin/bash\", \"/bin/bash\", NULL);\n}\n************************************************************\n\n[serue@us.ibm.com: fix typo]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003ea\nSigned-off-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nTested-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "824552574162ac00ae636fa41386b1072379ea4a"
}
