)]}'
{
  "commit": "e8fa136262e1121288bb93befe2295928ffd240d",
  "tree": "5df829adde9b43efee39275c05751c99bf46eb2f",
  "parents": [
    "764a9d6fe4b52995c8aba277e3634385699354f4"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "srostedt@redhat.com",
    "time": "Fri Jan 25 21:08:05 2008 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Fri Jan 25 21:08:05 2008 +0100"
  },
  "message": "sched: add RT task pushing\n\nThis patch adds an algorithm to push extra RT tasks off a run queue to\nother CPU runqueues.\n\nWhen more than one RT task is added to a run queue, this algorithm takes\nan assertive approach to push the RT tasks that are not running onto other\nrun queues that have lower priority.  The way this works is that the highest\nRT task that is not running is looked at and we examine the runqueues on\nthe CPUS for that tasks affinity mask. We find the runqueue with the lowest\nprio in the CPU affinity of the picked task, and if it is lower in prio than\nthe picked task, we push the task onto that CPU runqueue.\n\nWe continue pushing RT tasks off the current runqueue until we don\u0027t push any\nmore.  The algorithm stops when the next highest RT task can\u0027t preempt any\nother processes on other CPUS.\n\nTODO: The algorithm may stop when there are still RT tasks that can be\n migrated. Specifically, if the highest non running RT task CPU affinity\n is restricted to CPUs that are running higher priority tasks, there may\n be a lower priority task queued that has an affinity with a CPU that is\n running a lower priority task that it could be migrated to.  This\n patch set does not address this issue.\n\nNote: checkpatch reveals two over 80 character instances. I\u0027m not sure\n that breaking them up will help visually, so I left them as is.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6185fa080ec8894318502a9f51788ffcbedd1eec",
      "old_mode": 33188,
      "old_path": "kernel/sched.c",
      "new_id": "97cab609fc31ac71839edc201d2f3f1ed4422e0d",
      "new_mode": 33188,
      "new_path": "kernel/sched.c"
    },
    {
      "type": "modify",
      "old_id": "136c2857a0491c3c5e496c52183b282cc1d81536",
      "old_mode": 33188,
      "old_path": "kernel/sched_rt.c",
      "new_id": "7815e90b1147dddfec0fcc5ba8cb2e4655a8918c",
      "new_mode": 33188,
      "new_path": "kernel/sched_rt.c"
    }
  ]
}
