)]}'
{
  "log": [
    {
      "commit": "7e3115ef5149fc502e3a2e80719dba54a8e7409d",
      "tree": "48d20522106c153c20cb813531ad05dc8027b589",
      "parents": [
        "3029ede39373c368f402a76896600d85a4f7121b"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Sat Sep 14 19:39:46 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Sep 20 11:59:39 2013 +0200"
      },
      "message": "sched/balancing: Fix cfs_rq-\u003etask_h_load calculation\n\nPatch a003a2 (sched: Consider runnable load average in move_tasks())\nsets all top-level cfs_rqs\u0027 h_load to rq-\u003eavg.load_avg_contrib, which is\nalways 0. This mistype leads to all tasks having weight 0 when load\nbalancing in a cpu-cgroup enabled setup. There obviously should be sum\nof weights of all runnable tasks there instead. Fix it.\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1379173186-11944-1-git-send-email-vdavydov@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3029ede39373c368f402a76896600d85a4f7121b",
      "tree": "533add85a9e8cc17354f7434dc36f2da58c3bec7",
      "parents": [
        "b18855500fc40da050512d9df82d2f1471e59642"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Sun Sep 15 17:49:14 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Sep 20 11:59:38 2013 +0200"
      },
      "message": "sched/balancing: Fix \u0027local-\u003eavg_load \u003e busiest-\u003eavg_load\u0027 case in fix_small_imbalance()\n\nIn busiest-\u003egroup_imb case we can come to fix_small_imbalance() with\nlocal-\u003eavg_load \u003e busiest-\u003eavg_load. This can result in wrong imbalance\nfix-up, because there is the following check there where all the\nmembers are unsigned:\n\nif (busiest-\u003eavg_load - local-\u003eavg_load + scaled_busy_load_per_task \u003e\u003d\n    (scaled_busy_load_per_task * imbn)) {\n\tenv-\u003eimbalance \u003d busiest-\u003eload_per_task;\n\treturn;\n}\n\nAs a result we can end up constantly bouncing tasks from one cpu to\nanother if there are pinned tasks.\n\nFix it by substituting the subtraction with an equivalent addition in\nthe check.\n\n[ The bug can be caught by running 2*N cpuhogs pinned to two logical cpus\n  belonging to different cores on an HT-enabled machine with N logical\n  cpus: just look at se.nr_migrations growth. ]\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/ef167822e5c5b2d96cf5b0e3e4f4bdff3f0414a2.1379252740.git.vdavydov@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b18855500fc40da050512d9df82d2f1471e59642",
      "tree": "bceb77d57c1a89fe67c98467b9565e9f27d150da",
      "parents": [
        "7e28b2712e5ebd8d73d25561585bc2ae77da5c30"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Sun Sep 15 17:49:13 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Sep 20 11:59:36 2013 +0200"
      },
      "message": "sched/balancing: Fix \u0027local-\u003eavg_load \u003e sds-\u003eavg_load\u0027 case in calculate_imbalance()\n\nIn busiest-\u003egroup_imb case we can come to calculate_imbalance() with\nlocal-\u003eavg_load \u003e\u003d busiest-\u003eavg_load \u003e\u003d sds-\u003eavg_load. This can result\nin imbalance overflow, because it is calculated as follows\n\nenv-\u003eimbalance \u003d min(\n\tmax_pull * busiest-\u003egroup_power,\n\t(sds-\u003eavg_load - local-\u003eavg_load) * local-\u003egroup_power) / SCHED_POWER_SCALE;\n\nAs a result we can end up constantly bouncing tasks from one cpu to\nanother if there are pinned tasks.\n\nFix this by skipping the assignment and assuming imbalance\u003d0 in case\nlocal-\u003eavg_load \u003e sds-\u003eavg_load.\n\n[ The bug can be caught by running 2*N cpuhogs pinned to two logical cpus\n  belonging to different cores on an HT-enabled machine with N logical\n  cpus: just look at se.nr_migrations growth. ]\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/8f596cc6bc0e5e655119dc892c9bfcad26e971f4.1379252740.git.vdavydov@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7e28b2712e5ebd8d73d25561585bc2ae77da5c30",
      "tree": "34e54c0c411f5fa8dae537a0f9773d19f5c57351",
      "parents": [
        "186844b292140d1e33225ec95039b6adb03d3fec",
        "13b62e46d5407c7d619aea1dc9c3e0991b631b57"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 18 11:23:32 2013 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 18 11:23:32 2013 -0500"
      },
      "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 \"Misc fixes\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix comment for sched_info_depart\n  sched/Documentation: Update sched-design-CFS.txt documentation\n  sched/debug: Take PID namespace into account\n  sched/fair: Fix small race where child-\u003ese.parent,cfs_rq might point to invalid ones\n"
    },
    {
      "commit": "13b62e46d5407c7d619aea1dc9c3e0991b631b57",
      "tree": "26ec163a90c97dd9a341efdccbb483a261dc9356",
      "parents": [
        "3b524d60943a2f9ee1194323ff9d5ee01a4d1ce1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 16 11:30:36 2013 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 16 11:18:34 2013 +0200"
      },
      "message": "sched: Fix comment for sched_info_depart\n\nsched_info_depart seems to be only called from\nsched_info_switch(), so only on involuntary task switch.\n\nFix the comment to match.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLink: http://lkml.kernel.org/r/20130916083036.GA1113@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b55ee2816ed6d8f8a00d4badab0e3642ffbac19f",
      "tree": "8923b88f34f8e24e5b65a0f5aa8a366127fcdc6a",
      "parents": [
        "8b19e34188a32d63a7da94ea8a3f5e39b0c66050",
        "b0cff9d88ce2f3030f73138078c5b1019f17e1cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 12 10:44:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 12 10:44:13 2013 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fix from Ingo Molnar:\n \"Performance regression fix\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix load balancing performance regression in should_we_balance()\n"
    },
    {
      "commit": "fc840914e9b07ab4685c195e1e54e58de4f84c03",
      "tree": "0e2e5e65ef9569fa2fdae90eecd6081ad4b10e1d",
      "parents": [
        "6c9a27f5da9609fca46cb2b183724531b48f71ad"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Sep 09 13:01:41 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 12 19:14:16 2013 +0200"
      },
      "message": "sched/debug: Take PID namespace into account\n\nEmmanuel reported that /proc/sched_debug didn\u0027t report the right PIDs\nwhen using namespaces, cure this.\n\nReported-by: Emmanuel Deloget \u003cemmanuel.deloget@efixo.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130909110141.GM31370@twins.programming.kicks-ass.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6c9a27f5da9609fca46cb2b183724531b48f71ad",
      "tree": "10adb053f5130ab83a736db6f1f2f6b54560e215",
      "parents": [
        "b0cff9d88ce2f3030f73138078c5b1019f17e1cc"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Sep 10 18:16:36 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 12 19:14:14 2013 +0200"
      },
      "message": "sched/fair: Fix small race where child-\u003ese.parent,cfs_rq might point to invalid ones\n\nThere is a small race between copy_process() and cgroup_attach_task()\nwhere child-\u003ese.parent,cfs_rq points to invalid (old) ones.\n\n        parent doing fork()      | someone moving the parent to another cgroup\n  -------------------------------+---------------------------------------------\n    copy_process()\n      + dup_task_struct()\n        -\u003e parent-\u003ese is copied to child-\u003ese.\n           se.parent,cfs_rq of them point to old ones.\n\n                                     cgroup_attach_task()\n                                       + cgroup_task_migrate()\n                                         -\u003e parent-\u003ecgroup is updated.\n                                       + cpu_cgroup_attach()\n                                         + sched_move_task()\n                                           + task_move_group_fair()\n                                             +- set_task_rq()\n                                                -\u003e se.parent,cfs_rq of parent\n                                                   are updated.\n\n      + cgroup_fork()\n        -\u003e parent-\u003ecgroup is copied to child-\u003ecgroup. (*1)\n      + sched_fork()\n        + task_fork_fair()\n          -\u003e se.parent,cfs_rq of child are accessed\n             while they point to old ones. (*2)\n\nIn the worst case, this bug can lead to \"use-after-free\" and cause a panic,\nbecause it\u0027s new cgroup\u0027s refcount that is incremented at (*1),\nso the old cgroup(and related data) can be freed before (*2).\n\nIn fact, a panic caused by this bug was originally caught in RHEL6.4.\n\n    BUG: unable to handle kernel NULL pointer dereference at (null)\n    IP: [\u003cffffffff81051e3e\u003e] sched_slice+0x6e/0xa0\n    [...]\n    Call Trace:\n     [\u003cffffffff81051f25\u003e] place_entity+0x75/0xa0\n     [\u003cffffffff81056a3a\u003e] task_fork_fair+0xaa/0x160\n     [\u003cffffffff81063c0b\u003e] sched_fork+0x6b/0x140\n     [\u003cffffffff8106c3c2\u003e] copy_process+0x5b2/0x1450\n     [\u003cffffffff81063b49\u003e] ? wake_up_new_task+0xd9/0x130\n     [\u003cffffffff8106d2f4\u003e] do_fork+0x94/0x460\n     [\u003cffffffff81072a9e\u003e] ? sys_wait4+0xae/0x100\n     [\u003cffffffff81009598\u003e] sys_clone+0x28/0x30\n     [\u003cffffffff8100b393\u003e] stub_clone+0x13/0x20\n     [\u003cffffffff8100b072\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nLink: http://lkml.kernel.org/r/039601ceae06$733d3130$59b79390$@mxp.nes.nec.co.jp\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b0cff9d88ce2f3030f73138078c5b1019f17e1cc",
      "tree": "c99ab79be7b17494f22a66207bfc19e572a3dc17",
      "parents": [
        "816434ec4a674fcdb3c2221a6dffdc8f34020550"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Sep 10 15:54:49 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 10 09:20:42 2013 +0200"
      },
      "message": "sched: Fix load balancing performance regression in should_we_balance()\n\nCommit 23f0d20 (\"sched: Factor out code to should_we_balance()\")\nintroduces the should_we_balance() function.  This function should\nreturn 1 if this cpu is appropriate for balancing. But the newly\nintroduced code doesn\u0027t do so, it returns 0 instead of 1.\n\nThis introduces performance regression, reported by Dave Chinner:\n\n                        v4 filesystem           v5 filesystem\n3.11+xfsdev:            220k files/s            225k files/s\n3.12-git                180k files/s            185k files/s\n3.12-git-revert         245k files/s            247k files/s\n\nYou can find more detailed information at:\n\n  https://lkml.org/lkml/2013/9/10/1\n\nThis patch corrects the return value of should_we_balance()\nfunction as orignally intended.\n\nWith this patch, Dave Chinner reports that the regression is gone:\n\n                        v4 filesystem           v5 filesystem\n3.11+xfsdev:            220k files/s            225k files/s\n3.12-git                180k files/s            185k files/s\n3.12-git-revert         245k files/s            247k files/s\n3.12-git-fix            249k files/s            248k files/s\n\nReported-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nLink: http://lkml.kernel.org/r/20130910065448.GA20368@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "57d730924d5cc2c3e280af16a9306587c3a511db",
      "tree": "78e4c6386f40bdaa1c3a9af869bcdc9b1a52818c",
      "parents": [
        "050ba07cdc9aaef17e1be251aa8fceb9a919d5d3",
        "5a8e01f8fa51f5cbce8f37acc050eb2319d12956"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 12:36:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 12:36:46 2013 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull cputime fix from Ingo Molnar:\n \"This fixes a longer-standing cputime accounting bug that Stanislaw\n  Gruszka finally managed to track down\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/cputime: Do not scale when utime \u003d\u003d 0\n"
    },
    {
      "commit": "ae7a835cc546fc67df90edaaa0c48ae2b22a29fe",
      "tree": "b1235437fde066ab0f272f164d75dc1b98a244cf",
      "parents": [
        "cf39c8e5352b4fb9efedfe7e9acb566a85ed847c",
        "6b9e4fa07443f5baf5bbd7ab043abd6976f8d7bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 18:15:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 18:15:06 2013 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Gleb Natapov:\n \"The highlights of the release are nested EPT and pv-ticketlocks\n  support (hypervisor part, guest part, which is most of the code, goes\n  through tip tree).  Apart of that there are many fixes for all arches\"\n\nFix up semantic conflicts as discussed in the pull request thread..\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (88 commits)\n  ARM: KVM: Add newlines to panic strings\n  ARM: KVM: Work around older compiler bug\n  ARM: KVM: Simplify tracepoint text\n  ARM: KVM: Fix kvm_set_pte assignment\n  ARM: KVM: vgic: Bump VGIC_NR_IRQS to 256\n  ARM: KVM: Bugfix: vgic_bytemap_get_reg per cpu regs\n  ARM: KVM: vgic: fix GICD_ICFGRn access\n  ARM: KVM: vgic: simplify vgic_get_target_reg\n  KVM: MMU: remove unused parameter\n  KVM: PPC: Book3S PR: Rework kvmppc_mmu_book3s_64_xlate()\n  KVM: PPC: Book3S PR: Make instruction fetch fallback work for system calls\n  KVM: PPC: Book3S PR: Don\u0027t corrupt guest state when kernel uses VMX\n  KVM: x86: update masterclock when kvmclock_offset is calculated (v2)\n  KVM: PPC: Book3S: Fix compile error in XICS emulation\n  KVM: PPC: Book3S PR: return appropriate error when allocation fails\n  arch: powerpc: kvm: add signed type cast for comparation\n  KVM: x86: add comments where MMIO does not return to the emulator\n  KVM: vmx: count exits to userspace during invalid guest emulation\n  KVM: rename __kvm_io_bus_sort_cmp to kvm_io_bus_cmp\n  kvm: optimize away THP checks in kvm_is_mmio_pfn()\n  ...\n"
    },
    {
      "commit": "6832d9652f395f7d13003e3884942c40f52ac1fa",
      "tree": "40555ad5eda9700cb973dac4db136ad97f5e8b19",
      "parents": [
        "228abe73ad67665d71eacd6a8a347dd76b0115ae",
        "c2e7fcf53c3cb02b4ada1c66a9bc8a4d97d58aba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 09:36:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 09:36:54 2013 -0700"
      },
      "message": "Merge branch \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timers/nohz changes from Ingo Molnar:\n \"It mostly contains fixes and full dynticks off-case optimizations, by\n  Frederic Weisbecker\"\n\n* \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  nohz: Include local CPU in full dynticks global kick\n  nohz: Optimize full dynticks\u0027s sched hooks with static keys\n  nohz: Optimize full dynticks state checks with static keys\n  nohz: Rename a few state variables\n  vtime: Always debug check snapshot source _before_ updating it\n  vtime: Always scale generic vtime accounting results\n  vtime: Optimize full dynticks accounting off case with static keys\n  vtime: Describe overriden functions in dedicated arch headers\n  m68k: hardirq_count() only need preempt_mask.h\n  hardirq: Split preempt count mask definitions\n  context_tracking: Split low level state headers\n  vtime: Fix racy cputime delta update\n  vtime: Remove a few unneeded generic vtime state checks\n  context_tracking: User/kernel broundary cross trace events\n  context_tracking: Optimize context switch off case with static keys\n  context_tracking: Optimize guest APIs off case with static key\n  context_tracking: Optimize main APIs off case with static key\n  context_tracking: Ground setup for static key use\n  context_tracking: Remove full dynticks\u0027 hacky dependency on wide context tracking\n  nohz: Only enable context tracking on full dynticks CPUs\n  ...\n"
    },
    {
      "commit": "5e0b3a4e88012d259e8b2c0f02f393c79686daf9",
      "tree": "1c6d7be145a7cce77996049eb78877ed95e87a4f",
      "parents": [
        "0d99b7087324978b09b59d8c7a0736214c4a42b1",
        "10866e62e8a6907d9072f10f9a0561db0c0cf50b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:36:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:36:35 2013 -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 \"Various optimizations, cleanups and smaller fixes - no major changes\n  in scheduler behavior\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/fair: Fix the sd_parent_degenerate() code\n  sched/fair: Rework and comment the group_imb code\n  sched/fair: Optimize find_busiest_queue()\n  sched/fair: Make group power more consistent\n  sched/fair: Remove duplicate load_per_task computations\n  sched/fair: Shrink sg_lb_stats and play memset games\n  sched: Clean-up struct sd_lb_stat\n  sched: Factor out code to should_we_balance()\n  sched: Remove one division operation in find_busiest_queue()\n  sched/cputime: Use this_cpu_add() in task_group_account_field()\n  cpumask: Fix cpumask leak in partition_sched_domains()\n  sched/x86: Optimize switch_mm() for multi-threaded workloads\n  generic-ipi: Kill unnecessary variable - csd_flags\n  numa: Mark __node_set() as __always_inline\n  sched/fair: Cleanup: remove duplicate variable declaration\n  sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing\n"
    },
    {
      "commit": "0d99b7087324978b09b59d8c7a0736214c4a42b1",
      "tree": "508585a8df290709e923c6a33548343e48c24ca2",
      "parents": [
        "4689550bb278cb142979c313a0d608e802c6711b",
        "ae23bff1d71f8b416ed740bc458df67355c77c92",
        "61bf86ad86443a710ae7eed372cccb8ed5038eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:25:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:25:35 2013 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027 and \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf changes from Ingo Molnar:\n \"As a first remark I\u0027d like to point out that the obsolete \u0027-f\u0027\n  (--force) option, which has not done anything for several releases,\n  has been removed from \u0027perf record\u0027 and related utilities.  Everyone\n  please update muscle memory accordingly! :-)\n\n  Main changes on the perf kernel side:\n\n   - Performance optimizations:\n        . for trace events, by Steve Rostedt.\n        . for time values, by Peter Zijlstra\n\n   - New hardware support:\n        . for Intel Silvermont (22nm Atom) CPUs, by Zheng Yan\n        . for Intel SNB-EP uncore PMUs, by Zheng Yan\n\n   - Enhanced hardware support:\n        . for Intel uncore PMUs: add filter support for QPI boxes, by Zheng Yan\n\n   - Core perf events code enhancements and fixes:\n        . for full-nohz feature handling, by Frederic Weisbecker\n        . for group events, by Jiri Olsa\n        . for call chains, by Frederic Weisbecker\n        . for event stream parsing, by Adrian Hunter\n\n   - New ABI details:\n        . Add attr-\u003emmap2 attribute, by Stephane Eranian\n        . Add PERF_EVENT_IOC_ID ioctl to return event ID, by Jiri Olsa\n        . Export u64 time_zero on the mmap header page to allow TSC\n          calculation, by Adrian Hunter\n        . Add dummy software event, by Adrian Hunter.\n        . Add a new PERF_SAMPLE_IDENTIFIER to make samples always\n          parseable, by Adrian Hunter.\n        . Make Power7 events available via sysfs, by Runzhen Wang.\n\n   - Code cleanups and refactorings:\n        . for nohz-full, by Frederic Weisbecker\n        . for group events, by Jiri Olsa\n\n   - Documentation updates:\n        . for perf_event_type, by Peter Zijlstra\n\n  Main changes on the perf tooling side (some of these tooling changes\n  utilize the above kernel side changes):\n\n   - Lots of \u0027perf trace\u0027 enhancements:\n\n        . Make \u0027perf trace\u0027 command line arguments consistent with\n          \u0027perf record\u0027, by David Ahern.\n\n        . Allow specifying syscalls a la strace, by Arnaldo Carvalho de Melo.\n\n        . Add --verbose and -o/--output options, by Arnaldo Carvalho de Melo.\n\n        . Support ! in -e expressions, to filter a list of syscalls,\n          by Arnaldo Carvalho de Melo.\n\n        . Arg formatting improvements to allow masking arguments in\n          syscalls such as futex and open, where the some arguments are\n          ignored and thus should not be printed depending on other args,\n          by Arnaldo Carvalho de Melo.\n\n        . Beautify futex open, openat, open_by_handle_at, lseek and futex\n          syscalls, by Arnaldo Carvalho de Melo.\n\n        . Add option to analyze events in a file versus live, so that\n          one can do:\n\n           [root@zoo ~]# perf record -a -e raw_syscalls:* sleep 1\n           [ perf record: Woken up 0 times to write data ]\n           [ perf record: Captured and wrote 25.150 MB perf.data (~1098836 samples) ]\n           [root@zoo ~]# perf trace -i perf.data -e futex --duration 1\n              17.799 ( 1.020 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, ua\n             113.344 (95.429 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 4294967\n             133.778 ( 1.042 ms): 18004 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 429496\n           [root@zoo ~]#\n\n          By David Ahern.\n\n        . Honor target pid / tid options when analyzing a file, by David Ahern.\n\n        . Introduce better formatting of syscall arguments, including so\n          far beautifiers for mmap, madvise, syscall return values,\n          by Arnaldo Carvalho de Melo.\n\n        . Handle HUGEPAGE defines in the mmap beautifier, by David Ahern.\n\n   - \u0027perf report/top\u0027 enhancements:\n\n        . Do annotation using /proc/kcore and /proc/kallsyms when\n          available, removing the forced need for a vmlinux file kernel\n          assembly annotation. This also improves this use case because\n          vmlinux has just the initial kernel image, not what is actually\n          in use after various code patchings by things like alternatives.\n          By Adrian Hunter.\n\n        . Add --ignore-callees\u003d\u003cregex\u003e option to collapse undesired parts\n          of call graphs, by Greg Price.\n\n        . Simplify symbol filtering by doing it at machine class level,\n          by Adrian Hunter.\n\n        . Add support for callchains in the gtk UI, by Namhyung Kim.\n\n        . Add --objdump option to \u0027perf top\u0027, by Sukadev Bhattiprolu.\n\n   - \u0027perf kvm\u0027 enhancements:\n\n        . Add option to print only events that exceed a specified time\n          duration, by David Ahern.\n\n        . Improve stack trace printing, by David Ahern.\n\n        . Update documentation of the live command, by David Ahern\n\n        . Add perf kvm stat live mode that combines aspects of \u0027perf kvm\n          stat\u0027 record and report, by David Ahern.\n\n        . Add option to analyze specific VM in perf kvm stat report, by\n          David Ahern.\n\n        . Do not require /lib/modules/* on a guest, by Jason Wessel.\n\n   - \u0027perf script\u0027 enhancements:\n\n        . Fix symbol offset computation for some dsos, by David Ahern.\n\n        . Fix named threads support, by David Ahern.\n\n        . Don\u0027t install scripting files files when perl/python support\n          is disabled, by Arnaldo Carvalho de Melo.\n\n   - \u0027perf test\u0027 enhancements:\n\n        . Add various improvements and fixes to the \"vmlinux matches\n          kallsyms\" \u0027perf test\u0027 entry, related to the /proc/kcore\n          annotation feature. By Adrian Hunter.\n\n        . Add sample parsing test, by Adrian Hunter.\n\n        . Add test for reading object code, by Adrian Hunter.\n\n        . Add attr record group sampling test, by Jiri Olsa.\n\n        . Misc testing infrastructure improvements and other details,\n          by Jiri Olsa.\n\n   - \u0027perf list\u0027 enhancements:\n\n        . Skip unsupported hardware events, by Namhyung Kim.\n\n        . List pmu events, by Andi Kleen.\n\n   - \u0027perf diff\u0027 enhancements:\n\n        . Add support for more than two files comparison, by Jiri Olsa.\n\n   - \u0027perf sched\u0027 enhancements:\n\n        . Various improvements, including removing reliance on some\n          scheduler tracepoints that provide the same information as the\n          PERF_RECORD_{FORK,EXIT} events. By David Ahern.\n\n        . Remove odd build stall by moving a large struct initialization\n          from a local variable to a global one, by Namhyung Kim.\n\n   - \u0027perf stat\u0027 enhancements:\n\n        . Add --initial-delay option to skip measuring for a defined\n          startup phase, by Andi Kleen.\n\n   - Generic perf tooling infrastructure/plumbing changes:\n\n        . Tidy up sample parsing validation, by Adrian Hunter.\n\n        . Fix up jobserver setup in libtraceevent Makefile.\n          by Arnaldo Carvalho de Melo.\n\n        . Debug improvements, by Adrian Hunter.\n\n        . Fix correlation of samples coming after PERF_RECORD_EXIT event,\n          by David Ahern.\n\n        . Improve robustness of the topology parsing code,\n          by Stephane Eranian.\n\n        . Add group leader sampling, that allows just one event in a group\n          to sample while the other events have just its values read,\n          by Jiri Olsa.\n\n        . Add support for a new modifier \"D\", which requests that the\n          event, or group of events, be pinned to the PMU.\n          By Michael Ellerman.\n\n        . Support callchain sorting based on addresses, by Andi Kleen\n\n        . Prep work for multi perf data file storage, by Jiri Olsa.\n\n        . libtraceevent cleanups, by Namhyung Kim.\n\n  And lots and lots of other fixes and code reorganizations that did not\n  make it into the list, see the shortlog, diffstat and the Git log for\n  details!\"\n\n[ Also merge a leftover from the 3.11 cycle ]\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Prevent race in unthrottling code\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (237 commits)\n  perf trace: Tell arg formatters the arg index\n  perf trace: Add beautifier for open\u0027s flags arg\n  perf trace: Add beautifier for lseek\u0027s whence arg\n  perf tools: Fix symbol offset computation for some dsos\n  perf list: Skip unsupported events\n  perf tests: Add \u0027keep tracking\u0027 test\n  perf tools: Add support for PERF_COUNT_SW_DUMMY\n  perf: Add a dummy software event to keep tracking\n  perf trace: Add beautifier for futex \u0027operation\u0027 parm\n  perf trace: Allow syscall arg formatters to mask args\n  perf: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node()\n  perf: Export struct perf_branch_entry to userspace\n  perf: Add attr-\u003emmap2 attribute to an event\n  perf/x86: Add Silvermont (22nm Atom) support\n  perf/x86: use INTEL_UEVENT_EXTRA_REG to define MSR_OFFCORE_RSP_X\n  perf trace: Handle missing HUGEPAGE defines\n  perf trace: Honor target pid / tid options when analyzing a file\n  perf trace: Add option to analyze events in a file versus live\n  perf evlist: Add tracepoint lookup by name\n  perf tests: Add a sample parsing test\n  ...\n"
    },
    {
      "commit": "5a8e01f8fa51f5cbce8f37acc050eb2319d12956",
      "tree": "01173781a3b8ea5583cc7d256e8c476c48aab1a9",
      "parents": [
        "c2e7fcf53c3cb02b4ada1c66a9bc8a4d97d58aba"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Sep 04 15:16:03 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Sep 04 16:31:25 2013 +0200"
      },
      "message": "sched/cputime: Do not scale when utime \u003d\u003d 0\n\nscale_stime() silently assumes that stime \u003c rtime, otherwise\nwhen stime \u003d\u003d rtime and both values are big enough (operations\non them do not fit in 32 bits), the resulting scaling stime can\nbe bigger than rtime. In consequence utime \u003d rtime - stime\nresults in negative value.\n\nUser space visible symptoms of the bug are overflowed TIME\nvalues on ps/top, for example:\n\n $ ps aux | grep rcu\n root         8  0.0  0.0      0     0 ?        S    12:42   0:00 [rcuc/0]\n root         9  0.0  0.0      0     0 ?        S    12:42   0:00 [rcub/0]\n root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 [rcu_preempt]\n root        11  0.1  0.0      0     0 ?        S    12:42   0:02 [rcuop/0]\n root        12 62422329  0.0  0     0 ?        S    12:42 21114581:35 [rcuop/1]\n root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 [rcu_preempt]\n\nor overflowed utime values read directly from /proc/$PID/stat\n\nReference:\n\n  https://lkml.org/lkml/2013/8/20/259\n\nReported-and-tested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: stable@vger.kernel.org\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nLink: http://lkml.kernel.org/r/20130904131602.GC2564@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "32dad03d164206ea886885d0740284ba215b0970",
      "tree": "5fd89fe27295bfbe47dce5f274aa645099741a71",
      "parents": [
        "357397a14117f0c2eeafcac06a1f8412a02aa6af",
        "d1625964da51bda61306ad3ec45307a799c21f08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:25:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:25:03 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n \"A lot of activities on the cgroup front.  Most changes aren\u0027t visible\n  to userland at all at this point and are laying foundation for the\n  planned unified hierarchy.\n\n   - The biggest change is decoupling the lifetime management of css\n     (cgroup_subsys_state) from that of cgroup\u0027s.  Because controllers\n     (cpu, memory, block and so on) will need to be dynamically enabled\n     and disabled, css which is the association point between a cgroup\n     and a controller may come and go dynamically across the lifetime of\n     a cgroup.  Till now, css\u0027s were created when the associated cgroup\n     was created and stayed till the cgroup got destroyed.\n\n     Assumptions around this tight coupling permeated through cgroup\n     core and controllers.  These assumptions are gradually removed,\n     which consists bulk of patches, and css destruction path is\n     completely decoupled from cgroup destruction path.  Note that\n     decoupling of creation path is relatively easy on top of these\n     changes and the patchset is pending for the next window.\n\n   - cgroup has its own event mechanism cgroup.event_control, which is\n     only used by memcg.  It is overly complex trying to achieve high\n     flexibility whose benefits seem dubious at best.  Going forward,\n     new events will simply generate file modified event and the\n     existing mechanism is being made specific to memcg.  This pull\n     request contains prepatory patches for such change.\n\n   - Various fixes and cleanups\"\n\nFixed up conflict in kernel/cgroup.c as per Tejun.\n\n* \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (69 commits)\n  cgroup: fix cgroup_css() invocation in css_from_id()\n  cgroup: make cgroup_write_event_control() use css_from_dir() instead of __d_cgrp()\n  cgroup: make cgroup_event hold onto cgroup_subsys_state instead of cgroup\n  cgroup: implement CFTYPE_NO_PREFIX\n  cgroup: make cgroup_css() take cgroup_subsys * instead and allow NULL subsys\n  cgroup: rename cgroup_css_from_dir() to css_from_dir() and update its syntax\n  cgroup: fix cgroup_write_event_control()\n  cgroup: fix subsystem file accesses on the root cgroup\n  cgroup: change cgroup_from_id() to css_from_id()\n  cgroup: use css_get() in cgroup_create() to check CSS_ROOT\n  cpuset: remove an unncessary forward declaration\n  cgroup: RCU protect each cgroup_subsys_state release\n  cgroup: move subsys file removal to kill_css()\n  cgroup: factor out kill_css()\n  cgroup: decouple cgroup_subsys_state destruction from cgroup destruction\n  cgroup: replace cgroup-\u003ecss_kill_cnt with -\u003enr_css\n  cgroup: bounce cgroup_subsys_state ref kill confirmation to a work item\n  cgroup: move cgroup-\u003esubsys[] assignment to online_css()\n  cgroup: reorganize css init / exit paths\n  cgroup: add __rcu modifier to cgroup-\u003esubsys[]\n  ...\n"
    },
    {
      "commit": "10866e62e8a6907d9072f10f9a0561db0c0cf50b",
      "tree": "a2edd643b6221d7552b88c1322998d626c1bd50e",
      "parents": [
        "30ce5dabc92b5a349a7d9e9cf499494d230e0691"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 16:57:04 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:40 2013 +0200"
      },
      "message": "sched/fair: Fix the sd_parent_degenerate() code\n\nI found that on my WSM box I had a redundant domain:\n\n[    0.949769] CPU0 attaching sched-domain:\n[    0.953765]  domain 0: span 0,12 level SIBLING\n[    0.958335]   groups: 0 (cpu_power \u003d 587) 12 (cpu_power \u003d 588)\n[    0.964548]   domain 1: span 0-5,12-17 level MC\n[    0.969206]    groups: 0,12 (cpu_power \u003d 1175) 1,13 (cpu_power \u003d 1176) 2,14 (cpu_power \u003d 1176) 3,15 (cpu_power \u003d 1176) 4,16 (cpu_power \u003d 1176) 5,17 (cpu_power \u003d 1176)\n[    0.984993]    domain 2: span 0-5,12-17 level CPU\n[    0.989822]     groups: 0-5,12-17 (cpu_power \u003d 7055)\n[    0.995049]     domain 3: span 0-23 level NUMA\n[    0.999620]      groups: 0-5,12-17 (cpu_power \u003d 7055) 6-11,18-23 (cpu_power \u003d 7056)\n\nNote how domain 2 has only a single group and spans the same CPUs as\ndomain 1. We should not keep such domains and do in fact have code to\nprune these.\n\nIt turns out that the \u0027new\u0027 SD_PREFER_SIBLING flag causes this, it\nmakes sd_parent_degenerate() fail on the CPU domain. We can easily\nfix this by \u0027ignoring\u0027 the SD_PREFER_SIBLING bit and transfering it\nto whatever domain ends up covering the span.\n\nWith this patch the domains now look like this:\n\n[    0.950419] CPU0 attaching sched-domain:\n[    0.954454]  domain 0: span 0,12 level SIBLING\n[    0.959039]   groups: 0 (cpu_power \u003d 587) 12 (cpu_power \u003d 588)\n[    0.965271]   domain 1: span 0-5,12-17 level MC\n[    0.969936]    groups: 0,12 (cpu_power \u003d 1175) 1,13 (cpu_power \u003d 1176) 2,14 (cpu_power \u003d 1176) 3,15 (cpu_power \u003d 1176) 4,16 (cpu_power \u003d 1176) 5,17 (cpu_power \u003d 1176)\n[    0.985737]    domain 2: span 0-23 level NUMA\n[    0.990231]     groups: 0-5,12-17 (cpu_power \u003d 7055) 6-11,18-23 (cpu_power \u003d 7056)\n\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-ys201g4jwukj0h8xcamakxq1@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "30ce5dabc92b5a349a7d9e9cf499494d230e0691",
      "tree": "89c316645f6ef3a60c821e0d7a5d3e01379cbdf7",
      "parents": [
        "6906a40839198f33dbb56d20e644c01e00663952"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 20:29:29 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:38 2013 +0200"
      },
      "message": "sched/fair: Rework and comment the group_imb code\n\nRik reported some weirdness due to the group_imb code. As a start to\nlooking at it, clean it up a little and add a few explanatory\ncomments.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-caeeqttnla4wrrmhp5uf89gp@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6906a40839198f33dbb56d20e644c01e00663952",
      "tree": "27b31ae4522f4191cb82c17cf30b918b94562412",
      "parents": [
        "3ae11c90fd055ba1b1b03a014f851b395bdd26ff"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 15:20:21 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:37 2013 +0200"
      },
      "message": "sched/fair: Optimize find_busiest_queue()\n\nUse for_each_cpu_and() and thereby avoid computing the capacity for\nCPUs we know we\u0027re not interested in.\n\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-lppceyv6kb3a19g8spmrn20b@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3ae11c90fd055ba1b1b03a014f851b395bdd26ff",
      "tree": "6e2f571ab0ca90206bffacab9bf7aaaa91e25df5",
      "parents": [
        "38d0f7708543bcfa03d5ee55e8346f801b4a59c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 20:37:48 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:37 2013 +0200"
      },
      "message": "sched/fair: Make group power more consistent\n\nFor easier access, less dereferences and more consistent value, store\nthe group power in update_sg_lb_stats() and use it thereafter. The\nactual value in sched_group::sched_group_power::power can change\nthroughout the load-balance pass if we\u0027re unlucky.\n\nReviewed-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-739xxqkyvftrhnh9ncudutc7@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "38d0f7708543bcfa03d5ee55e8346f801b4a59c9",
      "tree": "a5e7441ad2793c614b686a463a1d1be8c1d87a73",
      "parents": [
        "147c5fc2bad780d8093b547f2baa204e78107faf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 19:47:56 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:36 2013 +0200"
      },
      "message": "sched/fair: Remove duplicate load_per_task computations\n\nSince we already compute (but don\u0027t store) the sgs load_per_task value\nin update_sg_lb_stats() we might as well store it and not re-compute\nit later on.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-ym1vmljiwbzgdnnrwp9azftq@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "147c5fc2bad780d8093b547f2baa204e78107faf",
      "tree": "d3edc50c11c47dc03d405275adffd116d5d5c480",
      "parents": [
        "56cf515b4b1567c4e8fa9926175b40c66b9ec472"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 15:22:57 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:35 2013 +0200"
      },
      "message": "sched/fair: Shrink sg_lb_stats and play memset games\n\nWe can shrink sg_lb_stats because rq::nr_running is an unsigned int\nand cpu numbers are \u0027int\u0027\n\nBefore:\n  sgs:        /* size: 72, cachelines: 2, members: 10 */\n  sds:        /* size: 184, cachelines: 3, members: 7 */\n\nAfter:\n  sgs:        /* size: 56, cachelines: 1, members: 10 */\n  sds:        /* size: 152, cachelines: 3, members: 7 */\n\nFurther we can avoid clearing all of sds since we do a total\nclear/assignment of sg_stats in update_sg_lb_stats() with exception of\nbusiest_stat.avg_load which is referenced in update_sd_pick_busiest().\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-0klzmz9okll8wc0nsudguc9p@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "56cf515b4b1567c4e8fa9926175b40c66b9ec472",
      "tree": "0250d1edd6e92419ec0429c72de386b35f5bfbf1",
      "parents": [
        "23f0d2093c789e612185180c468fa09063834e87"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:43 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:35 2013 +0200"
      },
      "message": "sched: Clean-up struct sd_lb_stat\n\nThere is no reason to maintain separate variables for this_group\nand busiest_group in sd_lb_stat, except saving some space.\nBut this structure is always allocated in stack, so this saving\nisn\u0027t really benificial [peterz: reducing stack space is good; in this\ncase readability increases enough that I think its still beneficial]\n\nThis patch unify these variables, so IMO, readability may be improved.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ Rename this to local -- avoids confusion between this_cpu and the C++ this pointer. ]\nReviewed-by: Paul  Turner \u003cpjt@google.com\u003e\n[ Lots of style edits, a few fixes and a rename. ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-4-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "23f0d2093c789e612185180c468fa09063834e87",
      "tree": "63e1fb698d9e4e66d7932f7195af8f94e8f4004b",
      "parents": [
        "95a79b805b935f4a7b685aa8a117d916c638323e"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:42 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:34 2013 +0200"
      },
      "message": "sched: Factor out code to should_we_balance()\n\nNow checking whether this cpu is appropriate to balance or not\nis embedded into update_sg_lb_stats() and this checking has no direct\nrelationship to this function. There is not enough reason to place\nthis checking at update_sg_lb_stats(), except saving one iteration\nfor sched_group_cpus.\n\nIn this patch, I factor out this checking to should_we_balance() function.\nAnd before doing actual work for load_balancing, check whether this cpu is\nappropriate to balance via should_we_balance(). If this cpu is not\na candidate for balancing, it quit the work immediately.\n\nWith this change, we can save two memset cost and can expect better\ncompiler optimization.\n\nBelow is result of this patch.\n\n * Vanilla *\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  34499\t   1136\t    116\t  35751\t   8ba7\tkernel/sched/fair.o\n\n * Patched *\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  34243\t   1136\t    116\t  35495\t   8aa7\tkernel/sched/fair.o\n\nIn addition, rename @balance to @continue_balancing in order to represent\nits purpose more clearly.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ s/should_balance/continue_balancing/g ]\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\n[ Made style changes and a fix in should_we_balance(). ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-3-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "95a79b805b935f4a7b685aa8a117d916c638323e",
      "tree": "e9c7380555d30bf5eea04219aba179696c82b7e5",
      "parents": [
        "a4f61cc03e443647211a5ae0ab8f8cda2e9e1043"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:41 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:26:59 2013 +0200"
      },
      "message": "sched: Remove one division operation in find_busiest_queue()\n\nRemove one division operation in find_busiest_queue() by using\ncrosswise multiplication:\n\n\twl_i / power_i \u003e wl_j / power_j :\u003d\n\twl_i * power_j \u003e wl_j * power_i\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ Expanded the changelog. ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-2-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "aee2bce3cfdcb9bf2c51c24496ee776e8202ed11",
      "tree": "66ff8e345cf693cfb39383f25ad796e2f59ab6ad",
      "parents": [
        "5ec4c599a52362896c3e7c6a31ba6145dca9c6f5",
        "c95389b4cd6a4b52af78bea706a274453e886251"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 29 12:02:08 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 29 12:02:08 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nPick up the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a4f61cc03e443647211a5ae0ab8f8cda2e9e1043",
      "tree": "6285945a10b8bf718d27fecd7d4bc33e21a0a861",
      "parents": [
        "c8d2d47a9cbb4222ae4e993aa0e3703430c8193c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@gentwo.org",
        "time": "Wed Aug 07 15:38:24 2013 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Aug 16 17:44:29 2013 +0200"
      },
      "message": "sched/cputime: Use this_cpu_add() in task_group_account_field()\n\nUse of a this_cpu() operation reduces the number of instructions used\nfor accounting (account_user_time()) and frees up some registers. This is in\nthe scheduler tick hotpath.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/00000140596dd165-338ff7f5-893b-4fec-b251-aaac5557239e-000000@email.amazonses.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c8d2d47a9cbb4222ae4e993aa0e3703430c8193c",
      "tree": "d522413abcf9c69d3ceef66e7dc4708560812645",
      "parents": [
        "d3ec3a1fd08f705d1b319db4113590944bcde749"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Tue Aug 06 20:06:42 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Aug 16 17:44:27 2013 +0200"
      },
      "message": "cpumask: Fix cpumask leak in partition_sched_domains()\n\nIf doms_new is NULL, partition_sched_domains() will reset ndoms_cur\nto 0, and free old sched domains with free_sched_domains(doms_cur, ndoms_cur).\nAs ndoms_cur is 0, the cpumask will not be freed.\n\nSigned-off-by: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375790802-11857-1-git-send-email-xtfeng@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d3ec3a1fd08f705d1b319db4113590944bcde749",
      "tree": "598a0da59e027b455f11beab24a96ef1e56fbbcb",
      "parents": [
        "8f898fbbe5ee5e20a77c4074472a1fd088dc47d1",
        "d4e4ab86bcba5a72779c43dc1459f71fea3d89c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Aug 16 17:40:23 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Aug 16 17:40:23 2013 +0200"
      },
      "message": "Merge tag \u0027v3.11-rc5\u0027 into sched/core\n\nMerge Linux 3.11-rc5, to pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c9572f010d369d9905309f63e31180f291b66a8a",
      "tree": "fbca2a0576c4223790e23a3c1d5f50e2bdf64e10",
      "parents": [
        "58cea307432e3376293e6b2be88d1f6e6e99274a",
        "d4e4ab86bcba5a72779c43dc1459f71fea3d89c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 15 10:00:09 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 15 10:00:09 2013 +0200"
      },
      "message": "Merge tag \u0027v3.11-rc5\u0027 into perf/core\n\nMerge Linux 3.11-rc5, to sync up with the latest upstream fixes since -rc1.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6f1d657668ac3041b65265d3653d7e9172a0d603",
      "tree": "6e837c683783708637cc4caf9de759166c7469b7",
      "parents": [
        "d4e4ab86bcba5a72779c43dc1459f71fea3d89c8",
        "d13508f9440e46dccac6a2dd48d51a73b2207482"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Aug 14 17:58:56 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Aug 14 17:58:56 2013 +0200"
      },
      "message": "Merge branch \u0027timers/nohz-v3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz\n\nPull nohz improvements from Frederic Weisbecker:\n\n \" It mostly contains fixes and full dynticks off-case optimizations. I believe that\n   distros want to enable this feature so it seems important to optimize the case\n   where the \"nohz_full\u003d\" parameter is empty. ie: I\u0027m trying to remove any performance\n   regression that comes with NO_HZ_FULL\u003dy when the feature is not used.\n\n   This patchset improves the current situation a lot (off-case appears to be around 11% faster\n   with hackbench, although I guess it may vary depending on the configuration but it should be\n   significantly faster in any case) now there is still some work to do: I can still observe a\n   remaining loss of 1.6% throughput seen with hackbench compared to CONFIG_NO_HZ_FULL\u003dn. \"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "af2350bd12096dfd04e1090b90bfecea1f75f84e",
      "tree": "838e36dc6f9ec7f2ae237652e1002597c64df070",
      "parents": [
        "b854fafa4e06c50a92e00b39d75ee62083d986d6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jul 15 16:35:55 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:56 2013 +0200"
      },
      "message": "vtime: Always debug check snapshot source _before_ updating it\n\nThe vtime delta update performed by get_vtime_delta() always check\nthat the source of the snapshot is valid.\n\nMeanhile the snapshot updaters that rely on get_vtime_delta() also\nset the new snapshot origin. But some of them do this right before\nthe call to get_vtime_delta(), making its debug check useless.\n\nThis is easily fixable by moving the snapshot origin update after\nthe call to get_vtime_delta(). The order doesn\u0027t matter there.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "b854fafa4e06c50a92e00b39d75ee62083d986d6",
      "tree": "46dbf41c4842d237d9c93ad24ef2ad1d7373f60e",
      "parents": [
        "b04934061330a4a449cfce703c97d887c3e11cd7"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 13 17:24:20 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:55 2013 +0200"
      },
      "message": "vtime: Always scale generic vtime accounting results\n\nThe cputime accounting in full dynticks can be a subtle\nmixup of CPUs using tick based accounting and others using\ngeneric vtime.\n\nAs long as the tick can have a share on producing these stats, we\nwant to scale the result against CFS precise accounting as the tick\ncan miss some task hiding between the periodic interrupt.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "b04934061330a4a449cfce703c97d887c3e11cd7",
      "tree": "5f031cb20338cc3972e7339be17046553b186573",
      "parents": [
        "a5725ac23bf4ff79656ac2c317c323e261327fb3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 12 03:10:15 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:54 2013 +0200"
      },
      "message": "vtime: Optimize full dynticks accounting off case with static keys\n\nIf no CPU is in the full dynticks range, we can avoid the full\ndynticks cputime accounting through generic vtime along with its\noverhead and use the traditional tick based accounting instead.\n\nLet\u0027s do this and nope the off case with static keys.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "54461562c90e0ac104764c5a9de637fd9151a1c1",
      "tree": "df04e7b576eb54a29e80f9827c73d473c87ec0bf",
      "parents": [
        "7621d1f8bcb418e7a7ac583e89e38ec01b7ed182"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 13 17:10:18 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:50 2013 +0200"
      },
      "message": "vtime: Fix racy cputime delta update\n\nget_vtime_delta() must be called under the task vtime_seqlock\nwith the code that does the cputime accounting flush.\n\nOtherwise the cputime reader can be fooled and run into\na race where it sees the snapshot update but misses the\ncputime flush. As a result it can report a cputime that is\nway too short.\n\nFix vtime_account_user() that wasn\u0027t complying to that rule.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "7621d1f8bcb418e7a7ac583e89e38ec01b7ed182",
      "tree": "9fbbb9e64b2e51fcdcc4f3d28a79d57c870390c6",
      "parents": [
        "1b6a259aa5ab16d8b215bfc19ff7c9ffa8858f10"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 13 17:07:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:49 2013 +0200"
      },
      "message": "vtime: Remove a few unneeded generic vtime state checks\n\nSome generic vtime APIs check if the vtime accounting\nis enabled on the local CPU before doing their work.\n\nSome of these are not needed because all their callers already\ntake care of that. Let\u0027s remove the checks on these.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "48d6a816a8bf36e2a197c322697323003bdc1cfe",
      "tree": "6a51b602ec4451b8443b2b58337e9a55c84ceb48",
      "parents": [
        "ad65782fba507d91a0a98f519b59e79cac1b474c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 10 02:44:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:46 2013 +0200"
      },
      "message": "context_tracking: Optimize guest APIs off case with static key\n\nOptimize guest entry/exit APIs with static keys. This minimize\nthe overhead for those who enable CONFIG_NO_HZ_FULL without\nalways using it. Having no range passed to nohz_full\u003d should\nresult in the probes overhead to be minimized.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "28fbc8b6a29c849a3f03a6b05010d4b584055665",
      "tree": "822f3ccd4b8b69a219a0593736860f88ad5a3337",
      "parents": [
        "bfd36050874d69db0548800a756456d180687f7b",
        "bf0bd948d1682e3996adc093b43021ed391983e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 13 16:58:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 13 16:58:17 2013 -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 \"Docbook fixes that make 99% of the diffstat, plus a oneliner fix\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Ensure update_cfs_shares() is called for parents of continuously-running tasks\n  sched: Fix some kernel-doc warnings\n"
    },
    {
      "commit": "e0acd0a68ec7dbf6b7a81a87a867ebd7ac9b76c4",
      "tree": "0421e55e2d74024f1ee1949ccdd4cd92765b2560",
      "parents": [
        "584d88b2cd3b60507e708d2452651e4d3caa1b81"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Aug 12 18:14:00 2013 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 13 08:19:26 2013 -0700"
      },
      "message": "sched: fix the theoretical signal_wake_up() vs schedule() race\n\nThis is only theoretical, but after try_to_wake_up(p) was changed\nto check p-\u003estate under p-\u003epi_lock the code like\n\n\t__set_current_state(TASK_INTERRUPTIBLE);\n\tschedule();\n\ncan miss a signal. This is the special case of wait-for-condition,\nit relies on try_to_wake_up/schedule interaction and thus it does\nnot need mb() between __set_current_state() and if(signal_pending).\n\nHowever, this __set_current_state() can move into the critical\nsection protected by rq-\u003elock, now that try_to_wake_up() takes\nanother lock we need to ensure that it can\u0027t be reordered with\n\"if (signal_pending(current))\" check inside that section.\n\nThe patch is actually one-liner, it simply adds smp_wmb() before\nspin_lock_irq(rq-\u003elock). This is what try_to_wake_up() already\ndoes by the same reason.\n\nWe turn this wmb() into the new helper, smp_mb__before_spinlock(),\nfor better documentation and to allow the architectures to change\nthe default implementation.\n\nWhile at it, kill smp_mb__after_lock(), it has no callers.\n\nPerhaps we can also add smp_mb__before/after_spinunlock() for\nprepare_to_wait().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b206d48e58204e84d249c4eb18651a1ff7a1274",
      "tree": "c97a8158df0ff854d1d6389ddde5cc1fa53bae92",
      "parents": [
        "2d854e5738cded368a0759f85b1197f5c044513d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 12 19:05:14 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:40:44 2013 +0200"
      },
      "message": "vtime: Update a few comments\n\nUpdate a stale comment from the old vtime era and document some\nlocking that might be non obvious.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "fbb00b568bc93073452d2a0f9f06e7c33d16eece",
      "tree": "1e0d6f980341e3f7848717ba6e3ea9816e44baa4",
      "parents": [
        "ae920eb24277e4a174a3ca575ce42b98b18a6748"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 19 23:56:22 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:40:43 2013 +0200"
      },
      "message": "sched: Consolidate open coded preemptible() checks\n\npreempt_schedule() and preempt_schedule_context() open\ncode their preemptability checks.\n\nUse the standard API instead for consolidation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Alex Shi \u003calex.shi@intel.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\n"
    },
    {
      "commit": "d99c8727e7bbc01b70e2c57e6127bfab26b868fd",
      "tree": "9479ba1329ac1184cf82755ade7dfe94e9d7a4be",
      "parents": [
        "81eeaf0411204f52af8ef78ff107cfca2fcfec1d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:27 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:27 2013 -0400"
      },
      "message": "cgroup: make cgroup_taskset deal with cgroup_subsys_state instead of cgroup\n\ncgroup is in the process of converting to css (cgroup_subsys_state)\nfrom cgroup as the principal subsystem interface handle.  This is\nmostly to prepare for the unified hierarchy support where css\u0027s will\nbe created and destroyed dynamically but also helps cleaning up\nsubsystem implementations as css is usually what they are interested\nin anyway.\n\ncgroup_taskset which is used by the subsystem attach methods is the\nlast cgroup subsystem API which isn\u0027t using css as the handle.  Update\ncgroup_taskset_cur_cgroup() to cgroup_taskset_cur_css() and\ncgroup_taskset_for_each() to take @skip_css instead of @skip_cgrp.\n\nThe conversions are pretty mechanical.  One exception is\ncpuset::cgroup_cs(), which lost its last user and got removed.\n\nThis patch shouldn\u0027t introduce any functional changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Daniel Wagner \u003cdaniel.wagner@bmw-carit.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "182446d087906de40e514573a92a97b203695f71",
      "tree": "6aee96219c82d0a64b9d389c50666c1ce0ec27ee",
      "parents": [
        "67f4c36f83455b253445b2cb28ac9a2c4f85d99a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:24 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:24 2013 -0400"
      },
      "message": "cgroup: pass around cgroup_subsys_state instead of cgroup in file methods\n\ncgroup is currently in the process of transitioning to using struct\ncgroup_subsys_state * as the primary handle instead of struct cgroup.\nPlease see the previous commit which converts the subsystem methods\nfor rationale.\n\nThis patch converts all cftype file operations to take @css instead of\n@cgroup.  cftypes for the cgroup core files don\u0027t have their subsytem\npointer set.  These will automatically use the dummy_css added by the\nprevious patch and can be converted the same way.\n\nMost subsystem conversions are straight forwards but there are some\ninteresting ones.\n\n* freezer: update_if_frozen() is also converted to take @css instead\n  of @cgroup for consistency.  This will make the code look simpler\n  too once iterators are converted to use css.\n\n* memory/vmpressure: mem_cgroup_from_css() needs to be exported to\n  vmpressure while mem_cgroup_from_cont() can be made static.\n  Updated accordingly.\n\n* cpu: cgroup_tg() doesn\u0027t have any user left.  Removed.\n\n* cpuacct: cgroup_ca() doesn\u0027t have any user left.  Removed.\n\n* hugetlb: hugetlb_cgroup_form_cgroup() doesn\u0027t have any user left.\n  Removed.\n\n* net_cls: cgrp_cls_state() doesn\u0027t have any user left.  Removed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Aristeu Rozanski \u003caris@redhat.com\u003e\nAcked-by: Daniel Wagner \u003cdaniel.wagner@bmw-carit.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eb95419b023abacb415e2a18fea899023ce7624d",
      "tree": "705284469b67cbe440b86c6cb81e1cf27648eba9",
      "parents": [
        "6387698699afd72d6304566fb6ccf84bffe07c56"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "message": "cgroup: pass around cgroup_subsys_state instead of cgroup in subsystem methods\n\ncgroup is currently in the process of transitioning to using struct\ncgroup_subsys_state * as the primary handle instead of struct cgroup *\nin subsystem implementations for the following reasons.\n\n* With unified hierarchy, subsystems will be dynamically bound and\n  unbound from cgroups and thus css\u0027s (cgroup_subsys_state) may be\n  created and destroyed dynamically over the lifetime of a cgroup,\n  which is different from the current state where all css\u0027s are\n  allocated and destroyed together with the associated cgroup.  This\n  in turn means that cgroup_css() should be synchronized and may\n  return NULL, making it more cumbersome to use.\n\n* Differing levels of per-subsystem granularity in the unified\n  hierarchy means that the task and descendant iterators should behave\n  differently depending on the specific subsystem the iteration is\n  being performed for.\n\n* In majority of the cases, subsystems only care about its part in the\n  cgroup hierarchy - ie. the hierarchy of css\u0027s.  Subsystem methods\n  often obtain the matching css pointer from the cgroup and don\u0027t\n  bother with the cgroup pointer itself.  Passing around css fits\n  much better.\n\nThis patch converts all cgroup_subsys methods to take @css instead of\n@cgroup.  The conversions are mostly straight-forward.  A few\nnoteworthy changes are\n\n* -\u003ecss_alloc() now takes css of the parent cgroup rather than the\n  pointer to the new cgroup as the css for the new cgroup doesn\u0027t\n  exist yet.  Knowing the parent css is enough for all the existing\n  subsystems.\n\n* In kernel/cgroup.c::offline_css(), unnecessary open coded css\n  dereference is replaced with local variable access.\n\nThis patch shouldn\u0027t cause any behavior differences.\n\nv2: Unnecessary explicit cgrp-\u003esubsys[] deref in css_online() replaced\n    with local variable @css as suggested by Li Zefan.\n\n    Rebased on top of new for-3.12 which includes for-3.11-fixes so\n    that -\u003ecss_free() invocation added by da0a12caff (\"cgroup: fix a\n    leak when percpu_ref_init() fails\") is converted too.  Suggested\n    by Li Zefan.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Aristeu Rozanski \u003caris@redhat.com\u003e\nAcked-by: Daniel Wagner \u003cdaniel.wagner@bmw-carit.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6387698699afd72d6304566fb6ccf84bffe07c56",
      "tree": "9440e96fa8e5adce62409a5b0e40984dfedaada3",
      "parents": [
        "a7c6d554aa01236ac2a9f851ab0f75704f76dfa2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "message": "cgroup: add css_parent()\n\nCurrently, controllers have to explicitly follow the cgroup hierarchy\nto find the parent of a given css.  cgroup is moving towards using\ncgroup_subsys_state as the main controller interface construct, so\nlet\u0027s provide a way to climb the hierarchy using just csses.\n\nThis patch implements css_parent() which, given a css, returns its\nparent.  The function is guarnateed to valid non-NULL parent css as\nlong as the target css is not at the top of the hierarchy.\n\nfreezer, cpuset, cpu, cpuacct, hugetlb, memory, net_cls and devices\nare converted to use css_parent() instead of accessing cgroup-\u003eparent\ndirectly.\n\n* __parent_ca() is dropped from cpuacct and its usage is replaced with\n  parent_ca().  The only difference between the two was NULL test on\n  cgroup-\u003eparent which is now embedded in css_parent() making the\n  distinction moot.  Note that eventually a css-\u003eparent field will be\n  added to css and the NULL check in css_parent() will go away.\n\nThis patch shouldn\u0027t cause any behavior differences.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "a7c6d554aa01236ac2a9f851ab0f75704f76dfa2",
      "tree": "fe62d07283a589daa39f843deaefafd11c572b84",
      "parents": [
        "72c97e54e0f043d33b246d7460ae0a36c4b8c643"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:23 2013 -0400"
      },
      "message": "cgroup: add/update accessors which obtain subsys specific data from css\n\ncss (cgroup_subsys_state) is usually embedded in a subsys specific\ndata structure.  Subsystems either use container_of() directly to cast\nfrom css to such data structure or has an accessor function wrapping\nsuch cast.  As cgroup as whole is moving towards using css as the main\ninterface handle, add and update such accessors to ease dealing with\ncss\u0027s.\n\nAll accessors explicitly handle NULL input and return NULL in those\ncases.  While this looks like an extra branch in the code, as all\ncontrollers specific data structures have css as the first field, the\ncasting doesn\u0027t involve any offsetting and the compiler can trivially\noptimize out the branch.\n\n* blkio, freezer, cpuset, cpu, cpuacct and net_cls didn\u0027t have such\n  accessor.  Added.\n\n* memory, hugetlb and devices already had one but didn\u0027t explicitly\n  handle NULL input.  Updated.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "8af01f56a03e9cbd91a55d688fce1315021efba8",
      "tree": "05c051bd8b188073bb4bf695c3a46c6592e86794",
      "parents": [
        "61584e3f4964995e575618f76ff7197123796e75"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:22 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 08 20:11:22 2013 -0400"
      },
      "message": "cgroup: s/cgroup_subsys_state/cgroup_css/ s/task_subsys_state/task_css/\n\nThe names of the two struct cgroup_subsys_state accessors -\ncgroup_subsys_state() and task_subsys_state() - are somewhat awkward.\nThe former clashes with the type name and the latter doesn\u0027t even\nindicate it\u0027s somehow related to cgroup.\n\nWe\u0027re about to revamp large portion of cgroup API, so, let\u0027s rename\nthem so that they\u0027re less awkward.  Most per-controller usages of the\naccessors are localized in accessor wrappers and given the amount of\nscheduled changes, this isn\u0027t gonna add any noticeable headache.\n\nRename cgroup_subsys_state() to cgroup_css() and task_subsys_state()\nto task_css().  This patch is pure rename.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "10e84b97ed799be404836dc7f71ab47d4571265a",
      "tree": "f3976fd809015195eb5965204a8344ab255a273b",
      "parents": [
        "f93f3c4ee48727713c3349b659adf8048fd4524b"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Wed Jul 31 13:53:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 31 14:41:02 2013 -0700"
      },
      "message": "mm: sched: numa: fix NUMA balancing when !SCHED_DEBUG\n\nCommit 3105b86a9fee (\"mm: sched: numa: Control enabling and disabling of\nNUMA balancing if !SCHED_DEBUG\") defined numabalancing_enabled to\ncontrol the enabling and disabling of automatic NUMA balancing, but it\nis never used.\n\nI believe the intention was to use this in place of sched_feat_numa(NUMA).\n\nCurrently, if SCHED_DEBUG is not defined, sched_feat_numa(NUMA) will\nnever be changed from the initial \"false\".\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf0bd948d1682e3996adc093b43021ed391983e6",
      "tree": "8a12aee445d19b290d42d15730a0d7b1972bd2b9",
      "parents": [
        "e69f61862ab833e9b8d3c15b6ce07fd69f3bfecc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 26 23:48:42 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 30 22:14:37 2013 +0200"
      },
      "message": "sched: Ensure update_cfs_shares() is called for parents of continuously-running tasks\n\nWe typically update a task_group\u0027s shares within the dequeue/enqueue\npath.  However, continuously running tasks sharing a CPU are not\nsubject to these updates as they are only put/picked.  Unfortunately,\nwhen we reverted f269ae046 (in 17bc14b7), we lost the augmenting\nperiodic update that was supposed to account for this; resulting in a\npotential loss of fairness.\n\nTo fix this, re-introduce the explicit update in\nupdate_cfs_rq_blocked_load() [called via entity_tick()].\n\nReported-by: Max Hailperin \u003cmax@gustavus.edu\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-9545m3apw5d93ubyrotrj31y@git.kernel.org\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7d9ffa8961482232d964173cccba6e14d2d543b2",
      "tree": "80fd615fb64b1bd82e0de0e5d1e8be2bae8cb06d",
      "parents": [
        "62470419e993f8d9d93db0effd3af4296ecb79a5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 04 12:56:46 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 23 12:22:06 2013 +0200"
      },
      "message": "sched: Micro-optimize the smart wake-affine logic\n\nSmart wake-affine is using node-size as the factor currently, but the overhead\nof the mask operation is high.\n\nThus, this patch introduce the \u0027sd_llc_size\u0027 percpu variable, which will record\nthe highest cache-share domain size, and make it to be the new factor, in order\nto reduce the overhead and make it more reasonable.\n\nTested-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nTested-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/51D5008E.6030102@linux.vnet.ibm.com\n[ Tidied up the changelog. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "62470419e993f8d9d93db0effd3af4296ecb79a5",
      "tree": "3702386db7d904f8e5163a812f4d5352bc9b93a1",
      "parents": [
        "685207963be973fbb73550db6edaf920a283e1a7"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Thu Jul 04 12:55:51 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 23 12:18:41 2013 +0200"
      },
      "message": "sched: Implement smarter wake-affine logic\n\nThe wake-affine scheduler feature is currently always trying to pull\nthe wakee close to the waker. In theory this should be beneficial if\nthe waker\u0027s CPU caches hot data for the wakee, and it\u0027s also beneficial\nin the extreme ping-pong high context switch rate case.\n\nTesting shows it can benefit hackbench up to 15%.\n\nHowever, the feature is somewhat blind, from which some workloads\nsuch as pgbench suffer. It\u0027s also time-consuming algorithmically.\n\nTesting shows it can damage pgbench up to 50% - far more than the\nbenefit it brings in the best case.\n\nSo wake-affine should be smarter and it should realize when to\nstop its thankless effort at trying to find a suitable CPU to wake on.\n\nThis patch introduces \u0027wakee_flips\u0027, which will be increased each\ntime the task flips (switches) its wakee target.\n\nSo a high \u0027wakee_flips\u0027 value means the task has more than one\nwakee, and the bigger the number, the higher the wakeup frequency.\n\nNow when making the decision on whether to pull or not, pay attention to\nthe wakee with a high \u0027wakee_flips\u0027, pulling such a task may benefit\nthe wakee. Also imply that the waker will face cruel competition later,\nit could be very cruel or very fast depends on the story behind\n\u0027wakee_flips\u0027, waker therefore suffers.\n\nFurthermore, if waker also has a high \u0027wakee_flips\u0027, that implies that\nmultiple tasks rely on it, then waker\u0027s higher latency will damage all\nof them, so pulling wakee seems to be a bad deal.\n\nThus, when \u0027waker-\u003ewakee_flips / wakee-\u003ewakee_flips\u0027 becomes\nhigher and higher, the cost of pulling seems to be worse and worse.\n\nThe patch therefore helps the wake-affine feature to stop its pulling\nwork when:\n\n\twakee-\u003ewakee_flips \u003e factor \u0026\u0026\n\twaker-\u003ewakee_flips \u003e (factor * wakee-\u003ewakee_flips)\n\nThe \u0027factor\u0027 here is the number of CPUs in the current CPU\u0027s NUMA node,\nso a bigger node will lead to more pulling since the trial becomes more\nsevere.\n\nAfter applying the patch, pgbench shows up to 40% improvements and no regressions.\n\nTested with 12 cpu x86 server and tip 3.10.0-rc7.\n\nThe percentages in the final column highlight the areas with the biggest wins,\nall other areas improved as well:\n\n\tpgbench\t\t    base\tsmart\n\n\t| db_size | clients |  tps  |\t|  tps  |\n\t+---------+---------+-------+   +-------+\n\t| 22 MB   |       1 | 10598 |   | 10796 |\n\t| 22 MB   |       2 | 21257 |   | 21336 |\n\t| 22 MB   |       4 | 41386 |   | 41622 |\n\t| 22 MB   |       8 | 51253 |   | 57932 |\n\t| 22 MB   |      12 | 48570 |   | 54000 |\n\t| 22 MB   |      16 | 46748 |   | 55982 | +19.75%\n\t| 22 MB   |      24 | 44346 |   | 55847 | +25.93%\n\t| 22 MB   |      32 | 43460 |   | 54614 | +25.66%\n\t| 7484 MB |       1 |  8951 |   |  9193 |\n\t| 7484 MB |       2 | 19233 |   | 19240 |\n\t| 7484 MB |       4 | 37239 |   | 37302 |\n\t| 7484 MB |       8 | 46087 |   | 50018 |\n\t| 7484 MB |      12 | 42054 |   | 48763 |\n\t| 7484 MB |      16 | 40765 |   | 51633 | +26.66%\n\t| 7484 MB |      24 | 37651 |   | 52377 | +39.11%\n\t| 7484 MB |      32 | 37056 |   | 51108 | +37.92%\n\t| 15 GB   |       1 |  8845 |   |  9104 |\n\t| 15 GB   |       2 | 19094 |   | 19162 |\n\t| 15 GB   |       4 | 36979 |   | 36983 |\n\t| 15 GB   |       8 | 46087 |   | 49977 |\n\t| 15 GB   |      12 | 41901 |   | 48591 |\n\t| 15 GB   |      16 | 40147 |   | 50651 | +26.16%\n\t| 15 GB   |      24 | 37250 |   | 52365 | +40.58%\n\t| 15 GB   |      32 | 36470 |   | 50015 | +37.14%\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51D50057.9000809@linux.vnet.ibm.com\n[ Improved the changelog. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "685207963be973fbb73550db6edaf920a283e1a7",
      "tree": "95ce6c29454a7c72fe4c9410119bc6129d95f193",
      "parents": [
        "3bd5a5fc8c6b9fe769777abf74b0ab5fbd7930b4"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Mon Jul 15 17:49:19 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 23 12:18:41 2013 +0200"
      },
      "message": "sched: Move h_load calculation to task_h_load()\n\nThe bad thing about update_h_load(), which computes hierarchical load\nfactor for task groups, is that it is called for each task group in the\nsystem before every load balancer run, and since rebalance can be\ntriggered very often, this function can eat really a lot of cpu time if\nthere are many cpu cgroups in the system.\n\nAlthough the situation was improved significantly by commit a35b646\n(\u0027sched, cgroup: Reduce rq-\u003elock hold times for large cgroup\nhierarchies\u0027), the problem still can arise under some kinds of loads,\ne.g. when cpus are switching from idle to busy and back very frequently.\n\nFor instance, when I start 1000 of processes that wake up every\nmillisecond on my 8 cpus host, \u0027top\u0027 and \u0027perf top\u0027 show:\n\nCpu(s): 17.8%us, 24.3%sy,  0.0%ni, 57.9%id,  0.0%wa,  0.0%hi,  0.0%si\nEvents: 243K cycles\n  7.57%  [kernel]               [k] __schedule\n  7.08%  [kernel]               [k] timerqueue_add\n  6.13%  libc-2.12.so           [.] usleep\n\nThen if I create 10000 *idle* cpu cgroups (no processes in them), cpu\nusage increases significantly although the \u0027wakers\u0027 are still executing\nin the root cpu cgroup:\n\nCpu(s): 19.1%us, 48.7%sy,  0.0%ni, 31.6%id,  0.0%wa,  0.0%hi,  0.7%si\nEvents: 230K cycles\n 24.56%  [kernel]            [k] tg_load_down\n  5.76%  [kernel]            [k] __schedule\n\nThis happens because this particular kind of load triggers \u0027new idle\u0027\nrebalance very frequently, which requires calling update_h_load(),\nwhich, in turn, calls tg_load_down() for every *idle* cpu cgroup even\nthough it is absolutely useless, because idle cpu cgroups have no tasks\nto pull.\n\nThis patch tries to improve the situation by making h_load calculation\nproceed only when h_load is really necessary. To achieve this, it\nsubstitutes update_h_load() with update_cfs_rq_h_load(), which computes\nh_load only for a given cfs_rq and all its ascendants, and makes the\nload balancer call this function whenever it considers if a task should\nbe pulled, i.e. it moves h_load calculations directly to task_h_load().\nFor h_load of the same cfs_rq not to be updated multiple times (in case\nseveral tasks in the same cgroup are considered during the same balance\nrun), the patch keeps the time of the last h_load update for each cfs_rq\nand breaks calculation when it finds h_load to be uptodate.\n\nThe benefit of it is that h_load is computed only for those cfs_rq\u0027s,\nwhich really need it, in particular all idle task groups are skipped.\nAlthough this, in fact, moves h_load calculation under rq lock, it\nshould not affect latency much, because the amount of work done under rq\nlock while trying to pull tasks is limited by sched_nr_migrate.\n\nAfter the patch applied with the setup described above (1000 wakers in\nthe root cgroup and 10000 idle cgroups), I get:\n\nCpu(s): 16.9%us, 24.8%sy,  0.0%ni, 58.4%id,  0.0%wa,  0.0%hi,  0.0%si\nEvents: 242K cycles\n  7.57%  [kernel]                  [k] __schedule\n  6.70%  [kernel]                  [k] timerqueue_add\n  5.93%  libc-2.12.so              [.] usleep\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1373896159-1278-1-git-send-email-vdavydov@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "87e3c8ae1c8676b9dd56b56456dafa14a4bacf97",
      "tree": "2a48de2db0ffc7f1ae438f915401a53b7b799e9b",
      "parents": [
        "b24d6f49122d9da8202d751ac7e66fe8136bb434"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Sun Jul 21 04:32:07 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 22 10:27:40 2013 +0200"
      },
      "message": "sched/fair: Cleanup: remove duplicate variable declaration\n\ncfs_rq is declared twice, fix it.\n\nAlso use \u0027se\u0027 instead of \u0027\u0026p-\u003ese\u0027.\n\nSigned-off-by: Kirill Tkhai \u003ctkhai@yandex.ru\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/169201374366727@web6d.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b24d6f49122d9da8202d751ac7e66fe8136bb434",
      "tree": "b54cdf17c2a6d7a718733aa2e72fe26eb14927f7",
      "parents": [
        "cedce3e730833d26a37826a96e1905b6ef387df9",
        "3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 22 10:26:10 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 22 10:26:10 2013 +0200"
      },
      "message": "Merge tag \u0027v3.11-rc2\u0027 into sched/core\n\nMerge in Linux 3.11-rc2, to provide a post-merge-window development base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e04c5d76b0cfb66cadd900cf147526f2271884b8",
      "tree": "a303b66c1fc1ae7786148d2f50e8b0b86290162b",
      "parents": [
        "b3897a49e22fc173efa77527a447c714f753f681"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jul 10 22:21:57 2013 -0300"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu Jul 18 12:29:30 2013 +0200"
      },
      "message": "remove sched notifier for cross-cpu migrations\n\nLinux as a guest on KVM hypervisor, the only user of the pvclock\nvsyscall interface, does not require notification on task migration\nbecause:\n\n1. cpu ID number maps 1:1 to per-CPU pvclock time info.\n2. per-CPU pvclock time info is updated if the\n   underlying CPU changes.\n3. that version is increased whenever underlying CPU\n   changes.\n\nWhich is sufficient to guarantee nanoseconds counter\nis calculated properly.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "e69f61862ab833e9b8d3c15b6ce07fd69f3bfecc",
      "tree": "4d3d4c3c3e001307a48cfe84e0b4f9ef691a835f",
      "parents": [
        "61f98b0fca802d7e0191072606519e2230a6226d"
      ],
      "author": {
        "name": "Yacine Belkadi",
        "email": "yacine.belkadi.1@gmail.com",
        "time": "Fri Jul 12 20:45:47 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 18 09:58:21 2013 +0200"
      },
      "message": "sched: Fix some kernel-doc warnings\n\nWhen building the htmldocs (in verbose mode), scripts/kernel-doc\nreports the follwing type of warnings:\n\n  Warning(kernel/sched/core.c:936): No description found for return value of \u0027task_curr\u0027\n  ...\n\nFix those by:\n\n - adding the missing descriptions\n - using \"Return\" sections for the descriptions\n\nSigned-off-by: Yacine Belkadi \u003cyacine.belkadi.1@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1373654747-2389-1-git-send-email-yacine.belkadi.1@gmail.com\n[ While at it, fix the cpupri_set() explanation. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0db0628d90125193280eabb501c94feaf48fa9ab",
      "tree": "0e0ef0c4eac101d25a3bd125c4a9200ac4d294c0",
      "parents": [
        "49fb4c6290c70c418a5c25eee996d6b55ea132d6"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Jun 19 14:53:51 2013 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 14 19:36:59 2013 -0400"
      },
      "message": "kernel: delete __cpuinit usage from all core kernel files\n\nThe __cpuinit type of throwaway sections might have made sense\nsome time ago when RAM was more constrained, but now the savings\ndo not offset the cost and complications.  For example, the fix in\ncommit 5e427ec2d0 (\"x86: Fix bit corruption at CPU resume time\")\nis a good example of the nasty type of bugs that can be created\nwith improper use of the various __init prefixes.\n\nAfter a discussion on LKML[1] it was decided that cpuinit should go\nthe way of devinit and be phased out.  Once all the users are gone,\nwe can then finally remove the macros themselves from linux/init.h.\n\nThis removes all the uses of the __cpuinit macros from C files in\nthe core kernel directories (kernel, init, lib, mm, and include)\nthat don\u0027t really have a specific maintainer.\n\n[1] https://lkml.org/lkml/2013/5/20/589\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "cedce3e730833d26a37826a96e1905b6ef387df9",
      "tree": "10c980e22742f188d40366d2745bfe8c5712f15c",
      "parents": [
        "971ee28cbd1ccd87b3164facd9359a534c1d2892"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Thu Jul 04 22:48:20 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 12 13:54:03 2013 +0200"
      },
      "message": "sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing\n\nOnly one task can replace the waker.\n\nSigned-off-by: Kirill Tkhai \u003ctkhai@yandex.ru\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/512421372963700@web25f.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "971ee28cbd1ccd87b3164facd9359a534c1d2892",
      "tree": "d5d9bcbe6f9c8cb5da70e305b25eefc3e1a25008",
      "parents": [
        "9903883f1dd6e86f286b7bfa6e4b423f98c1cd9e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 28 11:18:53 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 12 13:52:58 2013 +0200"
      },
      "message": "sched: Fix HRTICK\n\nDavid reported that the HRTICK sched feature was borken; which was enough\nmotivation for me to finally fix it ;-)\n\nWe should not allow hrtimer code to do softirq wakeups while holding scheduler\nlocks. The hrtimer code only needs this when we accidentally try to program an\nexpired time. We don\u0027t much care about those anyway since we have the regular\ntick to fall back to.\n\nReported-by: David Ahern \u003cdsahern@gmail.com\u003e\nTested-by: David Ahern \u003cdsahern@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130628091853.GE29209@dyad.programming.kicks-ass.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "21884a83b2192a00885d7244a1dda32debd2fbc7",
      "tree": "e00267bbcac32f0114b3d21a20c61107d2314c40",
      "parents": [
        "8b70a90cabafb6a6e1a0d3f838b38355fe48337e",
        "73b0cd674ccc64c921e25bd7154f26d342116539"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 06 14:09:38 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 06 14:09:38 2013 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner:\n \"The timer changes contain:\n\n   - posix timer code consolidation and fixes for odd corner cases\n\n   - sched_clock implementation moved from ARM to core code to avoid\n     duplication by other architectures\n\n   - alarm timer updates\n\n   - clocksource and clockevents unregistration facilities\n\n   - clocksource/events support for new hardware\n\n   - precise nanoseconds RTC readout (Xen feature)\n\n   - generic support for Xen suspend/resume oddities\n\n   - the usual lot of fixes and cleanups all over the place\n\n  The parts which touch other areas (ARM/XEN) have been coordinated with\n  the relevant maintainers.  Though this results in an handful of\n  trivial to solve merge conflicts, which we preferred over nasty cross\n  tree merge dependencies.\n\n  The patches which have been committed in the last few days are bug\n  fixes plus the posix timer lot.  The latter was in akpms queue and\n  next for quite some time; they just got forgotten and Frederic\n  collected them last minute.\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)\n  hrtimer: Remove unused variable\n  hrtimers: Move SMP function call to thread context\n  clocksource: Reselect clocksource when watchdog validated high-res capability\n  posix-cpu-timers: don\u0027t account cpu timer after stopped thread runtime accounting\n  posix_timers: fix racy timer delta caching on task exit\n  posix-timers: correctly get dying task time sample in posix_cpu_timer_schedule()\n  selftests: add basic posix timers selftests\n  posix_cpu_timers: consolidate expired timers check\n  posix_cpu_timers: consolidate timer list cleanups\n  posix_cpu_timer: consolidate expiry time type\n  tick: Sanitize broadcast control logic\n  tick: Prevent uncontrolled switch to oneshot mode\n  tick: Make oneshot broadcast robust vs. CPU offlining\n  x86: xen: Sync the CMOS RTC as well as the Xen wallclock\n  x86: xen: Sync the wallclock when the system time is set\n  timekeeping: Indicate that clock was set in the pvclock gtod notifier\n  timekeeping: Pass flags instead of multiple bools to timekeeping_update()\n  xen: Remove clock_was_set() call in the resume path\n  hrtimers: Support resuming with two or more CPUs online (but stopped)\n  timer: Fix jiffies wrap behavior of round_jiffies_common()\n  ...\n"
    },
    {
      "commit": "fa18f7bde3ad4568d1d343b60d963bfbd8dc3991",
      "tree": "aa51270ce1fcc53f2547571b615a53e4e1bce464",
      "parents": [
        "a0b2062b0904ef07944c4a6e4d0f88ee44f1e9f2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sun May 26 17:35:41 2013 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 04 18:02:30 2013 +0200"
      },
      "message": "posix-cpu-timers: don\u0027t account cpu timer after stopped thread runtime accounting\n\nWhen tsk-\u003esignal-\u003ecputimer-\u003erunning is 1, signal-\u003ecputimer (i.e. per process\ntimer account) and tsk-\u003esum_sched_runtime (i.e. per thread timer account)\nincrease at the same pace because update_curr() increases both accounting.\n\nHowever, there is one exception. When thread exiting, __exit_signal() turns\nover task\u0027s sum_shced_runtime to sig-\u003esum_sched_runtime, but it doesn\u0027t stop\nsignal-\u003ecputimer accounting.\n\nThis inconsistency makes POSIX timer wake up too early. This patch fixes it.\n\nOriginal-patch-by: Olivier Langlois \u003colivier@trillion01.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Olivier Langlois \u003colivier@trillion01.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "2fd1b487884310d0aa0c0640179dc7490ad86313",
      "tree": "1083dce15bd7dc0858c3883b8a361242046c5e09",
      "parents": [
        "333bb864f192015a53b5060b829089decd0220ef",
        "8bb495e3f02401ee6f76d1b1d77f3ac9f079e376"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 01 11:16:54 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 01 11:18:53 2013 +0200"
      },
      "message": "Merge tag \u0027v3.10\u0027 into sched/core\n\nMerge in a recent upstream commit:\n\n  c2853c8df57f include/linux/math64.h: add div64_ul()\n\nbecause:\n\n  72a4cf20cb71 sched: Change cfs_rq load avg to unsigned long\n\nrelies on it.\n\n[ We don\u0027t rebase sched/core for this, because the handful of\n  followup commits after the broken commit are not behavioral\n  changes so are unlikely to be needed during bisection. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "333bb864f192015a53b5060b829089decd0220ef",
      "tree": "7fa57c46ed89089d2d33009078748a28d0bd9662",
      "parents": [
        "add332a1523a09cf6d429933f1e2fb4ccdfe6479"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Fri Jun 28 19:10:35 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 28 13:17:17 2013 +0200"
      },
      "message": "sched/debug: Remove CONFIG_FAIR_GROUP_SCHED mask\n\nNow that we are using runnable load avg in sched balance, we don\u0027t\nneed to keep it under CONFIG_FAIR_GROUP_SCHED.\n\nAlso align the code style to #ifdef instead of #if defined() and\nreorder the tg output info.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nCc: pjt@google.com\nCc: kamalesh@linux.vnet.ibm.com\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1372417835-4698-1-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "add332a1523a09cf6d429933f1e2fb4ccdfe6479",
      "tree": "89c86bd42106e4e77447aaa9964b4ab754dc71a1",
      "parents": [
        "239003ea2e30374d1cdfee788867e497cca2366c"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Thu Jun 27 22:20:05 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 28 11:13:35 2013 +0200"
      },
      "message": "sched/debug: Fix formatting of /proc/\u003cPID\u003e/sched\n\nThis patch alters format string\u0027s width, to align all statistics\nat par with the longest struct sched_statistic member name under\n/proc/\u003cPID\u003e/sched.\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/20130627165005.GA15583@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0fc576d592bd137437fdeb059738b789e642b744",
      "tree": "157098ef74ef023430a701fee4463e6e4ab51678",
      "parents": [
        "939fd731eb88a0cdd9058d0b0143563172a217d7"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Thu Jun 27 11:24:18 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:18:25 2013 +0200"
      },
      "message": "sched/fair: Fix typo describing flags in enqueue_entity\n\nFix spelling of \u0027calling\u0027 in description of se flags in\nenqueue_entity().\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/20130627055418.GA18582@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "939fd731eb88a0cdd9058d0b0143563172a217d7",
      "tree": "5207af4b258f42102260c0b3fbd76752d6e2f071",
      "parents": [
        "a9dc5d0e33c677619e4b97a38c23db1a42857905"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Tue Jun 25 13:33:36 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:46 2013 +0200"
      },
      "message": "sched/debug: Add load-tracking statistics to task\n\nAt present we print per-entity load-tracking statistics for\ncfs_rq of cgroups/runqueues. Given that per task statistics\nis maintained, it can be used to know the contribution made\nby the task to its parenting cfs_rq level.\n\nThis patch adds per-task load-tracking statistics to /proc/\u003cPID\u003e/sched.\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130625080336.GA20175@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a9dc5d0e33c677619e4b97a38c23db1a42857905",
      "tree": "ea79b3c67189f43bd0cf357a5cacc7ff734d7402",
      "parents": [
        "a9cef46a10cc1b84bf2cdf4060766d858c0439d8"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:57 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:44 2013 +0200"
      },
      "message": "sched: Change get_rq_runnable_load() to static and inline\n\nBased-on-patch-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nTested-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-14-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a9cef46a10cc1b84bf2cdf4060766d858c0439d8",
      "tree": "a1f47a7753861255a0987569beebd7bd782d62f0",
      "parents": [
        "2509940fd71c2e2915a05052bbdbf2d478364184"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:56 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:43 2013 +0200"
      },
      "message": "sched/tg: Remove tg.load_weight\n\nSince no one use it.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nTested-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-13-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2509940fd71c2e2915a05052bbdbf2d478364184",
      "tree": "e2a9466c8cca831158c18a4c4c750420b11fea30",
      "parents": [
        "bf5b986ed4d20428eeec3df4a03dbfebb9b6538c"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:41 2013 +0200"
      },
      "message": "sched/cfs_rq: Change atomic64_t removed_load to atomic_long_t\n\nSimilar to runnable_load_avg, blocked_load_avg variable, long type is\nenough for removed_load in 64 bit or 32 bit machine.\n\nThen we avoid the expensive atomic64 operations on 32 bit machine.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nTested-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-12-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bf5b986ed4d20428eeec3df4a03dbfebb9b6538c",
      "tree": "cb3b21f66bb5e5e11a94db3bc26764497e814a26",
      "parents": [
        "72a4cf20cb71a327c636c7042fdacc25abffc87c"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:54 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:40 2013 +0200"
      },
      "message": "sched/tg: Use \u0027unsigned long\u0027 for load variable in task group\n\nSince tg-\u003eload_avg is smaller than tg-\u003eload_weight, we don\u0027t need a\natomic64_t variable for load_avg in 32 bit machine.\nThe same reason for cfs_rq-\u003etg_load_contrib.\n\nThe atomic_long_t/unsigned long variable type are more efficient and\nconvenience for them.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nTested-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-11-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "72a4cf20cb71a327c636c7042fdacc25abffc87c",
      "tree": "55679cadceb7ddf931f0c56a65e8eb031acd769d",
      "parents": [
        "a003a25b227d59ded9197ced109517f037d01c27"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:53 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:38 2013 +0200"
      },
      "message": "sched: Change cfs_rq load avg to unsigned long\n\nSince the \u0027u64 runnable_load_avg, blocked_load_avg\u0027 in cfs_rq struct are\nsmaller than \u0027unsigned long\u0027 cfs_rq-\u003eload.weight. We don\u0027t need u64\nvaiables to describe them. unsigned long is more efficient and convenience.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nTested-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-10-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a003a25b227d59ded9197ced109517f037d01c27",
      "tree": "879a7f31942addac4420006a5e7c871c36cc92b4",
      "parents": [
        "b92486cbf2aa230d00f160664858495c81d2b37b"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:51 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:36 2013 +0200"
      },
      "message": "sched: Consider runnable load average in move_tasks()\n\nAside from using runnable load average in background, move_tasks is\nalso the key function in load balance. We need consider the runnable\nload average in it in order to make it an apple to apple load\ncomparison.\n\nMorten had caught a div u64 bug on ARM, thanks!\n\nThanks-to: Morten Rasmussen \u003cmorten.rasmussen@arm.com\u003e\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-8-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b92486cbf2aa230d00f160664858495c81d2b37b",
      "tree": "293470662cb92417b45bb68bab46aa36f1ba27e0",
      "parents": [
        "83dfd5235ebd66c284b97befe6eabff7132333e6"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:50 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:35 2013 +0200"
      },
      "message": "sched: Compute runnable load avg in cpu_load and cpu_avg_load_per_task\n\nThey are the base values in load balance, update them with rq runnable\nload average, then the load balance will consider runnable load avg\nnaturally.\n\nWe also try to include the blocked_load_avg as cpu load in balancing,\nbut that cause kbuild performance drop 6% on every Intel machine, and\naim7/oltp drop on some of 4 CPU sockets machines.\nOr only add blocked_load_avg into get_rq_runable_load, hackbench still\ndrop a little on NHM EX.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Gu Zheng \u003cguz.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-7-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "83dfd5235ebd66c284b97befe6eabff7132333e6",
      "tree": "9c2b9136a715313397029ba0f5050b50d0a78236",
      "parents": [
        "282cf499f03ec1754b6c8c945c9674b02631fb0f"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:49 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:33 2013 +0200"
      },
      "message": "sched: Update cpu load after task_tick\n\nTo get the latest runnable info, we need do this cpuload update after\ntask_tick.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-6-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "282cf499f03ec1754b6c8c945c9674b02631fb0f",
      "tree": "a3f0c1ad7b760cf327ff566aa90efc41b71d3c4b",
      "parents": [
        "a75cdaa915e42ef0e6f38dc7f2a6a1deca91d648"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:48 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:32 2013 +0200"
      },
      "message": "sched: Fix sleep time double accounting in enqueue entity\n\nThe woken migrated task will __synchronize_entity_decay(se); in\nmigrate_task_rq_fair, then it needs to set\n`se-\u003eavg.last_runnable_update -\u003d (-se-\u003eavg.decay_count) \u003c\u003c 20\u0027 before\nupdate_entity_load_avg, in order to avoid sleep time is updated twice\nfor se.avg.load_avg_contrib in both __syncchronize and\nupdate_entity_load_avg.\n\nHowever if the sleeping task is woken up from the same cpu, it miss\nthe last_runnable_update before update_entity_load_avg(se, 0, 1), then\nthe sleep time was used twice in both functions.  So we need to remove\nthe double sleep time accounting.\n\nPaul also contributed some code comments in this commit.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-5-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a75cdaa915e42ef0e6f38dc7f2a6a1deca91d648",
      "tree": "fe4e17990b233e5998b8372ce5be39cb9ff32a68",
      "parents": [
        "fa6bddeb14d59d701f846b174b59c9982e926e66"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:47 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:30 2013 +0200"
      },
      "message": "sched: Set an initial value of runnable avg for new forked task\n\nWe need to initialize the se.avg.{decay_count, load_avg_contrib} for a\nnew forked task. Otherwise random values of above variables cause a\nmess when a new task is enqueued:\n\n    enqueue_task_fair\n        enqueue_entity\n            enqueue_entity_load_avg\n\nand make fork balancing imbalance due to incorrect load_avg_contrib.\n\nFurther more, Morten Rasmussen notice some tasks were not launched at\nonce after created. So Paul and Peter suggest giving a start value for\nnew task runnable avg time same as sched_slice().\n\nPeterZ said:\n\n\u003e So the \u0027problem\u0027 is that our running avg is a \u0027floating\u0027 average; ie. it\n\u003e decays with time. Now we have to guess about the future of our newly\n\u003e spawned task -- something that is nigh impossible seeing these CPU\n\u003e vendors keep refusing to implement the crystal ball instruction.\n\u003e\n\u003e So there\u0027s two asymptotic cases we want to deal well with; 1) the case\n\u003e where the newly spawned program will be \u0027nearly\u0027 idle for its lifetime;\n\u003e and 2) the case where its cpu-bound.\n\u003e\n\u003e Since we have to guess, we\u0027ll go for worst case and assume its\n\u003e cpu-bound; now we don\u0027t want to make the avg so heavy adjusting to the\n\u003e near-idle case takes forever. We want to be able to quickly adjust and\n\u003e lower our running avg.\n\u003e\n\u003e Now we also don\u0027t want to make our avg too light, such that it gets\n\u003e decremented just for the new task not having had a chance to run yet --\n\u003e even if when it would run, it would be more cpu-bound than not.\n\u003e\n\u003e So what we do is we make the initial avg of the same duration as that we\n\u003e guess it takes to run each task on the system at least once -- aka\n\u003e sched_slice().\n\u003e\n\u003e Of course we can defeat this with wakeup/fork bombs, but in the \u0027normal\u0027\n\u003e case it should be good enough.\n\nPaul also contributed most of the code comments in this commit.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nReviewed-by: Gu Zheng \u003cguz.fnst@cn.fujitsu.com\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\n[peterz; added explanation of sched_slice() usage]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-4-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fa6bddeb14d59d701f846b174b59c9982e926e66",
      "tree": "0984777e2425cb7384cec1ec341f3e0d4645ffbd",
      "parents": [
        "141965c7494d984b2bf24efd361a3125278869c6"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 20 10:18:46 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:29 2013 +0200"
      },
      "message": "sched: Move a few runnable tg variables into CONFIG_SMP\n\nThe following 2 variables are only used under CONFIG_SMP, so its\nbetter to move their definiation into CONFIG_SMP too.\n\n        atomic64_t load_avg;\n        atomic_t runnable_avg;\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371694737-29336-3-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "141965c7494d984b2bf24efd361a3125278869c6",
      "tree": "ad6808fcea54cf0b6e42915b09b07d9183817654",
      "parents": [
        "be7002e6c613d22976f2b8d4bae6121a5fc0433a"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Wed Jun 26 13:05:39 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:07:22 2013 +0200"
      },
      "message": "Revert \"sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\"\n\nRemove CONFIG_FAIR_GROUP_SCHED that covers the runnable info, then\nwe can use runnable load variables.\n\nAlso remove 2 CONFIG_FAIR_GROUP_SCHED setting which is not in reverted\npatch(introduced in 9ee474f), but also need to revert.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51CA76A3.3050207@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a3d5c3460a86f52ea435b3fb98be112bd18faabc",
      "tree": "48a32968b569af0e0f0af1def3effa0770710fea",
      "parents": [
        "86c76676cfdbf283f6131d5a2783bed3f3d490ea",
        "29bb9e5a75684106a37593ad75ec75ff8312731b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 20 08:18:35 2013 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 20 08:18:35 2013 -1000"
      },
      "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 \"Two smaller fixes - plus a context tracking tracing fix that is a bit\n  bigger\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracing/context-tracking: Add preempt_schedule_context() for tracing\n  sched: Fix clear NOHZ_BALANCE_KICK\n  sched/x86: Construct all sibling maps if smt\n"
    },
    {
      "commit": "be7002e6c613d22976f2b8d4bae6121a5fc0433a",
      "tree": "4092d30a48c0ca46a3523f0f9cb3c326347618d4",
      "parents": [
        "94c95ba69f31e435416988ddb223c92e5b0e9e83"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jun 12 11:55:36 2013 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:48 2013 +0200"
      },
      "message": "sched: Don\u0027t mix use of typedef ctl_table and struct ctl_table\n\nJust use struct ctl_table.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1371063336.2069.22.camel@joe-AO722\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "94c95ba69f31e435416988ddb223c92e5b0e9e83",
      "tree": "f200c2ee947f3df78beca4089b6c7d4d23781a8a",
      "parents": [
        "cd08e9234c987766ad077bba80eb5a07d0855525"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Tue Jun 11 16:32:45 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:47 2013 +0200"
      },
      "message": "sched: Remove WARN_ON(!sd) from init_sched_groups_power()\n\nsd can\u0027t be NULL in init_sched_groups_power() and so checking it for NULL isn\u0027t\nuseful. In case it is required, then also we need to rearrange the code a bit as\nwe already accessed invalid pointer sd to get sg: sg \u003d sd-\u003egroups.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/2bbe633cd74b431c05253a8ce61fdfd5066a531b.1370948150.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cd08e9234c987766ad077bba80eb5a07d0855525",
      "tree": "80345d2fe3e4a747b58d0538e64b30743026e426",
      "parents": [
        "0936629f01bb1b11772db8c36be421365238cbec"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Tue Jun 11 16:32:44 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:46 2013 +0200"
      },
      "message": "sched: Fix memory leakage in build_sched_groups()\n\nIn build_sched_groups() we don\u0027t need to call get_group() for cpus\nwhich are already covered in previous iterations. Calling get_group()\nwould mark the group used and eventually leak it since we wouldn\u0027t\nconnect it and not find it again to free it.\n\nThis will happen only in cases where sg-\u003ecpumask contained more than\none cpu (For any topology level). This patch would free sg\u0027s memory\nfor all cpus leaving the group leader as the group isn\u0027t marked used\nnow.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/7a61e955abdcbb1dfa9fe493f11a5ec53a11ddd3.1370948150.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0936629f01bb1b11772db8c36be421365238cbec",
      "tree": "f14edb3ec14866716a9de62e0db7aea59035353a",
      "parents": [
        "27723a68caf05381b0b0bc6e127da2c9e7bcb775"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Tue Jun 11 16:32:43 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:46 2013 +0200"
      },
      "message": "sched: Use cached value of span instead of calling sched_domain_span()\n\nIn the beginning of build_sched_groups() we called sched_domain_span() and\ncached its return value in span. Few statements later we are calling it again to\nget the same pointer.\n\nLets use the cached value instead as it hasn\u0027t changed in between.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/834ecd507071ad88aff039352dbc7e063dd996a7.1370948150.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "27723a68caf05381b0b0bc6e127da2c9e7bcb775",
      "tree": "461a2096520470a40816680ca9a1b32d04acaf7d",
      "parents": [
        "c75e01288ce9c9a6b7beb6b23c07d2e4d1db8c84"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Mon Jun 10 16:27:20 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:45 2013 +0200"
      },
      "message": "sched: Create for_each_sd_topology()\n\nFor loop for traversing sched_domain_topology was used at multiple placed in\ncore.c. This patch removes code redundancy by creating for_each_sd_topology().\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/e0e04542f54e9464bd9da54f5ccfe62ec6c4c0bc.1370861520.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c75e01288ce9c9a6b7beb6b23c07d2e4d1db8c84",
      "tree": "4acc43a8f955e767d5eb807473898ca81e2211fb",
      "parents": [
        "1c6321694074163b5863c13d71c19ca953a3fb08"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Mon Jun 10 16:27:19 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:45 2013 +0200"
      },
      "message": "sched: Don\u0027t set sd-\u003echild to NULL when it is already NULL\n\nMemory for sd is allocated with kzalloc_node() which will initialize its fields\nwith zero. In build_sched_domain() we are setting sd-\u003echild to child even if\nchild is NULL, which isn\u0027t required.\n\nLets do it only if child isn\u0027t NULL.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/f4753a1730051341003ad2ad29a3229c7356678e.1370861520.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1c6321694074163b5863c13d71c19ca953a3fb08",
      "tree": "bfdc4054efcbe74edae0c9bce1a6f192581b98e7",
      "parents": [
        "22da956953f371c1ee7a578c31ed8c5702cb52b1"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Mon Jun 10 16:27:18 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:44 2013 +0200"
      },
      "message": "sched: Don\u0027t initialize alloc_state in build_sched_domains()\n\nalloc_state will be overwritten by __visit_domain_allocation_hell() and so we\ndon\u0027t actually need to initialize alloc_state.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/df57734a075cc5ad130e1ae498702e24f2529ab8.1370861520.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "22da956953f371c1ee7a578c31ed8c5702cb52b1",
      "tree": "3b50759bd7e0a269c1db2f2b018c96107fc72e13",
      "parents": [
        "4a850cbefa9592ddde3670a41c10c9576a657c43"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Tue Jun 04 15:41:15 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:43 2013 +0200"
      },
      "message": "sched: Optimize build_sched_domains() for saving first SD node for a cpu\n\nWe are saving first scheduling domain for a cpu in build_sched_domains() by\niterating over the nested sd-\u003echild list. We don\u0027t actually need to do it this\nway.\n\ntl will be equal to sched_domain_topology for the first iteration and so we can\nset *per_cpu_ptr(d.sd, i) based on that.  So, save pointer to first SD while\nrunning the iteration loop over tl\u0027s.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/fc473527cbc4dfa0b8eeef2a59db74684eb59a83.1370436120.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4a850cbefa9592ddde3670a41c10c9576a657c43",
      "tree": "1a4afda8b6e5e773cc80f51fa25d0ff73a2dcf80",
      "parents": [
        "0a0fca9d832b704f116a25badd1ca8c16771dcac"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Tue Jun 04 16:12:43 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:42 2013 +0200"
      },
      "message": "sched: Remove unused params of build_sched_domain()\n\nbuild_sched_domain() never uses parameter struct s_data *d and so passing it is\nuseless.\n\nRemove it.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/545e0b4536166a15b4475abcafe5ed0db4ad4a2c.1370436120.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8404c90d050733b3404dc36c500f63ccb0c972ce",
      "tree": "7a9060c00505e6c14884a37cb4beaddc95d1aacd",
      "parents": [
        "22b958d8cc5127d22d2ad2141277d312d93fad6c"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Tue Jun 04 14:24:08 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:41 2013 +0200"
      },
      "message": "sched: Femove the useless declaration in kernel/sched/fair.c\n\ndefault_cfs_period(), do_sched_cfs_period_timer(), do_sched_cfs_slack_timer()\nalready defined previously, no need to declare again.\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51AD8808.7020608@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "22b958d8cc5127d22d2ad2141277d312d93fad6c",
      "tree": "0edb2f492fbe1ad56cafd4a3c79124955cc0a679",
      "parents": [
        "e23ee74777f389369431d77390c4b09332ce026a"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Tue Jun 04 14:23:39 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:41 2013 +0200"
      },
      "message": "sched: Refine the code in unthrottle_cfs_rq()\n\nDirectly use rq to save some code.\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51AD87EB.1070605@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e23ee74777f389369431d77390c4b09332ce026a",
      "tree": "7db62a86e3efc6bb7ecf1b8eca35d76a5ceb9492",
      "parents": [
        "d81344c50824a4d28a9397e97135d60075ac37ff"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Fri Jun 07 15:37:43 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:58:40 2013 +0200"
      },
      "message": "sched/rt: Simplify pull_rt_task() logic and remove .leaf_rt_rq_list\n\n[ Peter, this is based off of some of my work, I ran it though a few\n  tests and it passed. I also reviewed it, and added my SOB as I am\n  somewhat a co-author to it. ]\n\nBased on the patch by Steven Rostedt from previous year:\n\nhttps://lkml.org/lkml/2012/4/18/517\n\n1)Simplify pull_rt_task() logic: search in pushable tasks of dest runqueue.\nThe only pullable tasks are the tasks which are pushable in their local rq,\nand no others.\n\n2)Remove .leaf_rt_rq_list member of struct rt_rq and functions connected\nwith it: nobody uses it since now.\n\nSigned-off-by: Kirill Tkhai \u003ctkhai@yandex.ru\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/287571370557898@web7d.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d81344c50824a4d28a9397e97135d60075ac37ff",
      "tree": "d25c443fb4a764cd788db857c49dd3d3f8f722d3",
      "parents": [
        "0de358f1c2642710d41190b73fbc295e675c4ab8",
        "29bb9e5a75684106a37593ad75ec75ff8312731b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:55:31 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:55:31 2013 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge in fixes before applying ongoing new work.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "873b4c65b519fd769940eb281f77848227d4e5c1",
      "tree": "2a0d642ba92f164e2fd0dacc887ee29576be87ec",
      "parents": [
        "b0bc225d0e5de887340d4d92a8c594ef0f60d412"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Wed Jun 05 10:13:11 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:55:09 2013 +0200"
      },
      "message": "sched: Fix clear NOHZ_BALANCE_KICK\n\nI have faced a sequence where the Idle Load Balance was sometime not\ntriggered for a while on my platform, in the following scenario:\n\n CPU 0 and CPU 1 are running tasks and CPU 2 is idle\n\n CPU 1 kicks the Idle Load Balance\n CPU 1 selects CPU 2 as the new Idle Load Balancer\n CPU 2 sets NOHZ_BALANCE_KICK for CPU 2\n CPU 2 sends a reschedule IPI to CPU 2\n\n While CPU 3 wakes up, CPU 0 or CPU 1 migrates a waking up task A on CPU 2\n\n CPU 2 finally wakes up, runs task A and discards the Idle Load Balance\n       task A quickly goes back to sleep (before a tick occurs on CPU 2)\n CPU 2 goes back to idle with NOHZ_BALANCE_KICK set\n\nWhenever CPU 2 will be selected as the ILB, no reschedule IPI will be sent\nbecause NOHZ_BALANCE_KICK is already set and no Idle Load Balance will be\nperformed.\n\nWe must wait for the sched softirq to be raised on CPU 2 thanks to another\npart the kernel to come back to clear NOHZ_BALANCE_KICK.\n\nThe proposed solution clears NOHZ_BALANCE_KICK in schedule_ipi if\nwe can\u0027t raise the sched_softirq for the Idle Load Balance.\n\nChange since V1:\n\n- move the clear of NOHZ_BALANCE_KICK in got_nohz_idle_kick if the ILB\n  can\u0027t run on this CPU (as suggested by Peter)\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1370419991-13870-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0de358f1c2642710d41190b73fbc295e675c4ab8",
      "tree": "73b184901ec141788801d32d8c994b03935c4a57",
      "parents": [
        "84f9f3a15611536537d59060818a2354d5039ff3"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Thu May 30 14:34:20 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri May 31 13:02:29 2013 +0200"
      },
      "message": "sched/fair: Remove unused variable from expire_cfs_rq_runtime()\n\nCommit 78becc2709 (\"sched: Use an accessor to read the rq clock\")\nintroduces rq_clock(), which obsoletes the use of the \"rq\" variable\nin expire_cfs_rq_runtime() and triggers this build warning:\n\n  kernel/sched/fair.c: In function \u0027expire_cfs_rq_runtime\u0027:\n  kernel/sched/fair.c:2159:13: warning: unused variable \u0027rq\u0027 [-Wunused-variable]\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1369904660-14169-1-git-send-email-kamalesh@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "45eacc692771bd2b1ea3d384e6345cab3da10861",
      "tree": "47b131fb39077451fe247a96c0fc98ab142b79fa",
      "parents": [
        "67dd331c5d811b2e50c935a24c82f31b61c6dcd3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 15 22:16:32 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri May 31 11:31:50 2013 +0200"
      },
      "message": "vtime: Use consistent clocks among nohz accounting\n\nWhile computing the cputime delta of dynticks CPUs,\nwe are mixing up clocks of differents natures:\n\n* local_clock() which takes care of unstable clock\nsources and fix these if needed.\n\n* sched_clock() which is the weaker version of\nlocal_clock(). It doesn\u0027t compute any fixup in case\nof unstable source.\n\nIf the clock source is stable, those two clocks are the\nsame and we can safely compute the difference against\ntwo random points.\n\nOtherwise it results in random deltas as sched_clock()\ncan randomly drift away, back or forward, from local_clock().\n\nAs a consequence, some strange behaviour with unstable tsc\nhas been observed such as non progressing constant zero cputime.\n(The \u0027top\u0027 command showing no load).\n\nFix this by only using local_clock(), or its irq safe/remote\nequivalent, in vtime code.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "84f9f3a15611536537d59060818a2354d5039ff3",
      "tree": "5adb3d5962207836605ab47effedcc49b12697f2",
      "parents": [
        "78becc27097585c6aec7043834cadde950ae79f2"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu May 02 15:34:33 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue May 28 11:58:10 2013 +0200"
      },
      "message": "sched: Use swap() macro in scale_stime()\n\nSimple cleanup.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1367501673-6563-1-git-send-email-sgruszka@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "78becc27097585c6aec7043834cadde950ae79f2",
      "tree": "3e8f0982faa2a456c1c68fa5e5a4c7c815194ae4",
      "parents": [
        "1a55af2e45cce0ff13bc33c8ee99da84e188b615"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 01:51:02 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue May 28 09:40:27 2013 +0200"
      },
      "message": "sched: Use an accessor to read the rq clock\n\nRead the runqueue clock through an accessor. This\nprepares for adding a debugging infrastructure to\ndetect missing or redundant calls to update_rq_clock()\nbetween a scheduler\u0027s entry and exit point.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1365724262-20142-6-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1a55af2e45cce0ff13bc33c8ee99da84e188b615",
      "tree": "1320457064ff621d4dc50fe4febf4ac624c682dc",
      "parents": [
        "1ad4ec0dc740c4183acd6d6e367ca52b28e4fa94"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 01:51:01 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue May 28 09:40:25 2013 +0200"
      },
      "message": "sched: Update rq clock earlier in unthrottle_cfs_rq\n\nIn this function we are making use of rq-\u003eclock right before the\nupdate of the rq clock, let\u0027s just call update_rq_clock() just\nbefore that to avoid using a stale rq clock value.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1365724262-20142-5-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1ad4ec0dc740c4183acd6d6e367ca52b28e4fa94",
      "tree": "9e50109ed63cdf56ed954a845e257cfefe3149c2",
      "parents": [
        "71b1da46ff70309a2ec12ce943aa0d192d2c8f0c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 01:51:00 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue May 28 09:40:24 2013 +0200"
      },
      "message": "sched: Update rq clock before calling check_preempt_curr()\n\ncheck_preempt_curr() of fair class needs an uptodate sched clock\nvalue to update runtime stats of the current task of the target\u0027s rq.\n\nWhen a task is woken up, activate_task() is usually called right before\nttwu_do_wakeup() unless the task is still in the runqueue. In the latter\ncase we need to update the rq clock explicitly because activate_task()\nisn\u0027t here to do the job for us.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1365724262-20142-4-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "71b1da46ff70309a2ec12ce943aa0d192d2c8f0c",
      "tree": "a5ee1533a51cc3533b030ebc69ecb2ecec4c791d",
      "parents": [
        "77bd39702f0b3840cea17681409270b16a3b93c0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 01:50:59 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue May 28 09:40:23 2013 +0200"
      },
      "message": "sched: Update rq clock before setting fair group shares\n\nBecause we may update the execution time in\n\n    sched_group_set_shares()-\u003eupdate_cfs_shares()-\u003ereweight_entity()-\u003eupdate_curr()\n\nbefore reweighting the entity while setting the group shares and this requires\nan uptodate version of the runqueue clock.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1365724262-20142-3-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    }
  ],
  "next": "77bd39702f0b3840cea17681409270b16a3b93c0"
}
