)]}'
{
  "log": [
    {
      "commit": "91fcdd4e0314145d7d4fa52dba2f9c2da25346fd",
      "tree": "a4defe96d7f86a1bc0ba8bdb6df51efcf271d347",
      "parents": [
        "145fc655a1ceabda76cf2ad74f7cf96863c65b65"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Thu Oct 19 23:28:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:37 2006 -0700"
      },
      "message": "[PATCH] readjust comments of task_timeslice for kernel doc\n\nSigned-off-by: Borislav Petkov \u003cpetkov@math.uni-muenster.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "beed33a816204cb402c69266475b6a60a2433ceb",
      "tree": "4eaa7e5a1ccf2960d1478774cdfcab671384accb",
      "parents": [
        "f33d9bd50478c9a969b65f58feb6b69a3ad478cb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 11 01:21:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:22 2006 -0700"
      },
      "message": "[PATCH] sched: likely profiling\n\nThis likely profiling is pretty fun. I found a few possible problems\nin sched.c.\n\nThis patch may be not measurable, but when I did measure long ago,\nnooping (un)likely cost a couple of % on scheduler heavy benchmarks, so\nit all adds up.\n\nTweak some branch hints:\n\n- the 2nd 64 bits in the bitmask is likely to be populated, because it\n  contains the first 28 bits (nearly 3/4) of the normal priorities.\n  (ratio of 669669:691 ~\u003d 1000:1).\n\n- it isn\u0027t unlikely that context switching switches to another process. it\n  might be very rapidly switching to and from the idle process (ratio of\n  475815:419004 and 471330:423544). Let the branch predictor decide.\n\n- preempt_enable seems to be very often called in a nested preempt_disable\n  or with interrupts disabled (ratio of 3567760:87965 ~\u003d 40:1)\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Hua Zhong \u003chzhong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce164428c4cabfd284ca81913415cacd889aac33",
      "tree": "ae4df00bc80285b03e755d615f41b4f96e5520ba",
      "parents": [
        "0feaece97795c4c775a3c732c045706eda28d0e5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 03 01:14:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:07 2006 -0700"
      },
      "message": "[PATCH] scheduler: NUMA aware placement of sched_group_allnodes\n\nWhen the per cpu sched domains are build then they also need to be placed\non the node where the cpu resides otherwise we will have frequent off node\naccesses which will slow down the system.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0feaece97795c4c775a3c732c045706eda28d0e5",
      "tree": "49c154f597b934478f145a8b9f032a450908d63e",
      "parents": [
        "89c4710ee9bbbefe6a4d469d9f36266a92c275c5"
      ],
      "author": {
        "name": "Satoru Takeuchi",
        "email": "takeuchi_satoru@jp.fujitsu.com",
        "time": "Tue Oct 03 01:14:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:07 2006 -0700"
      },
      "message": "[PATCH] sched: fixing wrong comment for find_idlest_cpu()\n\nFixing wrong comment for find_idlest_cpu().\n\nSigned-off-by: Satoru Takeuchi \u003ctakeuchi_satoru@jp.fujitsu.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89c4710ee9bbbefe6a4d469d9f36266a92c275c5",
      "tree": "f84fe28e48bbda210f01f22ae0065f7ed1fcc5e1",
      "parents": [
        "1a84887080dc15f048db7c3a643e98f1435790d6"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup sched_group cpu_power setup\n\nUp to now sched group\u0027s cpu_power for each sched domain is initialized\nindependently.  This made the setup code ugly as the new sched domains are\ngetting added.\n\nMake the sched group cpu_power setup code generic, by using domain child\nfield and new domain flag in sched_domain.  For most of the sched\ndomains(except NUMA), sched group\u0027s cpu_power is now computed generically\nusing the domain properties of itself and of the child domain.\n\nsched groups in NUMA domains are setup little differently and hence they\ndon\u0027t use this generic mechanism.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a84887080dc15f048db7c3a643e98f1435790d6",
      "tree": "7cd335fee247c0b60f8562c82806b49435b5fb9d",
      "parents": [
        "74732646431a1bb7e23e6b564127a8881cfef900"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: introduce child field in sched_domain\n\nIntroduce the child field in sched_domain struct and use it in\nsched_balance_self().\n\nWe will also use this field in cleaning up the sched group cpu_power\nsetup(done in a different patch) code.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74732646431a1bb7e23e6b564127a8881cfef900",
      "tree": "9237104dcced775ec6fa59c497d220d4a43b8c34",
      "parents": [
        "a616058b7815aafb2163fc795e02a055b0dbc5e2"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Oct 03 01:14:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: don\u0027t print migration cost when only 1 CPU\n\nIf only a single CPU is present, printing this doesn\u0027t make much sense.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a616058b7815aafb2163fc795e02a055b0dbc5e2",
      "tree": "80a98b76f410fd154195e4ee17d1a47f2e6482f6",
      "parents": [
        "5c1e176781f43bc902a51e5832f789756bff911b"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: remove unnecessary sched group allocations\n\nRemove dynamic sched group allocations for MC and SMP domains.  These\nallocations can easily fail on big systems(1024 or so CPUs) and we can live\nwith out these dynamic allocations.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c1e176781f43bc902a51e5832f789756bff911b",
      "tree": "d28ad2b40830eec152d94030b2f75777f26dd869",
      "parents": [
        "2c136efcf6f58d07512c4df83eb494597fe0d229"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 03 01:14:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: force /sbin/init off isolated cpus\n\nForce /sbin/init off isolated cpus (unless every CPU is specified as an\nisolcpu).\n\nUsers seem to think that the isolated CPUs shouldn\u0027t have much running on\nthem to begin with.  That\u0027s fair enough: intuitive, I guess.  It also means\nthat the cpu affinity masks of tasks will not include isolcpus by default,\nwhich is also more intuitive, perhaps.\n\n/sbin/init is spawned from the boot CPU\u0027s idle thread, and /sbin/init\nstarts the rest of userspace. So if the boot CPU is specified to be an\nisolcpu, then prior to this patch, all of userspace will be run there.\n\n(throw in a couple of plausible devinit -\u003e cpuinit conversions I spotted\nwhile we\u0027re here).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e16b38f71322efd8a221f64b6ddc0748d21d2e1a",
      "tree": "da1932ba711a23fbbdf09d8c8cc8dbb02b1190d1",
      "parents": [
        "0f532f3861d2c4e5aa7dcd33fb18e9975eb28457"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] cpumask: export cpu_online_map and cpu_possible_map consistently\n\ncpumask: ensure that the cpu_online_map and cpu_possible_map bitmasks, and\nhence all the macros in \u003clinux/cpumask.h\u003e that require them, are available to\nmodules for all supported combinations of architecture and CONFIG_SMP.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f0ab5147951267134612570604cf8341901a80c",
      "tree": "d394edb3ab69396128e7971136f05fd71d863ece",
      "parents": [
        "9acc1853519a0473620d424105f9d49ea5b4e62e"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: convert CONFIG tag for extended accounting routines\n\nThere were a few accounting data/macros that are used in CSA but are #ifdef\u0027ed\ninside CONFIG_BSD_PROCESS_ACCT.  This patch is to change those ifdef\u0027s from\nCONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT.  A few defines are moved from\nkernel/acct.c and include/linux/acct.h to kernel/tsacct.c and\ninclude/linux/tsacct_kern.h.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c394cc9fbb367f87faa2228ec2eabacd2d4701c6",
      "tree": "2177214ac92b3a7ac21cb2632786c9de728c3868",
      "parents": [
        "55a101f8f71a3d3dbda7b5c77083ffe47552f831"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:21 2006 -0700"
      },
      "message": "[PATCH] introduce TASK_DEAD state\n\nI am not sure about this patch, I am asking Ingo to take a decision.\n\ntask_struct-\u003estate \u003d\u003d EXIT_DEAD is a very special case, to avoid a confusion\nit makes sense to introduce a new state, TASK_DEAD, while EXIT_DEAD should\nlive only in -\u003eexit_state as documented in sched.h.\n\nNote that this state is not visible to user-space, get_task_state() masks off\nunsuitable states.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55a101f8f71a3d3dbda7b5c77083ffe47552f831",
      "tree": "52706df201efd82d09bed39562502b4caa357af4",
      "parents": [
        "29b884921634e1e01cbd276e1c9b8fc07a7e4a90"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] kill PF_DEAD flag\n\nAfter the previous change (-\u003eflags \u0026 PF_DEAD) \u003c\u003d\u003e (-\u003estate \u003d\u003d EXIT_DEAD), we\ndon\u0027t need PF_DEAD any longer.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "29b884921634e1e01cbd276e1c9b8fc07a7e4a90",
      "tree": "951fce8626715b1ad26ca81bec9002cfcb8242af",
      "parents": [
        "e8106b941ceab68cc5ff713df7b1276484554584"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:01:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] set EXIT_DEAD state in do_exit(), not in schedule()\n\nschedule() checks PF_DEAD on every context switch and sets -\u003estate \u003d EXIT_DEAD\nto ensure that the exiting task will be deactivated.  Note that this EXIT_DEAD\nis in fact a \"random\" value, we can use any bit except normal TASK_XXX values.\n\nIt is better to set this state in do_exit() along with PF_DEAD flag and remove\nthat check in schedule().\n\nWe are safe wrt concurrent try_to_wake_up() (for example ptrace, tkill), it\ncan not change task\u0027s -\u003estate: the \u0027state\u0027 argument of try_to_wake_up() can\u0027t\nhave EXIT_DEAD bit.  And in case when try_to_wake_up() sees a stale value of\n-\u003estate \u003d\u003d TASK_RUNNING it will do nothing.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dc3e9099e01dfdd53f27f329c268eced03dfef6",
      "tree": "c4a88aeabd5726185bf65c75cc52145d9dc33e43",
      "parents": [
        "57a6f51c4281aa3119975473c70dce0480d322bd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] sched_setscheduler: fix? policy checks\n\nI am not sure this patch is correct: I can\u0027t understand what the current\ncode does, and I don\u0027t know what it was supposed to do.\n\nThe comment says:\n\n\t\t * can\u0027t change policy, except between SCHED_NORMAL\n\t\t * and SCHED_BATCH:\n\nThe code:\n\n\t\tif (((policy !\u003d SCHED_NORMAL \u0026\u0026 p-\u003epolicy !\u003d SCHED_BATCH) \u0026\u0026\n\t\t\t(policy !\u003d SCHED_BATCH \u0026\u0026 p-\u003epolicy !\u003d SCHED_NORMAL)) \u0026\u0026\n\nBut this is equivalent to:\n\n\t\tif ( (is_rt_policy(policy) \u0026\u0026 has_rt_policy(p)) \u0026\u0026\n\nwhich means something different.  We can\u0027t _decrease_ the current\n-\u003ert_priority with such a check (if rlim[RLIMIT_RTPRIO] \u003d\u003d 0).\n\nProbably, it was supposed to be:\n\n\t\tif (\t!(policy \u003d\u003d SCHED_NORMAL \u0026\u0026 p-\u003epolicy \u003d\u003d SCHED_BATCH)  \u0026\u0026\n\t\t\t!(policy \u003d\u003d SCHED_BATCH  \u0026\u0026 p-\u003epolicy \u003d\u003d SCHED_NORMAL)\n\nthis matches the comment, but strange: it doesn\u0027t allow to _drop_ the\nrealtime priority when rlim[RLIMIT_RTPRIO] \u003d\u003d 0.\n\nI think the right check would be:\n\n\t\t/* can\u0027t set/change rt policy */\n\t\tif (is_rt_policy(policy) \u0026\u0026\n\t\t\t\tpolicy !\u003d p-\u003epolicy \u0026\u0026\n\t\t\t\t!rlim_rtprio)\n\t\t\treturn -EPERM;\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57a6f51c4281aa3119975473c70dce0480d322bd",
      "tree": "05d22c0c64fc9de38554b6aca24b021a81479975",
      "parents": [
        "5fe1d75f34974046fffcca5e22fb8a7b42fded33"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] introduce is_rt_policy() helper\n\nImho, makes the code a bit easier to read.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fe1d75f34974046fffcca5e22fb8a7b42fded33",
      "tree": "831e360aa8d7d37c7c5202937a2f617ebea6e737",
      "parents": [
        "c9472e0f28cd2f0695a0ac3a0b4bd33f21714a7e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Sep 29 02:00:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:17 2006 -0700"
      },
      "message": "[PATCH] do_sched_setscheduler(): don\u0027t take tasklist_lock\n\nUse rcu locks instead. sched_setscheduler() now takes -\u003esiglock\nbefore reading -\u003esignal-\u003erlim[].\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07dccf3344010f9b9df7fe725da7e73bca2992df",
      "tree": "696730ef4e1bf85a24eac84713921746f74c7c10",
      "parents": [
        "6c2d8b5dcad468cb0bdec3368b53383bde51e487"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Fri Sep 29 02:00:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:14 2006 -0700"
      },
      "message": "[PATCH] check return value of cpu_callback\n\nSpawing ksoftirqd, migration, or watchdog, and calling init_timers_cpu()\nmay fail with small memory.  If it happens in initcalls, kernel NULL\npointer dereference happens later.  This patch makes crash happen\nimmediately in such cases.  It seems a bit better than getting kernel NULL\npointer dereference later.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a2966b48fb784e437520e400ddc94874ddbd4e8",
      "tree": "1bb2a4d2c33aa9d60eb427b0b4bf189e65073caf",
      "parents": [
        "656ddf798dbe588217c97e58b9cfdfce649ebdc3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@sgi.com",
        "time": "Mon Sep 25 23:30:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:43 2006 -0700"
      },
      "message": "[PATCH] Fix longstanding load balancing bug in the scheduler\n\nThe scheduler will stop load balancing if the most busy processor contains\nprocesses pinned via processor affinity.\n\nThe scheduler currently only does one search for busiest cpu.  If it cannot\npull any tasks away from the busiest cpu because they were pinned then the\nscheduler goes into a corner and sulks leaving the idle processors idle.\n\nF.e.  If you have processor 0 busy running four tasks pinned via taskset,\nthere are none on processor 1 and one just started two processes on\nprocessor 2 then the scheduler will not move one of the two processes away\nfrom processor 2.\n\nThis patch fixes that issue by forcing the scheduler to come out of its\ncorner and retrying the load balancing by considering other processors for\nload balancing.\n\nThis patch was originally developed by John Hawkes and discussed at\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113901368523205\u0026w\u003d2.\n\nI have removed extraneous material and gone back to equipping struct rq\nwith the cpu the queue is associated with since this makes the patch much\neasier and it is likely that others in the future will have the same\ndifficulty of figuring out which processor owns which runqueue.\n\nThe overhead added through these patches is a single word on the stack if\nthe kernel is configured to support 32 cpus or less (32 bit).  For 32 bit\nenvironments the maximum number of cpus that can be configued is 255 which\nwould result in the use of 32 bytes additional on the stack.  On IA64 up to\n1k cpus can be configured which will result in the use of 128 additional\nbytes on the stack.  The maximum additional cache footprint is one\ncacheline.  Typically memory use will be much less than a cacheline and the\nadditional cpumask will be placed on the stack in a cacheline that already\ncontains other local variable.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: John Hawkes \u003chawkes@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8986c241dfd54d51c9eff967129a550ae230144",
      "tree": "62f9a9739a2119024ad7bef7c26498bd332904b5",
      "parents": [
        "cb3e0fe3a5dabdc5eda50b825acb23bdfa2d1d55"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Aug 27 01:23:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:29 2006 -0700"
      },
      "message": "[PATCH] revert \"Drop tasklist lock in do_sched_setscheduler\"\n\nsched_setscheduler() looks at -\u003esignal-\u003erlim[].  It is unsafe do\ndereference -\u003esignal unless tasklist_lock or -\u003esiglock is held (or p \u003d\u003d\ncurrent).  We pin the task structure, but this can\u0027t prevent from\nrelease_task()-\u003e__exit_signal() which sets -\u003esignal \u003d NULL.\n\nRestore tasklist_lock across the setscheduler call.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b50f60ceeef2e38e529737c0260d9543939915ad",
      "tree": "608880dd1c9d1751eceea9f21f7f1d2898ea917f",
      "parents": [
        "a04b61d3dc68857dcc81a5761268c96056742fb2"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jul 30 03:03:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:41 2006 -0700"
      },
      "message": "[PATCH] pi-futex: missing pi_waiters plist initialization\n\nInitialize init task\u0027s pi_waiters plist.  Otherwise cpu hotplug of cpu 0\nmight crash, since rt_mutex_getprio() accesses an uninitialized list head.\n\ncall chain which led to crash:\n\ntake_cpu_down\nsched_idle_next\n__setscheduler\nrt_mutex_getprio\n\nUsing PLIST_HEAD_INIT in the INIT_TASK macro doesn\u0027t work unfortunately,\nsince the pi_waiters member is only conditionally present.\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d7d253548cffdce80f4e03664686e9ccb1b0ed7",
      "tree": "08771f36c2506e39f9adfc0bb09e4a574ce196dd",
      "parents": [
        "6ea24f9ad18c65cc179593b5cc2a88cdadf8cc0c"
      ],
      "author": {
        "name": "Jim Houston",
        "email": "jim.houston@ccur.com",
        "time": "Sun Jul 30 03:03:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:40 2006 -0700"
      },
      "message": "[PATCH] fix cond_resched() fix\n\nIn cond_resched_lock() it calls __resched_legal() before dropping the spin\nlock.  __resched_legal() will always finds the preempt_count non-zero and\nwill prevent the call to __cond_resched().\n\nThe attached patch adds a parameter to __resched_legal() with the expected\npreempt_count value.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f712c0c7e1796f92e45e4de144e247816d974b8f",
      "tree": "eb830b95b462b09f1263ce004e28b724bbbf2eff",
      "parents": [
        "b6ff50833ad43a8ebd9b16bf53c334f7aaf33c41"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sun Jul 30 03:02:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:36 2006 -0700"
      },
      "message": "[PATCH] sched: build_sched_domains() fix\n\nUse the correct groups while initializing sched groups power for\nallnodes_domain.  This fixes the crash observed while creating exclusive\ncpusets.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nReported-and-tested-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52f17b6c2bd443e7806a161e9d10a983650db01d",
      "tree": "67f9a8964a3ac78091cefcd7baf8935175a0a003",
      "parents": [
        "0ff922452df86f3e9a2c6f705c4588ec62d096a7"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Fri Jul 14 00:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:56 2006 -0700"
      },
      "message": "[PATCH] per-task-delay-accounting: cpu delay collection via schedstats\n\nMake the task-related schedstats functions callable by delay accounting even\nif schedstats collection isn\u0027t turned on.  This removes the dependency of\ndelay accounting on schedstats.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nCc: Erich Focht \u003cefocht@ess.nec.de\u003e\nCc: Levent Serinol \u003clserinol@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ff922452df86f3e9a2c6f705c4588ec62d096a7",
      "tree": "ac84041bfb63f12d0e2db733c46b2cd2438b4882",
      "parents": [
        "ca74e92b4698276b6696f15a801759f50944f387"
      ],
      "author": {
        "name": "Shailabh Nagar",
        "email": "nagar@watson.ibm.com",
        "time": "Fri Jul 14 00:24:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:56 2006 -0700"
      },
      "message": "[PATCH] per-task-delay-accounting: sync block I/O and swapin delay collection\n\nUnlike earlier iterations of the delay accounting patches, now delays are only\ncollected for the actual I/O waits rather than try and cover the delays seen\nin I/O submission paths.\n\nAccount separately for block I/O delays incurred as a result of swapin page\nfaults whose frequency can be affected by the task/process\u0027 rss limit.  Hence\nswapin delays can act as feedback for rss limit changes independent of I/O\npriority changes.\n\nSigned-off-by: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\u003e\nCc: Erich Focht \u003cefocht@ess.nec.de\u003e\nCc: Levent Serinol \u003clserinol@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a5f5e488ceee9e08df3dff3f01b12fafc9e7e68",
      "tree": "12ebd936831e797780b9cf716cc7aaf337b25141",
      "parents": [
        "2e8f7a3128bb8fac8351a994f1fc325717899308"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 14 00:24:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:55 2006 -0700"
      },
      "message": "[PATCH] lockdep: core, fix rq-lock handling on __ARCH_WANT_UNLOCKED_CTXSW\n\nOn platforms that have __ARCH_WANT_UNLOCKED_CTXSW set and want to implement\nlock validator support there\u0027s a bug in rq-\u003elock handling: in this case we\ndont \u0027carry over\u0027 the runqueue lock into another task - but still we did a\nspinlock_release() of it.  Fix this by making the spinlock_release() in\ncontext_switch() dependent on !__ARCH_WANT_UNLOCKED_CTXSW.\n\n(Reported by Ralf Baechle on MIPS, which has __ARCH_WANT_UNLOCKED_CTXSW.\nThis fixes a lockdep-internal BUG message on such platforms.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ed6e34f88a0d896a6f889b00693cae0fadacfd0",
      "tree": "1f1d488c62fe577fca19fea9bec3f8567faf7a10",
      "parents": [
        "0a565f7919cfb3d3df2c97d45751cbb83d858f97"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@rhlx01.fht-esslingen.de",
        "time": "Mon Jul 10 04:43:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:13 2006 -0700"
      },
      "message": "[PATCH] small kernel/sched.c cleanup\n\n- constify and optimize stat_nam (thanks to Michael Tokarev!)\n- spelling and comment fixes\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a565f7919cfb3d3df2c97d45751cbb83d858f97",
      "tree": "cc1294f43b1e14dbc5a69a9624b69a48eec78bd1",
      "parents": [
        "e45b3b6af09dab2a28a7c88b340d0bcdd173e068"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Mon Jul 10 04:43:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:13 2006 -0700"
      },
      "message": "[PATCH] sched: fix bug in __migrate_task()\n\nProblem:\n\nIn the function __migrate_task(), deactivate_task() followed by\nactivate_task() is used to move the task from one run queue to\nanother.  This has two undesirable effects:\n\n1. The task\u0027s priority is recalculated. (Nowhere else in the\nscheduler code is the priority recalculated for a change of CPU.)\n\n2. The task\u0027s time stamp is set to the current time.  At the very least,\nthis makes the adjustment of the time stamp before the call to\ndeactivate_task() redundant but I believe the problem is more serious\nas the time stamp now holds the time of the queue change instead of\nthe time at which the task was woken.  In addition, unless dest_rq is\nthe same queue as \"current\" is on the time stamp could be inaccurate\ndue to inter CPU drift.\n\nSolution:\n\nReplace the call to activate_task() with one to __activate_task().\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70b97a7f0b19cf1f2619deb5cc41e8b78c591aa7",
      "tree": "619683f95396f26048c1818735818d53a3c0233e",
      "parents": [
        "36c8b586896f60cb91a4fd526233190b34316baf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:11 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup, convert sched.c-internal typedefs to struct\n\nconvert:\n\n - runqueue_t to \u0027struct rq\u0027\n - prio_array_t to \u0027struct prio_array\u0027\n - migration_req_t to \u0027struct migration_req\u0027\n\nI was the one who added these but they are both against the kernel coding\nstyle and also were used inconsistently at places.  So just get rid of them at\nonce, now that we are flushing the scheduler patch-queue anyway.\n\nConversion was mostly scripted, the result was reviewed and all secondary\nwhitespace and style impact (if any) was fixed up by hand.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36c8b586896f60cb91a4fd526233190b34316baf",
      "tree": "003246e1e676de33703daa979b3e3109ca202a89",
      "parents": [
        "48f24c4da1ee7f3f22289cb85e8b8a73e4df4db5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:11 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup, remove task_t, convert to struct task_struct\n\ncleanup: remove task_t and convert all the uses to struct task_struct. I\nintroduced it for the scheduler anno and it was a mistake.\n\nConversion was mostly scripted, the result was reviewed and all\nsecondary whitespace and style impact (if any) was fixed up by hand.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48f24c4da1ee7f3f22289cb85e8b8a73e4df4db5",
      "tree": "c827ac2ad2bba931753b8213123f059bcf773534",
      "parents": [
        "829035fd709119d9def124a6d40b94d317573e6f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:10 2006 -0700"
      },
      "message": "[PATCH] sched: clean up fallout of recent changes\n\nClean up some of the impact of recent (and not so recent) scheduler\nchanges:\n\n - turning macros into nice inline functions\n - sanitizing and unifying variable definitions\n - whitespace, style consistency, 80-lines, comment correctness, spelling\n   and curly braces police\n\nDue to the macro hell and variable placement simplifications there\u0027s even 26\nbytes of .text saved:\n\n   text    data     bss     dec     hex filename\n  25510    4153     192   29855    749f sched.o.before\n  25484    4153     192   29829    7485 sched.o.after\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fcb993712f231a4faea8393513d1276170679107",
      "tree": "c92cf94cd5e705192c69b3cb712e4b6c8346f477",
      "parents": [
        "d730e882a15c38de02b63a063be636b2ff9e9ed1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:07 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate scheduler runqueue locks\n\nTeach per-CPU runqueue locks and recursive locking code to the lock validator.\n Has no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a25d5debff2daee280e83e09d8c25d67c26a972",
      "tree": "3bccfef9acb66fc62863bfd6c16493c5e8c8e394",
      "parents": [
        "4ea2176dfa714882e88180b474e4cbcd888b70af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove spinlock rwlock locking correctness\n\nUse the lock validator framework to prove spinlock and rwlock locking\ncorrectness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de30a2b355ea85350ca2f58f3b9bf4e5bc007986",
      "tree": "0bef670aff65614b3c78ca13b20307355b8221d5",
      "parents": [
        "5bdc9b447c0076f494a56fdcd93ee8c5e78a2afd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: irqtrace subsystem, core\n\nAccurate hard-IRQ-flags and softirq-flags state tracing.\n\nThis allows us to attach extra functionality to IRQ flags on/off\nevents (such as trace-on/off).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7b384043e27bed4f23b108481b99c518dd01a01",
      "tree": "52f944bf39d3a7b329f4e38d619d7949e35510a0",
      "parents": [
        "92fe15a3d24fa53e7e961c549c488d0bb642d895"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 30 01:56:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:38 2006 -0700"
      },
      "message": "[PATCH] cond_resched() fix\n\nFix a bug identified by Zou Nan hai \u003cnanhai.zou@intel.com\u003e:\n\nIf the system is in state SYSTEM_BOOTING, and need_resched() is true,\ncond_resched() returns true even though it didn\u0027t reschedule.  Consequently\nneed_resched() remains true and JBD locks up.\n\nFix that by teaching cond_resched() to only return true if it really did call\nschedule().\n\ncond_resched_lock() and cond_resched_softirq() have a problem too.  If we\u0027re\nin SYSTEM_BOOTING state and need_resched() is true, these functions will drop\nthe lock and will then try to call schedule(), but the SYSTEM_BOOTING state\nwill prevent schedule() from being called.  So on return, need_resched() will\nstill be true, but cond_resched_lock() has to return 1 to tell the caller that\nthe lock was dropped.  The caller will probably lock up.\n\nBottom line: if these functions dropped the lock, they _must_ call schedule()\nto clear need_resched().   Make it so.\n\nAlso, uninline __cond_resched().  It\u0027s largeish, and slowpath.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95e02ca9bb5324360e7dea1ea1c563036d84a5e6",
      "tree": "0336dd808abe113b42f53a8f700d50ea6ba674ff",
      "parents": [
        "0bafd214e4ba55dc1fb81a3031d0249292f1bc05"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] rtmutex: Propagate priority settings into PI lock chains\n\nWhen the priority of a task, which is blocked on a lock, changes we must\npropagate this change into the PI lock chain.  Therefor the chain walk code\nis changed to get rid of the references to current to avoid false positives\nin the deadlock detector, as setscheduler might be called by a task which\nholds the lock on which the task whose priority is changed is blocked.\n\nAlso add some comments about the get/put_task_struct usage to avoid\nconfusion.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e74c69f46d93d29eea0ad8647863d1c6488f0f55",
      "tree": "5537d5a60eec3985de11cad4476ed95025051721",
      "parents": [
        "a1583d3e83cae1c58870602efc6328c34b644c01"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] Drop tasklist lock in do_sched_setscheduler\n\nThere is no need to hold tasklist_lock across the setscheduler call, when\nwe pin the task structure with get_task_struct().  Interrupts are disabled\nin setscheduler anyway and the permission checks do not need interrupts\ndisabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b29739f902ee76a05493fb7d2303490fc75364f4",
      "tree": "1bf48dfb74752a7ef24a2a4a74c45da0aaec754b",
      "parents": [
        "77ba89c5cf28d5d98a3cae17f67a3e42b102cc25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: scheduler support for pi\n\nAdd framework to boost/unboost the priority of RT tasks.\n\nThis consists of:\n\n - caching the \u0027normal\u0027 priority in -\u003enormal_prio\n - providing a functions to set/get the priority of the task\n - make sched_setscheduler() aware of boosting\n\nThe effective_prio() cleanups also fix a priority-calculation bug pointed out\nby Andrey Gelman, in set_user_nice().\n\nhas_rt_policy() fix: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrey Gelman \u003cagelman@012.net.il\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66e5393a78b3fcca63e7748e38221dcca61c4aab",
      "tree": "57c5408e8e5596863f4abbe1c822bb0c1c7ff059",
      "parents": [
        "9fea80e4d984d411aa188baa31225c273ebe0fe6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] BUG() if setscheduler is called from interrupt context\n\nThomas Gleixner is adding the call to a rtmutex function in setscheduler.\nThis call grabs a spin_lock that is not always protected by interrupts\ndisabled.  So this means that setscheduler cant be called from interrupt\ncontext.\n\nTo prevent this from happening in the future, this patch adds a\nBUG_ON(in_interrupt()) in that function.  (Thanks to akpm \u003caka.  Andrew\nMorton\u003e for this suggestion).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9fea80e4d984d411aa188baa31225c273ebe0fe6",
      "tree": "da48ffcb1b5a502d72645e55ade9c6588e784cd4",
      "parents": [
        "5c45bf279d378d436ce45825c0f136696c7b6109"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: uninline task_rq_lock()\n\nSaves 543 bytes from sched.o (gcc 3.3.3).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c45bf279d378d436ce45825c0f136696c7b6109",
      "tree": "80e2fcf4866b84fccb787562e1a83b16f4bc8850",
      "parents": [
        "369381694ddcf03f1de403501c8b97099b5109ec"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: mc/smt power savings sched policy\n\nsysfs entries \u0027sched_mc_power_savings\u0027 and \u0027sched_smt_power_savings\u0027 in\n/sys/devices/system/cpu/ control the MC/SMT power savings policy for the\nscheduler.\n\nBased on the values (1-enable, 0-disable) for these controls, sched groups\ncpu power will be determined for different domains.  When power savings\npolicy is enabled and under light load conditions, scheduler will minimize\nthe physical packages/cpu cores carrying the load and thus conserving\npower(with a perf impact based on the workload characteristics...  see OLS\n2005 CMP kernel scheduler paper for more details..)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "369381694ddcf03f1de403501c8b97099b5109ec",
      "tree": "3945620740cc1687c8487356bf4be90394695702",
      "parents": [
        "15f0b676a482fb4067cfe25de417c417dda3440a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Allocate sched_group structures dynamically\n\nAs explained here:\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114327539012323\u0026w\u003d2\n\nthere is a problem with sharing sched_group structures between two\nseparate sched_group structures for different sched_domains.\n\nThe patch has been tested and found to avoid the kernel lockup problem\ndescribed in above URL.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15f0b676a482fb4067cfe25de417c417dda3440a",
      "tree": "29426196953a41d9cca0d81d501e76514ce820b2",
      "parents": [
        "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Use kmalloc_node\n\nThe sched group structures used to represent various nodes need to be\nallocated from respective nodes (as suggested here also:\n\n\thttp://uwsg.ucs.indiana.edu/hypermail/linux/kernel/0603.3/0051.html)\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a",
      "tree": "2d753b1cfacdfe399aaa39c30d5f94623bc728e4",
      "parents": [
        "51888ca25a03125e742ef84d4ddfd74e139707a0"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Don\u0027t use GFP_ATOMIC\n\nReplace GFP_ATOMIC allocation for sched_group_nodes with GFP_KERNEL based\nallocation.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51888ca25a03125e742ef84d4ddfd74e139707a0",
      "tree": "b15e50f3b67f6e2b94b783fce603d4a1f54a8189",
      "parents": [
        "615052dc3bf96278a843a64d3d1eea03532028c3"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domain: handle kmalloc failure\n\nTry to handle mem allocation failures in build_sched_domains by bailing out\nand cleaning up thus-far allocated memory.  The patch has a direct consequence\nthat we disable load balancing completely (even at sibling level) upon *any*\nmemory allocation failure.\n\n[Lee.Schermerhorn@hp.com: bugfix]\nSigned-off-by: Srivatsa Vaddagir \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "615052dc3bf96278a843a64d3d1eea03532028c3",
      "tree": "e7d5c61bd244e5fbde4ada9ae2ef1ebe7923fb53",
      "parents": [
        "50ddd96917e4548b3813bfb5dd6f97f052b652bd"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: Avoid unnecessarily moving highest priority task move_tasks()\n\nProblem:\n\nTo help distribute high priority tasks evenly across the available CPUs\nmove_tasks() does not, under some circumstances, skip tasks whose load\nweight is bigger than the designated amount.  Because the highest priority\ntask on the busiest queue may be on the expired array it may be moved as a\nresult of this mechanism.  Apart from not being the most desirable way to\nredistribute the high priority tasks (we\u0027d rather move the second highest\npriority task), there is a risk that this could set up a loop with this\ntask bouncing backwards and forwards between the two queues.  (This latter\npossibility can be demonstrated by running a nice\u003d\u003d-20 CPU bound task on an\notherwise quiet 2 CPU system.)\n\nSolution:\n\nModify the mechanism so that it does not override skip for the highest\npriority task on the CPU.  Of course, if there are more than one tasks at\nthe highest priority then it will allow the override for one of them as\nthis is a desirable redistribution of high priority tasks.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50ddd96917e4548b3813bfb5dd6f97f052b652bd",
      "tree": "f8e62672b35ebdefee048e042a54e8ceaeab0cf0",
      "parents": [
        "2dd73a4f09beacadde827a032cf15fd8b1fa3d48"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: modify move_tasks() to improve load balancing outcomes\n\nProblem:\n\nThe move_tasks() function is designed to move UP TO the amount of load it\nis asked to move and in doing this it skips over tasks looking for ones\nwhose load weights are less than or equal to the remaining load to be\nmoved.  This is (in general) a good thing but it has the unfortunate result\nof breaking one of the original load balancer\u0027s good points: namely, that\n(within the limits imposed by the active/expired array model and the fact\nthe expired is processed first) it moves high priority tasks before low\npriority ones and this means there\u0027s a good chance (see active/expired\nproblem for why it\u0027s only a chance) that the highest priority task on the\nqueue but not actually on the CPU will be moved to the other CPU where (as\na high priority task) it may preempt the current task.\n\nSolution:\n\nModify move_tasks() so that high priority tasks are not skipped when moving\nthem will make them the highest priority task on their new run queue.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dd73a4f09beacadde827a032cf15fd8b1fa3d48",
      "tree": "f81752d44e68240231518d6a3f05ac9ff6410a2d",
      "parents": [
        "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: implement smpnice\n\nProblem:\n\nThe introduction of separate run queues per CPU has brought with it \"nice\"\nenforcement problems that are best described by a simple example.\n\nFor the sake of argument suppose that on a single CPU machine with a\nnice\u003d\u003d19 hard spinner and a nice\u003d\u003d0 hard spinner running that the nice\u003d\u003d0\ntask gets 95% of the CPU and the nice\u003d\u003d19 task gets 5% of the CPU.  Now\nsuppose that there is a system with 2 CPUs and 2 nice\u003d\u003d19 hard spinners and\n2 nice\u003d\u003d0 hard spinners running.  The user of this system would be entitled\nto expect that the nice\u003d\u003d0 tasks each get 95% of a CPU and the nice\u003d\u003d19\ntasks only get 5% each.  However, whether this expectation is met is pretty\nmuch down to luck as there are four equally likely distributions of the\ntasks to the CPUs that the load balancing code will consider to be balanced\nwith loads of 2.0 for each CPU.  Two of these distributions involve one\nnice\u003d\u003d0 and one nice\u003d\u003d19 task per CPU and in these circumstances the users\nexpectations will be met.  The other two distributions both involve both\nnice\u003d\u003d0 tasks being on one CPU and both nice\u003d\u003d19 being on the other CPU and\neach task will get 50% of a CPU and the user\u0027s expectations will not be\nmet.\n\nSolution:\n\nThe solution to this problem that is implemented in the attached patch is\nto use weighted loads when determining if the system is balanced and, when\nan imbalance is detected, to move an amount of weighted load between run\nqueues (as opposed to a number of tasks) to restore the balance.  Once\nagain, the easiest way to explain why both of these measures are necessary\nis to use a simple example.  Suppose that (in a slight variation of the\nabove example) that we have a two CPU system with 4 nice\u003d\u003d0 and 4 nice\u003d19\nhard spinning tasks running and that the 4 nice\u003d\u003d0 tasks are on one CPU and\nthe 4 nice\u003d\u003d19 tasks are on the other CPU.  The weighted loads for the two\nCPUs would be 4.0 and 0.2 respectively and the load balancing code would\nmove 2 tasks resulting in one CPU with a load of 2.0 and the other with\nload of 2.2.  If this was considered to be a big enough imbalance to\njustify moving a task and that task was moved using the current\nmove_tasks() then it would move the highest priority task that it found and\nthis would result in one CPU with a load of 3.0 and the other with a load\nof 1.2 which would result in the movement of a task in the opposite\ndirection and so on -- infinite loop.  If, on the other hand, an amount of\nload to be moved is calculated from the imbalance (in this case 0.1) and\nmove_tasks() skips tasks until it find ones whose contributions to the\nweighted load are less than this amount it would move two of the nice\u003d\u003d19\ntasks resulting in a system with 2 nice\u003d\u003d0 and 2 nice\u003d19 on each CPU with\nloads of 2.1 for each CPU.\n\nOne of the advantages of this mechanism is that on a system where all tasks\nhave nice\u003d\u003d0 the load balancing calculations would be mathematically\nidentical to the current load balancing code.\n\nNotes:\n\nstruct task_struct:\n\nhas a new field load_weight which (in a trade off of space for speed)\nstores the contribution that this task makes to a CPU\u0027s weighted load when\nit is runnable.\n\nstruct runqueue:\n\nhas a new field raw_weighted_load which is the sum of the load_weight\nvalues for the currently runnable tasks on this run queue.  This field\nalways needs to be updated when nr_running is updated so two new inline\nfunctions inc_nr_running() and dec_nr_running() have been created to make\nsure that this happens.  This also offers a convenient way to optimize away\nthis part of the smpnice mechanism when CONFIG_SMP is not defined.\n\nint try_to_wake_up():\n\nin this function the value SCHED_LOAD_BALANCE is used to represent the load\ncontribution of a single task in various calculations in the code that\ndecides which CPU to put the waking task on.  While this would be a valid\non a system where the nice values for the runnable tasks were distributed\nevenly around zero it will lead to anomalous load balancing if the\ndistribution is skewed in either direction.  To overcome this problem\nSCHED_LOAD_SCALE has been replaced by the load_weight for the relevant task\nor by the average load_weight per task for the queue in question (as\nappropriate).\n\nint move_tasks():\n\nThe modifications to this function were complicated by the fact that\nactive_load_balance() uses it to move exactly one task without checking\nwhether an imbalance actually exists.  This precluded the simple\noverloading of max_nr_move with max_load_move and necessitated the addition\nof the latter as an extra argument to the function.  The internal\nimplementation is then modified to move up to max_nr_move tasks and\nmax_load_move of weighted load.  This slightly complicates the code where\nmove_tasks() is called and if ever active_load_balance() is changed to not\nuse move_tasks() the implementation of move_tasks() should be simplified\naccordingly.\n\nstruct sched_group *find_busiest_group():\n\nSimilar to try_to_wake_up(), there are places in this function where\nSCHED_LOAD_SCALE is used to represent the load contribution of a single\ntask and the same issues are created.  A similar solution is adopted except\nthat it is now the average per task contribution to a group\u0027s load (as\nopposed to a run queue) that is required.  As this value is not directly\navailable from the group it is calculated on the fly as the queues in the\ngroups are visited when determining the busiest group.\n\nA key change to this function is that it is no longer to scale down\n*imbalance on exit as move_tasks() uses the load in its scaled form.\n\nvoid set_user_nice():\n\nhas been modified to update the task\u0027s load_weight field when it\u0027s nice\nvalue and also to ensure that its run queue\u0027s raw_weighted_load field is\nupdated if it was runnable.\n\nFrom: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\n\nWith smpnice, sched groups with highest priority tasks can mask the imbalance\nbetween the other sched groups with in the same domain.  This patch fixes some\nof the listed down scenarios by not considering the sched groups which are\nlightly loaded.\n\na) on a simple 4-way MP system, if we have one high priority and 4 normal\n   priority tasks, with smpnice we would like to see the high priority task\n   scheduled on one cpu, two other cpus getting one normal task each and the\n   fourth cpu getting the remaining two normal tasks.  but with current\n   smpnice extra normal priority task keeps jumping from one cpu to another\n   cpu having the normal priority task.  This is because of the\n   busiest_has_loaded_cpus, nr_loaded_cpus logic..  We are not including the\n   cpu with high priority task in max_load calculations but including that in\n   total and avg_load calcuations..  leading to max_load \u003c avg_load and load\n   balance between cpus running normal priority tasks(2 Vs 1) will always show\n   imbalanace as one normal priority and the extra normal priority task will\n   keep moving from one cpu to another cpu having normal priority task..\n\nb) 4-way system with HT (8 logical processors).  Package-P0 T0 has a\n   highest priority task, T1 is idle.  Package-P1 Both T0 and T1 have 1 normal\n   priority task each..  P2 and P3 are idle.  With this patch, one of the\n   normal priority tasks on P1 will be moved to P2 or P3..\n\nc) With the current weighted smp nice calculations, it doesn\u0027t always make\n   sense to look at the highest weighted runqueue in the busy group..\n   Consider a load balance scenario on a DP with HT system, with Package-0\n   containing one high priority and one low priority, Package-1 containing one\n   low priority(with other thread being idle)..  Package-1 thinks that it need\n   to take the low priority thread from Package-0.  And find_busiest_queue()\n   returns the cpu thread with highest priority task..  And ultimately(with\n   help of active load balance) we move high priority task to Package-1.  And\n   same continues with Package-0 now, moving high priority task from package-1\n   to package-0..  Even without the presence of active load balance, load\n   balance will fail to balance the above scenario..  Fix find_busiest_queue\n   to use \"imbalance\" when it is lightly loaded.\n\n[kernel@kolivas.org: sched: store weighted load on up]\n[kernel@kolivas.org: sched: add discrete weighted cpu load function]\n[suresh.b.siddha@intel.com: sched: remove dead code]\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3",
      "tree": "1134d7ccda13c09cf426af0524c13633292eac5b",
      "parents": [
        "cc94abfcbc9fed0048365ce1fb8dc81353408bf8"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Tue Jun 27 02:54:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: CPU hotplug race vs. set_cpus_allowed()\n\nThere is a race between set_cpus_allowed() and move_task_off_dead_cpu().\n__migrate_task() doesn\u0027t report any err code, so task can be left on its\nrunqueue if its cpus_allowed mask changed so that dest_cpu is not longer a\npossible target.  Also, chaning cpus_allowed mask requires rq-\u003elock being\nheld.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nAcked-By: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc94abfcbc9fed0048365ce1fb8dc81353408bf8",
      "tree": "d7e40f7a9e710f220f1bf5f7514ac7eba2fc70c2",
      "parents": [
        "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] unnecessary long index i in sched\n\nUnless we expect to have more than 2G CPUs, there\u0027s no reason to have \u0027i\u0027\nas a long long here.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc",
      "tree": "2a0b00a32a810b76ff29bde7d269998561408f8b",
      "parents": [
        "d444886e149a8413159da8b43ada2bc287e69b0c"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Tue Jun 27 02:54:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix interactive ceiling code\n\nThe relationship between INTERACTIVE_SLEEP and the ceiling is not perfect\nand not explicit enough.  The sleep boost is not supposed to be any larger\nthan without this code and the comment is not clear enough about what\nexactly it does, just the reason it does it.  Fix it.\n\nThere is a ceiling to the priority beyond which tasks that only ever sleep\nfor very long periods cannot surpass.  Fix it.\n\nPrevent the on-runqueue bonus logic from defeating the idle sleep logic.\n\nOpportunity to micro-optimise.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d444886e149a8413159da8b43ada2bc287e69b0c",
      "tree": "aa977a3b4e2a045df964b5ca2a9cddf50f978b85",
      "parents": [
        "c96d145e71c5c84601322d85748512e09d7b325f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: simplify bitmap definition\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c96d145e71c5c84601322d85748512e09d7b325f",
      "tree": "4762f8aa4c970295a33afbc4ee506c72d7216073",
      "parents": [
        "7a8e2a5ea4cf43c0edd6db56a156549edb0eee98"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Tue Jun 27 02:54:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix smt nice lock contention and optimization\n\nInitial report and lock contention fix from Chris Mason:\n\nRecent benchmarks showed some performance regressions between 2.6.16 and\n2.6.5.  We tracked down one of the regressions to lock contention in\nschedule heavy workloads (~70,000 context switches per second)\n\nkernel/sched.c:dependent_sleeper() was responsible for most of the lock\ncontention, hammering on the run queue locks.  The patch below is more of a\ndiscussion point than a suggested fix (although it does reduce lock\ncontention significantly).  The dependent_sleeper code looks very expensive\nto me, especially for using a spinlock to bounce control between two\ndifferent siblings in the same cpu.\n\nIt is further optimized:\n\n* perform dependent_sleeper check after next task is determined\n* convert wake_sleeping_dependent to use trylock\n* skip smt runqueue check if trylock fails\n* optimize double_rq_lock now that smt nice is converted to trylock\n* early exit in searching first SD_SHARE_CPUPOWER domain\n* speedup fast path of dependent_sleeper\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Chris Mason \u003cmason@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "26c2143b63b8078d08d562733716de142927e17a",
      "tree": "6a2add2bca5bffbd33a0465fd934fffa34a695e9",
      "parents": [
        "74b85f3790aa2550c617fe14439482e13e615fa0"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: make cpu_notifier related notifier calls __cpuinit only\n\nMake notifier_calls associated with cpu_notifier as __cpuinit.\n\n__cpuinit makes sure that the function is init time only unless\nCONFIG_HOTPLUG_CPU is defined.\n\n[akpm@osdl.org: section fix]\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "054cc8a2d808822dadf488a61729e3e550f114c4",
      "tree": "da7e5ecce06d1898263da9b47714b0b0fa972397",
      "parents": [
        "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert initdata patch submitted for 2.6.17\n\nThis patch reverts notifier_block changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81a07d7588d376c530d006e24d7981304ce96e16",
      "tree": "1608e094c88b9702c86cf2e6f65339aab9ea3f3f",
      "parents": [
        "8871e73fdbde07d0a41393f7ee30787b65387b36",
        "8501a2fbe762b21d2504ed3aca3b52be61b5e6e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "message": "Merge branch \u0027x86-64\u0027\n\n* x86-64: (83 commits)\n  [PATCH] x86_64: x86_64 stack usage debugging\n  [PATCH] x86_64: (resend) x86_64 stack overflow debugging\n  [PATCH] x86_64: msi_apic.c build fix\n  [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs\n  [PATCH] x86_64: Avoid broadcasting NMI IPIs\n  [PATCH] x86_64: fix apic error on bootup\n  [PATCH] x86_64: enlarge window for stack growth\n  [PATCH] x86_64: Minor string functions optimizations\n  [PATCH] x86_64: Move export symbols to their C functions\n  [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR\n  [PATCH] x86_64: Fix modular pc speaker\n  [PATCH] x86_64: remove sys32_ni_syscall()\n  [PATCH] x86_64: Do not use -ffunction-sections for modules\n  [PATCH] x86_64: Add cpu_relax to apic_wait_icr_idle\n  [PATCH] x86_64: adjust kstack_depth_to_print default\n  [PATCH] i386/x86-64: adjust /proc/interrupts column headings\n  [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels\n  [PATCH] x86_64: Fix fast check in safe_smp_processor_id\n  [PATCH] x86_64: x86_64 setup.c - printing cmp related boottime information\n  [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status\n  ...\n\nManual resolve of trivial conflict in arch/i386/kernel/Makefile\n"
    },
    {
      "commit": "495ab9c045e1b0e5c82951b762257fe1c9d81564",
      "tree": "f95c376015d340794f64f36fd52f8fa80a1daab7",
      "parents": [
        "d9005b52de7bc9b20afa93e06d3e15843bafc12f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 26 13:59:11 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:21 2006 -0700"
      },
      "message": "[PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status\n\nDuring some profiling I noticed that default_idle causes a lot of\nmemory traffic. I think that is caused by the atomic operations\nto clear/set the polling flag in thread_info. There is actually\nno reason to make this atomic - only the idle thread does it\nto itself, other CPUs only read it. So I moved it into ti-\u003estatus.\n\nConverted i386/x86-64/ia64 for now because that was the easiest\nway to fix ACPI which also manipulates these flags in its idle\nfunction.\n\nCc: Nick Piggin \u003cnpiggin@novell.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b78709cfd4387c15a9894748bcada8a4ca75c561",
      "tree": "999f5beae5983280fa1c3d98cefb47ee4a95d83b",
      "parents": [
        "2139a7fbf3effd8cad505871e3a3c308780ada32"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Mon Jun 26 16:58:00 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:02:41 2006 -0700"
      },
      "message": "[PATCH] sched: fix SCHED_FIFO bug in sys_sched_rr_get_interval()\n\nThe introduction of SCHED_BATCH scheduling class with a value of 3 means\nthat the expression (p-\u003epolicy \u0026 SCHED_FIFO) will return true if policy\nis SCHED_BATCH or SCHED_FIFO.\n\nUnfortunately, this expression is used in sys_sched_rr_get_interval()\nand in the absence of a comment to say that this is intentional I\npresume that it is unintentional and erroneous.\n\nThe fix is to change the expression to (p-\u003epolicy \u003d\u003d SCHED_FIFO).\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc75cdfa5b43ac4d3232b490800cd35063adafd3",
      "tree": "0529ffd9633667457d5340a09b3cb352d09436d2",
      "parents": [
        "04a3446c90137a473837288b04b517b19dc67a0d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jun 25 05:49:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: fix CPU_UP_CANCEL handling\n\nIf a cpu hotplug callback fails on CPU_UP_PREPARE, all callbacks will be\ncalled with CPU_UP_CANCELED.  A few of these callbacks assume that on\nCPU_UP_PREPARE a pointer to task has been stored in a percpu array.  This\nassumption is not true if CPU_UP_PREPARE fails and the following calls to\nkthread_bind() in CPU_UP_CANCELED will cause an addressing exception\nbecause of passing a NULL pointer.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e0a43d8fa953179505869ec28de78550246e795",
      "tree": "1fc56d6337c487952ab008b8ff063b2a2d48ee02",
      "parents": [
        "6e6672604773b9bae44d88d38afdf0763c104b1c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 23 02:05:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] cond_resched() might_sleep() fix\n\nadd the __might_sleep() check back to cond_resched().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7834f8fccd791225a1cf91c2c3e740ad8e2e145",
      "tree": "8f48d03d7b1dc32d326825fef1d1c54117a06ac8",
      "parents": [
        "03e68060636e05989ea94bcb671ab633948f328c"
      ],
      "author": {
        "name": "David Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jun 23 02:03:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] SELinux: add security hooks to {get,set}affinity\n\nThis patch adds LSM hooks into the setaffinity and getaffinity functions to\nenable security modules to control these operations between tasks with\ntask_setscheduler and task_getscheduler LSM hooks.\n\nSigned-off-by: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1adad78dd2fc8edaa513e0bde92b4c64340245c",
      "tree": "a2cd5c53b08fa80c953147ee22b62e7bbff7ddcd",
      "parents": [
        "c9d20af62c59e49684f3882503351153964ff14b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 18:54:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 18:54:09 2006 -0700"
      },
      "message": "Revert \"[PATCH] sched: fix interactive task starvation\"\n\nThis reverts commit 5ce74abe788a26698876e66b9c9ce7e7acc25413 (and its\ndependent commit 8a5bc075b8d8cf7a87b3f08fad2fba0f5d13295e), because of\naudio underruns.\n\nReported by Rene Herman \u003crene.herman@keyaccess.nl\u003e, who also pinpointed\nthe exact cause of the underruns:\n\n  \"Audio underruns galore, with only ogg123 and firefox (browsing the\n   GIT tree online is also a nice trigger by the way).\n\n   If I back it out, everything is fine for me again.\"\n\nCc: Rene Herman \u003crene.herman@keyaccess.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2",
      "tree": "f24f05bf95ae9c4164266da87f36fed61c5c2206",
      "parents": [
        "e7edf9cdeddc0cff125e8e658216efb2ff2b2219"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:27:50 2006 -0700"
      },
      "message": "[PATCH] Remove __devinitdata from notifier block definitions\n\nFew of the notifier_chain_register() callers use __devinitdata in the\ndefinition of notifier_block data structure.  It is incorrect as the\ndata structure should be available after the initializations (they do\nnot unregister them during initializations).\n\nThis was leading to an oops when notifier_chain_register() call is\ninvoked for those callback chains after initialization.\n\nThis patch fixes all such usages to _not_ have the notifier_block data\nstructure in the init data section.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a5bc075b8d8cf7a87b3f08fad2fba0f5d13295e",
      "tree": "977c14c704c44a905014ff9b3c0f613983793109",
      "parents": [
        "5ce74abe788a26698876e66b9c9ce7e7acc25413"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Apr 10 22:52:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:30 2006 -0700"
      },
      "message": "[PATCH] sched: don\u0027t awaken RT tasks on expired array\n\nRT tasks are being awakened on the expired array when expired_starving() is\ntrue, whereas they really should be excluded.  Fix.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ce74abe788a26698876e66b9c9ce7e7acc25413",
      "tree": "2e0c2cfc1aad32a9e2903f5e01256f1ed43982e4",
      "parents": [
        "019ff2d57b0bbe77d1eca19f5b634e5e7ff2a0b8"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Apr 10 22:52:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:30 2006 -0700"
      },
      "message": "[PATCH] sched: fix interactive task starvation\n\nFix a starvation problem that occurs when a stream of highly interactive tasks\ndelay an array switch for extended periods despite EXPIRED_STARVING(rq) being\ntrue.  AFAIKT, the only choice is to enqueue awakening tasks on the expired\narray in this case.\n\nWithout this patch, it can be nearly impossible to remotely login to a busy\nserver, and interactive shell commands can starve for minutes.\n\nAlso, convert the EXPIRED_STARVING macro into an inline function which humans\ncan understand.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d425b274ba83ba4e7746a40446ec0ba3267de51f",
      "tree": "73d3342be7ba8ef8d18a8c3cc9fea6e026e2bffa",
      "parents": [
        "7c4bb1f9b3788309e1159961c606ba0bdf7ed382"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: activate SCHED BATCH expired\n\nTo increase the strength of SCHED_BATCH as a scheduling hint we can\nactivate batch tasks on the expired array since by definition they are\nlatency insensitive tasks.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c4bb1f9b3788309e1159961c606ba0bdf7ed382",
      "tree": "47051dcde0cc24ec123e9ae3043465cc677a8c06",
      "parents": [
        "5138930e6a69f1c7851a82d7cedaa01fad029fcf"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: remove on runqueue requeueing\n\nOn runqueue time is used to elevate priority in schedule().\n\nIn the code it currently requeues tasks even if their priority is not\nelevated, which would end up placing them at the end of their runqueue\narray effectively delaying them instead of improving their priority.\n\nBug spotted by Mike Galbraith \u003cefault@gmx.de\u003e\n\nThis patch removes this requeueing.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5138930e6a69f1c7851a82d7cedaa01fad029fcf",
      "tree": "cef55be8eb6d798188127f2ca7f53ed25ef88422",
      "parents": [
        "e72ff0bb2c163eb13014ba113701bd42dab382fe"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: include noninteractive sleep in idle detect\n\nTasks waiting in SLEEP_NONINTERACTIVE state can now get to best priority so\nthey need to be included in the idle detection code.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e72ff0bb2c163eb13014ba113701bd42dab382fe",
      "tree": "6e4b8063442b3e020af474c2d4be124f01b0cb88",
      "parents": [
        "e7c38cb49c6cc05bc11f70d9e9889da1c4a0d37f"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: dont decrease idle sleep avg\n\nWe watch for tasks that sleep extended periods and don\u0027t allow one single\nprolonged sleep period from elevating priority to maximum bonus to prevent cpu\nbound tasks from getting high priority with single long sleeps.  There is a\nbug in the current code that also penalises tasks that already have high\npriority.  Correct that bug.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c38cb49c6cc05bc11f70d9e9889da1c4a0d37f",
      "tree": "538e26f5ba32d052083dea53536c5366978838c8",
      "parents": [
        "3dee386e14045484a6c41c8f03a263f9d79de740"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: make task_noninteractive use sleep_type\n\nAlterations to the pipe code in the kernel made it possible for relative\nstarvation to occur with tasks that slept waiting on a pipe getting unfair\npriority bonuses even if they were otherwise fully cpu bound so the\nTASK_NONINTERACTIVE flag was introduced which prevented any change to\nsleep_avg while sleeping waiting on a pipe.  This change also leads to the\nconverse though, preventing any priority boost from occurring in truly\ninteractive tasks that wait on pipes.\n\nConvert the TASK_NONINTERACTIVE flag to set sleep_type to SLEEP_NONINTERACTIVE\nwhich will allow a linear bonus to priority based on sleep time thus allowing\ninteractive tasks to get high priority if they sleep enough.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3dee386e14045484a6c41c8f03a263f9d79de740",
      "tree": "4b1643508ad94981e8d4deb5136d0a626e60932d",
      "parents": [
        "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: cleanup task_activated()\n\nThe activated flag in task_struct is used to track different sleep types and\nits usage is somewhat obfuscated.  Convert the variable to an enum with more\ndescriptive names without altering the function.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d",
      "tree": "ad8e68882f7c36216e16ab264101c5da96ccd5c9",
      "parents": [
        "3055addadbe9bfb2365006a1c13fd342a8d30d52"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Fri Mar 31 02:31:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: reduce overhead of calc_load\n\nCurrently, count_active_tasks() calls both nr_running() \u0026\nnr_interruptible().  Each of these functions does a \"for_each_cpu\" \u0026 reads\nvalues from the runqueue of each cpu.  Although this is not a lot of\ninstructions, each runqueue may be located on different node.  Depending on\nthe architecture, a unique TLB entry may be required to access each\nrunqueue.\n\nSince there may be more runqueues than cpu TLB entries, a scan of all\nrunqueues can trash the TLB.  Each memory reference incurs a TLB miss \u0026\nrefill.\n\nIn addition, the runqueue cacheline that contains nr_running \u0026\nnr_uninterruptible may be evicted from the cache between the two passes.\nThis causes unnecessary cache misses.\n\nCombining nr_running() \u0026 nr_interruptible() into a single function\nsubstantially reduces the TLB \u0026 cache misses on large systems.  This should\nhave no measureable effect on smaller systems.\n\nOn a 128p IA64 system running a memory stress workload, the new function\nreduced the overhead of calc_load() from 605 usec/call to 324 usec/call.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0806903316d516a3b3851c51cea5c71724d9051d",
      "tree": "05b453747a68a32bfd1d668a53963a4bb0bc36d1",
      "parents": [
        "1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 27 01:15:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] sched: fix group power for allnodes_domains\n\nCurrent sched groups power calculation for allnodes_domains is wrong.  We\nshould really be using cumulative power of the physical packages in that\ngroup (similar to the calculation in node_domains)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7",
      "tree": "ccfa4927ebc7a8f663f9ac9e7789a713a33253ff",
      "parents": [
        "77e4bfbcf071f795b54862455dce8902b3fc29c2"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 27 01:15:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] sched: new sched domain for representing multi-core\n\nAdd a new sched domain for representing multi-core with shared caches\nbetween cores.  Consider a dual package system, each package containing two\ncores and with last level cache shared between cores with in a package.  If\nthere are two runnable processes, with this appended patch those two\nprocesses will be scheduled on different packages.\n\nOn such systems, with this patch we have observed 8% perf improvement with\nspecJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2\nusers).\n\nThis new domain will come into play only on multi-core systems with shared\ncaches.  On other systems, this sched domain will be removed by domain\ndegeneration code.  This new domain can be also used for implementing power\nsavings policy (see OLS 2005 CMP kernel scheduler paper for more details..\nI will post another patch for power savings policy soon)\n\nMost of the arch/* file changes are for cpu_coregroup_map() implementation.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "77e4bfbcf071f795b54862455dce8902b3fc29c2",
      "tree": "cde3cb39a72de0bb8b42c1c5752f25b3b16bf5ee",
      "parents": [
        "013d3868143387be99bb0373d49452eaa3c55d41"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@lisas.de",
        "time": "Mon Mar 27 01:15:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] Small schedule() optimization\n\nsmall schedule() microoptimization.\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "013d3868143387be99bb0373d49452eaa3c55d41",
      "tree": "584f39a6d76ccfac6b77d2480b9b43b556547f3d",
      "parents": [
        "491214716755894986b99e0cf0a08b830d244577"
      ],
      "author": {
        "name": "Martin Andersson",
        "email": "martin.andersson@control.lth.se",
        "time": "Mon Mar 27 01:15:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] sched: fix task interactivity calculation\n\nIs a truncation error in kernel/sched.c triggered when the nice value is\nnegative.  The affected code is used in the TASK_INTERACTIVE macro.\n\nThe code is:\n#define SCALE(v1,v1_max,v2_max) \\\n\t(v1) * (v2_max) / (v1_max)\n\nwhich is used in this way:\nSCALE(TASK_NICE(p), 40, MAX_BONUS)\n\nComments in the code says:\n  * This part scales the interactivity limit depending on niceness.\n  *\n  * We scale it linearly, offset by the INTERACTIVE_DELTA delta.\n  * Here are a few examples of different nice levels:\n  *\n  *  TASK_INTERACTIVE(-20): [1,1,1,1,1,1,1,1,1,0,0]\n  *  TASK_INTERACTIVE(-10): [1,1,1,1,1,1,1,0,0,0,0]\n  *  TASK_INTERACTIVE(  0): [1,1,1,1,0,0,0,0,0,0,0]\n  *  TASK_INTERACTIVE( 10): [1,1,0,0,0,0,0,0,0,0,0]\n  *  TASK_INTERACTIVE( 19): [0,0,0,0,0,0,0,0,0,0,0]\n  *\n  * (the X axis represents the possible -5 ... 0 ... +5 dynamic\n  *  priority range a task can explore, a value of \u00271\u0027 means the\n  *  task is rated interactive.)\n\nHowever, the current code does not scale it linearly and the result differs\nfrom the given examples.  If the mathematical function \"floor\" is used when\nthe nice value is negative instead of the truncation one gets when using\ninteger division, the result conforms to the documentation.\n\nOutput of TASK_INTERACTIVE when using the kernel code:\nnice    dynamic priorities\n-20     1     1     1     1     1     1     1     1     1     0     0\n-19     1     1     1     1     1     1     1     1     0     0     0\n-18     1     1     1     1     1     1     1     1     0     0     0\n-17     1     1     1     1     1     1     1     1     0     0     0\n-16     1     1     1     1     1     1     1     1     0     0     0\n-15     1     1     1     1     1     1     1     0     0     0     0\n-14     1     1     1     1     1     1     1     0     0     0     0\n-13     1     1     1     1     1     1     1     0     0     0     0\n-12     1     1     1     1     1     1     1     0     0     0     0\n-11     1     1     1     1     1     1     0     0     0     0     0\n-10     1     1     1     1     1     1     0     0     0     0     0\n  -9     1     1     1     1     1     1     0     0     0     0     0\n  -8     1     1     1     1     1     1     0     0     0     0     0\n  -7     1     1     1     1     1     0     0     0     0     0     0\n  -6     1     1     1     1     1     0     0     0     0     0     0\n  -5     1     1     1     1     1     0     0     0     0     0     0\n  -4     1     1     1     1     1     0     0     0     0     0     0\n  -3     1     1     1     1     0     0     0     0     0     0     0\n  -2     1     1     1     1     0     0     0     0     0     0     0\n  -1     1     1     1     1     0     0     0     0     0     0     0\n  0      1     1     1     1     0     0     0     0     0     0     0\n  1      1     1     1     1     0     0     0     0     0     0     0\n  2      1     1     1     1     0     0     0     0     0     0     0\n  3      1     1     1     1     0     0     0     0     0     0     0\n  4      1     1     1     0     0     0     0     0     0     0     0\n  5      1     1     1     0     0     0     0     0     0     0     0\n  6      1     1     1     0     0     0     0     0     0     0     0\n  7      1     1     1     0     0     0     0     0     0     0     0\n  8      1     1     0     0     0     0     0     0     0     0     0\n  9      1     1     0     0     0     0     0     0     0     0     0\n10      1     1     0     0     0     0     0     0     0     0     0\n11      1     1     0     0     0     0     0     0     0     0     0\n12      1     0     0     0     0     0     0     0     0     0     0\n13      1     0     0     0     0     0     0     0     0     0     0\n14      1     0     0     0     0     0     0     0     0     0     0\n15      1     0     0     0     0     0     0     0     0     0     0\n16      0     0     0     0     0     0     0     0     0     0     0\n17      0     0     0     0     0     0     0     0     0     0     0\n18      0     0     0     0     0     0     0     0     0     0     0\n19      0     0     0     0     0     0     0     0     0     0     0\n\nOutput of TASK_INTERACTIVE when using \"floor\"\nnice    dynamic priorities\n-20     1     1     1     1     1     1     1     1     1     0     0\n-19     1     1     1     1     1     1     1     1     1     0     0\n-18     1     1     1     1     1     1     1     1     1     0     0\n-17     1     1     1     1     1     1     1     1     1     0     0\n-16     1     1     1     1     1     1     1     1     0     0     0\n-15     1     1     1     1     1     1     1     1     0     0     0\n-14     1     1     1     1     1     1     1     1     0     0     0\n-13     1     1     1     1     1     1     1     1     0     0     0\n-12     1     1     1     1     1     1     1     0     0     0     0\n-11     1     1     1     1     1     1     1     0     0     0     0\n-10     1     1     1     1     1     1     1     0     0     0     0\n  -9     1     1     1     1     1     1     1     0     0     0     0\n  -8     1     1     1     1     1     1     0     0     0     0     0\n  -7     1     1     1     1     1     1     0     0     0     0     0\n  -6     1     1     1     1     1     1     0     0     0     0     0\n  -5     1     1     1     1     1     1     0     0     0     0     0\n  -4     1     1     1     1     1     0     0     0     0     0     0\n  -3     1     1     1     1     1     0     0     0     0     0     0\n  -2     1     1     1     1     1     0     0     0     0     0     0\n  -1     1     1     1     1     1     0     0     0     0     0     0\n   0     1     1     1     1     0     0     0     0     0     0     0\n   1     1     1     1     1     0     0     0     0     0     0     0\n   2     1     1     1     1     0     0     0     0     0     0     0\n   3     1     1     1     1     0     0     0     0     0     0     0\n   4     1     1     1     0     0     0     0     0     0     0     0\n   5     1     1     1     0     0     0     0     0     0     0     0\n   6     1     1     1     0     0     0     0     0     0     0     0\n   7     1     1     1     0     0     0     0     0     0     0     0\n   8     1     1     0     0     0     0     0     0     0     0     0\n   9     1     1     0     0     0     0     0     0     0     0     0\n  10     1     1     0     0     0     0     0     0     0     0     0\n  11     1     1     0     0     0     0     0     0     0     0     0\n  12     1     0     0     0     0     0     0     0     0     0     0\n  13     1     0     0     0     0     0     0     0     0     0     0\n  14     1     0     0     0     0     0     0     0     0     0     0\n  15     1     0     0     0     0     0     0     0     0     0     0\n  16     0     0     0     0     0     0     0     0     0     0     0\n  17     0     0     0     0     0     0     0     0     0     0     0\n  18     0     0     0     0     0     0     0     0     0     0     0\n  19     0     0     0     0     0     0     0     0     0     0     0\n\nSigned-off-by: Martin Andersson \u003cmartin.andersson@control.lth.se\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c6fd91f0bdcd294a0ae0ba2b2a7f7456ef4b7144",
      "tree": "1d095d1761a44118f101b2ce9697346ff168753a",
      "parents": [
        "c9becf58d935265919bf1cb348b2c04492c8949d"
      ],
      "author": {
        "name": "bibo mao",
        "email": "bibo_mao@linux.intel.com",
        "time": "Sun Mar 26 01:38:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kretprobe instance recycled by parent process\n\nWhen kretprobe probes the schedule() function, if the probed process exits\nthen schedule() will never return, so some kretprobe instances will never\nbe recycled.\n\nIn this patch the parent process will recycle retprobe instances of the\nprobed function and there will be no memory leak of kretprobe instances.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nCc: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91368d73e4b60d577ad171e5bd315b564265fcdb",
      "tree": "067d3738aa4bf8d49623632bb47952aca6f8f965",
      "parents": [
        "3257545e40a769cbef98cf13eabe50f00712991e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] make bug messages more consistent\n\nConsolidate all kernel bug printouts to begin with the \"BUG: \" string.\nMakes it easier to find them in large bootup logs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9028b0ff2bad1954568604dc17725692c8524d6",
      "tree": "dbff742d39520574e5985930333f1d421282e080",
      "parents": [
        "5be0e9511990dc307670dc66a42073db96b20f26"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Mar 23 02:59:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:02 2006 -0800"
      },
      "message": "[PATCH] fix scheduler deadlock\n\nWe have noticed lockups during boot when stress testing kexec on ppc64.\nTwo cpus would deadlock in scheduler code trying to grab already taken\nspinlocks.\n\nThe double_rq_lock code uses the address of the runqueue to order the\ntaking of multiple locks.  This address is a per cpu variable:\n\n\tif (rq1 \u003c rq2) {\n\t\tspin_lock(\u0026rq1-\u003elock);\n\t\tspin_lock(\u0026rq2-\u003elock);\n\t} else {\n\t\tspin_lock(\u0026rq2-\u003elock);\n\t\tspin_lock(\u0026rq1-\u003elock);\n\t}\n\nOn the other hand, the code in wake_sleeping_dependent uses the cpu id\norder to grab locks:\n\n\tfor_each_cpu_mask(i, sibling_map)\n\t\tspin_lock(\u0026cpu_rq(i)-\u003elock);\n\nThis means we rely on the address of per cpu data increasing as cpu ids\nincrease.  While this will be true for the generic percpu implementation it\nmay not be true for arch specific implementations.\n\nOne way to solve this is to always take runqueues in cpu id order. To do\nthis we add a cpu variable to the runqueue and check it in the\ndouble runqueue locking functions.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9430d58e34ec3861e1ca72f8e49105b227aad327",
      "tree": "ac8f8295131fbf3c0ddc689fa9887a8c95b0814d",
      "parents": [
        "e952f31bce6e9f64db01f607abc46529ba57ac9e"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Mar 22 00:07:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:54 2006 -0800"
      },
      "message": "[PATCH] sched: remove sleep_avg multiplier\n\nRemove the sleep_avg multiplier.  This multiplier was necessary back when\nwe had 10 seconds of dynamic range in sleep_avg, but now that we only have\none second, it causes that one second to be compressed down to 100ms in\nsome cases.  This is particularly noticeable when compiling a kernel in a\nslow NFS mount, and I believe it to be a very likely candidate for other\nrecently reported network related interactivity problems.\n\nIn testing, I can detect no negative impact of this removal.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7cd9013be6c22f3ff6f777354f766c8c0b955e17",
      "tree": "328e45aadb4c5bc9b6cd530be03572070201f5e5",
      "parents": [
        "27d162e26a873883937b64526445877bd3341d23"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Mar 11 03:27:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 11 09:19:34 2006 -0800"
      },
      "message": "[PATCH] remove __put_task_struct_cb export again\n\nThe patch \u0027[PATCH] RCU signal handling\u0027 [1] added an export for\n__put_task_struct_cb, a put_task_struct helper newly introduced in that\npatch.  But the put_task_struct couldn\u0027t be used modular previously as\n__put_task_struct wasn\u0027t exported.  There are not callers of it in modular\ncode, and it shouldn\u0027t be exported because we don\u0027t want drivers to hold\nreferences to task_structs.\n\nThis patch removes the export and folds __put_task_struct into\n__put_task_struct_cb as there\u0027s no other caller.\n\n[1] http://www2.kernel.org/git/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003de56d090310d7625ecb43a1eeebd479f04affb48b\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81c29a857d3c8d6ea9c4f20d196c36bf0a07c615",
      "tree": "3ebb7813439ec75e1afbc4385431388cd7158d67",
      "parents": [
        "4d6660eb3665f22d16aff466eb9d45df6102b254"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 07 21:55:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 08 14:14:00 2006 -0800"
      },
      "message": "[PATCH] idle threads should have a sane -\u003etimestamp value\n\nIdle threads should have a sane -\u003etimestamp value, to avoid init kernel\nthread(s) from inheriting it and causing miscalculations in\ntry_to_wake_up().\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e.\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ba7b0a14b2ec19583bedbcdbea7f1c5008fc922",
      "tree": "5047966d39ce26f7afd96b794dd4dc6a995458a5",
      "parents": [
        "91c0bce29e4050a59ee5fdc1192b60bbf8693a6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 06 17:38:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 06 17:38:49 2006 -0800"
      },
      "message": "Add early-boot-safety check to cond_resched()\n\nJust to be safe, we should not trigger a conditional reschedule during\nthe early boot sequence.  We\u0027ve historically done some questionable\nearly on, and the safety warnings in __might_sleep() are generally\nturned off during that period, so there might be problems lurking.\n\nThis affects CONFIG_PREEMPT_VOLUNTARY, which takes over might_sleep() to\ncause a voluntary conditional reschedule.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4bbf39c29bc3409d6454faf0dfa1b3b0aa2ac2af",
      "tree": "2f8ed8aa42a1645a9cb3306ce93c9e4b63536630",
      "parents": [
        "05efc67d100ff6c3364604b72729addf1a86fdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 17 13:52:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 17 13:59:26 2006 -0800"
      },
      "message": "[PATCH] Introduce CONFIG_DEFAULT_MIGRATION_COST\n\nHeiko Carstens \u003cheiko.carstens@de.ibm.com\u003e wrote:\n\n  The boot sequence on s390 sometimes takes ages and we spend a very long\n  time (up to one or two minutes) in calibrate_migration_costs.  The time\n  spent there differs from boot to boot.  Also the calculated costs differ\n  a lot.  I\u0027ve seen differences by up to a factor of 15 (yes, factor not\n  percent).  Also I doubt that making these measurements make much sense on\n  a completely virtualized architecture where you cannot tell how much cpu\n  time you will get anyway.\n\nSo introduce the CONFIG_DEFAULT_MIGRATION_COST method for an architecture\nto set the scheduler migration costs.  This turns off automatic detection\nof migration costs.  Makes sense on virtual platforms, where migration\ncosts are hard to measure accurately.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6077cb80cde4506720f9165eba99ee07438513f",
      "tree": "f4462e51cf0a14a113c0c524711636c8429424bb",
      "parents": [
        "f822566165dd46ff5de9bf895cfa6c51f53bb0c4"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Tue Feb 14 13:53:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:34 2006 -0800"
      },
      "message": "[PATCH] sched: revert \"filter affine wakeups\"\n\nRevert commit d7102e95b7b9c00277562c29aad421d2d521c5f6:\n\n    [PATCH] sched: filter affine wakeups\n\nApparently caused more than 10% performance regression for aim7 benchmark.\nThe setup in use is 16-cpu HP rx8620, 64Gb of memory and 12 MSA1000s with 144\ndisks.  Each disk is 72Gb with a single ext3 filesystem (courtesy of HP, who\nsupplied benchmark results).\n\nThe problem is, for aim7, the wake-up pattern is random, but it still needs\nload balancing action in the wake-up path to achieve best performance.  With\nthe above commit, lack of load balancing hurts that workload.\n\nHowever, for workloads like database transaction processing, the requirement\nis exactly opposite.  In the wake up path, best performance is achieved with\nabsolutely zero load balancing.  We simply wake up the process on the CPU that\nit was previously run.  Worst performance is obtained when we do load\nbalancing at wake up.\n\nThere isn\u0027t an easy way to auto detect the workload characteristics.  Ingo\u0027s\nearlier patch that detects idle CPU and decide whether to load balance or not\ndoesn\u0027t perform with aim7 either since all CPUs are busy (it causes even\nbigger perf.  regression).\n\nRevert commit d7102e95b7b9c00277562c29aad421d2d521c5f6, which causes more\nthan 10% performance regression with aim7.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2000572ad511f5f43091ed7bd2cc3b913104a1e",
      "tree": "56279392dece8e11c33d3754854551aa6773095b",
      "parents": [
        "4b0955a6edb9b058ca1314ca210a92ee166c4d9a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Feb 10 01:51:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 10 08:13:11 2006 -0800"
      },
      "message": "[PATCH] sched: remove smpnice\n\nI don\u0027t think the code is quite ready, which is why I asked for Peter\u0027s\nadditions to also be merged before I acked it (although it turned out that\nit still isn\u0027t quite ready with his additions either).\n\nBasically I have had similar observations to Suresh in that it does not\nplay nicely with the rest of the balancing infrastructure (and raised\nsimilar concerns in my review).\n\nThe samples (group of 4) I got for \"maximum recorded imbalance\" on a 2x2\nSMP+HT Xeon are as follows:\n\n            | Following boot | hackbench 20        | hackbench 40\n -----------+----------------+---------------------+---------------------\n 2.6.16-rc2 | 30,37,100,112  | 5600,5530,6020,6090 | 6390,7090,8760,8470\n +nosmpnice |  3, 2,  4,  2  |   28, 150, 294, 132 |  348, 348, 294, 347\n\nHackbench raw performance is down around 15% with smpnice (but that in\nitself isn\u0027t a huge deal because it is just a benchmark).  However, the\nsamples show that the imbalance passed into move_tasks is increased by\nabout a factor of 10-30.  I think this would also go some way to explaining\nlatency blips turning up in the balancing code (though I haven\u0027t actually\nmeasured that).\n\nWe\u0027ll probably have to revert this in the SUSE kernel.\n\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nCc: \"Martin J. Bligh\" \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd576c9523fbf23e94fb7dbe05d2ae1cf96864e4",
      "tree": "0433ff1a1d417c29f94f05cb6ed83fca32eb7a62",
      "parents": [
        "62cfe7efc4e6ba44b0903c53f09d37de59160afa"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Sat Feb 04 23:27:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:51 2006 -0800"
      },
      "message": "[PATCH] sched: only print migration_cost once per boot\n\nmigration_cost prints after every CPU hotplug event.  Make it print only\nonce at boot.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88a2a4ac6b671a4b0dd5d2d762418904c05f4104",
      "tree": "8c30052a0d7fadec37c785a42a71b28d0a9c5fcf",
      "parents": [
        "cef5076987dd545ac74f4efcf1c962be8eac34b0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Feb 04 23:27:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:51 2006 -0800"
      },
      "message": "[PATCH] percpu data: only iterate over possible CPUs\n\npercpu_data blindly allocates bootmem memory to store NR_CPUS instances of\ncpudata, instead of allocating memory only for possible cpus.\n\nAs a preparation for changing that, we need to convert various 0 -\u003e NR_CPUS\nloops to use for_each_cpu().\n\n(The above only applies to users of asm-generic/percpu.h.  powerpc has gone it\nalone and is presently only allocating memory for present CPUs, so it\u0027s\ncurrently corrupting memory).\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f7016d917faef8f1e016b4a7bd7f594694480b6",
      "tree": "06aa6181a5609ad1e3815a08cf9a67df4ab08137",
      "parents": [
        "0f07496144c270f10d0ad06b70b9c9387d5527fd"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Feb 01 03:05:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] sys_sched_getaffinity() \u0026 hotplug\n\nChange sched_getaffinity() so that it returns a bitmap that indicates the\nlegally schedulable cpus that a task is allowed to run on.\n\nWithout this patch, if CONFIG_HOTPLUG_CPU is enabled, sched_getaffinity()\nunconditionally returns (at least on IA64) a mask with NR_CPUS bits set.\nThis conveys no useful infornmation except for a kernel compile option.\n\nThis fixes a breakage we obseved running recent kernels. We have MPI jobs\nthat use sched_getaffinity() to determine where to place their threads.\nPlacing them on non-existant cpus is problematic :-)\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nathan Lynch \u003cntl@pobox.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70b4d63e98fd93fb9742708a54f872cba24e0fea",
      "tree": "016df3fe69c8ca9240d489f846b69674b8746a2d",
      "parents": [
        "7fcdf327bedfe9cc418af49429d0fc0e48d98de9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 30 20:24:38 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 31 10:23:31 2006 -0800"
      },
      "message": "[PATCH] Fix boot-time slowdown for measure_migration_cost\n\nThis reduces the amount of time the migration cost calculations cost\nduring bootup. Based on numbers by Tony Luck \u003ctony.luck@intel.com\u003e.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c21761f168894b356626c847fe13be39605d76b4",
      "tree": "7b3a1efba6ae34ca313619474b0060beff8267af",
      "parents": [
        "147b31cf09ee493aa71c87c0dd2eef74b6b2aeba"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Wed Jan 18 17:43:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:22 2006 -0800"
      },
      "message": "[PATCH] fix sched_setscheduler semantics\n\nCurrently, a negative policy argument passed into the\n\u0027sys_sched_setscheduler()\u0027 system call, will return with success.  However,\nthe manpage for \u0027sys_sched_setscheduler\u0027 says:\n\nEINVAL The scheduling policy is not one of the recognized policies, or the\n              parameter p does not make sense for the policy.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0a9499c3dd50d333e2aedb7e894873c58da3785",
      "tree": "1b9610020884091984ce8290c70bebdc3e7bb09b",
      "parents": [
        "2d0cfb527944c2cfee2cffab14f52d483e329fcf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 14 13:20:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:25:20 2006 -0800"
      },
      "message": "[PATCH] sched: add new SCHED_BATCH policy\n\nAdd a new SCHED_BATCH (3) scheduling policy: such tasks are presumed\nCPU-intensive, and will acquire a constant +5 priority level penalty.  Such\npolicy is nice for workloads that are non-interactive, but which do not\nwant to give up their nice levels.  The policy is also useful for workloads\nthat want a deterministic scheduling policy without interactivity causing\nextra preemptions (between that workload\u0027s tasks).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7102e95b7b9c00277562c29aad421d2d521c5f6",
      "tree": "3ad3d94c329095962c6cd6dcea41e1ccf2db5a7e",
      "parents": [
        "198e2f181163233b379dc7ce8a6d7516b84042e7"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Thu Jan 12 01:05:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:08:50 2006 -0800"
      },
      "message": "[PATCH] sched: filter affine wakeups\n\n\r)\n\nFrom: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\n\nTrack the last waker CPU, and only consider wakeup-balancing if there\u0027s a\nmatch between current waker CPU and the previous waker CPU.  This ensures\nthat there is some correlation between two subsequent wakeup events before\nwe move the task.  Should help random-wakeup workloads on large SMP\nsystems, by reducing the migration attempts by a factor of nr_cpus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "198e2f181163233b379dc7ce8a6d7516b84042e7",
      "tree": "cc4067ca1c81034ba8d214b7ff4c39f2f5be66ee",
      "parents": [
        "4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Thu Jan 12 01:05:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:08:50 2006 -0800"
      },
      "message": "[PATCH] scheduler cache-hot-autodetect\n\n\r)\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nThis is the latest version of the scheduler cache-hot-auto-tune patch.\n\nThe first problem was that detection time scaled with O(N^2), which is\nunacceptable on larger SMP and NUMA systems. To solve this:\n\n- I\u0027ve added a \u0027domain distance\u0027 function, which is used to cache\n  measurement results. Each distance is only measured once. This means\n  that e.g. on NUMA distances of 0, 1 and 2 might be measured, on HT\n  distances 0 and 1, and on SMP distance 0 is measured. The code walks\n  the domain tree to determine the distance, so it automatically follows\n  whatever hierarchy an architecture sets up. This cuts down on the boot\n  time significantly and removes the O(N^2) limit. The only assumption\n  is that migration costs can be expressed as a function of domain\n  distance - this covers the overwhelming majority of existing systems,\n  and is a good guess even for more assymetric systems.\n\n  [ People hacking systems that have assymetries that break this\n    assumption (e.g. different CPU speeds) should experiment a bit with\n    the cpu_distance() function. Adding a -\u003emigration_distance factor to\n    the domain structure would be one possible solution - but lets first\n    see the problem systems, if they exist at all. Lets not overdesign. ]\n\nAnother problem was that only a single cache-size was used for measuring\nthe cost of migration, and most architectures didnt set that variable\nup. Furthermore, a single cache-size does not fit NUMA hierarchies with\nL3 caches and does not fit HT setups, where different CPUs will often\nhave different \u0027effective cache sizes\u0027. To solve this problem:\n\n- Instead of relying on a single cache-size provided by the platform and\n  sticking to it, the code now auto-detects the \u0027effective migration\n  cost\u0027 between two measured CPUs, via iterating through a wide range of\n  cachesizes. The code searches for the maximum migration cost, which\n  occurs when the working set of the test-workload falls just below the\n  \u0027effective cache size\u0027. I.e. real-life optimized search is done for\n  the maximum migration cost, between two real CPUs.\n\n  This, amongst other things, has the positive effect hat if e.g. two\n  CPUs share a L2/L3 cache, a different (and accurate) migration cost\n  will be found than between two CPUs on the same system that dont share\n  any caches.\n\n(The reliable measurement of migration costs is tricky - see the source\nfor details.)\n\nFurthermore i\u0027ve added various boot-time options to override/tune\nmigration behavior.\n\nFirstly, there\u0027s a blanket override for autodetection:\n\n\tmigration_cost\u003d1000,2000,3000\n\nwill override the depth 0/1/2 values with 1msec/2msec/3msec values.\n\nSecondly, there\u0027s a global factor that can be used to increase (or\ndecrease) the autodetected values:\n\n\tmigration_factor\u003d120\n\nwill increase the autodetected values by 20%. This option is useful to\ntune things in a workload-dependent way - e.g. if a workload is\ncache-insensitive then CPU utilization can be maximized by specifying\nmigration_factor\u003d0.\n\nI\u0027ve tested the autodetection code quite extensively on x86, on 3\nP3/Xeon/2MB, and the autodetected values look pretty good:\n\nDual Celeron (128K L2 cache):\n\n ---------------------\n migration cost matrix (max_cache_size: 131072, cpu: 467 MHz):\n ---------------------\n           [00]    [01]\n [00]:     -     1.7(1)\n [01]:   1.7(1)    -\n ---------------------\n cacheflush times [2]: 0.0 (0) 1.7 (1784008)\n ---------------------\n\nHere the slow memory subsystem dominates system performance, and even\nthough caches are small, the migration cost is 1.7 msecs.\n\nDual HT P4 (512K L2 cache):\n\n ---------------------\n migration cost matrix (max_cache_size: 524288, cpu: 2379 MHz):\n ---------------------\n           [00]    [01]    [02]    [03]\n [00]:     -     0.4(1)  0.0(0)  0.4(1)\n [01]:   0.4(1)    -     0.4(1)  0.0(0)\n [02]:   0.0(0)  0.4(1)    -     0.4(1)\n [03]:   0.4(1)  0.0(0)  0.4(1)    -\n ---------------------\n cacheflush times [2]: 0.0 (33900) 0.4 (448514)\n ---------------------\n\nHere it can be seen that there is no migration cost between two HT\nsiblings (CPU#0/2 and CPU#1/3 are separate physical CPUs). A fast memory\nsystem makes inter-physical-CPU migration pretty cheap: 0.4 msecs.\n\n8-way P3/Xeon [2MB L2 cache]:\n\n ---------------------\n migration cost matrix (max_cache_size: 2097152, cpu: 700 MHz):\n ---------------------\n           [00]    [01]    [02]    [03]    [04]    [05]    [06]    [07]\n [00]:     -    19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)\n [01]:  19.2(1)    -    19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)\n [02]:  19.2(1) 19.2(1)    -    19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)\n [03]:  19.2(1) 19.2(1) 19.2(1)    -    19.2(1) 19.2(1) 19.2(1) 19.2(1)\n [04]:  19.2(1) 19.2(1) 19.2(1) 19.2(1)    -    19.2(1) 19.2(1) 19.2(1)\n [05]:  19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)    -    19.2(1) 19.2(1)\n [06]:  19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)    -    19.2(1)\n [07]:  19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1) 19.2(1)    -\n ---------------------\n cacheflush times [2]: 0.0 (0) 19.2 (19281756)\n ---------------------\n\nThis one has huge caches and a relatively slow memory subsystem - so the\nmigration cost is 19 msecs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: \u003cwilder@us.ibm.com\u003e\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4cef0c61380888af99b054937ed391fb28757836",
      "tree": "dd385a0dc1ab143285f77e0f5c1923490eddc26f",
      "parents": [
        "fd78f11790c37e2165733699f50450500e63a7b3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 11 22:44:57 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 19:04:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Make the cpu_*_maps in kernel/sched.c read mostly\n\nThey are referred to often so avoid potential false sharing for them.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "de5097c2e73f826302cd8957c225b3725e0c7553"
}
