)]}'
{
  "log": [
    {
      "commit": "bb32051532fed727de0d513a9a578b54c0b7ea5a",
      "tree": "128c1b4f00aae8a26cbfc03805a0b53c9f35e546",
      "parents": [
        "958d24df82e021704437da0789c47fcf581e4b85"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 26 01:59:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 26 10:39:43 2005 -0700"
      },
      "message": "[PATCH] export cpu_online_map\n\nWith CONFIG_SMP\u003dn:\n\n*** Warning: \"cpu_online_map\" [drivers/firmware/dcdbas.ko] undefined!\n\ndue to set_cpus_allowed().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da04c035039b5288039a5bf2d340866114ae994b",
      "tree": "b4f75ccaca55c1a65980aada0440c3f096b9b3eb",
      "parents": [
        "33333373c40633cec8791a284e84e4b116522c8f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:17:59 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 09:59:04 2005 -0700"
      },
      "message": "[PATCH] Fix spinlock owner debugging\n\nfix up the runqueue lock owner only if we truly did a context-switch\nwith the runqueue lock held. Impacts ia64, mips, sparc64 and arm.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1df5c10a5b40d1ad747e3de3caf28764153c5c8e",
      "tree": "87cda6983653d73a3ba4d24b1c8ba257254ac26b",
      "parents": [
        "c3ff8ec31c1249d268cd11390649768a12bec1b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 07:59:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 07:59:21 2005 -0700"
      },
      "message": "Mark ia64-specific MCA/INIT scheduler hooks as dangerous\n\n..and only enable them for ia64. The functions are only valid\nwhen the whole system has been totally stopped and no scheduler\nactivity is ongoing on any CPU, and interrupts are globally\ndisabled.\n\nIn other words, they aren\u0027t useful for anything else. So make\nsure that nobody can use them by mistake.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2a979821b6ab75a4f143cfaa1c4672cc259ec10",
      "tree": "4e327a4a8c14829d4addf8a09e13355e0cf565a4",
      "parents": [
        "9fe66dfd8846706ff11ed7990d06c92644973bd8"
      ],
      "author": {
        "name": "Keith Owens",
        "email": "kaos@sgi.com",
        "time": "Sun Sep 11 17:19:06 2005 +1000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Sun Sep 11 14:01:30 2005 -0700"
      },
      "message": "[PATCH] MCA/INIT: scheduler hooks\n\nScheduler hooks to see/change which process is deemed to be on a cpu.\n\nSigned-off-by: Keith Owens \u003ckaos@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "0c117f1b4d14380baeed9c883f765ee023da8761",
      "tree": "8bd81914e49493bdae4b04db307a48dcfc0b6316",
      "parents": [
        "fa3b6ddc3f4a8eadba52234134cdb59c28b5332d"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sat Sep 10 00:26:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:24 2005 -0700"
      },
      "message": "[PATCH] sched: allow the load to grow upto its cpu_power\n\nDon\u0027t pull tasks from a group if that would cause the group\u0027s total load to\ndrop below its total cpu_power (ie.  cause the group to start going idle).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.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": "fa3b6ddc3f4a8eadba52234134cdb59c28b5332d",
      "tree": "9aa1b8211adb63bb2983be0d4ab2afdfab88e1a3",
      "parents": [
        "5927ad78ec75870b1bdfa65a10ad1300cd664d36"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sat Sep 10 00:26:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:24 2005 -0700"
      },
      "message": "[PATCH] sched: don\u0027t kick ALB in the presence of pinned task\n\nJack Steiner brought this issue at my OLS talk.\n\nTake a scenario where two tasks are pinned to two HT threads in a physical\npackage.  Idle packages in the system will keep kicking migration_thread on\nthe busy package with out any success.\n\nWe will run into similar scenarios in the presence of CMP/NUMA.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5927ad78ec75870b1bdfa65a10ad1300cd664d36",
      "tree": "1eef750386a8bfa1e2532138a67a6d8bc8dad85b",
      "parents": [
        "5969fe0618051e8577316555a81a6e44b7b7d640"
      ],
      "author": {
        "name": "Renaud Lienhart",
        "email": "renaud.lienhart@free.fr",
        "time": "Sat Sep 10 00:26:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:23 2005 -0700"
      },
      "message": "[PATCH] sched: use cached variable in sys_sched_yield()\n\nIn sys_sched_yield(), we cache current-\u003earray in the \"array\" variable, thus\nthere\u0027s no need to dereference \"current\" again later.\n\nSigned-Off-By: Renaud Lienhart \u003crenaud.lienhart@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5969fe0618051e8577316555a81a6e44b7b7d640",
      "tree": "09ca92684811017901bb08d8d3a76c52022ef34d",
      "parents": [
        "e17224bf1d01b461ec02a60f5a9b7657a89bdd23"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 10 00:26:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:23 2005 -0700"
      },
      "message": "[PATCH] sched: HT optimisation\n\nIf an idle sibling of an HT queue encounters a busy sibling, then make\nhigher level load balancing of the non-idle variety.\n\nPerformance of multiprocessor HT systems with low numbers of tasks\n(generally \u003c number of virtual CPUs) can be significantly worse than the\nexact same workloads when running in non-HT mode.  The reason is largely\ndue to poor scheduling behaviour.\n\nThis patch improves the situation, making the performance gap far less\nsignificant on one problematic test case (tbench).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.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": "e17224bf1d01b461ec02a60f5a9b7657a89bdd23",
      "tree": "30dbb20798fde88a09680e9d82bd32ad8c343692",
      "parents": [
        "d6d5cfaf4551aa7713ca6ab73bb77e832602204b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 10 00:26:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:23 2005 -0700"
      },
      "message": "[PATCH] sched: less locking\n\nDuring periodic load balancing, don\u0027t hold this runqueue\u0027s lock while\nscanning remote runqueues, which can take a non trivial amount of time\nespecially on very large systems.\n\nHolding the runqueue lock will only help to stabilise -\u003enr_running, however\nthis doesn\u0027t do much to help because tasks being woken will simply get held\nup on the runqueue lock, so -\u003enr_running would not provide a really\naccurate picture of runqueue load in that case anyway.\n\nWhat\u0027s more, -\u003enr_running (and possibly the cpu_load averages) of remote\nrunqueues won\u0027t be stable anyway, so load balancing is always an inexact\noperation.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.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": "d6d5cfaf4551aa7713ca6ab73bb77e832602204b",
      "tree": "2741ff061bca597f26df340feec0a6ee58820e64",
      "parents": [
        "67f9a619e7460b7d07284a9d0745727a77d3ade6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 10 00:26:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:23 2005 -0700"
      },
      "message": "[PATCH] sched: less newidle locking\n\nSimilarly to the earlier change in load_balance, only lock the runqueue in\nload_balance_newidle if the busiest queue found has a nr_running \u003e 1.  This\nwill reduce frequency of expensive remote runqueue lock aquisitions in the\nschedule() path on some workloads.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.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": "67f9a619e7460b7d07284a9d0745727a77d3ade6",
      "tree": "d76bcca7ad5e9430150ebcdb391180bf2e0878e8",
      "parents": [
        "d79fc0fc6645b0cf5cd980da76942ca6d6300fa4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:26:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:23 2005 -0700"
      },
      "message": "[PATCH] sched: fix SMT scheduler latency bug\n\nWilliam Weston reported unusually high scheduling latencies on his x86 HT\nbox, on the -RT kernel.  I managed to reproduce it on my HT box and the\nlatency tracer shows the incident in action:\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n      du-2803  3Dnh2    0us : __trace_start_sched_wakeup (try_to_wake_up)\n        ..............................................................\n        ... we are running on CPU#3, PID 2778 gets woken to CPU#1: ...\n        ..............................................................\n      du-2803  3Dnh2    0us : __trace_start_sched_wakeup \u003c\u003c...\u003e-2778\u003e (73 1)\n      du-2803  3Dnh2    0us : _raw_spin_unlock (try_to_wake_up)\n        ................................................\n        ... still on CPU#3, we send an IPI to CPU#1: ...\n        ................................................\n      du-2803  3Dnh1    0us : resched_task (try_to_wake_up)\n      du-2803  3Dnh1    1us : smp_send_reschedule (try_to_wake_up)\n      du-2803  3Dnh1    1us : send_IPI_mask_bitmask (smp_send_reschedule)\n      du-2803  3Dnh1    2us : _raw_spin_unlock_irqrestore (try_to_wake_up)\n        ...............................................\n        ... 1 usec later, the IPI arrives on CPU#1: ...\n        ...............................................\n  \u003cidle\u003e-0     1Dnh.    2us : smp_reschedule_interrupt (c0100c5a 0 0)\n\nSo far so good, this is the normal wakeup/preemption mechanism.  But here\ncomes the scheduler anomaly on CPU#1:\n\n  \u003cidle\u003e-0     1Dnh.    2us : preempt_schedule_irq (need_resched)\n  \u003cidle\u003e-0     1Dnh.    2us : preempt_schedule_irq (need_resched)\n  \u003cidle\u003e-0     1Dnh.    3us : __schedule (preempt_schedule_irq)\n  \u003cidle\u003e-0     1Dnh.    3us : profile_hit (__schedule)\n  \u003cidle\u003e-0     1Dnh1    3us : sched_clock (__schedule)\n  \u003cidle\u003e-0     1Dnh1    4us : _raw_spin_lock_irq (__schedule)\n  \u003cidle\u003e-0     1Dnh1    4us : _raw_spin_lock_irqsave (__schedule)\n  \u003cidle\u003e-0     1Dnh2    5us : _raw_spin_unlock (__schedule)\n  \u003cidle\u003e-0     1Dnh1    5us : preempt_schedule (__schedule)\n  \u003cidle\u003e-0     1Dnh1    6us : _raw_spin_lock (__schedule)\n  \u003cidle\u003e-0     1Dnh2    6us : find_next_bit (__schedule)\n  \u003cidle\u003e-0     1Dnh2    6us : _raw_spin_lock (__schedule)\n  \u003cidle\u003e-0     1Dnh3    7us : find_next_bit (__schedule)\n  \u003cidle\u003e-0     1Dnh3    7us : find_next_bit (__schedule)\n  \u003cidle\u003e-0     1Dnh3    8us : _raw_spin_unlock (__schedule)\n  \u003cidle\u003e-0     1Dnh2    8us : preempt_schedule (__schedule)\n  \u003cidle\u003e-0     1Dnh2    8us : find_next_bit (__schedule)\n  \u003cidle\u003e-0     1Dnh2    9us : trace_stop_sched_switched (__schedule)\n  \u003cidle\u003e-0     1Dnh2    9us : _raw_spin_lock (trace_stop_sched_switched)\n  \u003cidle\u003e-0     1Dnh3   10us : trace_stop_sched_switched \u003c\u003c...\u003e-2778\u003e (73 8c)\n  \u003cidle\u003e-0     1Dnh3   10us : _raw_spin_unlock (trace_stop_sched_switched)\n  \u003cidle\u003e-0     1Dnh1   10us : _raw_spin_unlock (__schedule)\n  \u003cidle\u003e-0     1Dnh.   11us : local_irq_enable_noresched (preempt_schedule_irq)\n  \u003cidle\u003e-0     1Dnh.   11us \u003c (0)\n\nwe didnt pick up pid 2778! It only gets scheduled much later:\n\n   \u003c...\u003e-2778  1Dnh2  412us : __switch_to (__schedule)\n   \u003c...\u003e-2778  1Dnh2  413us : __schedule \u003c\u003cidle\u003e-0\u003e (8c 73)\n   \u003c...\u003e-2778  1Dnh2  413us : _raw_spin_unlock (__schedule)\n   \u003c...\u003e-2778  1Dnh1  413us : trace_stop_sched_switched (__schedule)\n   \u003c...\u003e-2778  1Dnh1  414us : _raw_spin_lock (trace_stop_sched_switched)\n   \u003c...\u003e-2778  1Dnh2  414us : trace_stop_sched_switched \u003c\u003c...\u003e-2778\u003e (73 1)\n   \u003c...\u003e-2778  1Dnh2  414us : _raw_spin_unlock (trace_stop_sched_switched)\n   \u003c...\u003e-2778  1Dnh1  415us : trace_stop_sched_switched (__schedule)\n\nthe reason for this anomaly is the following code in dependent_sleeper():\n\n                /*\n                 * If a user task with lower static priority than the\n                 * running task on the SMT sibling is trying to schedule,\n                 * delay it till there is proportionately less timeslice\n                 * left of the sibling task to prevent a lower priority\n                 * task from using an unfair proportion of the\n                 * physical cpu\u0027s resources. -ck\n                 */\n[...]\n                        if (((smt_curr-\u003etime_slice * (100 - sd-\u003eper_cpu_gain) /\n                                100) \u003e task_timeslice(p)))\n                                        ret \u003d 1;\n\nNote that in contrast to the comment above, we dont actually do the check\nbased on static priority, we do the check based on timeslices.  But\ntimeslices go up and down, and even highprio tasks can randomly have very\nlow timeslices (just before their next refill) and can thus be judged as\n\u0027lowprio\u0027 by the above piece of code.  This condition is clearly buggy.\nThe correct test is to check for static_prio _and_ to check for the\npreemption priority.  Even on different static priority levels, a\nhigher-prio interactive task should not be delayed due to a\nhigher-static-prio CPU hog.\n\nThere is a symmetric bug in the \u0027kick SMT sibling\u0027 code of this function as\nwell, which can be solved in a similar way.\n\nThe patch below (against the current scheduler queue in -mm) fixes both\nbugs.  I have build and boot-tested this on x86 SMT, and nice +20 tasks\nstill get properly throttled - so the dependent-sleeper logic is still in\naction.\n\nbtw., these bugs pessimised the SMT scheduler because the \u0027delay wakeup\u0027\nproperty was applied too liberally, so this fix is likely a throughput\nimprovement as well.\n\nI separated out a smt_slice() function to make the code easier to read.\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": "d79fc0fc6645b0cf5cd980da76942ca6d6300fa4",
      "tree": "e74aca1df1d37dbd7af66636a4e39a3f7e1af479",
      "parents": [
        "95cdf3b799a481969a48d69a1a52916ad5da6694"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:26:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:22 2005 -0700"
      },
      "message": "[PATCH] sched: TASK_NONINTERACTIVE\n\nThis patch implements a task state bit (TASK_NONINTERACTIVE), which can be\nused by blocking points to mark the task\u0027s wait as \"non-interactive\".  This\ndoes not mean the task will be considered a CPU-hog - the wait will simply\nnot have an effect on the waiting task\u0027s priority - positive or negative\nalike.  Right now only pipe_wait() will make use of it, because it\u0027s a\ncommon source of not-so-interactive waits (kernel compilation jobs, etc.).\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": "95cdf3b799a481969a48d69a1a52916ad5da6694",
      "tree": "38aab4b832aaebe2e36879deaeec36e7a939590d",
      "parents": [
        "da5a5522709a030da91932d4d4c2b179a481a8c0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:26:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:22 2005 -0700"
      },
      "message": "[PATCH] sched cleanups\n\nwhitespace cleanups.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da5a5522709a030da91932d4d4c2b179a481a8c0",
      "tree": "7e7d528dcc1cccf71215ebb5b8774a849e5a1753",
      "parents": [
        "fc38ed7531eefa332c8c69ee288487860cd6b426"
      ],
      "author": {
        "name": "M.Baris Demiray",
        "email": "baris@labristeknoloji.com",
        "time": "Sat Sep 10 00:26:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:22 2005 -0700"
      },
      "message": "[PATCH] sched: make idlest_group/cpu cpus_allowed-aware\n\nAdd relevant checks into find_idlest_group() and find_idlest_cpu() to make\nthem return only the groups that have allowed CPUs and allowed CPUs\nrespectively.\n\nSigned-off-by: M.Baris Demiray \u003cbaris@labristeknoloji.com\u003e\nSigned-off-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": "fc38ed7531eefa332c8c69ee288487860cd6b426",
      "tree": "d358d26559cc33c5d4ef2ed2f9cef8cf2b8ed3ae",
      "parents": [
        "a7482a2e7775d163aecd8c95af7bb1b8c83890cc"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Sat Sep 10 00:26:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:22 2005 -0700"
      },
      "message": "[PATCH] sched: run SCHED_NORMAL tasks with real time tasks on SMT siblings\n\nThe hyperthread aware nice handling currently puts to sleep any non real\ntime task when a real time task is running on its sibling cpu.  This can\nlead to prolonged starvation by having the non real time task pegged to the\ncpu with load balancing not pulling that task away.\n\nCurrently we force lower priority hyperthread tasks to run a percentage of\ntime difference based on timeslice differences which is meaningless when\ncomparing real time tasks to SCHED_NORMAL tasks.  We can allow non real\ntime tasks to run with real time tasks on the sibling up to per_cpu_gain%\nif we use jiffies as a counter.\n\nCleanups and micro-optimisations to the relevant code section should make\nit more understandable as well.\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": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "383f2835eb9afb723af71850037b2f074ac9db60",
      "tree": "1ef99fd4d7246b2afa16dc7d1514b6ff25fa8284",
      "parents": [
        "b0d62e6d5b3318b6b722121d945afa295f7201b5"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Sep 09 13:02:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:31 2005 -0700"
      },
      "message": "[PATCH] Prefetch kernel stacks to speed up context switch\n\nFor architecture like ia64, the switch stack structure is fairly large\n(currently 528 bytes).  For context switch intensive application, we found\nthat significant amount of cache misses occurs in switch_to() function.\nThe following patch adds a hook in the schedule() function to prefetch\nswitch stack structure as soon as \u0027next\u0027 task is determined.  This allows\nmaximum overlap in prefetch cache lines for that structure.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0dd7f883a9e21c5f2ff5e8f1cbb0e78cdc044d8a",
      "tree": "080ba867394e0346b699ffe17973a76faa0e6920",
      "parents": [
        "cc896f08717c445235554a7963a7b2ecf58911ad",
        "344babaa9d39b10b85cadec4e5335d43b52b4ec0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 17:28:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 17:28:25 2005 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 \n"
    },
    {
      "commit": "d1b551386a5f3f50a5003b691f819b07f8e6f034",
      "tree": "f57c2d3228023a1cef91dfa052d2bf35901f5921",
      "parents": [
        "9c1cfda20a508b181bdda8c0045f7c0c333880a5"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Tue Sep 06 15:18:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:41 2005 -0700"
      },
      "message": "[PATCH] cpusets: fix the \"dynamic sched domains\" bug\n\nFor a NUMA system with multiple CPUs per node, declaring a cpu-exclusive\ncpuset that includes only some, but not all, of the CPUs in a node will mangle\nthe sched domain structures.\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nCc; Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c1cfda20a508b181bdda8c0045f7c0c333880a5",
      "tree": "eaa5b7ef7407316c36def26169574d0e37b1e60a",
      "parents": [
        "ef08e3b4981aebf2ba9bd7025ef7210e8eec07ce"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Tue Sep 06 15:18:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:40 2005 -0700"
      },
      "message": "[PATCH] cpusets: Move the ia64 domain setup code to the generic code\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\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": "344babaa9d39b10b85cadec4e5335d43b52b4ec0",
      "tree": "7ba5f46394251a478c071a64dff941369769a18c",
      "parents": [
        "4706df3d3c42af802597d82c8b1542c3d52eab23"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 07 01:15:17 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 07 01:15:17 2005 -0400"
      },
      "message": "[kernel-doc] fix various DocBook build problems/warnings\n\nMost serious is fixing include/sound/pcm.h, which breaks the DocBook\nbuild.\n\nThe other stuff is just filling in things that cause warnings.\n"
    },
    {
      "commit": "024f474795af7a0d41bd6d60061d78bd66d13f56",
      "tree": "41dd079483713c7669b4c684686de3b701362d34",
      "parents": [
        "6cbe9de7a4353d1a1b77887b5459ac5304c0984a"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Thu Aug 18 11:24:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 18 12:53:58 2005 -0700"
      },
      "message": "[PATCH] Make RLIMIT_NICE ranges consistent with getpriority(2)\n\nAs suggested by Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e, make RLIMIT_NICE\nconsistent with getpriority before it becomes available in released glibc.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d46523ea32a79fbc8cd1237f9441f45cc3f02456",
      "tree": "0afe4590170ad25e38005f72431680ba47ba6860",
      "parents": [
        "18586e721636527cb5177467fb17e2350615978a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 25 16:28:39 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 15:40:00 2005 -0700"
      },
      "message": "[PATCH] fix MAX_USER_RT_PRIO and MAX_RT_PRIO\n\nHere\u0027s the patch again to fix the code to handle if the values between\nMAX_USER_RT_PRIO and MAX_RT_PRIO are different.\n\nWithout this patch, an SMP system will crash if the values are\ndifferent.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18586e721636527cb5177467fb17e2350615978a",
      "tree": "96d34b10d000fa8b1df16ae8f4c73761013371b5",
      "parents": [
        "fc00a6274b786f6863b32c79ff6f92aa0960b789"
      ],
      "author": {
        "name": "Andreas Steinmetz",
        "email": "ast@domdv.de",
        "time": "Sat Jul 23 13:42:04 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 15:30:51 2005 -0700"
      },
      "message": "[PATCH] Fix RLIMIT_RTPRIO breakage\n\nRLIMIT_RTPRIO is supposed to grant non privileged users the right to use\nSCHED_FIFO/SCHED_RR scheduling policies with priorites bounded by the\nRLIMIT_RTPRIO value via sched_setscheduler(). This is usually used by\naudio users.\n\nUnfortunately this is broken in 2.6.13rc3 as you can see in the excerpt\nfrom sched_setscheduler below:\n\n        /*\n         * Allow unprivileged RT tasks to decrease priority:\n         */\n        if (!capable(CAP_SYS_NICE)) {\n                /* can\u0027t change policy */\n                if (policy !\u003d p-\u003epolicy)\n                        return -EPERM;\n\nAfter the above unconditional test which causes sched_setscheduler to\nfail with no regard to the RLIMIT_RTPRIO value the following check is made:\n\n               /* can\u0027t increase priority */\n                if (policy !\u003d SCHED_NORMAL \u0026\u0026\n                    param-\u003esched_priority \u003e p-\u003ert_priority \u0026\u0026\n                    param-\u003esched_priority \u003e\n                                p-\u003esignal-\u003erlim[RLIMIT_RTPRIO].rlim_cur)\n                        return -EPERM;\n\nThus I do believe that the RLIMIT_RTPRIO value must be taken into\naccount for the policy check, especially as the RLIMIT_RTPRIO limit is\nof no use without this change.\n\nThe attached patch fixes this problem.\n\nSigned-off-by: Andreas Steinmetz \u003cast@domdv.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9",
      "tree": "7047a60dc99e5484560b40027c81f92a4e291b29",
      "parents": [
        "a4014d8f61a6a136d22422cf8aa978e6495dbad9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 17:57:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:47 2005 -0700"
      },
      "message": "[PATCH] cond_resched(): fix bogus might_sleep() warning\n\nThe BKS might be reacquired before we have dropped PREEMPT_ACTIVE, which\ncould trigger a second could trigger a second cond_resched() call.  Bug\nfound by Hirofumi Ogawa.\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": "f340c0d1a3f40fdcba69cd291530a4debc58748f",
      "tree": "22fca5983aff6ce2aa7d4ede0b031666dfe1f28d",
      "parents": [
        "082cf69eb82681f4eacb3a5653834c7970714bef"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 28 16:40:42 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 14:56:51 2005 -0700"
      },
      "message": "[PATCH] Tweak idle thread setup semantics\n\nThis patch tweaks idle thread setup semantics a bit: instead of setting\nNEED_RESCHED in init_idle(), we do an explicit schedule() before calling\ninto cpu_idle().\n\nThis patch, while having no negative side-effects, enables wider use of\ncond_resched()s.  (which might happen in the stock kernel too, but it\u0027s\nparticulary important for voluntary-preempt)\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": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2031d0f586839bc68f35bcf8580b18947f8491d4",
      "tree": "e317615b4cb62350edeea0afe0a4fc94152cee29",
      "parents": [
        "98e7f29418a4931f97e6b78d1ef3a47103fe6cd5",
        "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "message": "Merge Christoph\u0027s freeze cleanup patch\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a20ff27ef75d866730ee796acd811a925af762f",
      "tree": "a9e6acd72db03cfec5fdaee8cfab231032216581",
      "parents": [
        "37e4ab3f0cba13adf3535d373fd98e5ee47b5410"
      ],
      "author": {
        "name": "Dinakar Guniguntala",
        "email": "dino@in.ibm.com",
        "time": "Sat Jun 25 14:57:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] Dynamic sched domains: sched changes\n\nThe following patches add dynamic sched domains functionality that was\nextensively discussed on lkml and lse-tech.  I would like to see this added to\n-mm\n\no The main advantage with this feature is that it ensures that the scheduler\n  load balacing code only balances against the cpus that are in the sched\n  domain as defined by an exclusive cpuset and not all of the cpus in the\n  system. This removes any overhead due to load balancing code trying to\n  pull tasks outside of the cpu exclusive cpuset only to be prevented by\n  the tasks\u0027 cpus_allowed mask.\no cpu exclusive cpusets are useful for servers running orthogonal\n  workloads such as RT applications requiring low latency and HPC\n  applications that are throughput sensitive\n\no It provides a new API partition_sched_domains in sched.c\n  that makes dynamic sched domains possible.\no cpu_exclusive cpusets sets are now associated with a sched domain.\n  Which means that the users can dynamically modify the sched domains\n  through the cpuset file system interface\no ia64 sched domain code has been updated to support this feature as well\no Currently, this does not support hotplug. (However some of my tests\n  indicate hotplug+preempt is currently broken)\no I have tested it extensively on x86.\no This should have very minimal impact on performance as none of\n  the fast paths are affected\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "37e4ab3f0cba13adf3535d373fd98e5ee47b5410",
      "tree": "8891a73f2a6d4257835064ab45d167154abad71f",
      "parents": [
        "a3464a102a69a4e00efb0a763e274ce290995b4b"
      ],
      "author": {
        "name": "Olivier Croquette",
        "email": "ocroquette@free.fr",
        "time": "Sat Jun 25 14:57:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] Changing RT priority without CAP_SYS_NICE\n\nPresently, a process without the capability CAP_SYS_NICE can not change\nits own policy, which is OK.\n\nBut it can also not decrease its RT priority (if scheduled with policy\nSCHED_RR or SCHED_FIFO), which is what this patch changes.\n\nThe rationale is the same as for the nice value: a process should be\nable to require less priority for itself. Increasing the priority is\nstill not allowed.\n\nThis is for example useful if you give a multithreaded user process a RT\npriority, and the process would like to organize its internal threads\nusing priorities also. Then you can give the process the highest\npriority needed N, and the process starts its threads with lower\npriorities: N-1, N-2...\n\nThe POSIX norm says that the permissions are implementation specific, so\nI think we can do that.\n\nIn a sense, it makes the permissions consistent whatever the policy is:\nwith this patch, process scheduled by SCHED_FIFO, SCHED_RR and\nSCHED_OTHER can all decrease their priority.\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\ncleaned up and merged to -mm.\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": "a3464a102a69a4e00efb0a763e274ce290995b4b",
      "tree": "63a9301d4a02dfcefd8dff70f033c634aa93bb2f",
      "parents": [
        "77391d71681d05d2f4502f91ad62618522abf624"
      ],
      "author": {
        "name": "Chen Shang",
        "email": "shangcs@gmail.com",
        "time": "Sat Jun 25 14:57:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: micro-optimize task requeueing in schedule()\n\nmicro-optimize task requeueing in schedule() \u0026 clean up recalc_task_prio().\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": "77391d71681d05d2f4502f91ad62618522abf624",
      "tree": "e8931edb38a4ef3b7eb9e5ec7d25f7128e049994",
      "parents": [
        "476d139c218e44e045e4bc6d4cc02b010b343939"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: relax pinned balancing\n\nThe maximum rebalance interval allowed by the multiprocessor balancing\nbackoff is often not large enough to handle corner cases where there are\nlots of tasks pinned on a CPU.  Suresh reported:\n\n\tI see system livelock\u0027s if for example I have 7000 processes\n\tpinned onto one cpu (this is on the fastest 8-way system I\n\thave access to).\n\nAfter this patch, the machine is reported to go well above this number.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "476d139c218e44e045e4bc6d4cc02b010b343939",
      "tree": "82a6537b829b2b35156fba5a312f4e44273a4356",
      "parents": [
        "674311d5b411e9042df4fdf7aef0b3c8217b6240"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: consolidate sbe sbf\n\nConsolidate balance-on-exec with balance-on-fork.  This is made easy by the\nsched-domains RCU patches.\n\nAs well as the general goodness of code reduction, this allows the runqueues\nto be unlocked during balance-on-fork.\n\nschedstats is a problem.  Maybe just have balance-on-event instead of\ndistinguishing fork and exec?\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "674311d5b411e9042df4fdf7aef0b3c8217b6240",
      "tree": "4ee6b739629e7fc33b519fd087a116b4fa33a217",
      "parents": [
        "3dbd5342074a1e570ec84edf859deb9be588006d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: RCU domains\n\nOne of the problems with the multilevel balance-on-fork/exec is that it needs\nto jump through hoops to satisfy sched-domain\u0027s locking semantics (that is,\nyou may traverse your own domain when not preemptable, and you may traverse\nothers\u0027 domains when holding their runqueue lock).\n\nbalance-on-exec had to potentially migrate between more than one CPU before\nfinding a final CPU to migrate to, and balance-on-fork needed to potentially\ntake multiple runqueue locks.\n\nSo bite the bullet and make sched-domains go completely RCU.  This actually\nsimplifies the code quite a bit.\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nschedstats RCU fix, and a nice comment on for_each_domain, from Ingo.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "3dbd5342074a1e570ec84edf859deb9be588006d",
      "tree": "a5f0aa3f4152b409d9b109766f55020c28bbb9af",
      "parents": [
        "245af2c7870bd5940f7bfad19a0a03b32751fbc5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: multilevel sbe sbf\n\nThe fundamental problem that Suresh has with balance on exec and fork is that\nit only tries to balance the top level domain with the flag set.\n\nThis was worked around by removing degenerate domains, but is still a problem\nif people want to start using more complex sched-domains, especially\nmultilevel NUMA that ia64 is already using.\n\nThis patch makes balance on fork and exec try balancing over not just the top\nmost domain with the flag set, but all the way down the domain tree.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "245af2c7870bd5940f7bfad19a0a03b32751fbc5",
      "tree": "7c54e2b290a6b1a9fd15fa99f194c7ed5e9f0a11",
      "parents": [
        "41c7ce9ad9a859871dffbe7dbc8b1f9571724e3c"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sat Jun 25 14:57:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: remove degenerate domains\n\nRemove degenerate scheduler domains during the sched-domain init.\n\nFor example on x86_64, we always have NUMA configured in.  On Intel EM64T\nsystems, top most sched domain will be of NUMA and with only one sched_group\nin it.\n\nWith fork/exec balances(recent Nick\u0027s fixes in -mm tree), we always endup\ntaking wrong decisions because of this topmost domain (as it contains only one\ngroup and find_idlest_group always returns NULL).  We will endup loading HT\npackage completely first, letting active load balance kickin and correct it.\n\nIn general, this patch also makes sense with out recent Nick\u0027s fixes in -mm.\n\nFrom: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\n\nModified to account for more than just sched_groups when scanning for\ndegenerate domains by Nick Piggin.  And allow a runqueue\u0027s sd to go NULL\nrather than keep a single degenerate domain around (this happens when you run\nwith maxcpus\u003d1).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "41c7ce9ad9a859871dffbe7dbc8b1f9571724e3c",
      "tree": "e6046310efc8b0c3ec71922eb86ea2d3da11b2f7",
      "parents": [
        "4866cde064afbb6c2a488c265e696879de616daa"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: null domains\n\nFix the last 2 places that directly access a runqueue\u0027s sched-domain and\nassume it cannot be NULL.\n\nThat allows the use of NULL for domain, instead of a dummy domain, to signify\nno balancing is to happen.  No functional changes.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "4866cde064afbb6c2a488c265e696879de616daa",
      "tree": "6effad1ab6271129fc607b98273086409876563a",
      "parents": [
        "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup context switch locking\n\nInstead of requiring architecture code to interact with the scheduler\u0027s\nlocking implementation, provide a couple of defines that can be used by the\narchitecture to request runqueue unlocked context switches, and ask for\ninterrupts to be enabled over the context switch.\n\nAlso replaces the \"switch_lock\" used by these architectures with an oncpu\nflag (note, not a potentially slow bitflag).  This eliminates one bus\nlocked memory operation when context switching, and simplifies the\ntask_running function.\n\nSigned-off-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": "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d",
      "tree": "057b9f538bb4ece645ade5d4693f2cd1a14b92aa",
      "parents": [
        "687f1661d302bc70ce906594a6d3f615ef075a50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: uninline task_timeslice\n\n      \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\n\nuninline task_timeslice() - reduces code footprint noticeably, and it\u0027s\nslowpath code.\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": "68767a0ae428801649d510d9a65bb71feed44dd1",
      "tree": "678e2daa5726acf46ffd00a337d931e08ab928f9",
      "parents": [
        "147cbb4bbe991452698f0772d8292f22825710ba"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: schedstats update for balance on fork\n\nAdd SCHEDSTAT statistics for sched-balance-fork.\n\nSigned-off-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": "147cbb4bbe991452698f0772d8292f22825710ba",
      "tree": "cb86550d7e440e7dfbe22b0af6d2cfc991cb76cf",
      "parents": [
        "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: balance on fork\n\nReimplement the balance on exec balancing to be sched-domains aware.  Use this\nto also do balance on fork balancing.  Make x86_64 do balance on fork over the\nNUMA domain.\n\nThe problem that the non sched domains aware blancing became apparent on dual\ncore, multi socket opterons.  What we want is for the new tasks to be sent to\na different socket, but more often than not, we would first load up our\nsibling core, or fill two cores of a single remote socket before selecting a\nnew one.\n\nThis gives large improvements to STREAM on such systems.\n\nSigned-off-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": "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80",
      "tree": "7ff8e6060990889992d51d542abde31cf0d7a1ef",
      "parents": [
        "a3f21bce1fefdf92a4d1705e888d390b10f3ac6f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: no aggressive idle balancing\n\nRemove the very aggressive idle stuff that has recently gone into 2.6 - it is\ngoing against the direction we are trying to go.  Hopefully we can regain\nperformance through other methods.\n\nSigned-off-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": "a3f21bce1fefdf92a4d1705e888d390b10f3ac6f",
      "tree": "1b77f5f5a8516737e3f1f62290c08fe093cff661",
      "parents": [
        "7897986bad8f6cd50d6149345aca7f6480f49464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: tweak affine wakeups\n\nDo less affine wakeups.  We\u0027re trying to reduce dbt2-pgsql idle time\nregressions here...  make sure we don\u0027t don\u0027t move tasks the wrong way in an\nimbalance condition.  Also, remove the cache coldness requirement from the\ncalculation - this seems to induce sharp cutoff points where behaviour will\nsuddenly change on some workloads if the load creeps slightly over or under\nsome point.  It is good for periodic balancing because in that case have\notherwise have no other context to determine what task to move.\n\nBut also make a minor tweak to \"wake balancing\" - the imbalance tolerance is\nnow set at half the domain\u0027s imbalance, so we get the opportunity to do wake\nbalancing before the more random periodic rebalancing gets preformed.\n\nSigned-off-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": "7897986bad8f6cd50d6149345aca7f6480f49464",
      "tree": "10a5e08e004ae685aaab6823a3774803455b7704",
      "parents": [
        "99b61ccf0bf0e9a85823d39a5db6a1519caeb13d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: balance timers\n\nDo CPU load averaging over a number of different intervals.  Allow each\ninterval to be chosen by sending a parameter to source_load and target_load.\n0 is instantaneous, idx \u003e 0 returns a decaying average with the most recent\nsample weighted at 2^(idx-1).  To a maximum of 3 (could be easily increased).\n\nSo generally a higher number will result in more conservative balancing.\n\nSigned-off-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": "99b61ccf0bf0e9a85823d39a5db6a1519caeb13d",
      "tree": "4d793013d9317928e04e7edfe1b5766dc5e84cca",
      "parents": [
        "db935dbd43c4290d710304662cc908f733afea06"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: less aggressive idle balancing\n\nRemove the special casing for idle CPU balancing.  Things like this are\nhurting for example on SMT, where are single sibling being idle doesn\u0027t really\nwarrant a really aggressive pull over the NUMA domain, for example.\n\nSigned-off-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": "db935dbd43c4290d710304662cc908f733afea06",
      "tree": "96fed92340b7b5952472dfb1a8cb5d0620122001",
      "parents": [
        "3950745131e23472fb5ace2ee4a2093e7590ec69"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: add debugging\n\nThese conditions should now be impossible, and we need to fix them if they\nhappen.\n\nSigned-off-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": "3950745131e23472fb5ace2ee4a2093e7590ec69",
      "tree": "8b3e738f2c11ee3e4c60d8960e7bdd3c006f7154",
      "parents": [
        "16cfb1c04c3cbe3759f339d3333e7e1e7d59712a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: fix SMT scheduling problems\n\nSMT balancing has a couple of problems.  Firstly, active_load_balance is too\ncomplex - basically it should be a dumb helper for when the periodic balancer\nhas determined there is an imbalance, but gets stuck because the task is\nrunning.\n\nSo rip out all its \"smarts\", and just make it move one task to the target CPU.\n\nSecond, the busy CPU\u0027s sched-domain tree was being used for active balancing.\nThis means that it may not see that nr_balance_failed has reached a critical\nlevel.  So use the target CPU\u0027s sched-domain tree for this.  We can do this\nbecause we hold its runqueue lock.\n\nLastly, reset nr_balance_failed to a point where we allow cache hot migration.\nThis will help ensure active load balancing is successful.\n\nThanks to Suresh Siddha for pointing out these issues.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Suresh Siddha \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": "16cfb1c04c3cbe3759f339d3333e7e1e7d59712a",
      "tree": "23e8778f4eef5df4dc256dcabd1b564a8221f651",
      "parents": [
        "8102679447da7fcbcb5226ee0207c3a034bc6d5f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: reduce active load balancing\n\nFix up active load balancing a bit so it doesn\u0027t get called when it shouldn\u0027t.\nReset the nr_balance_failed counter at more points where we have found\nconditions to be balanced.  This reduces too aggressive active balancing seen\non some workloads.\n\nSigned-off-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": "8102679447da7fcbcb5226ee0207c3a034bc6d5f",
      "tree": "bb1717150a94a02a44c3bafc9bf8969ef6045f89",
      "parents": [
        "e0f364f4069f76a3613a797c388832822d179076"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: improve load balancing pinned tasks\n\nJohn Hawkes explained the problem best:\n\n\tA large number of processes that are pinned to a single CPU results\n\tin every other CPU\u0027s load_balance() seeing this overloaded CPU as\n\t\"busiest\", yet move_tasks() never finds a task to pull-migrate.  This\n\tcondition occurs during module unload, but can also occur as a\n\tdenial-of-service using sys_sched_setaffinity().  Several hundred\n\tCPUs performing this fruitless load_balance() will livelock on the\n\tbusiest CPU\u0027s runqueue lock.  A smaller number of CPUs will livelock\n\tif the pinned task count gets high.\n\nExpanding slightly on John\u0027s patch, this one attempts to work out whether the\nbalancing failure has been due to too many tasks pinned on the runqueue.  This\nallows it to be basically invisible to the regular blancing paths (ie.  when\nthere are no pinned tasks).  We can use this extra knowledge to shut down the\nbalancing faster, and ensure the migration threads don\u0027t start running which\nis another problem observed in the wild.\n\nSigned-off-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": "e0f364f4069f76a3613a797c388832822d179076",
      "tree": "d47e817c037a5765935c43f4aac4f4b0864bce4a",
      "parents": [
        "44f410a7ce593e7e75667b93494223998069f3f1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup wake_idle\n\nNew sched-domains code means we don\u0027t get spans with offline CPUs in\nthem.\n\nSigned-off-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": "c43dc2fd885b5658cfd7cedb7bcca20910c517a4",
      "tree": "98b723badf4a71c9dbf04cfd0babcb02ac577982",
      "parents": [
        "63e6880918e75dcb92d60aff218a76e063a471ef"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] aio: make wait_queue -\u003etask -\u003eprivate\n\nIn the upcoming aio_down patch, it is useful to store a private data\npointer in the kiocb\u0027s wait_queue.  Since we provide our own wake up\nfunction and do not require the task_struct pointer, it makes sense to\nconvert the task pointer into a generic private pointer.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8",
      "tree": "212a43003d1c4265718f53502547f36acbec143d",
      "parents": [
        "dcd497f99a1ef29a7c5e76142965be77e9dacabd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:09:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] preempt_count is int - remove cast and don\u0027t assign to unsigned type\n\nIn kernel/sched.c the return value from preempt_count() is cast to an int.\nThat made sense when preempt_count was defined as different types on is not\nneeded and should go away.  The patch removes the cast.\n\nIn kernel/timer.c the return value from preempt_count() is assigned to a\nvariable of type u32 and then that unsigned value is later compared to\npreempt_count().  Since preempt_count() returns an int, an int is what\nshould be used to store its return value.  Storing the result in an\nunsigned 32bit integer made a tiny bit of sense back when preempt_count was\ndifferent types on different archs, but no more - let\u0027s not play signed vs\nunsigned comparison games when we don\u0027t have to.  The patch modifies the\ncode to use an int to hold the value.  While I was around that bit of code\nI also made two changes to a nearby (related) printk() - I modified it to\nspecify the loglevel explicitly and also broke the line into a few pieces\nto avoid it being longer than 80 chars and clarified the text a bit.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6df3cecbb95345981718b38d357c50bc3425420a",
      "tree": "50550e3863513ac051164abc082e2899d61d4dab",
      "parents": [
        "f797f9cc5485b50c35c106b462e1bc432ec37f90"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 13 15:52:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 13 20:58:58 2005 -0700"
      },
      "message": "[PATCH] cond_resched_lock() fix\n\nOn one path, cond_resched_lock() fails to return true if it dropped the lock.\nWe think this might be causing the crashes in JBD\u0027s log_do_checkpoint().\n\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": "b39c4fab259b216148e705344a892c96efe1946d",
      "tree": "6419f40168e5b9a1eab2a6d413e85d82975dd6b2",
      "parents": [
        "b2665f92ae67a2d086537979d317a6f3a5697c63"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri May 20 13:59:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 20 15:48:19 2005 -0700"
      },
      "message": "[PATCH] cpusets+hotplug+preepmt broken\n\nThis patch removes the entwining of cpusets and hotplug code in the \"No\nmore Mr.  Nice Guy\" case of sched.c move_task_off_dead_cpu().\n\nSince the hotplug code is holding a spinlock at this point, we cannot take\nthe cpuset semaphore, cpuset_sem, as would seem to be required either to\nupdate the tasks cpuset, or to scan up the nested cpuset chain, looking for\nthe nearest cpuset ancestor that still has some CPUs that are online.  So\nwe just punt and blast the tasks cpus_allowed with all bits allowed.\n\nThis reverts these lines of code to what they were before the cpuset patch.\n And it updates the cpuset Doc file, to match.\n\nThe one known alternative to this that seems to work came from Dinakar\nGuniguntala, and required the hotplug code to take the cpuset_sem semaphore\nmuch earlier in its processing.  So far as we know, the increased locking\nentanglement between cpusets and hot plug of this alternative approach is\nnot worth doing in this case.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nathan Lynch \u003cntl@pobox.com\u003e\nAcked-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e43379f10b42194b8a6e1de342cfb44463c0f6da",
      "tree": "bf6463200dc7e14f266b7f12807c7cbfbb6700c2",
      "parents": [
        "9fc1427a01a9df3605e219c6de0c59c4639209a1"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:00 2005 -0700"
      },
      "message": "[PATCH] nice and rt-prio rlimits\n\nAdd a pair of rlimits for allowing non-root tasks to raise nice and rt\npriorities. Defaults to traditional behavior. Originally written by\nChris Wright.\n\nThe patch implements a simple rlimit ceiling for the RT (and nice) priorities\na task can set.  The rlimit defaults to 0, meaning no change in behavior by\ndefault.  A value of 50 means RT priority levels 1-50 are allowed.  A value of\n100 means all 99 privilege levels from 1 to 99 are allowed.  CAP_SYS_NICE is\nblanket permission.\n\n(akpm: see http://www.uwsg.iu.edu/hypermail/linux/kernel/0503.1/1921.html for\ntips on integrating this with PAM).\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.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": "238628edb6cd427454fb54994e2605e191bfc26a",
      "tree": "3225899173a2103cb7532551477d5c69e030f0ee",
      "parents": [
        "9a9947bf7a3a14d2107cb9a27279fc8f463370a9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 10:58:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 18 10:58:36 2005 -0700"
      },
      "message": "[PATCH] sched: fix signed comparisons of long long\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
