)]}'
{
  "log": [
    {
      "commit": "607717a65d92858fd925bec05baae4d142719f27",
      "tree": "b7faea733fe3426881e63bc7549db9c97c8bdf59",
      "parents": [
        "2ed6dc34f9ed39bb8e4c81ea1056f0ba56315841"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Oct 16 01:27:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:09 2007 -0700"
      },
      "message": "cpuset: remove sched domain hooks from cpusets\n\nRemove the cpuset hooks that defined sched domains depending on the setting\nof the \u0027cpu_exclusive\u0027 flag.\n\nThe cpu_exclusive flag can only be set on a child if it is set on the\nparent.\n\nThis made that flag painfully unsuitable for use as a flag defining a\npartitioning of a system.\n\nIt was entirely unobvious to a cpuset user what partitioning of sched\ndomains they would be causing when they set that one cpu_exclusive bit on\none cpuset, because it depended on what CPUs were in the remainder of that\ncpusets siblings and child cpusets, after subtracting out other\ncpu_exclusive cpusets.\n\nFurthermore, there was no way on production systems to query the\nresult.\n\nUsing the cpu_exclusive flag for this was simply wrong from the get go.\n\nFortunately, it was sufficiently borked that so far as I know, almost no\nsuccessful use has been made of this.  One real time group did use it to\naffectively isolate CPUs from any load balancing efforts.  They are willing\nto adapt to alternative mechanisms for this, such as someway to manipulate\nthe list of isolated CPUs on a running system.  They can do without this\npresent cpu_exclusive based mechanism while we develop an alternative.\n\nThere is a real risk, to the best of my understanding, of users\naccidentally setting up a partitioned scheduler domains, inhibiting desired\nload balancing across all their CPUs, due to the nonobvious (from the\ncpuset perspective) side affects of the cpu_exclusive flag.\n\nFurthermore, since there was no way on a running system to see what one was\ndoing with sched domains, this change will be invisible to any using code.\nUnless they have real insight to the scheduler load balancing choices, they\nwill be unable to detect that this change has been made in the kernel\u0027s\nbehaviour.\n\nInitial discussion on lkml of this patch has generated much comment.  My\n(probably controversial) take on that discussion is that it has reached a\nrough concensus that the current cpuset cpu_exclusive mechanism for\ndefining sched domains is borked.  There is no concensus on the\nreplacement.  But since we can remove this mechanism, and since its\ncontinued presence risks causing unwanted partitioning of the schedulers\nload balancing, we should remove it while we can, as we proceed to work the\nreplacement scheduler domain mechanisms.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\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": "c92ff1bde06f69d59b40f3194016aee51cc5da55",
      "tree": "d365a7723a05a073ed715c6f4e99363e27516d04",
      "parents": [
        "c0bc9875b701c588e448302d41181995c21e8040"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Oct 16 01:24:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:53 2007 -0700"
      },
      "message": "move mm_struct and vm_area_struct\n\nMove the definitions of struct mm_struct and struct vma_area_struct to\ninclude/mm_types.h.  This allows to define more function in asm/pgtable.h\nand friends with inline assemblies instead of macros.  Compile tested on\ni386, powerpc, powerpc64, s390-32, s390-64 and x86_64.\n\n[aurelien@aurel32.net: build fix]\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94886b84b1bcdc95f34f70e7fce407efefe472e1",
      "tree": "fe612688c702061cf04441350f9200a08f1dc28d",
      "parents": [
        "9ac52315d4cf5f561f36dabaf0720c00d3553162"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "message": "sched: guest CPU accounting: maintain stats in account_system_time()\n\nmodify account_system_time() to add cputime to cpustat-\u003eguest if we are\nrunning a VCPU. We add this cputime to cpustat-\u003euser instead of\ncpustat-\u003esystem because this part of KVM code is in fact user code\nalthough it is executed in the kernel. We duplicate VCPU time between\nguest and user to allow an unmodified \"top(1)\" to display correct value.\nA modified \"top(1)\" is able to display good cpu user time and cpu guest\ntime by subtracting cpu guest time from cpu user time. Update \"gtime\" in\ntask_struct accordingly.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ac52315d4cf5f561f36dabaf0720c00d3553162",
      "tree": "afe7284f34a65d2540fcb2a9b764834f9d790fa7",
      "parents": [
        "5e84cfde51cf303d368fcb48f22059f37b3872de"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "message": "sched: guest CPU accounting: add guest-CPU /proc/\u003cpid\u003e/stat fields\n\nlike for cpustat, introduce the \"gtime\" (guest time of the task) and\n\"cgtime\" (guest time of the task children) fields for the\ntasks. Modify signal_struct and task_struct.\n\nModify /proc/\u003cpid\u003e/stat to display these new fields.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc367732ff0b1c63d0d7bdd11e6d1661794ef6a3",
      "tree": "27c65e05bf19644224937624ca356c876e6d1318",
      "parents": [
        "2d92f22784b7b8879ebe3254e44c92cb8792b0dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "message": "sched: debug, improve migration statistics\n\nadd new migration statistics when SCHED_DEBUG and SCHEDSTATS\nis enabled. Available in /proc/\u003cPID\u003e/sched.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da84d96176729fb48a8458561e5d8647103168b8",
      "tree": "24c952d956178faa9ac8b5c505513c93a87f4f6b",
      "parents": [
        "e5f32a3856caabe745381279f7f32e3b581b59dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:18 2007 +0200"
      },
      "message": "sched: reintroduce cache-hot affinity\n\nreintroduce a simplified version of cache-hot/cold scheduling\naffinity. This improves performance with certain SMP workloads,\nsuch as sysbench.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95938a35c5562afa7af7252821e44132391a3db8",
      "tree": "548cda134d007105f3a819a438ab384ab9f04e27",
      "parents": [
        "ce6c131131df442f0d49d064129ecc52d9fe8ca9"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "message": "sched: prevent wakeup over-scheduling\n\nPrevent wakeup over-scheduling.  Once a task has been preempted by a\ntask of the same or lower priority, it becomes ineligible for repeated\npreemption by same until it has been ticked, or slept.  Instead, the\ntask is marked for preemption at the next tick.  Tasks of higher\npriority still preempt immediately.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cb350baf580017da38199625b7365b1763d7180",
      "tree": "3830339798b1c6f19f1580700ea6ba240fb56ef2",
      "parents": [
        "8ca0e14ffb12c257de591571a9e96102acdb1c64"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "message": "sched: group scheduling, sysfs tunables\n\nAdd tunables in sysfs to modify a user\u0027s cpu share.\n\nA directory is created in sysfs for each new user in the system.\n\n\t/sys/kernel/uids/\u003cuid\u003e/cpu_share\n\nReading this file returns the cpu shares granted for the user.\nWriting into this file modifies the cpu share for the user. Only an\nadministrator is allowed to modify a user\u0027s cpu share.\n\nEx:\n\t# cd /sys/kernel/uids/\n\t# cat 512/cpu_share\n\t1024\n\t# echo 2048 \u003e 512/cpu_share\n\t# cat 512/cpu_share\n\t2048\n\t#\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4cf86d77f5942336e7cd9de874b38b3c83b54d5e",
      "tree": "a62b0a1b5a71f715257b82c0f65f894153757c84",
      "parents": [
        "06877c33fe9261ccdf143492c28de93c56493079"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:14 2007 +0200"
      },
      "message": "sched: cleanup: rename task_grp to task_group\n\ncleanup: rename task_grp to task_group. No need to save two characters\nand \u0027grp\u0027 is annoying to read.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af92723262f3e0c431083f668b605a1dcdbe8f3d",
      "tree": "872eb5c473fabdbe0b67b309805e3f705c759d93",
      "parents": [
        "a2a2d680735ad7c3b5250704b3863abf54ff4020"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Oct 15 17:00:13 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:13 2007 +0200"
      },
      "message": "sched: cleanup, remove the TASK_NONINTERACTIVE flag\n\nHere\u0027s another piece of low hanging obsolete fruit.\n\nRemove obsolete TASK_NONINTERACTIVE.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5522d5d5f70005faeffff3ffc0cfa8eec0155de4",
      "tree": "d05fc41d19b8a70102a0ad3ad7ed8f6fd2d1cf7d",
      "parents": [
        "b9fa3df33f9166daf81bfa8253d339f5a7726122"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: mark scheduling classes as const\n\nmark scheduling classes as const. The speeds up the code\na bit and shrinks it:\n\n   text    data     bss     dec     hex filename\n  40027    4018     292   44337    ad31 sched.o.before\n  40190    3842     292   44324    ad24 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5f6d858ecca78f71755859a346d845e302973cd1",
      "tree": "5422f6ff9aa7ffab4c708432de84a79e52e503d9",
      "parents": [
        "b0ffd246ea947a037746e725bd461bb7e809a4b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: speed up and simplify vslice calculations\n\nspeed up and simplify vslice calculations.\n\n[ From: Mike Galbraith \u003cefault@gmx.de\u003e: build fix ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d72376b3af1e7d4d4515ebfd0f4383f2e92c343",
      "tree": "a9f36173883f1309640f3a1e58b03a53422262d8",
      "parents": [
        "2b1e315dd2822c99793485f9e53a73459fb399c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:12 2007 +0200"
      },
      "message": "sched: clean up schedstats, cnt -\u003e count\n\nrename all \u0027cnt\u0027 fields and variables to the less yucky \u0027count\u0027 name.\n\nyuckage noticed by Andrew Morton.\n\nno change in code, other than the /proc/sched_debug bkl_count string got\na bit larger:\n\n   text    data     bss     dec     hex filename\n  38236    3506      24   41766    a326 sched.o.before\n  38240    3506      24   41770    a32a sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "94359f05cb7e1fed0deccc83ebc30a1175a9ae16",
      "tree": "b187343db9950f9396f832318d061106a9592d41",
      "parents": [
        "dc1f31c90cfa067af6f7000db7a5383c7667ccba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:11 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:11 2007 +0200"
      },
      "message": "sched: undo some of the recent changes\n\nundo some of the recent changes that are not needed after all,\nsuch as last_min_vruntime.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "67e9fb2a39a1d454218d50383094940982be138f",
      "tree": "3b981b8d43d6c23f070df73033d731a6f00f0b0b",
      "parents": [
        "1aa4731eff7dab7bd01747b46f654f449f1cfc2c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "message": "sched: add vslice\n\nadd vslice: the load-dependent \"virtual slice\" a task should\nrun ideally, so that the observed latency stays within the\nsched_latency window.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c18b8a7cbcbac46497ee1ce656b0e68197c7581d",
      "tree": "6af79ba2c13900c4eda6593b110129b00cec3098",
      "parents": [
        "fdd71d132badad542a9ab99ab4a9c3c08fa6412f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "message": "sched: remove unneeded tunables\n\nremove unneeded tunables.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b8efb56172bc55082b8490778b07ef73eea0b551",
      "tree": "2d70e91af4cbd470904ebb4e28ad558c29e73092",
      "parents": [
        "de8d585a12aef40676f12ddc63e97daaf7752ba1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:10 2007 +0200"
      },
      "message": "sched debug: BKL usage statistics\n\nadd per task and per rq BKL usage statistics.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "24e377a83220ef05c9b5bec7e01d65eed6609aa6",
      "tree": "9303b3d9f91ee39517d379aaac06c0432be8a9b8",
      "parents": [
        "9b5b77512dce239fa168183fa71896712232e95a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Mon Oct 15 17:00:09 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:09 2007 +0200"
      },
      "message": "sched: add fair-user scheduler\n\nEnable user-id based fair group scheduling. This is useful for anyone\nwho wants to test the group scheduler w/o having to enable\nCONFIG_CGROUPS.\n\nA separate scheduling group (i.e struct task_grp) is automatically created for \nevery new user added to the system. Upon uid change for a task, it is made to \nmove to the corresponding scheduling group.\n\nA /proc tunable (/proc/root_user_share) is also provided to tune root\nuser\u0027s quota of cpu bandwidth.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9b5b77512dce239fa168183fa71896712232e95a",
      "tree": "2a95cf9151b4b6bd745236858f5b73b639dbc0d9",
      "parents": [
        "75c28ace9f2b2f403674e045939424a77c95b47c"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Mon Oct 15 17:00:09 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:09 2007 +0200"
      },
      "message": "sched: clean up code under CONFIG_FAIR_GROUP_SCHED\n\nWith the view of supporting user-id based fair scheduling (and not just\ncontainer-based fair scheduling), this patch renames several functions\nand makes them independent of whether they are being used for container\nor user-id based fair scheduling.\n\nAlso fix a problem reported by KAMEZAWA Hiroyuki (wrt allocating\nless-sized array for tg-\u003ecfs_rq[] and tf-\u003ese[]).\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "83b699ed20f5218580a1b7042064082e2e05f8c5",
      "tree": "544c42283f41065f22e96e02af0badb7ed70a371",
      "parents": [
        "edcb60a309769a5f6e7c9e76d7c98b34d1757448"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "message": "sched: revert recent removal of set_curr_task()\n\nRevert removal of set_curr_task.\nUse put_prev_task/set_curr_task when changing groups/policies\n\nSigned-off-by: Srivatsa Vaddagiri \u003c vatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "f6b53205e17c8ca481c69ed579a35a650a4b481a",
      "tree": "d7820281757e3a2c7cfff7e38275261dcd077eab",
      "parents": [
        "4530d7ab0fb8d5056b68c376949e2d5c4db7817e"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "message": "sched: rework enqueue/dequeue_entity() to get rid of set_curr_task()\n\nrework enqueue/dequeue_entity() to get rid of \nsched_class::set_curr_task(). This simplifies sched_setscheduler(), \nrt_mutex_setprio() and sched_move_tasks().\n\n   text    data     bss     dec     hex filename\n  24330    2734      20   27084    69cc sched.o.before\n  24233    2730      20   26983    6967 sched.o.after\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4530d7ab0fb8d5056b68c376949e2d5c4db7817e",
      "tree": "e5ba2d7fde1d56948c5517442a7e90815f96ef82",
      "parents": [
        "87fefa381ef27f46c1182622ea01eb9504cd2e24"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:08 2007 +0200"
      },
      "message": "sched: simplify sched_class::yield_task()\n\nthe \u0027p\u0027 (task_struct) parameter in the sched_class :: yield_task() is\nredundant as the caller is always the \u0027current\u0027. Get rid of it.\n\n   text    data     bss     dec     hex filename\n  24341    2734      20   27095    69d7 sched.o.before\n  24330    2734      20   27084    69cc sched.o.after\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "30cfdcfc5f180fc21a3dad6ae3b7b2a9ee112186",
      "tree": "7178cde2a1d2b924cc0b66031f4eb02482fe54c2",
      "parents": [
        "7074badbcb4212d404a243e5c50efeb778ec3fc6"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Mon Oct 15 17:00:07 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:07 2007 +0200"
      },
      "message": "sched: do not keep current in the tree and get rid of sched_entity::fair_key\n\nGet rid of \u0027sched_entity::fair_key\u0027.\n\nAs a side effect, \u0027current\u0027 is not kept withing the tree for \nSCHED_NORMAL/BATCH tasks anymore. This simplifies some parts of code \n(e.g. entity_tick() and yield_task_fair()) and also somewhat optimizes \nthem (e.g. a single update_curr() now vs. dequeue/enqueue() before in \nentity_tick()).\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bbdba7c0e1161934ae881ad00e4db49830f5ef59",
      "tree": "1c5c5e9c9c0c6d6cb72b843121e7a38f2768356a",
      "parents": [
        "e22f5bbf86d8cce710d5c8ba5bf57832e73aab8c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "message": "sched: remove wait_runtime fields and features\n\nremove wait_runtime based fields and features, now that the CFS\nmath has been changed over to the vruntime metric.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e22f5bbf86d8cce710d5c8ba5bf57832e73aab8c",
      "tree": "9e6240455f123da6249fe0a88ba51459488f2e87",
      "parents": [
        "495eca494aa6006df55e3a04e105462c5940ca17"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:06 2007 +0200"
      },
      "message": "sched: remove wait_runtime limit\n\nremove the wait_runtime-limit fields and the code depending on it, now\nthat the math has been changed over to rely on the vruntime metric.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e9acbff6484df51fd880e0f5fe0224e8be34c17b",
      "tree": "9ac0275ae7dcd13fb8b628971bf038e9f7318d1e",
      "parents": [
        "08e2388aa1e40cb06f7d04ac621e2ae94e1d8fdc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:04 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:04 2007 +0200"
      },
      "message": "sched: introduce se-\u003evruntime\n\nintroduce se-\u003evruntime as a sum of weighted delta-exec\u0027s, and use that\nas the key into the tree.\n\nthe idea to use absolute virtual time as the basic metric of scheduling\nhas been first raised by William Lee Irwin, advanced by Tong Li and first\nprototyped by Roman Zippel in the \"Really Fair Scheduler\" (RFS) patchset.\n\nalso see:\n\n   http://lkml.org/lkml/2007/9/2/76\n\nfor a simpler variant of this patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8ebc91d93669af39dbed50914d7daf457eeb43be",
      "tree": "c7ab6dfce3ea737db57599c8e42a41ddac51464c",
      "parents": [
        "2bd8e6d422a4f44c0994f909317eba80b0fe08a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:03 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:03 2007 +0200"
      },
      "message": "sched: remove stat_gran\n\nremove the stat_gran code - it was disabled by default and it causes\nunnecessary overhead.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2bd8e6d422a4f44c0994f909317eba80b0fe08a1",
      "tree": "3548dd01c056e3f7c3c04fd85cc4726b95677c15",
      "parents": [
        "38ad464d410dadceda1563f36bdb0be7fe4c8938"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:02 2007 +0200"
      },
      "message": "sched: use constants if !CONFIG_SCHED_DEBUG\n\nuse constants if !CONFIG_SCHED_DEBUG.\n\nthis speeds up the code and reduces code-size:\n\n    text    data     bss     dec     hex filename\n   27464    3014      16   30494    771e sched.o.before\n   26929    3010      20   29959    7507 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eba1ed4b7e52720e3099325874811c38a5ec1562",
      "tree": "4ce145dd10b6cc248a2bc3463822dff23f9dd3c5",
      "parents": [
        "a4b29ba2f72673aaa60ba11ced74d579771dd578"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:02 2007 +0200"
      },
      "message": "sched: debug: track maximum \u0027slice\u0027\n\ntrack the maximum amount of time a task has executed while\nthe CPU load was at least 2x. (i.e. at least two nice-0\ntasks were runnable)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "169e36742572934f5d846cfa5f9d76e72d505db4",
      "tree": "933e2d74af1185da4a5910c5877a0ce3a26d9550",
      "parents": [
        "9e0db4b12c7deda532ad13d37a84ee41dd691066"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 27 17:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:30 2007 -0700"
      },
      "message": "[NETNS]: CLONE_NEWNET don\u0027t use the same clone flag as the pid namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1",
      "tree": "ed92aee1f242bb31a0965a4156063eac916ae15e",
      "parents": [
        "8b41d1887db718be9a2cd9e18c58ce25a4c7fd93"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:04:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:46 2007 -0700"
      },
      "message": "[NET]: Add network namespace clone \u0026 unshare support.\n\nThis patch allows you to create a new network namespace\nusing sys_clone, or sys_unshare.\n\nAs the network namespace is still experimental and under development\nclone and unshare support is only made available when CONFIG_NET_NS is\nselected at compile time.\n\nAs this patch introduces network namespace support into code paths\nthat exist when the CONFIG_NET is not selected there are a few\nadditions made to net_namespace.h to allow a few more functions\nto be used when the networking stack is not compiled in.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c2043abefacac97b6d01129c1123a466c95b7c1",
      "tree": "e1b7bfd3222250fddabec15fc41fd1d2b5eb83dd",
      "parents": [
        "70cb97935b8859f27296772885104b599f560576"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:17:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:23:13 2007 -0700"
      },
      "message": "Don\u0027t do load-average calculations at even 5-second intervals\n\nIt turns out that there are a few other five-second timers in the\nkernel, and if the timers get in sync, the load-average can get\nartificially inflated by events that just happen to coincide.\n\nSo just offset the load average calculation it by a timer tick.\n\nNoticed by Anders Boström, for whom the coincidence started triggering\non one of his machines with the JBD jiffies rounding code (JBD is one of\nthe subsystems that also end up using a 5-second timer by default).\n\nTested-by: Anders Boström \u003canders@bostrom.dyndns.org\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8fceee17a310f189188599a8fa5e9beaff57eb0",
      "tree": "21308319be2579059a4d4d7db680a73334659f82",
      "parents": [
        "9db619e66503494e41159de3c76fafabe80d016b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Sep 20 12:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Sep 20 13:19:59 2007 -0700"
      },
      "message": "signalfd simplification\n\nThis simplifies signalfd code, by avoiding it to remain attached to the\nsighand during its lifetime.\n\nIn this way, the signalfd remain attached to the sighand only during\npoll(2) (and select and epoll) and read(2).  This also allows to remove\nall the custom \"tsk \u003d\u003d current\" checks in kernel/signal.c, since\ndequeue_signal() will only be called by \"current\".\n\nI think this is also what Ben was suggesting time ago.\n\nThe external effect of this, is that a thread can extract only its own\nprivate signals and the group ones.  I think this is an acceptable\nbehaviour, in that those are the signals the thread would be able to\nfetch w/out signalfd.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1799e35d5baab6e06168b46cc78b968e728ea3d1",
      "tree": "cccf64a62fa9106aa18253371b675925c0582bab",
      "parents": [
        "a88a8eff1e6e32d3288986a9d36c6a449c032d3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "message": "sched: add /proc/sys/kernel/sched_compat_yield\n\nadd /proc/sys/kernel/sched_compat_yield to make sys_sched_yield()\nmore agressive, by moving the yielding task to the last position\nin the rbtree.\n\nwith sched_compat_yield\u003d0:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2539 mingo     20   0  1576  252  204 R   50  0.0   0:02.03 loop_yield\n  2541 mingo     20   0  1576  244  196 R   50  0.0   0:02.05 loop\n\nwith sched_compat_yield\u003d1:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2584 mingo     20   0  1576  248  196 R   99  0.0   0:52.45 loop\n  2582 mingo     20   0  1576  256  204 R    0  0.0   0:00.00 loop_yield\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "28f300d23674fa01ae747c66ce861d4ee6aebe8c",
      "tree": "52ea69a57a89760d7060597690cb289d049eb4d0",
      "parents": [
        "735de2230f09741077a645a913de0a04b10208bf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Fix user namespace exiting OOPs\n\nIt turned out, that the user namespace is released during the do_exit() in\nexit_task_namespaces(), but the struct user_struct is released only during the\nput_task_struct(), i.e.  MUCH later.\n\nOn debug kernels with poisoned slabs this will cause the oops in\nuid_hash_remove() because the head of the chain, which resides inside the\nstruct user_namespace, will be already freed and poisoned.\n\nSince the uid hash itself is required only when someone can search it, i.e.\nwhen the namespace is alive, we can safely unhash all the user_struct-s from\nit during the namespace exiting.  The subsequent free_uid() will complete the\nuser_struct destruction.\n\nFor example simple program\n\n   #include \u003csched.h\u003e\n\n   char stack[2 * 1024 * 1024];\n\n   int f(void *foo)\n   {\n   \treturn 0;\n   }\n\n   int main(void)\n   {\n   \tclone(f, stack + 1 * 1024 * 1024, 0x10000000, 0);\n   \treturn 0;\n   }\n\nrun on kernel with CONFIG_USER_NS turned on will oops the\nkernel immediately.\n\nThis was spotted during OpenVZ kernel testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735de2230f09741077a645a913de0a04b10208bf",
      "tree": "b408a671c9c07bec41a9ca8056fa7a6710982f3b",
      "parents": [
        "d8a4821dca693867a7953104c1e3cc830eb9191f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Convert uid hash to hlist\n\nSurprisingly, but (spotted by Alexey Dobriyan) the uid hash still uses\nlist_heads, thus occupying twice as much place as it could.  Convert it to\nhlist_heads.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6cf891c4d7128f9f91243fc0b9ce99e10fa1586",
      "tree": "ab26a8e708756c3fbafbb15ce48acea4f80ced08",
      "parents": [
        "5f01d519e60a6ca1a7d9be9f2d73c5f521383992"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 28 12:53:24 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 28 12:53:24 2007 +0200"
      },
      "message": "sched: make the scheduler converge to the ideal latency\n\nde-HZ-ification of the granularity defaults unearthed a pre-existing\nproperty of CFS: while it correctly converges to the granularity goal,\nit does not prevent run-time fluctuations in the range of\n[-gran ... 0 ... +gran].\n\nWith the increase of the granularity due to the removal of HZ\ndependencies, this becomes visible in chew-max output (with 5 tasks\nrunning):\n\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n out:  27 . 27. 32 | flu:  0 .  0 | ran:   17 .   13 | per:   44 .   40\n out:  27 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   36 .   40\n out:  29 . 27. 32 | flu:  2 .  0 | ran:   17 .   13 | per:   46 .   40\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n out:  29 . 27. 32 | flu:  0 .  0 | ran:   18 .   13 | per:   47 .   40\n out:  28 . 27. 32 | flu:  0 .  0 | ran:    9 .   13 | per:   37 .   40\n\naverage slice is the ideal 13 msecs and the period is picture-perfect 40\nmsecs. But the \u0027ran\u0027 field fluctuates around 13.33 msecs and there\u0027s no\nmechanism in CFS to keep that from happening: it\u0027s a perfectly valid\nsolution that CFS finds.\n\nto fix this we add a granularity/preemption rule that knows about\nthe \"target latency\", which makes tasks that run longer than the ideal\nlatency run a bit less. The simplest approach is to simply decrease the\npreemption granularity when a task overruns its ideal latency. For this\nwe have to track how much the task executed since its last preemption.\n\n( this adds a new field to task_struct, but we can eliminate that\n  overhead in 2.6.24 by putting all the scheduler timestamps into an\n  anonymous union. )\n\nwith this change in place, chew-max output is fluctuation-less all\naround:\n\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  2 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  1 | ran:   13 .   13 | per:   41 .   40\n out:  28 . 27. 39 | flu:  0 .  1 | ran:   13 .   13 | per:   41 .   40\n\nthis patch has no impact on any fastpath or on any globally observable\nscheduling property. (unless you have sharp enough eyes to see\nmillisecond-level ruckles in glxgears smoothness :-)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "172ac3dbb7d3e528ac53d08a34df88d1ac53c534",
      "tree": "f17de2a4a7a562792fd85a14bb1c278bb8c40804",
      "parents": [
        "218050855ece4e923106ab614ac65afa0f618df3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: cleanup, sched_granularity -\u003e sched_min_granularity\n\ndue to adaptive granularity scheduling the role of sched_granularity\nhas changed to \"minimum granularity\", so rename the variable (and the\ntunable) accordingly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "218050855ece4e923106ab614ac65afa0f618df3",
      "tree": "f7b1234ce9e8ad0bc5d5af949949251240ec6a2c",
      "parents": [
        "1fc84aaae3bae9646dd4c7798b8c0ff934338909"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 25 18:41:53 2007 +0200"
      },
      "message": "sched: adaptive scheduler granularity\n\nInstead of specifying the preemption granularity, specify the wanted\nlatency. By fixing the granlarity to a constany the wakeup latency\nit a function of the number of running tasks on the rq.\n\nInvert this relation.\n\nsysctl_sched_granularity becomes a minimum for the dynamic granularity\ncomputed from the new sysctl_sched_latency.\n\nThen use this latency to do more intelligent granularity decisions: if\nthere are fewer tasks running then we can schedule coarser. This helps\nperformance while still always keeping the latency target.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8700df7c419781efb34696de7e7f49717f8ede7",
      "tree": "c3b4c8e563e1caf5e144310817fc1ecdf812ae41",
      "parents": [
        "efe567fc8281661524ffa75477a7c4ca9b466c63"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "message": "sched: fix broken SMT/MC optimizations\n\nOn a four package system with HT - HT load balancing optimizations were\nbroken.  For example, if two tasks end up running on two logical threads\nof one of the packages, scheduler is not able to pull one of the tasks\nto a completely idle package.\n\nIn this scenario, for nice-0 tasks, imbalance calculated by scheduler\nwill be 512 and find_busiest_queue() will return 0 (as each cpu\u0027s load\nis 1024 \u003e imbalance and has only one task running).\n\nSimilarly MC scheduler optimizations also get fixed with this patch.\n\n[ mingo@elte.hu: restored fair balancing by increasing the fuzz and\n                 adding it back to the power decision, without the /2\n                 factor. ]\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aa44d0567ed21b47b87d68819415d48194cb923",
      "tree": "7be2a8a30a23b363e1e2aecd41934e75f581e115",
      "parents": [
        "b377fd3982ad957c796758a90e2988401a884241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 23 15:18:02 2007 +0200"
      },
      "message": "sched: sched_clock_idle_[sleep|wakeup]_event()\n\nconstruct a more or less wall-clock time out of sched_clock(), by\nusing ACPI-idle\u0027s existing knowledge about how much time we spent\nidling. This allows the rq clock to work around TSC-stops-in-C2,\nTSC-gets-corrupted-in-C3 type of problems.\n\n( Besides the scheduler\u0027s statistics this also benefits blktrace and\n  printk-timestamps as well. )\n\nFurthermore, the precise before-C2/C3-sleep and after-C2/C3-wakeup\ncallbacks allow the scheduler to get out the most of the period where\nthe CPU has a reliable TSC. This results in slightly more precise\ntask statistics.\n\nthe ACPI bits were acked by Len.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ee0827d8b5271094380410cf21d8c48c109a773a",
      "tree": "2886f7c95b983ffdb89d3a34590e01fbbb3133c7",
      "parents": [
        "31ee529cc2254e8b62880535ec8f21a4c5e1c091"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003etask_new()\n\nremove the \u0027u64 now\u0027 parameter from -\u003etask_new().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31ee529cc2254e8b62880535ec8f21a4c5e1c091",
      "tree": "df9a19be47c3111d0e34ce9f13498b236733a850",
      "parents": [
        "ff95f3df54609d9d4b9572f8a67d09922a645043"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb8d47240246e20f864f0724a23a7220cd1c59ac",
      "tree": "0c94ecb977355a2152655738bfcee6072c10f41e",
      "parents": [
        "f02231e51a280f1a0fee4d03ad8f50048e06cced"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003epick_next_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003epick_next_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f02231e51a280f1a0fee4d03ad8f50048e06cced",
      "tree": "becd8bf748828e3dfe34f73df11d260fd6300026",
      "parents": [
        "fd390f6a04f22fb457d6fd1855964f79536525de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003edequeue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003edequeue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd390f6a04f22fb457d6fd1855964f79536525de",
      "tree": "753b2c9889a4127e6c4b4ea8d80bae972228a875",
      "parents": [
        "f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cef9eca3837a8dcf605a360e213c4179a07c41a",
      "tree": "36dbdbf4e35d82cb66de92da56121ffde9c2cd05",
      "parents": [
        "d281918d7c135c555d9cebcf73d4320efa8177dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from print_cfs_rq()\n\nremove the \u0027u64 now\u0027 parameter from print_cfs_rq().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4ac01c36e286dd1b9a1d5cd7422c5af51dc55f8",
      "tree": "0c275d58a4835a3d604d9cac4e1dd7c25714e150",
      "parents": [
        "aea25401c3347d9f3a64ebdc81043be246a9f631"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: fix bug in balance_tasks()\n\nThere are two problems with balance_tasks() and how it used:\n\n1. The variables best_prio and best_prio_seen (inherited from the old\nmove_tasks()) were only required to handle problems caused by the\nactive/expired arrays, the order in which they were processed and the\npossibility that the task with the highest priority could be on either.\n  These issues are no longer present and the extra overhead associated\nwith their use is unnecessary (and possibly wrong).\n\n2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same\nthis_best_prio variable needs to be used by all scheduling classes or\nthere is a risk of moving too much load.  E.g. if the highest priority\ntask on this at the beginning is a fairly low priority task and the rt\nclass migrates a task (during its turn) then that moved task becomes the\nnew highest priority task on this_rq but when the sched_fair class\ninitializes its copy of this_best_prio it will get the priority of the\noriginal highest priority task as, due to the run queue locks being\nheld, the reschedule triggered by pull_task() will not have taken place.\n  This could result in inappropriate overriding of skip_for_load and\nexcessive load being moved.\n\nThe attached patch addresses these problems by deleting all reference to\nbest_prio and best_prio_seen and making this_best_prio a reference\nparameter to the various functions involved.\n\nload_balance_fair() has also been modified so that this_best_prio is\nonly reset (in the loop) if CONFIG_FAIR_GROUP_SCHED is set.  This should\npreserve the effect of helping spread groups\u0027 higher priority tasks\naround the available CPUs while improving system performance when\nCONFIG_FAIR_GROUP_SCHED isn\u0027t set.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4301065920b0cbde3986519582347e883b166f3e",
      "tree": "415b8e3a2796709673015e100a3b5b28e556104a",
      "parents": [
        "f1a438d813d416fa9f4be4e6dbd10b54c5938d89"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: simplify move_tasks()\n\nThe move_tasks() function is currently multiplexed with two distinct\ncapabilities:\n\n1. attempt to move a specified amount of weighted load from one run\nqueue to another; and\n2. attempt to move a specified number of tasks from one run queue to\nanother.\n\nThe first of these capabilities is used in two places, load_balance()\nand load_balance_idle(), and in both of these cases the return value of\nmove_tasks() is used purely to decide if tasks/load were moved and no\nnotice of the actual number of tasks moved is taken.\n\nThe second capability is used in exactly one place,\nactive_load_balance(), to attempt to move exactly one task and, as\nbefore, the return value is only used as an indicator of success or failure.\n\nThis multiplexing of sched_task() was introduced, by me, as part of the\nsmpnice patches and was motivated by the fact that the alternative, one\nfunction to move specified load and one to move a single task, would\nhave led to two functions of roughly the same complexity as the old\nmove_tasks() (or the new balance_tasks()).  However, the new modular\ndesign of the new CFS scheduler allows a simpler solution to be adopted\nand this patch addresses that solution by:\n\n1. adding a new function, move_one_task(), to be used by\nactive_load_balance(); and\n2. making move_tasks() a single purpose function that tries to move a\nspecified weighted load and returns 1 for success and 0 for failure.\n\nOne of the consequences of these changes is that neither move_one_task()\nor the new move_tasks() care how many tasks sched_class.load_balance()\nmoves and this enables its interface to be simplified by returning the\namount of load moved as its result and removing the load_moved pointer\nfrom the argument list.  This helps simplify the new move_tasks() and\nslightly reduces the amount of work done in each of\nsched_class.load_balance()\u0027s implementations.\n\nFurther simplification, e.g. changes to balance_tasks(), are possible\nbut (slightly) complicated by the special needs of load_balance_fair()\nso I\u0027ve left them to a later patch (if this one gets accepted).\n\nNB Since move_tasks() gets called with two run queue locks held even\nsmall reductions in overhead are worthwhile.\n\n[ mingo@elte.hu ]\n\nthis change also reduces code size nicely:\n\n   text    data     bss     dec     hex filename\n   39216    3618      24   42858    a76a sched.o.before\n   39173    3618      24   42815    a73f sched.o.after\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94c18227d1e3f02de5b345bd3cd5c960214dc9c8",
      "tree": "c2cb18bf1deb097f61cea3ebec23bbd844e1e072",
      "parents": [
        "6cfb0d5d06bea2b8791f32145eae539d524e5f6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: reduce task_struct size\n\nmore task_struct size reduction, by moving the debugging/instrumentation\nfields to under CONFIG_SCHEDSTATS:\n\n (i386, nodebug):\n\n                          size\n                          ----\n     pre-CFS              1328\n         CFS              1472\n         CFS+patch        1376\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cad60d93e18ba52b6f069b2edb031c89bf603b07",
      "tree": "dfe74c165e7607c233d223614ef400163c6ba44c",
      "parents": [
        "4e6f96f313561d86d248edf0eaff2336d8217e1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: -\u003etask_new cleanup\n\nmake sched_class.task_new \u003d\u003d NULL a \u0027default method\u0027, this\nallows the removal of task_rt_new.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "362a7016637648c6aefc98b706298baedfaa1543",
      "tree": "cb3f434fb71d29b247686b6dcfc76864cea4f57a",
      "parents": [
        "1ed4395035a6791ebbbf618429a58ab9c207cc83"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: remove cache_hot_time\n\nremove the last unused remains of cache_hot_time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d02c7a8cf208eb80a3ccbff40a6bebe8902af35a",
      "tree": "b6e2a0393bf917e5e04be955d6c6d5384caa4dfa",
      "parents": [
        "b762f3ffb797c1281a38a1c82194534055fba5ec"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: add above_background_load() function\n\nAdd an above_background_load() function which can be used by other\nsubsystems to detect if there is anything besides niced tasks running.\n\nPlace it in sched.h to allow it to be compiled out if not used.\n\nUnused for now, but it is a useful hint to the IO scheduler and to\nswap-prefetch.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e107be36efb2a233833e8c9899039a370e4b2318",
      "tree": "655955aa81aefeff441c412adaafe9b51a00ff56",
      "parents": [
        "b47e8608a08766ef8121cd747d3aaf6c3dc22649"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: arch preempt notifier mechanism\n\nThis adds a general mechanism whereby a task can request the scheduler to\nnotify it whenever it is preempted or scheduled back in.  This allows the\ntask to swap any special-purpose registers like the fpu or Intel\u0027s VT\nregisters.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n[ mingo@elte.hu: fixes, cleanups ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b47e8608a08766ef8121cd747d3aaf6c3dc22649",
      "tree": "24092b893d9d2e92113dcbd8bf48bf76e404d8e6",
      "parents": [
        "e4903fb59590f86190280a549420f6cb85bd7f7e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 26 13:40:43 2007 +0200"
      },
      "message": "[PATCH] sched: increase SCHED_LOAD_SCALE_FUZZ\n\nincrease SCHED_LOAD_SCALE_FUZZ that adds a small amount of\nover-balancing: to help distribute CPU-bound tasks more fairly on SMP\nsystems.\n\nthe problem of unfair balancing was noticed and reported by Tong N Li.\n\n10 CPU-bound tasks running on 8 CPUs, v2.6.23-rc1:\n\n  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n 2572 mingo     20   0  1576  244  196 R  100  0.0   1:03.61 loop\n 2578 mingo     20   0  1576  248  196 R  100  0.0   1:03.59 loop\n 2576 mingo     20   0  1576  248  196 R  100  0.0   1:03.52 loop\n 2571 mingo     20   0  1576  244  196 R  100  0.0   1:03.46 loop\n 2569 mingo     20   0  1576  244  196 R   99  0.0   1:03.36 loop\n 2570 mingo     20   0  1576  244  196 R   95  0.0   1:00.55 loop\n 2577 mingo     20   0  1576  248  196 R   50  0.0   0:31.88 loop\n 2574 mingo     20   0  1576  248  196 R   50  0.0   0:31.87 loop\n 2573 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop\n 2575 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop\n\nv2.6.23-rc1 + patch:\n\n  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n 2681 mingo     20   0  1576  244  196 R   85  0.0   3:51.68 loop\n 2688 mingo     20   0  1576  244  196 R   81  0.0   3:46.35 loop\n 2682 mingo     20   0  1576  244  196 R   80  0.0   3:43.68 loop\n 2685 mingo     20   0  1576  248  196 R   80  0.0   3:45.97 loop\n 2683 mingo     20   0  1576  248  196 R   80  0.0   3:40.25 loop\n 2679 mingo     20   0  1576  244  196 R   80  0.0   3:33.53 loop\n 2680 mingo     20   0  1576  244  196 R   79  0.0   3:43.53 loop\n 2686 mingo     20   0  1576  244  196 R   79  0.0   3:39.31 loop\n 2687 mingo     20   0  1576  244  196 R   78  0.0   3:33.31 loop\n 2684 mingo     20   0  1576  244  196 R   77  0.0   3:27.52 loop\n\nso they now nicely converge to the expected 80% long-term CPU usage.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e436d80085133858bf2613a630365e8a0459fd58",
      "tree": "c579410a12ed63d94e3a40a023634c7df4aebc76",
      "parents": [
        "969bb4e4032dac67287951d8f6642a3b5119694e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "message": "[PATCH] sched: implement cpu_clock(cpu) high-speed time source\n\nImplement the cpu_clock(cpu) interface for kernel-internal use:\nhigh-speed (but slightly incorrect) per-cpu clock constructed from\nsched_clock().\n\nThis API, unused at the moment, will be used in the future by blktrace,\nby the softlockup-watchdog, by printk and by lockstat.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64",
      "tree": "d363522865706f0674b7b104a8fc7b151f336764",
      "parents": [
        "6c5d523826dc639df709ed0f88c5d2ce25379652"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "coredump masking: add an interface for core dump filter\n\nThis patch adds an interface to set/reset flags which determines each memory\nsegment should be dumped or not when a core file is generated.\n\n/proc/\u003cpid\u003e/coredump_filter file is provided to access the flags.  You can\nchange the flag status for a particular process by writing to or reading from\nthe file.\n\nThe flag status is inherited to the child process when it is created.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5d523826dc639df709ed0f88c5d2ce25379652",
      "tree": "ef2fa8cb30266b3a9b047902794e78c583b099da",
      "parents": [
        "76fdbb25f963de5dc1e308325f0578a2f92b1c2d"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: reimplementation of dumpable using two flags\n\nThis patch changes mm_struct.dumpable to a pair of bit flags.\n\nset_dumpable() converts three-value dumpable to two flags and stores it into\nlower two bits of mm_struct.flags instead of mm_struct.dumpable.\nget_dumpable() behaves in the opposite way.\n\n[akpm@linux-foundation.org: export set_dumpable]\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ec739d8d0979477fc91f530403805afa2581a4",
      "tree": "0cefb80a7ff8d57a8f735954fdeb88e9efbaf05c",
      "parents": [
        "acce292c82d4d82d35553b928df2b0597c3a9c78"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sun Jul 15 23:41:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add unshare\n\nThis patch enables the unshare of user namespaces.\n\nIt adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which\nresets the current user_struct and adds a new root user (uid \u003d\u003d 0)\n\nFor now, unsharing the user namespace allows a process to reset its\nuser_struct accounting and uid 0 in the new user namespace should be contained\nusing appropriate means, for instance selinux\n\nThe plan, when the full support is complete (all uid checks covered), is to\nkeep the original user\u0027s rights in the original namespace, and let a process\nbecome uid 0 in the new namespace, with full capabilities to the new\nnamespace.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acce292c82d4d82d35553b928df2b0597c3a9c78",
      "tree": "464288f40db9c254da214c400d0880ee50dc37f3",
      "parents": [
        "7d69a1f4a72b18876c99c697692b78339d491568"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add the framework\n\nBasically, it will allow a process to unshare its user_struct table,\nresetting at the same time its own user_struct and all the associated\naccounting.\n\nA new root user (uid \u003d\u003d 0) is added to the user namespace upon creation.\nSuch root users have full privileges and it seems that theses privileges\nshould be controlled through some means (process capabilities ?)\n\nThe unshare is not included in this patch.\n\nChanges since [try #4]:\n\t- Updated get_user_ns and put_user_ns to accept NULL, and\n\t  get_user_ns to return the namespace.\n\nChanges since [try #3]:\n\t- moved struct user_namespace to files user_namespace.{c,h}\n\nChanges since [try #2]:\n\t- removed struct user_namespace* argument from find_user()\n\nChanges since [try #1]:\n\t- removed struct user_namespace* argument from find_user()\n\t- added a root_user per user namespace\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "522ed7767e800cff6c650ec64b0ee0677303119c",
      "tree": "f65ecb29f2cf885018d3557f840de3ef4be6ec64",
      "parents": [
        "4f27c00bf80f122513d3a5be16ed851573164534"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Sun Jul 15 23:40:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Audit: add TTY input auditing\n\nAdd TTY input auditing, used to audit system administrator\u0027s actions.  This is\nrequired by various security standards such as DCID 6/3 and PCI to provide\nnon-repudiation of administrator\u0027s actions and to allow a review of past\nactions if the administrator seems to overstep their duties or if the system\nbecomes misconfigured for unknown reasons.  These requirements do not make it\nnecessary to audit TTY output as well.\n\nCompared to an user-space keylogger, this approach records TTY input using the\naudit subsystem, correlated with other audit events, and it is completely\ntransparent to the user-space application (e.g.  the console ioctls still\nwork).\n\nTTY input auditing works on a higher level than auditing all system calls\nwithin the session, which would produce an overwhelming amount of mostly\nuseless audit events.\n\nAdd an \"audit_tty\" attribute, inherited across fork ().  Data read from TTYs\nby process with the attribute is sent to the audit subsystem by the kernel.\nThe audit netlink interface is extended to allow modifying the audit_tty\nattribute, and to allow sending explanatory audit events from user-space (for\nexample, a shell might send an event containing the final command, after the\ninteractive command-line editing and history expansion is performed, which\nmight be difficult to decipher from the TTY input alone).\n\nBecause the \"audit_tty\" attribute is inherited across fork (), it would be set\ne.g.  for sshd restarted within an audited session.  To prevent this, the\naudit_tty attribute is cleared when a process with no open TTY file\ndescriptors (e.g.  after daemon startup) opens a TTY.\n\nSee https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a\nmore detailed rationale document for an older version of this patch.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "924b42d5a2dbe508407a0a6290d3751f826bccdd",
      "tree": "c13a647ae93bcf033bddb713c1e117e84698c679",
      "parents": [
        "7c3f1a573237b90ef331267260358a0ec4ac9079"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use boot based time for process start time and boot time in /proc\n\nCommit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and\nprocess start times to become invalid after suspend.  Using boot based time\nfor those restores the old behaviour and fixes the issue.\n\n[akpm@linux-foundation.org: little cleanup]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fb43d7b50e49a36f8be3199141bec473e5ecb00",
      "tree": "f63f0a9b8279dcd6cd4acf9e99b88d9c60d95c61",
      "parents": [
        "9c4801cebc2add1fe514bc8eb201b16372eee11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:01 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:01 2007 +0200"
      },
      "message": "sched: micro-optimize mmdrop()\n\nmicro-optimize mmdrop(). Improves schedule()\u0027s assembly a bit.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43ae34cb4cd650d1eb4460a8253a8e747ba052ac",
      "tree": "51f1b6a8331dea95d8d560c2c27f4abdad1d759c",
      "parents": [
        "77e54a1f88a1cb0746c7694fa40052bd02df1123"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: scheduler debugging, core\n\nscheduler debugging core: implement /proc/sched_debug and\n/proc/\u003cPID\u003e/sched files for scheduler debugging.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7dd593608df3f9d4e4531cfe29f28c3a3766a0ee",
      "tree": "13ba74c11b214f7c45f39e306c5ef9d6eaabf6b7",
      "parents": [
        "b2cfba19f67228e78e48177187f6b07f4107c784"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove old cpu accounting field\n\nremove the old cpu-accounting field from signal_struct, now\nthat the code is using CFS\u0027s stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c57d5893e4a9857ff22ec9e379f6bdbdad50850",
      "tree": "825287e44b868e621f059b33f15b78fe227356af",
      "parents": [
        "50e645a8a1a91f57dd5d8454620be5f1cb0fc089"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove batch_task()\n\nbatch_task() in sched.h is now unused - remove it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50e645a8a1a91f57dd5d8454620be5f1cb0fc089",
      "tree": "d917b1f178c81b9a71f40bca7513e231336bf909",
      "parents": [
        "634fa8c97cc8f4ee2ae1dea7200ff0df762405e7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: remove interactivity types from sched.h\n\nremove now-unused types/fields used by the old scheduler.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad46c2c4ebcead75cd364a79b63b134393094fb9",
      "tree": "a6210b644771568549763a6799a2134638f4c11c",
      "parents": [
        "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: clean up fastcall uses of sched_fork()/sched_exit()\n\nsched_fork()/sched_exit() does not need to specify fastcall anymore,\nas the x86 kernel defaults to regparm3, and no assembly code calls\nthese functions.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "172ba844a8851c3edd13c0a979cdf46bd5e3cc1a",
      "tree": "5e1bfd820c8e68fc28450688f166f4136351e1e1",
      "parents": [
        "b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: update delay-accounting to use CFS\u0027s precise stats\n\nupdate delay-accounting to use CFS\u0027s precise stats.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb29ab26863c022743143f27956cc0ca362f258c",
      "tree": "f8106b8a82d4abe9c3b217c7ca96307539a945ad",
      "parents": [
        "dd41f596cda0d7d6e4a8b139ffdfabcefdd46528"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: x86, track TSC-unstable events\n\ntrack TSC-unstable events and propagate it to the scheduler code.\nAlso allow sched_clock() to be used when the TSC is unstable,\nthe rq_clock() wrapper creates a reliable clock out of it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2ac58ee617fd9f6cd9922fbcd291b661d7c9954",
      "tree": "6eee6329575aafba0efe055b8f8f3c39674b1196",
      "parents": [
        "45bf76df4814a4cd1c57226ae001c464467cb656"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: remove sleep_type\n\nremove the sleep_type heuristics from the core scheduler - scheduling\npolicy is implemented in the scheduling-policy modules. (and CFS does\nnot use this type of sleep-type heuristics)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05606d3301525aa67b081ad9fccade2b31ab35a",
      "tree": "2a3e5a477dfca70ce32f3ea8dbc5e16034c98c23",
      "parents": [
        "138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:59 2007 +0200"
      },
      "message": "sched: clean up the rt priority macros\n\nclean up the rt priority macros, pointed out by Andrew Morton.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41b86e9c510ae66639bf29d3201e1d2384a7fde6",
      "tree": "f340b94f53be08e2fbba2344deb985f9ecb4a036",
      "parents": [
        "20d315d42aed95423a7203e1d7e84086004b5a00"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: make posix-cpu-timers use CFS\u0027s accounting information\n\nupdate the posix-cpu-timers code to use CFS\u0027s CPU accounting information.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20b8a59f2461e1be911dce2cfafefab9d22e4eee",
      "tree": "e40e8558726629818b6dbdcdd64e93823f719fcd",
      "parents": [
        "fa72e9e484c16f0c9aee23981917d8c8c03f0482"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: cfs, core data types\n\nadd the CFS data types to sched.h.\n\n(the old scheduler is still fully intact.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf0f6f24a1ece8988b243aefe84ee613099a9245",
      "tree": "f8525fb86fb8e41f9d7b68b36c3d083ba0df3f80",
      "parents": [
        "9aa7b369819940cb1f3c74ba210516739a32ad95"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: cfs core, kernel/sched_fair.c\n\nadd kernel/sched_fair.c - which implements the bulk of CFS\u0027s\nbehavioral changes for SCHED_OTHER tasks.\n\nsee Documentation/sched-design-CFS.txt about details.\n\nAuthors:\n\n Ingo Molnar \u003cmingo@elte.hu\u003e\n Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\n Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n Mike Galbraith \u003cefault@gmx.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9aa7b369819940cb1f3c74ba210516739a32ad95",
      "tree": "19f0e54740c52f143c5e88877fa75eefaf7b30ae",
      "parents": [
        "425e0968a25fa3f111f9919964cac079738140b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: increase the resolution of smpnice\n\nincrease SMP-nice\u0027s resolution. This is needed by CFS to\nimplement SCHED_IDLE and cleaned up nice level support.\n\nno behavioral changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1df21055e34b6a68d62cf0c524b9e52deebd7ead",
      "tree": "b3611a364b289340d6b5016eba9f53a37b6b1de2",
      "parents": [
        "4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: add init_idle_bootup_task()\n\nadd the init_idle_bootup_task() callback to the bootup thread,\nunused at the moment. (CFS will use it to switch the scheduling\nclass of the boot thread to the idle class)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c65cc8705256ad7524c97564b4fe3ca9782bf6d1",
      "tree": "f51e32d6b5ec813bdee5b623dd36f9af3967e8fd",
      "parents": [
        "0437e109e1841607f2988891eaa36c531c6aa6ac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: uninline set_task_cpu()\n\nuninline set_task_cpu(): CFS will add more code to it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0437e109e1841607f2988891eaa36c531c6aa6ac",
      "tree": "e9d8f170786f7e33d4c5829cb008cf38d42a2014",
      "parents": [
        "0e6aca43e08a62a48d6770e9a159dbec167bf4c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: zap the migration init / cache-hot balancing code\n\nthe SMP load-balancer uses the boot-time migration-cost estimation\ncode to attempt to improve the quality of balancing. The reason for\nthis code is that the discrete priority queues do not preserve\nthe order of scheduling accurately, so the load-balancer skips\ntasks that were running on a CPU \u0027recently\u0027.\n\nthis code is fundamental fragile: the boot-time migration cost detector\ndoesnt really work on systems that had large L3 caches, it caused boot\ndelays on large systems and the whole cache-hot concept made the\nbalancing code pretty undeterministic as well.\n\n(and hey, i wrote most of it, so i can say it out loud that it sucks ;-)\n\nunder CFS the same purpose of cache affinity can be achieved without\nany special cache-hot special-case: tasks are sorted in the \u0027timeline\u0027\ntree and the SMP balancer picks tasks from the left side of the\ntree, thus the most cache-cold task is balanced automatically.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e6aca43e08a62a48d6770e9a159dbec167bf4c6",
      "tree": "be62a8825d1b5dd23915457f85bf56c0d5c8de9a",
      "parents": [
        "d15bcfdbe1818478891d714343f037cfe60875f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: add SCHED_IDLE policy\n\nthis patch adds the SCHED_IDLE policy to sched.h.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d15bcfdbe1818478891d714343f037cfe60875f0",
      "tree": "62362e16a1b189161d0c163085898043e6844a5e",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:57 2007 +0200"
      },
      "message": "sched: rename idle_type/SCHED_IDLE\n\nenum idle_type (used by the load-balancer) clashes with the\nSCHED_IDLE name that we want to introduce. \u0027CPU_IDLE\u0027 instead\nof \u0027SCHED_IDLE\u0027 is more descriptive as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "778e9a9c3e7193ea9f434f382947155ffb59c755",
      "tree": "2ceb8c7ce1d55124982b77966dcd65cee5cc623b",
      "parents": [
        "1a539a87280b3032fd12bc93a4a82f1d8aa97ca8"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Fri Jun 08 13:47:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:34 2007 -0700"
      },
      "message": "pi-futex: fix exit races and locking problems\n\n1. New entries can be added to tsk-\u003epi_state_list after task completed\n   exit_pi_state_list(). The result is memory leakage and deadlocks.\n\n2. handle_mm_fault() is called under spinlock. The result is obvious.\n\n3. results in self-inflicted deadlock inside glibc.\n   Sometimes futex_lock_pi returns -ESRCH, when it is not expected\n   and glibc enters to for(;;) sleep() to simulate deadlock. This problem\n   is quite obvious and I think the patch is right. Though it looks like\n   each \"if\" in futex_lock_pi() got some stupid special case \"else if\". :-)\n\n4. sometimes futex_lock_pi() returns -EDEADLK,\n   when nobody has the lock. The reason is also obvious (see comment\n   in the patch), but correct fix is far beyond my comprehension.\n   I guess someone already saw this, the chunk:\n\n                        if (rt_mutex_trylock(\u0026q.pi_state-\u003epi_mutex))\n                                ret \u003d 0;\n\n   is obviously from the same opera. But it does not work, because the\n   rtmutex is really taken at this point: wake_futex_pi() of previous\n   owner reassigned it to us. My fix works. But it looks very stupid.\n   I would think about removal of shift of ownership in wake_futex_pi()\n   and making all the work in context of process taking lock.\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nFix 1) Avoid the tasklist lock variant of the exit race fix by adding\n    an additional state transition to the exit code.\n\n    This fixes also the issue, when a task with recursive segfaults\n    is not able to release the futexes.\n\nFix 2) Cleanup the lookup_pi_state() failure path and solve the -ESRCH\n    problem finally.\n\nFix 3) Solve the fixup_pi_state_owner() problem which needs to do the fixup\n    in the lock protected section by using the in_atomic userspace access\n    functions.\n\n    This removes also the ugly lock drop / unqueue inside of fixup_pi_state()\n\nFix 4) Fix a stale lock in the error path of futex_wake_pi()\n\nAdded some error checks for verification.\n\nThe -EDEADLK problem is solved by the rtmutex fixups.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bb44adef39ad3bda2be40bb34686bc56bd563a5",
      "tree": "1e9eecbd03877c7ac8b00a8cb1d4ae54ebec3bb1",
      "parents": [
        "3c6df2a9177c010bf811c361149069e4bfd9bb11"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed May 23 13:57:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:12 2007 -0700"
      },
      "message": "recalc_sigpending_tsk fixes\n\nSteve Hawkes discovered a problem where recalc_sigpending_tsk was called in\ndo_sigaction but no signal_wake_up call was made, preventing later signals\nfrom waking up blocked threads with TIF_SIGPENDING already set.\n\nIn fact, the few other calls to recalc_sigpending_tsk outside the signals\ncode are also subject to this problem in other race conditions.\n\nThis change makes recalc_sigpending_tsk private to the signals code.  It\nchanges the outside calls, as well as do_sigaction, to use the new\nrecalc_sigpending_and_wake instead.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \u003cSteve.Hawkes@motorola.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba96a0c88098697a63e80157718b7440414ed24d",
      "tree": "bdd999761eed452cc162f5b63166d1014aaf2e3e",
      "parents": [
        "33e1c288da62a6a5aa9077a6b7bfa690b1b02cf4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 23 13:57:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "freezer: fix vfork problem\n\nCurrently try_to_freeze_tasks() has to wait until all of the vforked processes\nexit and for this reason every user can make it fail.  To fix this problem we\ncan introduce the additional process flag PF_FREEZER_SKIP to be used by tasks\nthat do not want to be counted as freezable by the freezer and want to have\nTIF_FREEZE set nevertheless.  Then, this flag can be set by tasks using\nsys_vfork() before they call wait_for_completion(\u0026vfork) and cleared after\nthey have woken up.  After clearing it, the tasks should call try_to_freeze()\nas soon as possible.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cabca0cb0d0e8579428d8f8c3f606e2f01d26d14",
      "tree": "a32426d345bab465488df20a228a495a12b26b8b",
      "parents": [
        "853da0022023c046e0a5ccc51d427745f0c94de7",
        "87c1efbfeac49849b981a7eac8cba42d4a49b2e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  Fix compile/link of init/do_mounts.c with !CONFIG_BLOCK\n  When stacked block devices are in-use (e.g. md or dm), the recursive calls\n"
    },
    {
      "commit": "fba2afaaec790dc5ab4ae8827972f342211bbb86",
      "tree": "2694d4cd8c6b7d69a5569b92151d61a3d4af39b7",
      "parents": [
        "5dc8bf8132d59c03fe2562bce165c2f03f021687"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: signalfd core\n\nThis patch series implements the new signalfd() system call.\n\nI took part of the original Linus code (and you know how badly it can be\nbroken :), and I added even more breakage ;) Signals are fetched from the same\nsignal queue used by the process, so signalfd will compete with standard\nkernel delivery in dequeue_signal().  If you want to reliably fetch signals on\nthe signalfd file, you need to block them with sigprocmask(SIG_BLOCK).  This\nseems to be working fine on my Dual Opteron machine.  I made a quick test\nprogram for it:\n\nhttp://www.xmailserver.org/signafd-test.c\n\nThe signalfd() system call implements signal delivery into a file descriptor\nreceiver.  The signalfd file descriptor if created with the following API:\n\nint signalfd(int ufd, const sigset_t *mask, size_t masksize);\n\nThe \"ufd\" parameter allows to change an existing signalfd sigmask, w/out going\nto close/create cycle (Linus idea).  Use \"ufd\" \u003d\u003d -1 if you want a brand new\nsignalfd file.\n\nThe \"mask\" allows to specify the signal mask of signals that we are interested\nin.  The \"masksize\" parameter is the size of \"mask\".\n\nThe signalfd fd supports the poll(2) and read(2) system calls.  The poll(2)\nwill return POLLIN when signals are available to be dequeued.  As a direct\nconsequence of supporting the Linux poll subsystem, the signalfd fd can use\nused together with epoll(2) too.\n\nThe read(2) system call will return a \"struct signalfd_siginfo\" structure in\nthe userspace supplied buffer.  The return value is the number of bytes copied\nin the supplied buffer, or -1 in case of error.  The read(2) call can also\nreturn 0, in case the sighand structure to which the signalfd was attached,\nhas been orphaned.  The O_NONBLOCK flag is also supported, and read(2) will\nreturn -EAGAIN in case no signal is available.\n\nIf the size of the buffer passed to read(2) is lower than sizeof(struct\nsignalfd_siginfo), -EINVAL is returned.  A read from the signalfd can also\nreturn -ERESTARTSYS in case a signal hits the process.  The format of the\nstruct signalfd_siginfo is, and the valid fields depends of the (-\u003ecode \u0026\n__SI_MASK) value, in the same way a struct siginfo would:\n\nstruct signalfd_siginfo {\n\t__u32 signo;\t/* si_signo */\n\t__s32 err;\t/* si_errno */\n\t__s32 code;\t/* si_code */\n\t__u32 pid;\t/* si_pid */\n\t__u32 uid;\t/* si_uid */\n\t__s32 fd;\t/* si_fd */\n\t__u32 tid;\t/* si_fd */\n\t__u32 band;\t/* si_band */\n\t__u32 overrun;\t/* si_overrun */\n\t__u32 trapno;\t/* si_trapno */\n\t__s32 status;\t/* si_status */\n\t__s32 svint;\t/* si_int */\n\t__u64 svptr;\t/* si_ptr */\n\t__u64 utime;\t/* si_utime */\n\t__u64 stime;\t/* si_stime */\n\t__u64 addr;\t/* si_addr */\n};\n\n[akpm@linux-foundation.org: fix signalfd_copyinfo() on i386]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eaeeaba39e5fa3d52a0bb8de15e995516ae251a",
      "tree": "5b4052fabfe107ad5332cb758ad8d86ea5a87848",
      "parents": [
        "02239c29967418284c05d58971894d658575e78c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 10 22:22:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "getrusage(): fill ru_inblock and ru_oublock fields if possible\n\nIf CONFIG_TASK_IO_ACCOUNTING is defined, we update io accounting counters for\neach task.\n\nThis patch permits reporting of values using the well known getrusage()\nsyscall, filling ru_inblock and ru_oublock instead of null values.\n\nAs TASK_IO_ACCOUNTING currently counts bytes counts, we approximate blocks\ncount doing : nr_blocks \u003d nr_bytes / 512\n\nExample of use :\n----------------------\nAfter patch is applied, /usr/bin/time command can now give a good\napproximation of IO that the process had to do.\n\n$ /usr/bin/time grep tototo /usr/include/*\nCommand exited with non-zero status 1\n0.00user 0.02system 0:02.11elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k\n24288inputs+0outputs (0major+259minor)pagefaults 0swaps\n\n$ /usr/bin/time dd if\u003d/dev/zero of\u003d/tmp/testfile count\u003d1000\n1000+0 enregistrements lus\n1000+0 enregistrements écrits\n512000 octets (512 kB) copiés, 0,00326601 seconde, 157 MB/s\n0.00user 0.00system 0:00.00elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+3000outputs (0major+299minor)pagefaults 0swaps\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d89d87965dcbe6fe4f96a2a7e8421b3a75f634d1",
      "tree": "8e87952d6e016192220aa090a8121e357a951d8f",
      "parents": [
        "129a84de2347002f09721cda3155ccfd19fade40"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue May 01 09:53:42 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri May 11 13:28:37 2007 +0200"
      },
      "message": "When stacked block devices are in-use (e.g. md or dm), the recursive calls\n\nto generic_make_request can use up a lot of space, and we would rather they\ndidn\u0027t.\n\nAs generic_make_request is a void function, and as it is generally not\nexpected that it will have any effect immediately, it is safe to delay any\ncall to generic_make_request until there is sufficient stack space\navailable.\n\nAs -\u003ebi_next is reserved for the driver to use, it can have no valid value\nwhen generic_make_request is called, and as __make_request implicitly\nassumes it will be NULL (ELEVATOR_BACK_MERGE fork of switch) we can be\ncertain that all callers set it to NULL.  We can therefore safely use\nbi_next to link pending requests together, providing we clear it before\nmaking the real call.\n\nSo, we choose to allow each thread to only be active in one\ngeneric_make_request at a time.  If a subsequent (recursive) call is made,\nthe bio is linked into a per-thread list, and is handled when the active\ncall completes.\n\nAs the list of pending bios is per-thread, there are no locking issues to\nworry about.\n\nI say above that it is \"safe to delay any call...\".  There are, however,\nsome behaviours of a make_request_fn which would make it unsafe.  These\ninclude any behaviour that assumes anything will have changed after a\nrecursive call to generic_make_request.\n\nThese could include:\n - waiting for that call to finish and call it\u0027s bi_end_io function.\n   md use to sometimes do this (marking the superblock dirty before\n   completing a write) but doesn\u0027t any more\n - inspecting the bio for fields that generic_make_request might\n   change, such as bi_sector or bi_bdev.  It is hard to see a good\n   reason for this, and I don\u0027t think anyone actually does it.\n - inspecing the queue to see if, e.g. it is \u0027full\u0027 yet.  Again, I\n   think this is very unlikely to be useful, or to be done.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \u003cdm-devel@redhat.com\u003e\n\nAlasdair G Kergon \u003cagk@redhat.com\u003e said:\n\n I can see nothing wrong with this in principle.\n\n For device-mapper at the moment though it\u0027s essential that, while the bio\n mappings may now get delayed, they still get processed in exactly\n the same order as they were passed to generic_make_request().\n\n My main concern is whether the timing changes implicit in this patch\n will make the rare data-corrupting races in the existing snapshot code\n more likely. (I\u0027m working on a fix for these races, but the unfinished\n patch is already several hundred lines long.)\n\n It would be helpful if some people on this mailing list would test\n this patch in various scenarios and report back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f",
      "tree": "9c3932bb871d4b6727dc588e4d6c9987637aaee5",
      "parents": [
        "c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "rename thread_info to stack\n\nThis finally renames the thread_info field in task structure to stack, so that\nthe assumptions about this field are gone and archs have more freedom about\nplacing the thread_info structure.\n\nNonbroken archs which have a proper thread pointer can do the access to both\ncurrent thread and task structure via a single pointer.\n\nIt\u0027ll allow for a few more cleanups of the fork code, from which e.g.  ia64\ncould benefit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n[akpm@linux-foundation.org: build fix]\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10ab825bdef8df510f99c703a5a2d9b13a4e31a5",
      "tree": "e4db81f26c03ba5a5bff43ed44646a4ed4509d67",
      "parents": [
        "5de18d169739293e27e0cf9acfc75a2d2f4aa572"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "change kernel threads to ignore signals instead of blocking them\n\nCurrently kernel threads use sigprocmask(SIG_BLOCK) to protect against\nsignals.  This doesn\u0027t prevent the signal delivery, this only blocks\nsignal_wake_up().  Every \"killall -33 kthreadd\" means a \"struct siginfo\"\nleak.\n\nChange kthreadd_setup() to set all handlers to SIG_IGN instead of blocking\nthem (make a new helper ignore_signals() for that).  If the kernel thread\nneeds some signal, it should use allow_signal() anyway, and in that case it\nshould not use CLONE_SIGHAND.\n\nNote that we can\u0027t change daemonize() (should die!) in the same way,\nbecause it can be used along with CLONE_SIGHAND.  This means that\nallow_signal() still should unblock the signal to work correctly with\ndaemonize()ed threads.\n\nHowever, disallow_signal() doesn\u0027t block the signal any longer but ignores\nit.\n\nNOTE: with or without this patch the kernel threads are not protected from\nhandle_stop_signal(), this seems harmless, but not good.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5517d86bea237c1d7078840182d9ebc0fe4c1afc",
      "tree": "67f1999895313878bfa904c66dffb7066f3c8d91",
      "parents": [
        "46cb4b7c88fa5517f64b5bee42939ea3614cddcb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:32:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "Speed up divides by cpu_power in scheduler\n\nI noticed expensive divides done in try_to_wakeup() and\nfind_busiest_group() on a bi dual core Opteron machine (total of 4 cores),\nmoderatly loaded (15.000 context switch per second)\n\noprofile numbers :\n\nCPU: AMD64 processors, speed 2600.05 MHz (estimated)\nCounted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit\nmask of 0x00 (No unit mask) count 50000\nsamples  %        symbol name\n...\n613914    1.0498  try_to_wake_up\n    834  0.0013 :ffffffff80227ae1:   div    %rcx\n77513  0.1191 :ffffffff80227ae4:   mov    %rax,%r11\n\n608893    1.0413  find_busiest_group\n   1841  0.0031 :ffffffff802260bf:       div    %rdi\n140109  0.2394 :ffffffff802260c2:       test   %sil,%sil\n\nSome of these divides can use the reciprocal divides we introduced some\ntime ago (currently used in slab AFAIK)\n\nWe can assume a load will fit in a 32bits number, because with a\nSCHED_LOAD_SCALE\u003d128 value, its still a theorical limit of 33554432\n\nWhen/if we reach this limit one day, probably cpus will have a fast\nhardware divide and we can zap the reciprocal divide trick.\n\nIngo suggested to rename cpu_power to __cpu_power to make clear it should\nnot be modified without changing its reciprocal value too.\n\nI did not convert the divide in cpu_avg_load_per_task(), because tracking\nnr_running changes may be not worth it ?  We could use a static table of 32\nreciprocal values but it would add a conditional branch and table lookup.\n\n[akpm@linux-foundation.org: !SMP build fix]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46cb4b7c88fa5517f64b5bee42939ea3614cddcb",
      "tree": "429b8092394974ae787bf0cfaefe5c7b6a1da782",
      "parents": [
        "bdecea3a9282d529b54954f3f1e59877629baba1"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue May 08 00:32:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "sched: dynticks idle load balancing\n\nFix the process idle load balancing in the presence of dynticks.  cpus for\nwhich ticks are stopped will sleep till the next event wakes it up.\nPotentially these sleeps can be for large durations and during which today,\nthere is no periodic idle load balancing being done.\n\nThis patch nominates an owner among the idle cpus, which does the idle load\nbalancing on behalf of the other idle cpus.  And once all the cpus are\ncompletely idle, then we can stop this idle load balancing too.  Checks added\nin fast path are minimized.  Whenever there are busy cpus in the system, there\nwill be an owner(idle cpu) doing the system wide idle load balancing.\n\nOpen items:\n1. Intelligent owner selection (like an idle core in a busy package).\n2. Merge with rcu\u0027s nohz_cpu_mask?\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c9167f91e309c9c4ea982992aa08e83b2eb42e",
      "tree": "b15e7bed8eb2e22e96971bbe3156a00683c70909",
      "parents": [
        "966812dc98e6a7fcdf759cbfa0efab77500a8868"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 08 00:28:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "add touch_all_softlockup_watchdogs()\n\nAdd touch_all_softlockup_watchdogs() to allow the softlockup watchdog\ntimers on all cpus to be updated.  This is used to prevent sysrq-t from\ngenerating a spurious watchdog message when generating lots of output.\n\nSoftlockup watchdogs use sched_clock() as its timebase, which is inherently\nper-cpu (at least, when it is measuring unstolen time).  Because of this,\nit isn\u0027t possible for one CPU to directly update the other CPU\u0027s timers,\nbut it is possible to tell the other CPUs to do update themselves\nappropriately.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3367b994fe4f131ab1240600682a1981de7cad0c",
      "tree": "2afbec0bf8943d628c48dfb07883b7ce62a5c318",
      "parents": [
        "28287033e12463c8ff89f1ea8038783d0360391c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue May 08 00:27:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "\u003clinux/sysdev.h\u003e needs to include \u003clinux/module.h\u003e\n\nsysdev.h uses THIS_MODULE so should include \u003clinux/module.h\u003e.\n\n[akpm@linux-foundation.org: couple of fixes]\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97dc32cdb1b53832801159d5f634b41aad9d0a23",
      "tree": "438f59c84d3528de5f68583d312beceb1aa32659",
      "parents": [
        "4d7bf11d649c72621ca31b8ea12b9c94af380e63"
      ],
      "author": {
        "name": "William Cohen",
        "email": "wcohen@redhat.com",
        "time": "Tue May 08 00:23:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "reduce size of task_struct on 64-bit machines\n\nThis past week I was playing around with that pahole tool\n(http://oops.ghostprotocols.net:81/acme/dwarves/) and looking at the size\nof various struct in the kernel.  I was surprised by the size of the\ntask_struct on x86_64, approaching 4K.  I looked through the fields in\ntask_struct and found that a number of them were declared as \"unsigned\nlong\" rather than \"unsigned int\" despite them appearing okay as 32-bit\nsized fields.  On x86_64 \"unsigned long\" ends up being 8 bytes in size and\nforces 8 byte alignment.  Is there a reason there a reason they are\n\"unsigned long\"?\n\nThe patch below drops the size of the struct from 3808 bytes (60 64-byte\ncachelines) to 3760 bytes (59 64-byte cachelines).  A couple other fields\nin the task struct take a signficant amount of space:\n\nstruct thread_struct       thread;               688\nstruct held_lock           held_locks[30];       1680\n\nCONFIG_LOCKDEP is turned on in the .config\n\n[akpm@linux-foundation.org: fix printk warnings]\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39bc89fd4019b164002adaacef92c4140e37955a",
      "tree": "34ff87b8d8c2984af2015dd8c01177df88815214",
      "parents": [
        "20f09390b2da2432309afe8aaa0bd64ec64c4584"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 25 20:50:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:46:51 2007 -0700"
      },
      "message": "make SysRq-T show all tasks again\n\nshow_state() (SysRq-T) developed the buggy habbit of not showing\nTASK_RUNNING tasks.  This was due to the mistaken belief that state_filter\n\u003d\u003d -1 would be a pass-through filter - while in reality it did not let\nTASK_RUNNING \u003d\u003d 0 p-\u003estate values through.\n\nFix this by restoring the original \u0027!state_filter means all tasks\u0027\nspecial-case i had in the original version.  Test-built and test-booted on\ni686, SysRq-T now works as intended.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69f7c0a1be84b10a81b6edcce2dbee0cdec26eba",
      "tree": "a6d4988fda72595ea71ba7e2b4ac11f91fde0159",
      "parents": [
        "759b9775c25f5e69aaea8a75c3914019e2dc5539"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Mon Mar 05 00:30:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:51 2007 -0800"
      },
      "message": "[PATCH] sched: remove SMT nice\n\nRemove the SMT-nice feature which idles sibling cpus on SMT cpus to\nfacilitiate nice working properly where cpu power is shared.  The idling of\ncpus in the presence of runnable tasks is considered too fragile, easy to\nbreak with outside code, and the complexity of managing this system if an\narchitecture comes along with many logical cores sharing cpu power will be\nunworkable.\n\nRemove the associated per_cpu_gain variable in sched_domains used only by\nthis code.\n\nAlso:\n\n  The reason is that with dynticks enabled, this code breaks without yet\n  further tweaks so dynticks brought on the rapid demise of this code.  So\n  either we tweak this code or kill it off entirely.  It was Ingo\u0027s preference\n  to kill it off.  Either way this needs to happen for 2.6.21 since dynticks\n  has gone in.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0138a6cb7923a997d278b47c176778534d1095b",
      "tree": "4fcb8822a69631baba568e4e1942847747123887",
      "parents": [
        "6572d6d7d0f965dda19d02af804ed3ae4b3bf1fc",
        "1055a8af093fea7490445bd15cd671020e542035"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 12:48:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 12:48:06 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (78 commits)\n  [PARISC] Use symbolic last syscall in __NR_Linux_syscalls\n  [PARISC] Add missing statfs64 and fstatfs64 syscalls\n  Revert \"[PARISC] Optimize TLB flush on SMP systems\"\n  [PARISC] Compat signal fixes for 64-bit parisc\n  [PARISC] Reorder syscalls to match unistd.h\n  Revert \"[PATCH] make kernel/signal.c:kill_proc_info() static\"\n  [PARISC] fix sys_rt_sigqueueinfo\n  [PARISC] fix section mismatch warnings in harmony sound driver\n  [PARISC] do not export get_register/set_register\n  [PARISC] add ENTRY()/ENDPROC() and simplify assembly of HP/UX emulation code\n  [PARISC] convert to use CONFIG_64BIT instead of __LP64__\n  [PARISC] use CONFIG_64BIT instead of __LP64__\n  [PARISC] add ASM_EXCEPTIONTABLE_ENTRY() macro\n  [PARISC] more ENTRY(), ENDPROC(), END() conversions\n  [PARISC] fix ENTRY() and ENDPROC() for 64bit-parisc\n  [PARISC] Fixes /proc/cpuinfo cache output on B160L\n  [PARISC] implement standard ENTRY(), END() and ENDPROC()\n  [PARISC] kill ENTRY_SYS_CPUS\n  [PARISC] clean up debugging printks in smp.c\n  [PARISC] factor syscall_restart code out of do_signal\n  ...\n\nFix conflict in include/linux/sched.h due to kill_proc_info() being made\npublicly available to PARISC again.\n"
    },
    {
      "commit": "c3de4b38153a201cfc8561abb093a1b482fd3abb",
      "tree": "30226ed724dac5502a930a0004274cdc1a506128",
      "parents": [
        "d104f11c3989b0bbe1216f6ad663d0ed91fb7bd8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Feb 09 08:11:47 2007 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@athena.road.mcmartin.ca",
        "time": "Sat Feb 17 01:20:07 2007 -0500"
      },
      "message": "Revert \"[PATCH] make kernel/signal.c:kill_proc_info() static\"\n\nThis reverts commit d3228a887cae75ef2b8b1211c31c539bef5a5698.\nDeBunk this code.  We need it for compat_sys_rt_sigqueueinfo.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "27b0b2f44adffe0193a695bb528a83b550b8e54b",
      "tree": "fd7578afab2e9fa72e3f157f94c9dd73a8265678",
      "parents": [
        "9f57a54b6cf3f626334d97e93b5b917ad11e1efc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] pid: remove the now unused kill_pg kill_pg_info and __kill_pg_info\n\nNow that I have changed all of the in-tree users remove the old version of\nthese functions.  This should make it clear to any out of tree users that they\nshould be using kill_pgrp kill_pgrp_info or __kill_pgrp_info instead.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "ab521dc0f8e117fd808d3e425216864d60390500"
}
