)]}'
{
  "log": [
    {
      "commit": "98fbc798533339be802c6dcd48c2293c712e87db",
      "tree": "14a5f3ba3ee5915e890a08c4c37216869700b756",
      "parents": [
        "deac4ee65af4befb66b542e4a782e63da93b51a0"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Aug 24 20:39:10 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 24 20:39:10 2007 +0200"
      },
      "message": "sched: optimize task_tick_rt() a bit\n\nMitchell Erblich suggested a quality-of-implementation change to\nnot requeue SCHED_RR tasks if there\u0027s only a single task on the\nrunqueue, by checking for rq-\u003enr_running \u003d\u003d 1.\n\nprovide a more efficient implementation of that, to check that\nparticular RT priority-queue only.\n\n[ From: mingo@elte.hu ]\n\nAlso first requeue the task then set need_resched - results in slightly\nbetter machine-instruction ordering. Also clean up the code a bit.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31ee529cc2254e8b62880535ec8f21a4c5e1c091",
      "tree": "df9a19be47c3111d0e34ce9f13498b236733a850",
      "parents": [
        "ff95f3df54609d9d4b9572f8a67d09922a645043"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:49 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eput_prev_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb8d47240246e20f864f0724a23a7220cd1c59ac",
      "tree": "0c94ecb977355a2152655738bfcee6072c10f41e",
      "parents": [
        "f02231e51a280f1a0fee4d03ad8f50048e06cced"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003epick_next_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003epick_next_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f02231e51a280f1a0fee4d03ad8f50048e06cced",
      "tree": "becd8bf748828e3dfe34f73df11d260fd6300026",
      "parents": [
        "fd390f6a04f22fb457d6fd1855964f79536525de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003edequeue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003edequeue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd390f6a04f22fb457d6fd1855964f79536525de",
      "tree": "753b2c9889a4127e6c4b4ea8d80bae972228a875",
      "parents": [
        "f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task()\n\nremove the \u0027u64 now\u0027 parameter from -\u003eenqueue_task().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a",
      "tree": "144d499d871c94e81fc6c78e6828bae7e3424c21",
      "parents": [
        "ab6cde2692c76b88ea430aa188ea50303216a955"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:48 2007 +0200"
      },
      "message": "sched: remove the \u0027u64 now\u0027 parameter from update_curr_rt()\n\nremove the \u0027u64 now\u0027 parameter from update_curr_rt().\n\n( identity transformation that causes no change in functionality. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d281918d7c135c555d9cebcf73d4320efa8177dc",
      "tree": "e1230311df7cf4366438d49b2ad623a429c03d1c",
      "parents": [
        "eb59449400f1e5984509e502711141302a2867ab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:47 2007 +0200"
      },
      "message": "sched: remove \u0027now\u0027 use from assignments\n\nchange all \u0027now\u0027 timestamp uses in assignments to rq-\u003eclock.\n\n( this is an identity transformation that causes no functionality change:\n  all such new rq-\u003eclock is necessarily preceded by an update_rq_clock()\n  call. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4ac01c36e286dd1b9a1d5cd7422c5af51dc55f8",
      "tree": "0c275d58a4835a3d604d9cac4e1dd7c25714e150",
      "parents": [
        "aea25401c3347d9f3a64ebdc81043be246a9f631"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: fix bug in balance_tasks()\n\nThere are two problems with balance_tasks() and how it used:\n\n1. The variables best_prio and best_prio_seen (inherited from the old\nmove_tasks()) were only required to handle problems caused by the\nactive/expired arrays, the order in which they were processed and the\npossibility that the task with the highest priority could be on either.\n  These issues are no longer present and the extra overhead associated\nwith their use is unnecessary (and possibly wrong).\n\n2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same\nthis_best_prio variable needs to be used by all scheduling classes or\nthere is a risk of moving too much load.  E.g. if the highest priority\ntask on this at the beginning is a fairly low priority task and the rt\nclass migrates a task (during its turn) then that moved task becomes the\nnew highest priority task on this_rq but when the sched_fair class\ninitializes its copy of this_best_prio it will get the priority of the\noriginal highest priority task as, due to the run queue locks being\nheld, the reschedule triggered by pull_task() will not have taken place.\n  This could result in inappropriate overriding of skip_for_load and\nexcessive load being moved.\n\nThe attached patch addresses these problems by deleting all reference to\nbest_prio and best_prio_seen and making this_best_prio a reference\nparameter to the various functions involved.\n\nload_balance_fair() has also been modified so that this_best_prio is\nonly reset (in the loop) if CONFIG_FAIR_GROUP_SCHED is set.  This should\npreserve the effect of helping spread groups\u0027 higher priority tasks\naround the available CPUs while improving system performance when\nCONFIG_FAIR_GROUP_SCHED isn\u0027t set.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4301065920b0cbde3986519582347e883b166f3e",
      "tree": "415b8e3a2796709673015e100a3b5b28e556104a",
      "parents": [
        "f1a438d813d416fa9f4be4e6dbd10b54c5938d89"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 09 11:16:46 2007 +0200"
      },
      "message": "sched: simplify move_tasks()\n\nThe move_tasks() function is currently multiplexed with two distinct\ncapabilities:\n\n1. attempt to move a specified amount of weighted load from one run\nqueue to another; and\n2. attempt to move a specified number of tasks from one run queue to\nanother.\n\nThe first of these capabilities is used in two places, load_balance()\nand load_balance_idle(), and in both of these cases the return value of\nmove_tasks() is used purely to decide if tasks/load were moved and no\nnotice of the actual number of tasks moved is taken.\n\nThe second capability is used in exactly one place,\nactive_load_balance(), to attempt to move exactly one task and, as\nbefore, the return value is only used as an indicator of success or failure.\n\nThis multiplexing of sched_task() was introduced, by me, as part of the\nsmpnice patches and was motivated by the fact that the alternative, one\nfunction to move specified load and one to move a single task, would\nhave led to two functions of roughly the same complexity as the old\nmove_tasks() (or the new balance_tasks()).  However, the new modular\ndesign of the new CFS scheduler allows a simpler solution to be adopted\nand this patch addresses that solution by:\n\n1. adding a new function, move_one_task(), to be used by\nactive_load_balance(); and\n2. making move_tasks() a single purpose function that tries to move a\nspecified weighted load and returns 1 for success and 0 for failure.\n\nOne of the consequences of these changes is that neither move_one_task()\nor the new move_tasks() care how many tasks sched_class.load_balance()\nmoves and this enables its interface to be simplified by returning the\namount of load moved as its result and removing the load_moved pointer\nfrom the argument list.  This helps simplify the new move_tasks() and\nslightly reduces the amount of work done in each of\nsched_class.load_balance()\u0027s implementations.\n\nFurther simplification, e.g. changes to balance_tasks(), are possible\nbut (slightly) complicated by the special needs of load_balance_fair()\nso I\u0027ve left them to a later patch (if this one gets accepted).\n\nNB Since move_tasks() gets called with two run queue locks held even\nsmall reductions in overhead are worthwhile.\n\n[ mingo@elte.hu ]\n\nthis change also reduces code size nicely:\n\n   text    data     bss     dec     hex filename\n   39216    3618      24   42858    a76a sched.o.before\n   39173    3618      24   42815    a73f sched.o.after\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cfb0d5d06bea2b8791f32145eae539d524e5f6c",
      "tree": "ec84e29c73833fac72f7307b7573410b2e60b291",
      "parents": [
        "8179ca23d513717cc5e3dc81a1ffe01af0955468"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: reduce debug code\n\nmove the rest of the debugging/instrumentation code to under\nCONFIG_SCHEDSTATS too. This reduces code size and speeds code up:\n\n    text    data     bss     dec     hex filename\n   33044    4122      28   37194    914a sched.o.before\n   32708    4122      28   36858    8ffa sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cad60d93e18ba52b6f069b2edb031c89bf603b07",
      "tree": "dfe74c165e7607c233d223614ef400163c6ba44c",
      "parents": [
        "4e6f96f313561d86d248edf0eaff2336d8217e1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 02 17:41:40 2007 +0200"
      },
      "message": "[PATCH] sched: -\u003etask_new cleanup\n\nmake sched_class.task_new \u003d\u003d NULL a \u0027default method\u0027, this\nallows the removal of task_rt_new.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb44e5d1c6b3b748e0facf8f516b3162009feb27",
      "tree": "f09b7bfb5f5c71192ecdfbef82eda7c9a5bcc231",
      "parents": [
        "bf0f6f24a1ece8988b243aefe84ee613099a9245"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:51:58 2007 +0200"
      },
      "message": "sched: cfs core, kernel/sched_rt.c\n\nadd kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior\nand semantics of SCHED_FIFO/SCHED_RR tasks is unchanged.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
