)]}'
{
  "log": [
    {
      "commit": "c032862fba51a3ca504752d3a25186b324c5ce83",
      "tree": "955dc2ba4ab3df76ecc2bb780ee84aca04967e8d",
      "parents": [
        "fda76e074c7737fc57855dd17c762e50ed526052",
        "8700c95adb033843fc163d112b9d21d4fda78018"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:37:49 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:54:19 2013 +0200"
      },
      "message": "Merge commit \u00278700c95adb03\u0027 into timers/nohz\n\nThe full dynticks tree needs the latest RCU and sched\nupstream updates in order to fix some dependencies.\n\nMerge a common upstream merge point that has these\nupdates.\n\nConflicts:\n\tinclude/linux/perf_event.h\n\tkernel/rcutree.h\n\tkernel/rcutree_plugin.h\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5",
      "tree": "dc6ba0d1f4dc8119c7dd4d0844fa31a8ed60bf6f",
      "parents": [
        "e02e60c109ca70935bad1131976bdbf5160cf576"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Tue Apr 23 16:59:02 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 12:13:44 2013 +0200"
      },
      "message": "sched: Fix init NOHZ_IDLE flag\n\nOn my SMP platform which is made of 5 cores in 2 clusters, I\nhave the nr_busy_cpu field of sched_group_power struct that is\nnot null when the platform is fully idle - which makes the\nscheduler unhappy.\n\nThe root cause is:\n\nDuring the boot sequence, some CPUs reach the idle loop and set\ntheir NOHZ_IDLE flag while waiting for others CPUs to boot. But\nthe nr_busy_cpus field is initialized later with the assumption\nthat all CPUs are in the busy state whereas some CPUs have\nalready set their NOHZ_IDLE flag.\n\nMore generally, the NOHZ_IDLE flag must be initialized when new\nsched_domains are created in order to ensure that NOHZ_IDLE and\nnr_busy_cpus are aligned.\n\nThis condition can be ensured by adding a synchronize_rcu()\nbetween the destruction of old sched_domains and the creation of\nnew ones so the NOHZ_IDLE flag will not be updated with old\nsched_domain once it has been initialized. But this solution\nintroduces a additionnal latency in the rebuild sequence that is\ncalled during cpu hotplug.\n\nAs suggested by Frederic Weisbecker, another solution is to have\nthe same rcu lifecycle for both NOHZ_IDLE and sched_domain\nstruct. A new nohz_idle field is added to sched_domain so both\nstatus and sched_domain will share the same RCU lifecycle and\nwill be always synchronized. In addition, there is no more need\nto protect nohz_idle against concurrent access as it is only\nmodified by 2 exclusive functions called by local cpu.\n\nThis solution has been prefered to the creation of a new struct\nwith an extra pointer indirection for sched_domain.\n\nThe synchronization is done at the cost of :\n\n - An additional indirection and a rcu_dereference for accessing nohz_idle.\n - We use only the nohz_idle field of the top sched_domain.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nCc: pjt@google.com\nCc: rostedt@goodmis.org\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366729142-14662-1-git-send-email-vincent.guittot@linaro.org\n[ Fixed !NO_HZ build bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e02e60c109ca70935bad1131976bdbf5160cf576",
      "tree": "56295c7eacea90fb95a2febf178ea287664e4407",
      "parents": [
        "e6252c3ef4b9cd251b53f7b68035f395d20b044e"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:42 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:46 2013 +0200"
      },
      "message": "sched: Prevent to re-select dst-cpu in load_balance()\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup. But, in that, there is no code for preventing to\nre-select dst-cpu. So, same dst-cpu can be selected over and\nover.\n\nThis patch add functionality to load_balance() in order to\nexclude cpu which is selected once. We prevent to re-select\ndst_cpu via env\u0027s cpus, so now, env\u0027s cpus is a candidate not\nonly for src_cpus, but also dst_cpus.\n\nWith this patch, we can remove lb_iterations and\nmax_lb_iterations, because we decide whether we can go ahead or\nnot via env\u0027s cpus.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-7-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e6252c3ef4b9cd251b53f7b68035f395d20b044e",
      "tree": "ab331d8a6b9dfd9733c857cbf66944d278d72f2f",
      "parents": [
        "d31980846f9688db3ee3e5863525c6ff8ace4c7c"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:41 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:45 2013 +0200"
      },
      "message": "sched: Rename load_balance_tmpmask to load_balance_mask\n\nThis name doesn\u0027t represent specific meaning.\nSo rename it to imply it\u0027s purpose.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-6-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d31980846f9688db3ee3e5863525c6ff8ace4c7c",
      "tree": "92ec80802dd11061e5b1515a0bf41d9b9be22cb1",
      "parents": [
        "cfc03118047172f5bdc58d63c607d16d33ce5305"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:40 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Move up affinity check to mitigate useless redoing overhead\n\nCurrently, LBF_ALL_PINNED is cleared after affinity check is\npassed. So, if task migration is skipped by small load value or\nsmall imbalance value in move_tasks(), we don\u0027t clear\nLBF_ALL_PINNED. At last, we trigger \u0027redo\u0027 in load_balance().\n\nImbalance value is often so small that any tasks cannot be moved\nto other cpus and, of course, this situation may be continued\nafter we change the target cpu. So this patch move up affinity\ncheck code and clear LBF_ALL_PINNED before evaluating load value\nin order to mitigate useless redoing overhead.\n\nIn addition, re-order some comments correctly.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-5-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cfc03118047172f5bdc58d63c607d16d33ce5305",
      "tree": "8711e931791f814b3a40956b4a6d0f7d9088c0a6",
      "parents": [
        "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:39 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup, regardless of idle type. When we do NEWLY_IDLE balancing,\nwe should not consider it, because a motivation of NEWLY_IDLE\nbalancing is to turn this cpu to non idle state if needed. This\nis not the case of other cpus. So, change code not to consider\nother cpus for NEWLY_IDLE balancing.\n\nWith this patch, assign \u0027if (pulled_task) this_rq-\u003eidle_stamp \u003d\n0\u0027 in idle_balance() is corrected, because NEWLY_IDLE balancing\ndoesn\u0027t consider other cpus. Assigning to \u0027this_rq-\u003eidle_stamp\u0027\nis now valid.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-4-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3",
      "tree": "14ad92528f988552549ee962b9274911a0e16c92",
      "parents": [
        "f1cd0858100c67273f2c74344e0c464344c4a982"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:38 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Explicitly cpu_idle_type checking in rebalance_domains()\n\nAfter commit 88b8dac0, dst-cpu can be changed in load_balance(),\nthen we can\u0027t know cpu_idle_type of dst-cpu when load_balance()\nreturn positive. So, add explicit cpu_idle_type checking.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-3-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f1cd0858100c67273f2c74344e0c464344c4a982",
      "tree": "1b3acc84023a16fabf7c37bf0bdb782fe25094cb",
      "parents": [
        "642dbc39ab1ea00f47e0fee1b8e8a27da036d940"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:37 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Change position of resched_cpu() in load_balance()\n\ncur_ld_moved is reset if env.flags hit LBF_NEED_BREAK.\nSo, there is possibility that we miss doing resched_cpu().\nCorrect it as changing position of resched_cpu()\nbefore checking LBF_NEED_BREAK.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-2-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "642dbc39ab1ea00f47e0fee1b8e8a27da036d940",
      "tree": "337e3cd2be83a916577f78c4819fafe6d29c99c8",
      "parents": [
        "9b89f6ba2ab56e4d9c00e7e591d6bc333137895e"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Thu Apr 18 18:34:26 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:22:52 2013 +0200"
      },
      "message": "sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n\nThe current update of the rq\u0027s load can be erroneous when RT\ntasks are involved.\n\nThe update of the load of a rq that becomes idle, is done only\nif the avg_idle is less than sysctl_sched_migration_cost. If RT\ntasks and short idle duration alternate, the runnable_avg will\nnot be updated correctly and the time will be accounted as idle\ntime when a CFS task wakes up.\n\nA new idle_enter function is called when the next task is the\nidle function so the elapsed time will be accounted as run time\nin the load of the rq, whatever the average idle time is. The\nfunction update_rq_runnable_avg is removed from idle_balance.\n\nWhen a RT task is scheduled on an idle CPU, the update of the\nrq\u0027s load is not done when the rq exit idle state because CFS\u0027s\nfunctions are not called. Then, the idle_balance, which is\ncalled just before entering the idle function, updates the rq\u0027s\nload and makes the assumption that the elapsed time since the\nlast update, was only running time.\n\nAs a consequence, the rq\u0027s load of a CPU that only runs a\nperiodic RT task, is close to LOAD_AVG_MAX whatever the running\nduration of the RT task is.\n\nA new idle_exit function is called when the prev task is the\nidle function so the elapsed time will be accounted as idle time\nin the rq\u0027s load.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: pjt@google.com\nCc: fweisbec@gmail.com\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366302867-5055-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b9b0853a4b377f84a5e6ed091816a9a2d6b10918",
      "tree": "239fbe1239e8f0858aa025a62a7325229cf205c7",
      "parents": [
        "4e2dcb73aecbde9fe4e3137c9ea35cb6aa6cb286"
      ],
      "author": {
        "name": "Libin",
        "email": "huawei.libin@huawei.com",
        "time": "Mon Apr 01 19:14:01 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:39:57 2013 +0200"
      },
      "message": "sched: Fix comment in rebalance_domains()\n\nA comment in function rebalance_domains() mentions\narch_init_sched_domains(), but that function does not exist\nanymore. The proper function is init_sched_domains().\n\nSigned-off-by: Libin \u003chuawei.libin@huawei.com\u003e\nCc: \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1364814841-49156-1-git-send-email-huawei.libin@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4e2dcb73aecbde9fe4e3137c9ea35cb6aa6cb286",
      "tree": "d3011ead0af5e93ae0312ddf448dd6caae3a0cd3",
      "parents": [
        "28b4a521f618d9722bc780ea38b44718ce0fe283"
      ],
      "author": {
        "name": "Zhang Hang",
        "email": "bob.zhanghang@huawei.com",
        "time": "Wed Apr 10 14:04:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 11:15:45 2013 +0200"
      },
      "message": "sched: Simplify can_migrate_task()\n\nAt this point tsk_cache_hot is always true, so no need to check it.\n\nSigned-off-by: Zhang Hang \u003cbob.zhanghang@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51650107.9040606@huawei.com\n[ Also remove unnecessary schedstat #ifdefs. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3451d0243c3cdfd729b36f9684a14659d4895ca3",
      "tree": "5307f4492708ae089dd0a6d81b54f9e606707ca8",
      "parents": [
        "ab71d36ddb9e60d4ddb28a187718815d38c3c666"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 13:56:03 2013 +0200"
      },
      "message": "nohz: Rename CONFIG_NO_HZ to CONFIG_NO_HZ_COMMON\n\nWe are planning to convert the dynticks Kconfig options layout\ninto a choice menu. The user must be able to easily pick\nany of the following implementations: constant periodic tick,\nidle dynticks, full dynticks.\n\nAs this implies a mutual exclusion, the two dynticks implementions\nneed to converge on the selection of a common Kconfig option in order\nto ease the sharing of a common infrastructure.\n\nIt would thus seem pretty natural to reuse CONFIG_NO_HZ to\nthat end. It already implements all the idle dynticks code\nand the full dynticks depends on all that code for now.\nSo ideally the choice menu would propose CONFIG_NO_HZ_IDLE and\nCONFIG_NO_HZ_EXTENDED then both would select CONFIG_NO_HZ.\n\nOn the other hand we want to stay backward compatible: if\nCONFIG_NO_HZ is set in an older config file, we want to\nenable CONFIG_NO_HZ_IDLE by default.\n\nBut we can\u0027t afford both at the same time or we run into\na circular dependency:\n\n1) CONFIG_NO_HZ_IDLE and CONFIG_NO_HZ_EXTENDED both select\n   CONFIG_NO_HZ\n2) If CONFIG_NO_HZ is set, we default to CONFIG_NO_HZ_IDLE\n\nWe might be able to support that from Kconfig/Kbuild but it\nmay not be wise to introduce such a confusing behaviour.\n\nSo to solve this, create a new CONFIG_NO_HZ_COMMON option\nwhich gathers the common code between idle and full dynticks\n(that common code for now is simply the idle dynticks code)\nand select it from their referring Kconfig.\n\nThen we\u0027ll later create CONFIG_NO_HZ_IDLE and map CONFIG_NO_HZ\nto it for backward compatibility.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1bf08230f745e48fea9c18ee34a73581631fe7c9",
      "tree": "168174d1fa776d31a388669565b860069ee116ea",
      "parents": [
        "660cc00f8c6f7a2e16c25918590b470e86de19ec"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Tue Mar 12 21:12:24 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 14 08:22:29 2013 +0100"
      },
      "message": "sched: Fix variable name misnomer, add comments\n\nThe min_vruntime variable actually stores the maximum value.\nThe added comment was taken from place_entity function.\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1363115544-1964-1-git-send-email-epure.andrei@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "660cc00f8c6f7a2e16c25918590b470e86de19ec",
      "tree": "6fed2189311a3127820b2ff766fcada58945d78b",
      "parents": [
        "b719203b846284e77f5c50fca04b458b6484aeae"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Mon Mar 11 12:03:20 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 11 15:12:11 2013 +0100"
      },
      "message": "sched: Spelling fix\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nCc: trivial@kernel.org\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1362996200-2674-1-git-send-email-epure.andrei@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "15f803c94bd92b17708aad9e74226fd0b2c9130c",
      "tree": "9e82cc81ab4de87e3878b503170be862a96dbe54",
      "parents": [
        "c82ba9fa7588dfd02d4dc99ad1af486304bc424c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:11 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:34 2013 +0100"
      },
      "message": "sched: Make default_scale_freq_power() static\n\nAs default_scale_{freq,smt}_power() and update_rt_power() are\nused in kernel/sched/fair.c only, annotate them as static\nfunctions.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7AF.8010900@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "e0a79f529d5ba2507486d498b25da40911d95cf6",
      "tree": "469947cd4407877ba69aa474cdfed0f2bda61d92",
      "parents": [
        "60334caf37dc7c59120b21faa625534a6fffead0"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "bitbucket@online.de",
        "time": "Mon Jan 28 12:19:25 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Feb 04 20:07:24 2013 +0100"
      },
      "message": "sched: Fix select_idle_sibling() bouncing cow syndrome\n\nIf the previous CPU is cache affine and idle, select it.\n\nThe current implementation simply traverses the sd_llc domain,\ntaking the first idle CPU encountered, which walks buddy pairs\nhand in hand over the package, inflicting excruciating pain.\n\n1 tbench pair (worst case) in a 10 core + SMT package:\n\n  pre   15.22 MB/sec 1 procs\n  post 252.01 MB/sec 1 procs\n\nSigned-off-by: Mike Galbraith \u003cbitbucket@online.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "38dc3348e36d6cbe6ad51d771e4db948cda5b0e3",
      "tree": "07e6792c56b477ae2e7a49d9f5fa502d884e1247",
      "parents": [
        "aa7f67304d1a03180f463258aa6f15a8b434e77d"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jan 25 14:14:22 2013 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jan 25 15:23:14 2013 +0100"
      },
      "message": "sched: Fix warning in kernel/sched/fair.c\n\na4c96ae319 \"sched: Unthrottle rt runqueues in\n__disable_runtime()\" turned the unthrottle_offline_cfs_rqs\nfunction into a static symbol, which now triggers a warning\nabout it being potentially unused:\n\n  kernel/sched/fair.c:2055:13: warning: \u0027unthrottle_offline_cfs_rqs\u0027 defined but not used [-Wunused-function]\n\nMarking it __maybe_unused shuts up the gcc warning and lets the\ncompiler safely drop the function body when it\u0027s not being used.\n\nTo reproduce, build the ARM bcm2835_defconfig.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Boonstoppel \u003cpboonstoppel@nvidia.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: linux-arm-kernel@list.infradead.org\nLink: http://lkml.kernel.org/r/1359123276-15833-6-git-send-email-arnd@arndb.de\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "16c8f1c72ece3871a6c93003cd888fc2d003a7eb",
      "tree": "684644cac424f066b238c9b8003a4c61dc242209",
      "parents": [
        "1158ddb55416855fd17abe3214298f736f00426a"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Thu Nov 08 13:33:46 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 24 18:06:11 2013 +0100"
      },
      "message": "sched/fair: Set se-\u003evruntime directly in place_entity()\n\nWe are first storing the new vruntime in a variable and then\nstoring it in se-\u003evruntime. Simply update se-\u003evruntime directly.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nCc: linaro-dev@lists.linaro.org\nCc: patches@linaro.org\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/ae59db1945518d6f6250920d46eb1f1a9cc0024e.1352361704.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a59f4e079d19464eebb9b06513a1d4f55fdae5ba",
      "tree": "608a8b463cbc07bd252644ec25f73dfed480a71c",
      "parents": [
        "ff7532ca2c631e7e96dcd305a967b610259dc0ea"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "gaoyang.zyh@taobao.com",
        "time": "Tue Jan 08 12:56:52 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 24 14:41:00 2013 +0100"
      },
      "message": "sched: Fix the broken sched_rr_get_interval()\n\nThe caller of sched_sliced() should pass se.cfs_rq and se as the\narguments, however in sched_rr_get_interval() we gave it\nrq.cfs_rq and se, which made the following computation obviously\nwrong.\n\nThe change was introduced by commit:\n\n  77034937dc45 sched: fix crash in sys_sched_rr_get_interval()\n\n... 5 years ago, while it had been the correct \u0027cfs_rq_of\u0027 before\nthe commit. The change seems to be irrelevant to the commit\nmsg, which was to return a 0 timeslice for tasks that are on an\nidle runqueue. So I believe that was just a plain typo.\n\nSigned-off-by: Zhu Yanhai \u003cgaoyang.zyh@taobao.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1357621012-15039-1-git-send-email-gaoyang.zyh@taobao.com\n[ Since this is an ABI and an old bug, we\u0027ll test this via a\n  slow upstream route, to hopefully discover any app breakage. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2832bc19f6668fd00116f61f821105040599ef8b",
      "tree": "9839b9321ab7c3dc86f003d69cae522a78d02f20",
      "parents": [
        "cda73a10eb3f493871ed39f468db50a65ebeddce"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Dec 19 17:42:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 07:06:56 2012 -0800"
      },
      "message": "sched: numa: ksm: fix oops in task_numa_placment()\n\ntask_numa_placement() oopsed on NULL p-\u003emm when task_numa_fault() got\ncalled in the handling of break_ksm() for ksmd.  That might be a\npeculiar case, which perhaps KSM could takes steps to avoid? but it\u0027s\nmore robust if task_numa_placement() allows for such a possibility.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "221392c3ad0432e39fd74a349364f66cb0ed78f6",
      "tree": "cc47a75ade22ee1e32da36c67f3dea2bb9a42393",
      "parents": [
        "a4f1de176614f634c367e5994a7bcc428c940df0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Dec 17 14:05:53 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 08:25:50 2012 -0800"
      },
      "message": "sched: numa: Fix build error if CONFIG_NUMA_BALANCING \u0026\u0026 !CONFIG_TRANSPARENT_HUGEPAGE\n\nMichal Hocko reported that the following build error occurs if\nCONFIG_NUMA_BALANCING is set without THP support\n\n  kernel/sched/fair.c: In function ‘task_numa_work’:\n  kernel/sched/fair.c:932:55: error: call to ‘__build_bug_failed’ declared with attribute error: BUILD_BUG failed\n\nThe problem is that HPAGE_PMD_SHIFT triggers a BUILD_BUG() on\n!CONFIG_TRANSPARENT_HUGEPAGE. This patch addresses the problem.\n\nReported-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d59eebc5e137bd89c6351e4c70e90ba1d0dc234",
      "tree": "b4ddfd0b057454a7437a3b4e3074a3b8b4b03817",
      "parents": [
        "11520e5e7c1855fc3bf202bb3be35a39d9efa034",
        "4fc3f1d66b1ef0d7b8dc11f4ff1cc510f78b37d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 14:33:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:18:08 2012 -0800"
      },
      "message": "Merge tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma\n\nPull Automatic NUMA Balancing bare-bones from Mel Gorman:\n \"There are three implementations for NUMA balancing, this tree\n  (balancenuma), numacore which has been developed in tip/master and\n  autonuma which is in aa.git.\n\n  In almost all respects balancenuma is the dumbest of the three because\n  its main impact is on the VM side with no attempt to be smart about\n  scheduling.  In the interest of getting the ball rolling, it would be\n  desirable to see this much merged for 3.8 with the view to building\n  scheduler smarts on top and adapting the VM where required for 3.9.\n\n  The most recent set of comparisons available from different people are\n\n    mel:    https://lkml.org/lkml/2012/12/9/108\n    mingo:  https://lkml.org/lkml/2012/12/7/331\n    tglx:   https://lkml.org/lkml/2012/12/10/437\n    srikar: https://lkml.org/lkml/2012/12/10/397\n\n  The results are a mixed bag.  In my own tests, balancenuma does\n  reasonably well.  It\u0027s dumb as rocks and does not regress against\n  mainline.  On the other hand, Ingo\u0027s tests shows that balancenuma is\n  incapable of converging for this workloads driven by perf which is bad\n  but is potentially explained by the lack of scheduler smarts.  Thomas\u0027\n  results show balancenuma improves on mainline but falls far short of\n  numacore or autonuma.  Srikar\u0027s results indicate we all suffer on a\n  large machine with imbalanced node sizes.\n\n  My own testing showed that recent numacore results have improved\n  dramatically, particularly in the last week but not universally.\n  We\u0027ve butted heads heavily on system CPU usage and high levels of\n  migration even when it shows that overall performance is better.\n  There are also cases where it regresses.  Of interest is that for\n  specjbb in some configurations it will regress for lower numbers of\n  warehouses and show gains for higher numbers which is not reported by\n  the tool by default and sometimes missed in treports.  Recently I\n  reported for numacore that the JVM was crashing with\n  NullPointerExceptions but currently it\u0027s unclear what the source of\n  this problem is.  Initially I thought it was in how numacore batch\n  handles PTEs but I\u0027m no longer think this is the case.  It\u0027s possible\n  numacore is just able to trigger it due to higher rates of migration.\n\n  These reports were quite late in the cycle so I/we would like to start\n  with this tree as it contains much of the code we can agree on and has\n  not changed significantly over the last 2-3 weeks.\"\n\n* tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma: (50 commits)\n  mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable\n  mm/rmap: Convert the struct anon_vma::mutex to an rwsem\n  mm: migrate: Account a transhuge page properly when rate limiting\n  mm: numa: Account for failed allocations and isolations as migration failures\n  mm: numa: Add THP migration for the NUMA working set scanning fault case build fix\n  mm: numa: Add THP migration for the NUMA working set scanning fault case.\n  mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n  mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG\n  mm: sched: numa: Control enabling and disabling of NUMA balancing\n  mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n  mm: numa: Use a two-stage filter to restrict pages being migrated for unlikely task\u003c-\u003enode relationships\n  mm: numa: migrate: Set last_nid on newly allocated page\n  mm: numa: split_huge_page: Transfer last_nid on tail page\n  mm: numa: Introduce last_nid to the page frame\n  sched: numa: Slowly increase the scanning period as NUMA faults are handled\n  mm: numa: Rate limit setting of pte_numa if node is saturated\n  mm: numa: Rate limit the amount of memory that is migrated between nodes\n  mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting\n  mm: numa: Migrate pages handled during a pmd_numa hinting fault\n  mm: numa: Migrate on reference policy\n  ...\n"
    },
    {
      "commit": "17bc14b767cf0692420c43dbe5310ae98a5a7836",
      "tree": "9b0f339e5d9769a51acdeb7a246f6e7522efa966",
      "parents": [
        "7313264b899bbf3988841296265a6e0e8a7b6521"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 07:20:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 07:20:43 2012 -0800"
      },
      "message": "Revert \"sched: Update_cfs_shares at period edge\"\n\nThis reverts commit f269ae0469fc882332bdfb5db15d3c1315fe2a10.\n\nIt turns out it causes a very noticeable interactivity regression with\nCONFIG_SCHED_AUTOGROUP (test-case: \"make -j32\" of the kernel in a\nterminal window, while scrolling in a browser - the autogrouping means\nthat the two end up in separate cgroups, and the browser should be\nsmooth as silk despite the high load).\n\nSays Paul Turner:\n \"It seems that the update-throttling on the wake-side is reducing the\n  interactive tasks\u0027 ability to preempt.  While I suspect the right\n  longer term answer here is force these updates only in the\n  cross-cgroup case; this is less trivial.  For this release I believe\n  the right answer is either going to be a revert or restore the updates\n  on the enqueue-side.\"\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nBisected-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bca23035391928c4c7301835accca3551b96cc2",
      "tree": "2feb63abf318e6edfded8bb97b43ca29c3c5b312",
      "parents": [
        "3105b86a9fee7d2c2e76edb53bbbc4027599628f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 14:40:03 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:56 2012 +0000"
      },
      "message": "mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n\nDue to the fact that migrations are driven by the CPU a task is running\non there is no point tracking NUMA faults until one task runs on a new\nnode. This patch tracks the first node used by an address space. Until\nit changes, PTE scanning is disabled and no NUMA hinting faults are\ntrapped. This should help workloads that are short-lived, do not care\nabout NUMA placement or have bound themselves to a single node.\n\nThis takes advantage of the logic in \"mm: sched: numa: Implement slow\nstart for working set sampling\" to delay when the checks are made. This\nwill take advantage of processes that set their CPU and node bindings\nearly in their lifetime. It will also potentially allow any initial load\nbalancing to take place.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "1a687c2e9a99335c9e77392f050fe607fa18a652",
      "tree": "06df958bfdfeaf9f38f333af106b55faa81f1c6b",
      "parents": [
        "b8593bfda1652755136333cdd362de125b283a9c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 11:16:36 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: numa: Control enabling and disabling of NUMA balancing\n\nThis patch adds Kconfig options and kernel parameters to allow the\nenabling and disabling of automatic NUMA balancing. The existance\nof such a switch was and is very important when debugging problems\nrelated to transparent hugepages and we should have the same for\nautomatic NUMA placement.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "b8593bfda1652755136333cdd362de125b283a9c",
      "tree": "c0395d9cf775fd9225e81b055fc8f5540a14333a",
      "parents": [
        "e42c8ff2999de1239a57d434bfbd8e9f2a56e814"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 21 01:18:23 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n\nThe PTE scanning rate and fault rates are two of the biggest sources of\nsystem CPU overhead with automatic NUMA placement.  Ideally a proper policy\nwould detect if a workload was properly placed, schedule and adjust the\nPTE scanning rate accordingly. We do not track the necessary information\nto do that but we at least know if we migrated or not.\n\nThis patch scans slower if a page was not migrated as the result of a\nNUMA hinting fault up to sysctl_numa_balancing_scan_period_max which is\nnow higher than the previous default. Once every minute it will reset\nthe scanner in case of phase changes.\n\nThis is hilariously crude and the numbers are arbitrary. Workloads will\nconverge quite slowly in comparison to what a proper policy should be able\nto do. On the plus side, we will chew up less CPU for workloads that have\nno need for automatic balancing.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "fb003b80daa0dead5b87f4e2e4fb8da68b110ff2",
      "tree": "aa9c3694cb21e61774471e88bd22918c5746c706",
      "parents": [
        "e14808b49f55e0e1135da5e4a154a540dd9f3662"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 15 09:01:14 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "sched: numa: Slowly increase the scanning period as NUMA faults are handled\n\nCurrently the rate of scanning for an address space is controlled\nby the individual tasks. The next scan is simply determined by\n2*p-\u003enuma_scan_period.\n\nThe 2*p-\u003enuma_scan_period is arbitrary and never changes. At this point\nthere is still no proper policy that decides if a task or process is\nproperly placed. It just scans and assumes the next NUMA fault will\nplace it properly. As it is assumed that pages will get properly placed\nover time, increase the scan window each time a fault is incurred. This\nis a big assumption as noted in the comments.\n\nIt should be noted that changing to p-\u003enuma_scan_period will increase\nsystem CPU usage because now the scanning rate has effectively doubled.\nIf that is a problem then the min_rate should be made 200ms instead of\nrestoring the 2* logic.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "e14808b49f55e0e1135da5e4a154a540dd9f3662",
      "tree": "d66708455dcc1b6e2e15937d732ab12c121e623a",
      "parents": [
        "a8f6077213d285ca08dbf6d4a67470787388138b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Nov 19 10:59:15 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "mm: numa: Rate limit setting of pte_numa if node is saturated\n\nIf there are a large number of NUMA hinting faults and all of them\nare resulting in migrations it may indicate that memory is just\nbouncing uselessly around. NUMA balancing cost is likely exceeding\nany benefit from locality. Rate limit the PTE updates if the node\nis migration rate-limited. As noted in the comments, this distorts\nthe NUMA faulting statistics.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "4b96a29ba891dd59734cb7be80a900fe93aa2d9f",
      "tree": "5162223c4ceae37f6ccf0ef1b84993c2556e60cf",
      "parents": [
        "9f40604cdab935e80db57b309c48659de349d4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:47 2012 +0000"
      },
      "message": "mm: sched: numa: Implement slow start for working set sampling\n\nAdd a 1 second delay before starting to scan the working set of\na task and starting to balance it amongst nodes.\n\n[ note that before the constant per task WSS sampling rate patch\n  the initial scan would happen much later still, in effect that\n  patch caused this regression. ]\n\nThe theory is that short-run tasks benefit very little from NUMA\nplacement: they come and go, and they better stick to the node\nthey were started on. As tasks mature and rebalance to other CPUs\nand nodes, so does their NUMA placement have to change and so\ndoes it start to matter more and more.\n\nIn practice this change fixes an observable kbuild regression:\n\n   # [ a perf stat --null --repeat 10 test of ten bzImage builds to /dev/shm ]\n\n   !NUMA:\n   45.291088843 seconds time elapsed                                          ( +-  0.40% )\n   45.154231752 seconds time elapsed                                          ( +-  0.36% )\n\n   +NUMA, no slow start:\n   46.172308123 seconds time elapsed                                          ( +-  0.30% )\n   46.343168745 seconds time elapsed                                          ( +-  0.25% )\n\n   +NUMA, 1 sec slow start:\n   45.224189155 seconds time elapsed                                          ( +-  0.25% )\n   45.160866532 seconds time elapsed                                          ( +-  0.17% )\n\nand it also fixes an observable perf bench (hackbench) regression:\n\n   # perf stat --null --repeat 10 perf bench sched messaging\n\n   -NUMA:\n\n   -NUMA:                  0.246225691 seconds time elapsed                   ( +-  1.31% )\n   +NUMA no slow start:    0.252620063 seconds time elapsed                   ( +-  1.13% )\n\n   +NUMA 1sec delay:       0.248076230 seconds time elapsed                   ( +-  1.35% )\n\nThe implementation is simple and straightforward, most of the patch\ndeals with adding the /proc/sys/kernel/numa_balancing_scan_delay_ms tunable\nknob.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote the changelog, ran measurements, tuned the default. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "9f40604cdab935e80db57b309c48659de349d4e6",
      "tree": "72f77bdb7d8ab07e4db4323642db7c04eca8e9e9",
      "parents": [
        "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 14 18:34:32 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "sched, numa, mm: Count WS scanning against present PTEs, not virtual memory ranges\n\nBy accounting against the present PTEs, scanning speed reflects the\nactual present (mapped) memory.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8",
      "tree": "0d5c93240702a51b1d6f22fefd979235a19692fd",
      "parents": [
        "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:45 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate\n\nPreviously, to probe the working set of a task, we\u0027d use\na very simple and crude method: mark all of its address\nspace PROT_NONE.\n\nThat method has various (obvious) disadvantages:\n\n - it samples the working set at dissimilar rates,\n   giving some tasks a sampling quality advantage\n   over others.\n\n - creates performance problems for tasks with very\n   large working sets\n\n - over-samples processes with large address spaces but\n   which only very rarely execute\n\nImprove that method by keeping a rotating offset into the\naddress space that marks the current position of the scan,\nand advance it by a constant rate (in a CPU cycles execution\nproportional manner). If the offset reaches the last mapped\naddress of the mm then it then it starts over at the first\naddress.\n\nThe per-task nature of the working set sampling functionality in this tree\nallows such constant rate, per task, execution-weight proportional sampling\nof the working set, with an adaptive sampling interval/frequency that\ngoes from once per 100ms up to just once per 8 seconds.  The current\nsampling volume is 256 MB per interval.\n\nAs tasks mature and converge their working set, so does the\nsampling rate slow down to just a trickle, 256 MB per 8\nseconds of CPU time executed.\n\nThis, beyond being adaptive, also rate-limits rarely\nexecuting systems and does not over-sample on overloaded\nsystems.\n\n[ In AutoNUMA speak, this patch deals with the effective sampling\n  rate of the \u0027hinting page fault\u0027. AutoNUMA\u0027s scanning is\n  currently rate-limited, but it is also fundamentally\n  single-threaded, executing in the knuma_scand kernel thread,\n  so the limit in AutoNUMA is global and does not scale up with\n  the number of CPUs, nor does it scan tasks in an execution\n  proportional manner.\n\n  So the idea of rate-limiting the scanning was first implemented\n  in the AutoNUMA tree via a global rate limit. This patch goes\n  beyond that by implementing an execution rate proportional\n  working set sampling rate that is not implemented via a single\n  global scanning daemon. ]\n\n[ Dan Carpenter pointed out a possible NULL pointer dereference in the\n  first version of this patch. ]\n\nBased-on-idea-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nBug-Found-By: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote changelog and fixed bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690",
      "tree": "d4cfbcfa3e89742216cd792d4aa914356406b532",
      "parents": [
        "a720094ded8cbb303111035be91858011d2eac71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:43 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:45 2012 +0000"
      },
      "message": "mm: numa: Add fault driven placement and migration\n\nNOTE: This patch is based on \"sched, numa, mm: Add fault driven\n\tplacement and migration policy\" but as it throws away all the policy\n\tto just leave a basic foundation I had to drop the signed-offs-by.\n\nThis patch creates a bare-bones method for setting PTEs pte_numa in the\ncontext of the scheduler that when faulted later will be faulted onto the\nnode the CPU is running on.  In itself this does nothing useful but any\nplacement policy will fundamentally depend on receiving hints on placement\nfrom fault context and doing something intelligent about it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "ec05a2311c35243cea08bca00bcf53a576ee41a2",
      "tree": "b6feae6520bdeeb40f5c08e509b108d84199db7b",
      "parents": [
        "a7a0aaa17ace589897021d668e09d474e7fc4c4d",
        "5258f386ea4e8454bc801fb443e8a4217da1947c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Nov 18 09:34:44 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Nov 18 09:34:44 2012 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge in fixes before we queue up dependent bits, to avoid conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e9c84cb8d5f1b1ea6fcbe6190d51dc84b6975938",
      "tree": "80433b41204b5f730b3e7d4d3990eac226c9b65a",
      "parents": [
        "f4e26b120b9de84cb627bc7361ba43cfdc51341f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jul 03 13:53:26 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:33 2012 +0200"
      },
      "message": "sched: Describe CFS load-balancer\n\nAdd some scribbles on how and why the load-balancer works..\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1341316406.23484.64.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f4e26b120b9de84cb627bc7361ba43cfdc51341f",
      "tree": "19786e34c5de3c9b7c9c871a27b0f8d85cc8690d",
      "parents": [
        "5b51f2f80b3b906ce59bd4dce6eca3c7f34cb1b9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:31 2012 +0200"
      },
      "message": "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n\nWhile per-entity load-tracking is generally useful, beyond computing shares\ndistribution, e.g. runnable based load-balance (in progress), governors,\npower-management, etc.\n\nThese facilities are not yet consumers of this data.  This may be trivially\nreverted when the information is required; but avoid paying the overhead for\ncalculations we will not use until then.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.422162369@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5b51f2f80b3b906ce59bd4dce6eca3c7f34cb1b9",
      "tree": "72e7c6003b377646d4ba4defa2ddf43756e81474",
      "parents": [
        "f269ae0469fc882332bdfb5db15d3c1315fe2a10"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:30 2012 +0200"
      },
      "message": "sched: Make __update_entity_runnable_avg() fast\n\n__update_entity_runnable_avg forms the core of maintaining an entity\u0027s runnable\nload average.  In this function we charge the accumulated run-time since last\nupdate and handle appropriate decay.  In some cases, e.g. a waking task, this\ntime interval may be much larger than our period unit.\n\nFortunately we can exploit some properties of our series to perform decay for a\nblocked update in constant time and account the contribution for a running\nupdate in essentially-constant* time.\n\n[*]: For any running entity they should be performing updates at the tick which\ngives us a soft limit of 1 jiffy between updates, and we can compute up to a\n32 jiffy update in a single pass.\n\nC program to generate the magic constants in the arrays:\n\n  #include \u003cmath.h\u003e\n  #include \u003cstdio.h\u003e\n\n  #define N 32\n  #define WMULT_SHIFT 32\n\n  const long WMULT_CONST \u003d ((1UL \u003c\u003c N) - 1);\n  double y;\n\n  long runnable_avg_yN_inv[N];\n  void calc_mult_inv() {\n  \tint i;\n  \tdouble yn \u003d 0;\n\n  \tprintf(\"inverses\\n\");\n  \tfor (i \u003d 0; i \u003c N; i++) {\n  \t\tyn \u003d (double)WMULT_CONST * pow(y, i);\n  \t\trunnable_avg_yN_inv[i] \u003d yn;\n  \t\tprintf(\"%2d: 0x%8lx\\n\", i, runnable_avg_yN_inv[i]);\n  \t}\n  \tprintf(\"\\n\");\n  }\n\n  long mult_inv(long c, int n) {\n  \treturn (c * runnable_avg_yN_inv[n]) \u003e\u003e  WMULT_SHIFT;\n  }\n\n  void calc_yn_sum(int n)\n  {\n  \tint i;\n  \tdouble sum \u003d 0, sum_fl \u003d 0, diff \u003d 0;\n\n  \t/*\n  \t * We take the floored sum to ensure the sum of partial sums is never\n  \t * larger than the actual sum.\n  \t */\n  \tprintf(\"sum y^n\\n\");\n  \tprintf(\"   %8s  %8s %8s\\n\", \"exact\", \"floor\", \"error\");\n  \tfor (i \u003d 1; i \u003c\u003d n; i++) {\n  \t\tsum \u003d (y * sum + y * 1024);\n  \t\tsum_fl \u003d floor(y * sum_fl+ y * 1024);\n  \t\tprintf(\"%2d: %8.0f  %8.0f %8.0f\\n\", i, sum, sum_fl,\n  \t\t\tsum_fl - sum);\n  \t}\n  \tprintf(\"\\n\");\n  }\n\n  void calc_conv(long n) {\n  \tlong old_n;\n  \tint i \u003d -1;\n\n  \tprintf(\"convergence (LOAD_AVG_MAX, LOAD_AVG_MAX_N)\\n\");\n  \tdo {\n  \t\told_n \u003d n;\n  \t\tn \u003d mult_inv(n, 1) + 1024;\n  \t\ti++;\n  \t} while (n !\u003d old_n);\n  \tprintf(\"%d\u003e %ld\\n\", i - 1, n);\n  \tprintf(\"\\n\");\n  }\n\n  void main() {\n  \ty \u003d pow(0.5, 1/(double)N);\n  \tcalc_mult_inv();\n  \tcalc_conv(1024);\n  \tcalc_yn_sum(N);\n  }\n\n[ Compile with -lm ]\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.277808946@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f269ae0469fc882332bdfb5db15d3c1315fe2a10",
      "tree": "af5e130745392fa9fdd32f59b10272e269192b95",
      "parents": [
        "48a1675323fa1b7844e479ad2a4469f4558c0f79"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:29 2012 +0200"
      },
      "message": "sched: Update_cfs_shares at period edge\n\nNow that our measurement intervals are small (~1ms) we can amortize the posting\nof update_shares() to be about each period overflow.  This is a large cost\nsaving for frequently switching tasks.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.200772172@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "48a1675323fa1b7844e479ad2a4469f4558c0f79",
      "tree": "1f3127f19be8fca16574d6adfadd22693b8766f2",
      "parents": [
        "82958366cfea1a50e7e90907b2d55ae29ed69974"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:28 2012 +0200"
      },
      "message": "sched: Refactor update_shares_cpu() -\u003e update_blocked_avgs()\n\nNow that running entities maintain their own load-averages the work we must do\nin update_shares() is largely restricted to the periodic decay of blocked\nentities.  This allows us to be a little less pessimistic regarding our\noccupancy on rq-\u003elock and the associated rq-\u003eclock updates required.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.133999170@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "82958366cfea1a50e7e90907b2d55ae29ed69974",
      "tree": "ffd8ed3800e17ccc3f051e1ce6c8b25dde7bf906",
      "parents": [
        "f1b17280efbd21873d1db8631117bdbccbcb39a2"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:28 2012 +0200"
      },
      "message": "sched: Replace update_shares weight distribution with per-entity computation\n\nNow that the machinery in place is in place to compute contributed load in a\nbottom up fashion; replace the shares distribution code within update_shares()\naccordingly.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.061208672@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f1b17280efbd21873d1db8631117bdbccbcb39a2",
      "tree": "6c052571b44109b94490eef89765751816ab9c88",
      "parents": [
        "bb17f65571e97a7ec0297571fb1154fbd107ad00"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:27 2012 +0200"
      },
      "message": "sched: Maintain runnable averages across throttled periods\n\nWith bandwidth control tracked entities may cease execution according to user\nspecified bandwidth limits.  Charging this time as either throttled or blocked\nhowever, is incorrect and would falsely skew in either direction.\n\nWhat we actually want is for any throttled periods to be \"invisible\" to\nload-tracking as they are removed from the system for that interval and\ncontribute normally otherwise.\n\nDo this by moderating the progression of time to omit any periods in which the\nentity belonged to a throttled hierarchy.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.998912151@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bb17f65571e97a7ec0297571fb1154fbd107ad00",
      "tree": "d7574f5a57abe38112cbac832a29354ee1e4fa64",
      "parents": [
        "8165e145ceb62fc338e099c9b12b3239c83d2f8e"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:26 2012 +0200"
      },
      "message": "sched: Normalize tg load contributions against runnable time\n\nEntities of equal weight should receive equitable distribution of cpu time.\nThis is challenging in the case of a task_group\u0027s shares as execution may be\noccurring on multiple cpus simultaneously.\n\nTo handle this we divide up the shares into weights proportionate with the load\non each cfs_rq.  This does not however, account for the fact that the sum of\nthe parts may be less than one cpu and so we need to normalize:\n  load(tg) \u003d min(runnable_avg(tg), 1) * tg-\u003eshares\nWhere runnable_avg is the aggregate time in which the task_group had runnable\nchildren.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e.\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.930124292@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8165e145ceb62fc338e099c9b12b3239c83d2f8e",
      "tree": "be494c8d97adec0615f776515875e4961a40d920",
      "parents": [
        "c566e8e9e44b72b53091da20e2dedefc730f2ee2"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:25 2012 +0200"
      },
      "message": "sched: Compute load contribution by a group entity\n\nUnlike task entities who have a fixed weight, group entities instead own a\nfraction of their parenting task_group\u0027s shares as their contributed weight.\n\nCompute this fraction so that we can correctly account hierarchies and shared\nentity nodes.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.855074415@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c566e8e9e44b72b53091da20e2dedefc730f2ee2",
      "tree": "3e86db8843021c36b41362063183d1135fda63db",
      "parents": [
        "aff3e498844441fa71c5ee1bbc470e1dff9548d9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:24 2012 +0200"
      },
      "message": "sched: Aggregate total task_group load\n\nMaintain a global running sum of the average load seen on each cfs_rq belonging\nto each task group so that it may be used in calculating an appropriate\nshares:weight distribution.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.792901086@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "aff3e498844441fa71c5ee1bbc470e1dff9548d9",
      "tree": "78085232ff0200ad8247d1948bbe6131b6f504ab",
      "parents": [
        "0a74bef8bed18dc6889e9bc37ea1050a50c86c89"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:23 2012 +0200"
      },
      "message": "sched: Account for blocked load waking back up\n\nWhen a running entity blocks we migrate its tracked load to\ncfs_rq-\u003eblocked_runnable_avg.  In the sleep case this occurs while holding\nrq-\u003elock and so is a natural transition.  Wake-ups however, are potentially\nasynchronous in the presence of migration and so special care must be taken.\n\nWe use an atomic counter to track such migrated load, taking care to match this\nwith the previously introduced decay counters so that we don\u0027t migrate too much\nload.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.726077467@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0a74bef8bed18dc6889e9bc37ea1050a50c86c89",
      "tree": "9d7b66a1b7ac0b05cd9b9b093cb6d89904db8f83",
      "parents": [
        "9ee474f55664ff63111c843099d365e7ecffb56f"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:23 2012 +0200"
      },
      "message": "sched: Add an rq migration call-back to sched_class\n\nSince we are now doing bottom up load accumulation we need explicit\nnotification when a task has been re-parented so that the old hierarchy can be\nupdated.\n\nAdds: migrate_task_rq(struct task_struct *p, int next_cpu)\n\n(The alternative is to do this out of __set_task_cpu, but it was suggested that\nthis would be a cleaner encapsulation.)\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.660023400@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9ee474f55664ff63111c843099d365e7ecffb56f",
      "tree": "745a678b0d3cd72ba42b67d0b6ac6c3872b14229",
      "parents": [
        "2dac754e10a5d41d94d2d2365c0345d4f215a266"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:22 2012 +0200"
      },
      "message": "sched: Maintain the load contribution of blocked entities\n\nWe are currently maintaining:\n\n  runnable_load(cfs_rq) \u003d \\Sum task_load(t)\n\nFor all running children t of cfs_rq.  While this can be naturally updated for\ntasks in a runnable state (as they are scheduled); this does not account for\nthe load contributed by blocked task entities.\n\nThis can be solved by introducing a separate accounting for blocked load:\n\n  blocked_load(cfs_rq) \u003d \\Sum runnable(b) * weight(b)\n\nObviously we do not want to iterate over all blocked entities to account for\ntheir decay, we instead observe that:\n\n  runnable_load(t) \u003d \\Sum p_i*y^i\n\nand that to account for an additional idle period we only need to compute:\n\n  y*runnable_load(t).\n\nThis means that we can compute all blocked entities at once by evaluating:\n\n  blocked_load(cfs_rq)` \u003d y * blocked_load(cfs_rq)\n\nFinally we maintain a decay counter so that when a sleeping entity re-awakens\nwe can determine how much of its load should be removed from the blocked sum.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.585389902@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2dac754e10a5d41d94d2d2365c0345d4f215a266",
      "tree": "4016ab214b5b51b2be5c40ab2fdc9832c8aca870",
      "parents": [
        "18bf2805d9b30cb823d4919b42cd230f59c7ce1f"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:21 2012 +0200"
      },
      "message": "sched: Aggregate load contributed by task entities on parenting cfs_rq\n\nFor a given task t, we can compute its contribution to load as:\n\n  task_load(t) \u003d runnable_avg(t) * weight(t)\n\nOn a parenting cfs_rq we can then aggregate:\n\n  runnable_load(cfs_rq) \u003d \\Sum task_load(t), for all runnable children t\n\nMaintain this bottom up, with task entities adding their contributed load to\nthe parenting cfs_rq sum.  When a task entity\u0027s load changes we add the same\ndelta to the maintained sum.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.514678907@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "18bf2805d9b30cb823d4919b42cd230f59c7ce1f",
      "tree": "a3a820f6dc5f79ff7569f8fe0d60904e9657fb5a",
      "parents": [
        "9d85f21c94f7f7a84d0ba686c58aa6d9da58fdbb"
      ],
      "author": {
        "name": "Ben Segall",
        "email": "bsegall@google.com",
        "time": "Thu Oct 04 12:51:20 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:20 2012 +0200"
      },
      "message": "sched: Maintain per-rq runnable averages\n\nSince runqueues do not have a corresponding sched_entity we instead embed a\nsched_avg structure directly.\n\nSigned-off-by: Ben Segall \u003cbsegall@google.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.442637130@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9d85f21c94f7f7a84d0ba686c58aa6d9da58fdbb",
      "tree": "bec53516fbe39007b12250423b7a09e7b62184c3",
      "parents": [
        "0e9e3e306c7e472bdcffa34c4c4584301eda03b3"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:29 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:18 2012 +0200"
      },
      "message": "sched: Track the runnable average on a per-task entity basis\n\nInstead of tracking averaging the load parented by a cfs_rq, we can track\nentity load directly. With the load for a given cfs_rq then being the sum\nof its children.\n\nTo do this we represent the historical contribution to runnable average\nwithin each trailing 1024us of execution as the coefficients of a\ngeometric series.\n\nWe can express this for a given task t as:\n\n  runnable_sum(t) \u003d \\Sum u_i * y^i, runnable_avg_period(t) \u003d \\Sum 1024 * y^i\n  load(t) \u003d weight_t * runnable_sum(t) / runnable_avg_period(t)\n\nWhere: u_i is the usage in the last i`th 1024us period (approximately 1ms)\n~ms and y is chosen such that y^k \u003d 1/2.  We currently choose k to be 32 which\nroughly translates to about a sched period.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.372695337@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8ed92e51f99c2199c64cb33b4ba95ab12940a94c",
      "tree": "b7d067cc9db5379a0107e97a6b4dfe64afead461",
      "parents": [
        "301a5cba2887d1f640e6d5184b05a6d7132017d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 14 14:28:50 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Oct 16 10:05:27 2012 +0200"
      },
      "message": "sched: Add WAKEUP_PREEMPTION feature flag, on by default\n\nAs per the recent discussion with Mike and Linus, make it easier to\ntest with/without this feature. No change in default behavior.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-izoxq4haeg4mTognnDbwcevt@git.kernel.org\n"
    },
    {
      "commit": "0b981cb94bc63a2d0e5eccccdca75fe57643ffce",
      "tree": "966ad6e6807fd1041d9962c9904e032a5ab07a65",
      "parents": [
        "4cba3335826cbb36a218c3f5a1387e2c7c7ca9aa",
        "fdf9c356502ae02238efcdf90cefd7b473a63fd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Continued quest to clean up and enhance the cputime code by Frederic\n  Weisbecker, in preparation for future tickless kernel features.\n\n  Other than that, smallish changes.\"\n\nFix up trivial conflicts due to additions next to each other in arch/{x86/}Kconfig\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  cputime: Make finegrained irqtime accounting generally available\n  cputime: Gather time/stats accounting config options into a single menu\n  ia64: Reuse system and user vtime accounting functions on task switch\n  ia64: Consolidate user vtime accounting\n  vtime: Consolidate system/idle context detection\n  cputime: Use a proper subsystem naming for vtime related APIs\n  sched: cpu_power: enable ARCH_POWER\n  sched/nohz: Clean up select_nohz_load_balancer()\n  sched: Fix load avg vs. cpu-hotplug\n  sched: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix nohz_idle_balance()\n  sched: Remove useless code in yield_to()\n  sched: Add time unit suffix to sched sysctl knobs\n  sched/debug: Limit sd-\u003e*_idx range on sysctl\n  sched: Remove AFFINE_WAKEUPS feature flag\n  s390: Remove leftover account_tick_vtime() header\n  cputime: Consolidate vtime handling on context switch\n  sched: Move cputime code to its own file\n  cputime: Generalize CONFIG_VIRT_CPU_ACCOUNTING\n  tile: Remove SD_PREFER_LOCAL leftover\n  ...\n"
    },
    {
      "commit": "37407ea7f93864c2cfc03edf8f37872ec539ea2b",
      "tree": "7c07e7adadd40fc94cebfe816f1c65a4a630b147",
      "parents": [
        "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "message": "Revert \"sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\"\n\nThis reverts commit 970e178985cadbca660feb02f4d2ee3a09f7fdda.\n\nNikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%\nperformance drop on PostgreSQL 9.2 on his machine (running \"pgbench\").\n\nBorislav Petkov was able to reproduce this, and bisected it to this\ncommit 970e178985ca (\"sched: Improve scalability via \u0027CPU buddies\u0027 ...\")\napparently because the new single-idle-buddy model simply doesn\u0027t find\nidle CPU\u0027s to reschedule on aggressively enough.\n\nMike Galbraith suspects that it is likely due to the user-mode spinlocks\nin PostgreSQL not reacting well to preemption, but we don\u0027t really know\nthe details - I\u0027ll just revert the commit for now.\n\nThere are hopefully other approaches to improve scheduler scalability\nwithout it causing these kinds of downsides.\n\nReported-by: Nikolay Ulyanitsky \u003clystor@gmail.com\u003e\nBisected-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1cc017c59c44d9ede7003631c43adc0cfdce2f9",
      "tree": "7db4bad5a78af2bdc5197740012e462811422d40",
      "parents": [
        "08bedae1d0acd8c9baf514fb69fa199d0c8345f6"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Mon Sep 10 15:10:58 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 16:52:05 2012 +0200"
      },
      "message": "sched/nohz: Clean up select_nohz_load_balancer()\n\nThere is no load_balancer to be selected now. It just sets the\nstate of the nohz tick to stop.\n\nSo rename the function, pass the \u0027cpu\u0027 as a parameter and then\nremove the useless call from tick_nohz_restart_sched_tick().\n\n[ s/set_nohz_tick_stopped/nohz_balance_enter_idle/g\n  s/clear_nohz_tick_stopped/nohz_balance_exit_idle/g ]\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1347261059-24747-1-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5ed4f1d96deee82ee92cd1ac1e0108c27e80e9b0",
      "tree": "b147faa700337a1ab47a321f2e35016946b77a16",
      "parents": [
        "38b8dd6f87398524d02c21ff614c507ba8c9d295"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Thu Sep 13 06:11:26 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 16:52:03 2012 +0200"
      },
      "message": "sched: Fix nohz_idle_balance()\n\nOn tickless systems, one CPU runs load balance for all idle CPUs.\n\nThe cpu_load of this CPU is updated before starting the load balance\nof each other idle CPUs. We should instead update the cpu_load of\nthe balance_cpu.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1347509486-8688-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "59f979455d7209171ab10a72c8df5c2512976cb4",
      "tree": "c4c7fc48bd79bf8acbe848a1b979fa9e8ab4ac6a",
      "parents": [
        "b9bb50db9126c4ccad78af2dfb77277ca17c9b64",
        "9450d57eab5cad36774c297da123062744472588"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:31:00 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:31:00 2012 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge in the current fixes branch, we are going to apply dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9450d57eab5cad36774c297da123062744472588",
      "tree": "871a943ff0d6eb4fc5211781f50776ccf65a1cb5",
      "parents": [
        "a4c96ae319b8047f62dedbe1eac79e321c185749"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Aug 18 17:45:08 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:49 2012 +0200"
      },
      "message": "sched: Fix kernel-doc warnings in kernel/sched/fair.c\n\nFix two kernel-doc warnings in kernel/sched/fair.c:\n\n  Warning(kernel/sched/fair.c:3660): Excess function parameter \u0027cpus\u0027 description in \u0027update_sg_lb_stats\u0027\n  Warning(kernel/sched/fair.c:3806): Excess function parameter \u0027cpus\u0027 description in \u0027update_sd_lb_stats\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/50303714.3090204@xenotime.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a4c96ae319b8047f62dedbe1eac79e321c185749",
      "tree": "e93b18f6ca2d2a734962ee880d8e2cb7bd1e42b0",
      "parents": [
        "749c8814f08f12baa4a9c2812a7c6ede7d69507d"
      ],
      "author": {
        "name": "Peter Boonstoppel",
        "email": "pboonstoppel@nvidia.com",
        "time": "Thu Aug 09 15:34:47 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:30 2012 +0200"
      },
      "message": "sched: Unthrottle rt runqueues in __disable_runtime()\n\nmigrate_tasks() uses _pick_next_task_rt() to get tasks from the\nreal-time runqueues to be migrated. When rt_rq is throttled\n_pick_next_task_rt() won\u0027t return anything, in which case\nmigrate_tasks() can\u0027t move all threads over and gets stuck in an\ninfinite loop.\n\nInstead unthrottle rt runqueues before migrating tasks.\n\nAdditionally: move unthrottle_offline_cfs_rqs() to rq_offline_fair()\n\nSigned-off-by: Peter Boonstoppel \u003cpboonstoppel@nvidia.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/5FBF8E85CA34454794F0F7ECBA79798F379D3648B7@HQMAIL04.nvidia.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f03542a7019c600163ac4441d8a826c92c1bd510",
      "tree": "cd644fb1d0feee636c400a58f4bddec30e2d95b9",
      "parents": [
        "78feefc512a09165627dd534111f651b6c8e605f"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 26 08:55:34 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 19:02:05 2012 +0200"
      },
      "message": "sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up\n\nSince power saving code was removed from sched now, the implement\ncode is out of service in this function, and even pollute other logical.\nlike, \u0027want_sd\u0027 never has chance to be set \u00270\u0027, that remove the effect\nof SD_WAKE_AFFINE here.\n\nSo, clean up the obsolete code, includes SD_PREFER_LOCAL.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/5028F431.6000306@intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "78feefc512a09165627dd534111f651b6c8e605f",
      "tree": "7bd554141d64cc6c934d8dd6e74c9d9c81897d51",
      "parents": [
        "edde96eafc91a510f404e7b82cfc0ecb608505ee"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Mon Aug 06 16:41:59 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:58:15 2012 +0200"
      },
      "message": "sched: using dst_rq instead of this_rq during load balance\n\nAs we already have dst_rq in lb_env, using or changing \"this_rq\" do not\nmake sense.\n\nThis patch will replace \"this_rq\" with dst_rq in load_balance, and we\ndon\u0027t need to change \"this_rq\" while process LBF_SOME_PINNED any more.\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/501F8357.3070102@linux.vnet.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "532b1858c5241bedfff5ab863d7cf012e8b81a6b",
      "tree": "de523e113390f151a7d2bfa6f83849af943ebc76",
      "parents": [
        "a4133765c1b467aa53a6efa48f9d292f2dcd285d"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Aug 08 16:16:04 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:58:15 2012 +0200"
      },
      "message": "sched: Fix __sched_period comment\n\nIt should be sched_nr_latency so fix it before it annoys me more.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1344435364-18632-1-git-send-email-bp@amd64.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a35b6466aabb051568b844e8c63f87a356d3d129",
      "tree": "a5d38cce8290a60f6729f97591cfa25d545c6474",
      "parents": [
        "b9403130a5350fca59a50ed11c198cb8c7e54119"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 08 21:46:40 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:54 2012 +0200"
      },
      "message": "sched, cgroup: Reduce rq-\u003elock hold times for large cgroup hierarchies\n\nPeter Portante reported that for large cgroup hierarchies (and or on\nlarge CPU counts) we get immense lock contention on rq-\u003elock and stuff\nstops working properly.\n\nHis workload was a ton of processes, each in their own cgroup,\neverybody idling except for a sporadic wakeup once every so often.\n\nIt was found that:\n\n  schedule()\n    idle_balance()\n      load_balance()\n        local_irq_save()\n        double_rq_lock()\n        update_h_load()\n          walk_tg_tree(tg_load_down)\n            tg_load_down()\n\nResults in an entire cgroup hierarchy walk under rq-\u003elock for every\nnew-idle balance and since new-idle balance isn\u0027t throttled this\nresults in a lot of work while holding the rq-\u003elock.\n\nThis patch does two things, it removes the work from under rq-\u003elock\nbased on the good principle of race and pray which is widely employed\nin the load-balancer as a whole. And secondly it throttles the\nupdate_h_load() calculation to max once per jiffy.\n\nI considered excluding update_h_load() for new-idle balance\nall-together, but purely relying on regular balance passes to update\nthis data might not work out under some rare circumstances where the\nnew-idle busiest isn\u0027t the regular busiest for a while (unlikely, but\na nightmare to debug if someone hits it and suffers).\n\nCc: pjt@google.com\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Peter Portante \u003cpportant@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-aaarrzfpnaam7pqrekofu8a6@git.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b9403130a5350fca59a50ed11c198cb8c7e54119",
      "tree": "68a4a4c6c270c14e7bbfa4c928e0e2a864ac4127",
      "parents": [
        "a7e4786b937a3ae918a7520cfdba557a80915fa7"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Thu Jul 12 16:10:13 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:00:16 2012 +0200"
      },
      "message": "sched/cleanups: Add load balance cpumask pointer to \u0027struct lb_env\u0027\n\nWith this patch struct ld_env will have a pointer of the load balancing\ncpumask and we don\u0027t need to pass a cpumask around anymore.\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FFE8665.3080705@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "88b8dac0a14c511ff41486b83a8c3d688936eec0",
      "tree": "e98b2c8b1d47b136725f1a2862802e7db0bba927",
      "parents": [
        "bbf18b19495942cc730e8ff11fc3ffadf20cbfe1"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Tue Jun 19 17:43:15 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:58:06 2012 +0200"
      },
      "message": "sched: Improve balance_cpu() to consider other cpus in its group as target of (pinned) task\n\nCurrent load balance scheme requires only one cpu in a\nsched_group (balance_cpu) to look at other peer sched_groups for\nimbalance and pull tasks towards itself from a busy cpu. Tasks\nthus pulled by balance_cpu could later get picked up by cpus\nthat are in the same sched_group as that of balance_cpu.\n\nThis scheme however fails to pull tasks that are not allowed to\nrun on balance_cpu (but are allowed to run on other cpus in its\nsched_group). That can affect fairness and in some worst case\nscenarios cause starvation.\n\nConsider a two core (2 threads/core) system running tasks as\nbelow:\n\n          Core0            Core1\n         /     \\          /     \\\n\tC0     C1\t C2     C3\n        |      |         |      |\n        v      v         v      v\n\tF0     T1        F1     [idle]\n\t\t\t T2\n\n F0 \u003d SCHED_FIFO task (pinned to C0)\n F1 \u003d SCHED_FIFO task (pinned to C2)\n T1 \u003d SCHED_OTHER task (pinned to C1)\n T2 \u003d SCHED_OTHER task (pinned to C1 and C2)\n\nF1 could become a cpu hog, which will starve T2 unless C1 pulls\nit. Between C0 and C1 however, C0 is required to look for\nimbalance between cores, which will fail to pull T2 towards\nCore0. T2 will starve eternally in this case. The same scenario\ncan arise in presence of non-rt tasks as well (say we replace F1\nwith high irq load).\n\nWe tackle this problem by having balance_cpu move pinned tasks\nto one of its sibling cpus (where they can run). We first check\nif load balance goal can be met by ignoring pinned tasks,\nfailing which we retry move_tasks() with a new env-\u003edst_cpu.\n\nThis patch modifies load balance semantics on who can move load\ntowards a given cpu in a given sched_domain.\n\nBefore this patch, a given_cpu or a ilb_cpu acting on behalf of\nan idle given_cpu is responsible for moving load to given_cpu.\n\nWith this patch applied, balance_cpu can in addition decide on\nmoving some load to a given_cpu.\n\nThere is a remote possibility that excess load could get moved\nas a result of this (balance_cpu and given_cpu/ilb_cpu deciding\n*independently* and at *same* time to move some load to a\ngiven_cpu). However we should see less of such conflicting\ndecisions in practice and moreover subsequent load balance\ncycles should correct the excess load moved to given_cpu.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Prashanth Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FE06CDB.2060605@linux.vnet.ibm.com\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bbf18b19495942cc730e8ff11fc3ffadf20cbfe1",
      "tree": "230cd53d8669da7c3881ded77651422b89615c16",
      "parents": [
        "85c1e7dae165acd004429f81fe52bfbf55b57a98"
      ],
      "author": {
        "name": "Prashanth Nageshappa",
        "email": "prashanth@linux.vnet.ibm.com",
        "time": "Tue Jun 19 17:52:07 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:55:37 2012 +0200"
      },
      "message": "sched: Reset loop counters if all tasks are pinned and we need to redo load balance\n\nWhile load balancing, if all tasks on the source runqueue are pinned,\nwe retry after excluding the corresponding source cpu. However, loop counters\nenv.loop and env.loop_break are not reset before retrying, which can lead\nto failure in moving the tasks. In this patch we reset env.loop and\nenv.loop_break to their inital values before we retry.\n\nSigned-off-by: Prashanth Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FE06EEF.2090709@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "85c1e7dae165acd004429f81fe52bfbf55b57a98",
      "tree": "e9423a9075004bec44dd09d981300af716f1f89c",
      "parents": [
        "970e178985cadbca660feb02f4d2ee3a09f7fdda"
      ],
      "author": {
        "name": "Prashanth Nageshappa",
        "email": "prashanth@linux.vnet.ibm.com",
        "time": "Tue Jun 19 17:47:34 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:55:20 2012 +0200"
      },
      "message": "sched: Reorder \u0027struct lb_env\u0027 members to reduce its size\n\nMembers of \u0027struct lb_env\u0027 are not in appropriate order to reuse compiler\nadded padding on 64bit architectures. In this patch we reorder those struct\nmembers and help reduce the size of the structure from 96 bytes to 80\nbytes on 64 bit architectures.\n\nSuggested-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Prashanth Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FE06DDE.7000403@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "970e178985cadbca660feb02f4d2ee3a09f7fdda",
      "tree": "20f47abb069a5d13940e8cdc48dae5f5563eb59a",
      "parents": [
        "a1cd2b13f754b2c56fb87b8c4912c015f8f57c0c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Jun 12 05:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:53:34 2012 +0200"
      },
      "message": "sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\n\nTraversing an entire package is not only expensive, it also leads to tasks\nbouncing all over a partially idle and possible quite large package.  Fix\nthat up by assigning a \u0027buddy\u0027 CPU to try to motivate.  Each buddy may try\nto motivate that one other CPU, if it\u0027s busy, tough, it may then try its\nSMT sibling, but that\u0027s all this optimization is allowed to cost.\n\nSibling cache buddies are cross-wired to prevent bouncing.\n\n4 socket 40 core + SMT Westmere box, single 30 sec tbench runs, higher is better:\n\n clients     1       2       4        8       16       32       64      128\n ..........................................................................\n pre        30      41     118      645     3769     6214    12233    14312\n post      299     603    1211     2418     4697     6847    11606    14557\n\nA nice increase in performance.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1339471112.7352.32.camel@marge.simpson.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "72494504498ff5ac2f086a83473d4dd1ca490bd3",
      "tree": "7f1ceab43de3580235f1a56f2ae865901c09e4d7",
      "parents": [
        "cd96891d48a945ca2011fbeceda73813d6286195",
        "a841f8cef4bb124f0f5563314d0beaf2e1249d72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix the relax_domain_level boot parameter\n  sched: Validate assumptions in sched_init_numa()\n  sched: Always initialize cpu-power\n  sched: Fix domain iteration\n  sched/rt: Fix lockdep annotation within find_lock_lowest_rq()\n  sched/numa: Load balance between remote nodes\n  sched/x86: Calculate booted cores after construction of sibling_mask\n"
    },
    {
      "commit": "cd96891d48a945ca2011fbeceda73813d6286195",
      "tree": "c859442b2364adfa4eec29f516ffbe9c316a81bf",
      "parents": [
        "8f53369b753f5f4c7684c2eb0b592152abb1dd00"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Jun 08 13:18:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:10 2012 -0700"
      },
      "message": "sched/fair: fix lots of kernel-doc warnings\n\nFix lots of new kernel-doc warnings in kernel/sched/fair.c:\n\n  Warning(kernel/sched/fair.c:3625): No description found for parameter \u0027env\u0027\n  Warning(kernel/sched/fair.c:3625): Excess function parameter \u0027sd\u0027 description in \u0027update_sg_lb_stats\u0027\n  Warning(kernel/sched/fair.c:3735): No description found for parameter \u0027env\u0027\n  Warning(kernel/sched/fair.c:3735): Excess function parameter \u0027sd\u0027 description in \u0027update_sd_pick_busiest\u0027\n  Warning(kernel/sched/fair.c:3735): Excess function parameter \u0027this_cpu\u0027 description in \u0027update_sd_pick_busiest\u0027\n  .. more warnings\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3decf0dfbc95736b7c0ab68fa4e5854c4734da9",
      "tree": "c21748af2b4c7e4b738cefd2076c1ccc6ed2c664",
      "parents": [
        "c1174876874dcf8986806e4dad3d7d07af20b439"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 31 12:05:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:52:27 2012 +0200"
      },
      "message": "sched: Always initialize cpu-power\n\nOften when we run into mis-shapen topologies the balance iteration\nfails to update the cpu power properly and we\u0027ll end up in /0 traps.\n\nAlways initialize the cpu-power to a semi-sane value so that we can\nat least boot the machine, even if the load-balancer might not\nfunction correctly.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-3lbhyj25sr169ha7z3qht5na@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c1174876874dcf8986806e4dad3d7d07af20b439",
      "tree": "7e2ea14ba9421bddd63e1810716f1929c753e28b",
      "parents": [
        "7f1b43936f0ecad14770634c021cf4a929aec74d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 31 14:47:33 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:52:26 2012 +0200"
      },
      "message": "sched: Fix domain iteration\n\nWeird topologies can lead to asymmetric domain setups. This needs\nfurther consideration since these setups are typically non-minimal\ntoo.\n\nFor now, make it work by adding an extra mask selecting which CPUs\nare allowed to iterate up.\n\nThe topology that triggered it is the one from David Rientjes:\n\n\t10 20 20 30\n\t20 10 20 20\n\t20 20 10 20\n\t30 20 20 10\n\nresulting in boxes that wouldn\u0027t even boot.\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-3p86l9cuaqnxz7uxsojmz5rm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "29baa7478ba47d746e3625c91d3b2afbf46b4312",
      "tree": "a902e53baab64d89c07561694d171c4f8f4d1843",
      "parents": [
        "b654f7de41b0e3903ee2b51d3b8db77fe52ce728"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Apr 23 12:11:21 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:25 2012 +0200"
      },
      "message": "sched: Move nr_cpus_allowed out of \u0027struct sched_rt_entity\u0027\n\nSince nr_cpus_allowed is used outside of sched/rt.c and wants to be\nused outside of there more, move it to a more natural site.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-kr61f02y9brwzkh6x53pdptm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b654f7de41b0e3903ee2b51d3b8db77fe52ce728",
      "tree": "cdcd46a04d8b59d75045f1d3ae753e4843dbe2c0",
      "parents": [
        "74a5ce20e6eeeb3751340b390e7ac1d1d07bbf55"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 22 14:04:28 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:24 2012 +0200"
      },
      "message": "sched: Make sure to not re-read variables after validation\n\nWe could re-read rq-\u003ert_avg after we validated it was smaller than\ntotal, invalidating the check and resulting in an unintended negative.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1337688268.9698.29.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "74a5ce20e6eeeb3751340b390e7ac1d1d07bbf55",
      "tree": "ebbef56666aa11303eafbfb6adbfce56e7a4c605",
      "parents": [
        "2ea45800d8e1c3c51c45a233d6bd6289a297a386"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed May 23 18:00:43 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:24 2012 +0200"
      },
      "message": "sched: Fix SD_OVERLAP\n\nSD_OVERLAP exists to allow overlapping groups, overlapping groups\nappear in NUMA topologies that aren\u0027t fully connected.\n\nThe typical result of not fully connected NUMA is that each cpu (or\nrather node) will have different spans for a particular distance.\nHowever due to how sched domains are traversed -- only the first cpu\nin the mask goes one level up -- the next level only cares about the\nspans of the cpus that went up.\n\nDue to this two things were observed to be broken:\n\n - build_overlap_sched_groups() -- since its possible the cpu we\u0027re\n   building the groups for exists in multiple (or all) groups, the\n   selection criteria of the first group didn\u0027t ensure there was a cpu\n   for which is was true that cpumask_first(span) \u003d\u003d cpu. Thus load-\n   balancing would terminate.\n\n - update_group_power() -- assumed that the cpu span of the first\n   group of the domain was covered by all groups of the child domain.\n   The above explains why this isn\u0027t true, so deal with it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1337788843.9783.14.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8e7fbcbc22c12414bcc9dfdd683637f58fb32759",
      "tree": "a438021ddeadddd8f0745293aeb8c80dbe3c999c",
      "parents": [
        "fac536f7e4927f34d480dc066f3a578c743b8f0e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Jan 09 11:28:35 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 17 13:48:56 2012 +0200"
      },
      "message": "sched: Remove stale power aware scheduling remnants and dysfunctional knobs\n\nIt\u0027s been broken forever (i.e. it\u0027s not scheduling in a power\naware fashion), as reported by Suresh and others sending\npatches, and nobody cares enough to fix it properly ...\nso remove it to make space free for something better.\n\nThere\u0027s various problems with the code as it stands today, first\nand foremost the user interface which is bound to topology\nlevels and has multiple values per level. This results in a\nstate explosion which the administrator or distro needs to\nmaster and almost nobody does.\n\nFurthermore large configuration state spaces aren\u0027t good, it\nmeans the thing doesn\u0027t just work right because it\u0027s either\nunder so many impossibe to meet constraints, or even if\nthere\u0027s an achievable state workloads have to be aware of\nit precisely and can never meet it for dynamic workloads.\n\nSo pushing this kind of decision to user-space was a bad idea\neven with a single knob - it\u0027s exponentially worse with knobs\non every node of the topology.\n\nThere is a proposal to replace the user interface with a single\n3 state knob:\n\n sched_balance_policy :\u003d { performance, power, auto }\n\nwhere \u0027auto\u0027 would be the preferred default which looks at things\nlike Battery/AC mode and possible cpufreq state or whatever the hw\nexposes to show us power use expectations - but there\u0027s been no\nprogress on it in the past many months.\n\nAside from that, the actual implementation of the various knobs\nis known to be broken. There have been sporadic attempts at\nfixing things but these always stop short of reaching a mergable\nstate.\n\nTherefore this wholesale removal with the hopes of spurring\npeople who care to come forward once again and work on a\ncoherent replacement.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1326104915.2442.53.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e44bc5c5d00ee9b56dd87db47ed827d52948b9fa",
      "tree": "e0e5c30591d8bae335a101458f311e5972175a69",
      "parents": [
        "556061b00c9f2fd6a5524b6bde823ef12f299ecf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 11 00:22:12 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 15:05:28 2012 +0200"
      },
      "message": "sched/fair: Improve the -\u003egroup_imb logic\n\nGroup imbalance is meant to deal with situations where affinity masks\nand sched domains don\u0027t align well, such as 3 cpus from one group and\n6 from another. In this case the domain based balancer will want to\nput an equal amount of tasks on each side even though they don\u0027t have\nequal cpus.\n\nCurrently group_imb is set whenever two cpus of a group have a weight\ndifference of at least one avg task and the heaviest cpu has at least\ntwo tasks. A group with imbalance set will always be picked as busiest\nand a balance pass will be forced.\n\nThe problem is that even if there are no affinity masks this stuff can\ntrigger and cause weird balancing decisions, eg. the observed\nbehaviour was that of 6 cpus, 5 had 2 and 1 had 3 tasks, due to the\ndifference of 1 avg load (they all had the same weight) and nr_running\nbeing \u003e1 the group_imbalance logic triggered and did the weird thing\nof pulling more load instead of trying to move the 1 excess task to\nthe other domain of 6 cpus that had 5 cpu with 2 tasks and 1 cpu with\n1 task.\n\nCurb the group_imbalance stuff by making the nr_running condition\nweaker by also tracking the min_nr_running and using the difference in\nnr_running over the set instead of the absolute max nr_running.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-9s7dedozxo8kjsb9kqlrukkf@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "556061b00c9f2fd6a5524b6bde823ef12f299ecf",
      "tree": "087891d70dbcd97cd23ac3eb92fad6a905c0f527",
      "parents": [
        "870a0bb5d636156502769233d02a0d5791d4366a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 11 17:31:26 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 15:05:27 2012 +0200"
      },
      "message": "sched/nohz: Fix rq-\u003ecpu_load[] calculations\n\nWhile investigating why the load-balancer did funny I found that the\nrq-\u003ecpu_load[] tables were completely screwy.. a bit more digging\nrevealed that the updates that got through were missing ticks followed\nby a catchup of 2 ticks.\n\nThe catchup assumes the cpu was idle during that time (since only nohz\ncan cause missed ticks and the machine is idle etc..) this means that\nesp. the higher indices were significantly lower than they ought to\nbe.\n\nThe reason for this is that its not correct to compare against jiffies\non every jiffy on any other cpu than the cpu that updates jiffies.\n\nThis patch cludges around it by only doing the catch-up stuff from\nnohz_idle_balance() and doing the regular stuff unconditionally from\nthe tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-tp4kj18xdd5aj4vvj0qg55s2@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "04f733b4afac5dc93ae9b0a8703c60b87def491e",
      "tree": "7ef166c4d1c1dffdc993efbf3791d0f745f5a80c",
      "parents": [
        "316ad248307fba13be40f01e92a22b89457c32bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 11 00:12:02 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 15:05:26 2012 +0200"
      },
      "message": "sched/fair: Revert sched-domain iteration breakage\n\nPatches c22402a2f (\"sched/fair: Let minimally loaded cpu balance the\ngroup\") and 0ce90475 (\"sched/fair: Add some serialization to the\nsched_domain load-balance walk\") are horribly broken so revert them.\n\nThe problem is that while it sounds good to have the minimally loaded\ncpu do the pulling of more load, the way we walk the domains there is\nabsolutely no guarantee this cpu will actually get to the domain. In\nfact its very likely it wont. Therefore the higher up the tree we get,\nthe less likely it is we\u0027ll balance at all.\n\nThe first of mask always walks up, while sucky in that it accumulates\nload on the first cpu and needs extra passes to spread it out at least\nguarantees a cpu gets up that far and load-balancing happens at all.\n\nSince its now always the first and idle cpus should always be able to\nbalance so they get a task as fast as possible we can also do away\nwith the added serialization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-rpuhs5s56aiv1aw7khv9zkw6@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bd939f45da24e25e08a8f5c993c50b1afada0fef",
      "tree": "a103544f605e5e0e3f1c20a1fc9fffcaeba1a33c",
      "parents": [
        "0ce90475dcdbe90affc218e9688c8401e468e84d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 02 14:20:37 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:00:54 2012 +0200"
      },
      "message": "sched/fair: Propagate \u0027struct lb_env\u0027 usage into find_busiest_group\n\nMore function argument passing reduction.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-v66ivjfqdiqdso01lqgqx6qf@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0ce90475dcdbe90affc218e9688c8401e468e84d",
      "tree": "30771f6a6791af0214c5e7d57958f6395f3b97f5",
      "parents": [
        "c22402a2f76e88b04b7a8b6c0597ad9ba6fd71de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 25 00:30:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:00:53 2012 +0200"
      },
      "message": "sched/fair: Add some serialization to the sched_domain load-balance walk\n\nSince the sched_domain walk is completely unserialized (!SD_SERIALIZE)\nit is possible that multiple cpus in the group get elected to do the\nnext level. Avoid this by adding some serialization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-vqh9ai6s0ewmeakjz80w4qz6@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c22402a2f76e88b04b7a8b6c0597ad9ba6fd71de",
      "tree": "dba3b3dc85c1290310968ce78d36ccb9fd670366",
      "parents": [
        "c82513e513556a04f81aa511cd890acd23349c48"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Apr 20 16:57:22 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:00:51 2012 +0200"
      },
      "message": "sched/fair: Let minimally loaded cpu balance the group\n\nCurrently we let the leftmost (or first idle) cpu ascend the\nsched_domain tree and perform load-balancing. The result is that the\nbusiest cpu in the group might be performing this function and pull\nmore load to itself. The next load balance pass will then try to\nequalize this again.\n\nChange this to pick the least loaded cpu to perform higher domain\nbalancing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-v8zlrmgmkne3bkcy9dej1fvm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c82513e513556a04f81aa511cd890acd23349c48",
      "tree": "dbccd379fffd75cd87513e4dd0e91ac597628382",
      "parents": [
        "ad7687dde8780a0d618a3e3b5a62bb383696fc22"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 26 13:12:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:00:49 2012 +0200"
      },
      "message": "sched: Change rq-\u003enr_running to unsigned int\n\nSince there\u0027s a PID space limit of 30bits (see\nfutex.h:FUTEX_TID_MASK) and allocating that many tasks (assuming a\nlower bound of 2 pages per task) would still take 8T of memory it\nseems reasonable to say that unsigned int is sufficient for\nrq-\u003enr_running.\n\nWhen we do get anywhere near that amount of tasks I suspect other\nthings would go funny, load-balancer load computations would really\nneed to be hoisted to 128bit etc.\n\nSo save a few bytes and convert rq-\u003enr_running and friends to\nunsigned int.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-y3tvyszjdmbibade5bw8zl81@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "eb95308ee2a69403909e111837b9068c64cfc349",
      "tree": "92e9a3368e75b94486dc54f2688453fed17d4eed",
      "parents": [
        "2300fd67b4f29eec19addb15a8571837228f63fc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 17 13:38:40 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 12:54:52 2012 +0200"
      },
      "message": "sched: Fix more load-balancing fallout\n\nCommits 367456c756a6 (\"sched: Ditch per cgroup task lists for\nload-balancing\") and 5d6523ebd (\"sched: Fix load-balance wreckage\")\nleft some more wreckage.\n\nBy setting loop_max unconditionally to -\u003enr_running load-balancing\ncould take a lot of time on very long runqueues (hackbench!). So keep\nthe sysctl as max limit of the amount of tasks we\u0027ll iterate.\n\nFurthermore, the min load filter for migration completely fails with\ncgroups since inequality in per-cpu state can easily lead to such\nsmall loads :/\n\nFurthermore the change to add new tasks to the tail of the queue\ninstead of the head seems to have some effect.. not quite sure I\nunderstand why.\n\nCombined these fixes solve the huge hackbench regression reported by\nTim when hackbench is ran in a cgroup.\n\nReported-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1335365763.28150.267.camel@twins\n[ got rid of the CONFIG_PREEMPT tuning and made small readability edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
      "tree": "d312af46758fa9b59431a479d258b54184a00591",
      "parents": [
        "6b8212a313dae341ef3a2e413dfec5c4dea59617",
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cpusets: Remove an unused variable\n  sched/rt: Improve pick_next_highest_task_rt()\n  sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n  sched/x86/smp: Do not enable IRQs over calibrate_delay()\n  sched: Fix compiler warning about declared inline after use\n  MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS\n"
    },
    {
      "commit": "6c16a6dcb05e51ace340ff7bc6dbe647f1593528",
      "tree": "5df1dacdd4f9710a569d19b2a114bfca427404d0",
      "parents": [
        "dd9b238c1c53ddcdb10cbb2548f38543d49ad70a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 21 13:07:16 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 23 10:39:28 2012 +0100"
      },
      "message": "sched: Fix compiler warning about declared inline after use\n\nkernel/sched/fair.c:420: warning: \u0027account_cfs_rq_runtime\u0027 declared inline after being called\nkernel/sched/fair.c:420: warning: previous declaration of \u0027account_cfs_rq_runtime\u0027 was here\nkernel/sched/fair.c:1165: warning: \u0027return_cfs_rq_runtime\u0027 declared inlineafter being called\nkernel/sched/fair.c:1165: warning: previous declaration of \u0027return_cfs_rq_runtime\u0027 was here\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120321200717.49BB4A024E@akpm.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2ba68940c893c8f0bfc8573c041254251bb6aeab",
      "tree": "fa83ebb01d32abd98123fa28f9f6f0b3eaeee25d",
      "parents": [
        "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
        "600e145882802d6ccbfe2c4aea243d97caeb91a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes for v3.4 from Ingo Molnar\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  printk: Make it compile with !CONFIG_PRINTK\n  sched/x86: Fix overflow in cyc2ns_offset\n  sched: Fix nohz load accounting -- again!\n  sched: Update yield() docs\n  printk/sched: Introduce special printk_sched() for those awkward moments\n  sched/nohz: Correctly initialize \u0027next_balance\u0027 in \u0027nohz\u0027 idle balancer\n  sched: Cleanup cpu_active madness\n  sched: Fix load-balance wreckage\n  sched: Clean up parameter passing of proc_sched_autogroup_set_nice()\n  sched: Ditch per cgroup task lists for load-balancing\n  sched: Rename load-balancing fields\n  sched: Move load-balancing arguments into helper struct\n  sched/rt: Do not submit new work when PI-blocked\n  sched/rt: Prevent idle task boosting\n  sched/wait: Add __wake_up_all_locked() API\n  sched/rt: Document scheduler related skip-resched-check sites\n  sched/rt: Use schedule_preempt_disabled()\n  sched/rt: Add schedule_preempt_disabled()\n  sched/rt: Do not throttle when PI boosting\n  sched/rt: Keep period timer ticking when rt throttling is active\n  ...\n"
    },
    {
      "commit": "554cecaf733623b327eef9652b65965eb1081b81",
      "tree": "4e471c4689563d3a882667323ece2e581d8f17c8",
      "parents": [
        "5fbd036b552f633abb394a319f7c62a5c86a9cd7"
      ],
      "author": {
        "name": "Diwakar Tundlam",
        "email": "dtundlam@nvidia.com",
        "time": "Wed Mar 07 14:44:26 2012 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:43:16 2012 +0100"
      },
      "message": "sched/nohz: Correctly initialize \u0027next_balance\u0027 in \u0027nohz\u0027 idle balancer\n\nThe \u0027next_balance\u0027 field of \u0027nohz\u0027 idle balancer must be initialized\nto jiffies. Since jiffies is initialized to negative 300 seconds the\n\u0027nohz\u0027 idle balancer does not run for the first 300s (5mins) after\nbootup. If no new processes are spawed or no idle cycles happen, the\nload on the cpus will remain unbalanced for that duration.\n\nSigned-off-by: Diwakar Tundlam \u003cdtundlam@nvidia.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1DD7BFEDD3147247B1355BEFEFE4665237994F30EF@HQMAIL04.nvidia.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d6523ebd2f67de9d23285aad7f3910e7b0aee83",
      "tree": "745ee9e9378dd255fe7097e42c34a86ba9b8ee48",
      "parents": [
        "2e5b5b3a1b7768c89fbfeca18e75f8ee377e924c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Mar 10 00:07:36 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:43:15 2012 +0100"
      },
      "message": "sched: Fix load-balance wreckage\n\nCommit 367456c (\"sched: Ditch per cgroup task lists for\nload-balancing\") completely wrecked load-balancing due to\na few silly mistakes.\n\nCorrect those and remove more pointless code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-zk04ihygwxn7qqrlpaf73b0r@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "367456c756a6b84f493ca9cc5b17b1f5d38ef466",
      "tree": "0e95a2fa5cb25ea14e2841d84d4d2410ff383e33",
      "parents": [
        "ddcdf6e7d9919d139031fa2a6addd9544a9a833e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 20 21:49:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 01 13:08:37 2012 +0100"
      },
      "message": "sched: Ditch per cgroup task lists for load-balancing\n\nPer cgroup load-balance has numerous problems, chief amongst them that\nthere is no real sane order in them. So stop pretending it makes sense\nand enqueue all tasks on a single list.\n\nThis also allows us to more easily fix the fwd progress issue\nuncovered by the lock-break stuff. Rotate the list on failure to\nmigreate and limit the total iterations to nr_running (which with\nreleasing the lock isn\u0027t strictly accurate but close enough).\n\nAlso add a filter that skips very light tasks on the first attempt\naround the list, this attempts to avoid shooting whole cgroups around\nwithout affecting over balance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nLink: http://lkml.kernel.org/n/tip-tx8yqydc7eimgq7i4rkc3a4g@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddcdf6e7d9919d139031fa2a6addd9544a9a833e",
      "tree": "5c6883bdc1128a7c89b6d7e3ac13aa1a54f5c3c0",
      "parents": [
        "8e45cb545d98bc58e75b7de89ec8d3e5c8459ee6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 22 19:27:40 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 01 10:51:23 2012 +0100"
      },
      "message": "sched: Rename load-balancing fields\n\n s/env-\u003ethis_/env-\u003edst_/g\n s/env-\u003ebusiest_/env-\u003esrc_/g\n s/pull_task/move_task/g\n\nMakes everything clearer.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nLink: http://lkml.kernel.org/n/tip-0yvgms8t8x962drpvl0fu0kk@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e45cb545d98bc58e75b7de89ec8d3e5c8459ee6",
      "tree": "b855602a267eb38bc5d511050fb40477e5a607f1",
      "parents": [
        "3c7d51843b03a6839e9ec7cda724e54d2319a63a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 22 12:47:19 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 01 10:51:22 2012 +0100"
      },
      "message": "sched: Move load-balancing arguments into helper struct\n\nPassing large sets of similar arguments all around the load-balancer\ngets tiresom when you want to modify something. Stick them all in a\nhelper structure and pass the structure around.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nLink: http://lkml.kernel.org/n/tip-5slqz0vhsdzewrfk9eza1aon@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e4d960993331e92567f0180e45322a93e6780ba",
      "tree": "4d7444035303fc0b545e88afbd894176344fb2a3",
      "parents": [
        "de5bdff7a72acc281219be2b8edeeca1fd81c542",
        "164974a8f2a482f1abcb027c6d1a89dd79b14297"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 01 10:26:41 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 01 10:26:43 2012 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: we\u0027ll queue up dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5905afb0ee6550b42c49213da1c22d67316c194",
      "tree": "253fdb322e6e5b257ffda3b9b66bce90a473a6f7",
      "parents": [
        "1cfa60dc7d7c7cc774a44eee47ff135a644a1f31"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 08:31:31 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 10:05:59 2012 +0100"
      },
      "message": "static keys: Introduce \u0027struct static_key\u0027, static_key_true()/false() and static_key_slow_[inc|dec]()\n\nSo here\u0027s a boot tested patch on top of Jason\u0027s series that does\nall the cleanups I talked about and turns jump labels into a\nmore intuitive to use facility. It should also address the\nvarious misconceptions and confusions that surround jump labels.\n\nTypical usage scenarios:\n\n        #include \u003clinux/static_key.h\u003e\n\n        struct static_key key \u003d STATIC_KEY_INIT_TRUE;\n\n        if (static_key_false(\u0026key))\n                do unlikely code\n        else\n                do likely code\n\nOr:\n\n        if (static_key_true(\u0026key))\n                do likely code\n        else\n                do unlikely code\n\nThe static key is modified via:\n\n        static_key_slow_inc(\u0026key);\n        ...\n        static_key_slow_dec(\u0026key);\n\nThe \u0027slow\u0027 prefix makes it abundantly clear that this is an\nexpensive operation.\n\nI\u0027ve updated all in-kernel code to use this everywhere. Note\nthat I (intentionally) have not pushed through the rename\nblindly through to the lowest levels: the actual jump-label\npatching arch facility should be named like that, so we want to\ndecouple jump labels from the static-key facility a bit.\n\nOn non-jump-label enabled architectures static keys default to\nlikely()/unlikely() branches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: mathieu.desnoyers@efficios.com\nCc: davem@davemloft.net\nCc: ddaney.cavm@gmail.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120222085809.GA26397@elte.hu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62f6536a630affe3176deb48554d27ee58b65077",
      "tree": "cf1365f5c0d0b9aebb5877afa8a7b5da4aa11917",
      "parents": [
        "9388dc3047a88bedfd867e9ba3e1980c815ac524"
      ],
      "author": {
        "name": "Nikunj A. Dadhania",
        "email": "nikunj@linux.vnet.ibm.com",
        "time": "Fri Feb 17 08:34:30 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 12:28:28 2012 +0100"
      },
      "message": "sched: Remove rcu_read_lock/unlock() from select_idle_sibling()\n\nselect_idle_sibling() is called from select_task_rq_fair(), which\nalready has the RCU read lock held.\n\nSigned-off-by: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120217030409.11748.12491.stgit@abhimanyu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565",
      "tree": "8123849709e37dc2394373ad40cf333b2f19ebb5",
      "parents": [
        "719741d9986572d64b47c35c09f5e7bb8d389400"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 30 14:51:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 12:06:55 2012 +0100"
      },
      "message": "sched/events: Revert trace_sched_stat_sleeptime()\n\nCommit 1ac9bc69 (\"sched/tracing: Add a new tracepoint for sleeptime\")\nadded a new sched:sched_stat_sleeptime tracepoint.\n\nIt\u0027s broken: the first sample we get on a task might be bad because\nof a stale sleep_start value that wasn\u0027t reset at the last task switch\nbecause the tracepoint was not active.\n\nIt also breaks the existing schedstat samples due to the side\neffects of:\n\n-               se-\u003estatistics.sleep_start \u003d 0;\n...\n-               se-\u003estatistics.block_start \u003d 0;\n\nNor do I see means to fix it without adding overhead to the scheduler\nfast path, which I\u0027m not willing to for the sake of redundant\ninstrumentation.\n\nMost importantly, sleep time information can already be constructed\nby tracing context switches and wakeups, and taking the timestamp\ndifference between the schedule-out, the wakeup and the schedule-in.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-pc4c9qhl8q6vg3bs4j6k0rbd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed387b781ea6e14b78f449aa2ee4f270b60b01ac",
      "tree": "16ae2791173a7796feadf853ba1bee9b93fc0fff",
      "parents": [
        "30fd049afcfed50e022704036e8629d6bdfe84e6"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Tue Jan 31 11:40:32 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 31 13:40:59 2012 +0100"
      },
      "message": "sched: Move SMP-only variable into the SMP section\n\nThis also fixes the following compilation warning on !SMP:\n\n  CC kernel/sched/fair.o\n  kernel/sched/fair.c:218:36: warning: \u0027max_load_balance_interval\u0027 defined but not used [-Wunused-variable]\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nReviewed-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4F2754A0.9090306@ct.jp.nec.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec4412e1e91f44a3dcb97b6c9172a13fc78bac9",
      "tree": "a98f635907975c2f14c01c24418e102337250b8d",
      "parents": [
        "39be350127ec60a078edffe5b4915dafba4ba514"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Mon Dec 12 20:21:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 13:28:49 2012 +0100"
      },
      "message": "sched: Ensure cpu_power periodic update\n\nWith a lot of small tasks, the softirq sched is nearly never called\nwhen no_hz is enabled. In this case load_balance() is mainly called\nwith the newly_idle mode which doesn\u0027t update the cpu_power.\n\nAdd a next_update field which ensure a maximum update period when\nthere is short activity.\n\nHaving stale cpu_power information can skew the load-balancing\ndecisions, this is cured by the guaranteed update.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1323717668-2143-1-git-send-email-vincent.guittot@linaro.org\n"
    },
    {
      "commit": "71325960d16cd68ea0e22a8da15b2495b0f363f7",
      "tree": "38be96d9232b302780476899f8536e690c693ffb",
      "parents": [
        "db7e527da41560f597ccdc4417cefa6b7657c0c0"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Jan 19 18:28:57 2012 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 19:38:13 2012 +0100"
      },
      "message": "sched/nohz: Fix nohz cpu idle load balancing state with cpu hotplug\n\nWith the recent nohz scheduler changes, rq\u0027s nohz flag\n\u0027NOHZ_TICK_STOPPED\u0027 and its associated state doesn\u0027t get cleared\nimmediately after the cpu exits idle. This gets cleared as part\nof the next tick seen on that cpu.\n\nFor the cpu offline support, we need to clear this state\nmanually. Fix it by registering a cpu notifier, which clears the\nnohz idle load balance state for this rq explicitly during the\nCPU_DYING notification.\n\nThere won\u0027t be any nohz updates for that cpu, after the\nCPU_DYING notification. But lets be extra paranoid and skip\nupdating the nohz state in the select_nohz_load_balancer() if\nthe cpu is not in active state anymore.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nReviewed-and-tested-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1327026538.16150.40.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bced76aeaca03b45e3b4bdb868cada328e497847",
      "tree": "e2965b6cfecdc257a01b89ec6780b8de3b2e6d39",
      "parents": [
        "6db9dc150eabce7053c8df2a2146aa0d6748ec42"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 11 13:11:12 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 11 17:15:12 2012 +0100"
      },
      "message": "sched: Fix lockup by limiting load-balance retries on lock-break\n\nEric and David reported dead machines and traced it to commit\na195f004 (\"sched: Fix load-balance lock-breaking\"), it turns out\nthere\u0027s still a scenario where we can end up re-trying forever.\n\nSince there is no strict forward progress guarantee in the\nload-balance iteration we can get stuck re-retrying the same\ntask-set over and over.\n\nCreating a forward progress guarantee with the existing\nstructure is somewhat non-trivial, for now simply terminate the\nretry loop after a few tries.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: David Ahern \u003cdsahern@gmail.com\u003e\n[ logic cleanup as suggested by Eric ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1326297936.2442.157.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
}
