)]}'
{
  "log": [
    {
      "commit": "3812c8c8f3953921ef18544110dafc3505c1ac62",
      "tree": "8e5efc15fec4700644774df5fb5302f5c82f4a31",
      "parents": [
        "fb2a6fc56be66c169f8b80e07ed999ba453a2db2"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Sep 12 15:13:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 12 15:38:02 2013 -0700"
      },
      "message": "mm: memcg: do not trap chargers with full callstack on OOM\n\nThe memcg OOM handling is incredibly fragile and can deadlock.  When a\ntask fails to charge memory, it invokes the OOM killer and loops right\nthere in the charge code until it succeeds.  Comparably, any other task\nthat enters the charge path at this point will go to a waitqueue right\nthen and there and sleep until the OOM situation is resolved.  The problem\nis that these tasks may hold filesystem locks and the mmap_sem; locks that\nthe selected OOM victim may need to exit.\n\nFor example, in one reported case, the task invoking the OOM killer was\nabout to charge a page cache page during a write(), which holds the\ni_mutex.  The OOM killer selected a task that was just entering truncate()\nand trying to acquire the i_mutex:\n\nOOM invoking task:\n  mem_cgroup_handle_oom+0x241/0x3b0\n  mem_cgroup_cache_charge+0xbe/0xe0\n  add_to_page_cache_locked+0x4c/0x140\n  add_to_page_cache_lru+0x22/0x50\n  grab_cache_page_write_begin+0x8b/0xe0\n  ext3_write_begin+0x88/0x270\n  generic_file_buffered_write+0x116/0x290\n  __generic_file_aio_write+0x27c/0x480\n  generic_file_aio_write+0x76/0xf0           # takes -\u003ei_mutex\n  do_sync_write+0xea/0x130\n  vfs_write+0xf3/0x1f0\n  sys_write+0x51/0x90\n  system_call_fastpath+0x18/0x1d\n\nOOM kill victim:\n  do_truncate+0x58/0xa0              # takes i_mutex\n  do_last+0x250/0xa30\n  path_openat+0xd7/0x440\n  do_filp_open+0x49/0xa0\n  do_sys_open+0x106/0x240\n  sys_open+0x20/0x30\n  system_call_fastpath+0x18/0x1d\n\nThe OOM handling task will retry the charge indefinitely while the OOM\nkilled task is not releasing any resources.\n\nA similar scenario can happen when the kernel OOM killer for a memcg is\ndisabled and a userspace task is in charge of resolving OOM situations.\nIn this case, ALL tasks that enter the OOM path will be made to sleep on\nthe OOM waitqueue and wait for userspace to free resources or increase\nthe group\u0027s limit.  But a userspace OOM handler is prone to deadlock\nitself on the locks held by the waiting tasks.  For example one of the\nsleeping tasks may be stuck in a brk() call with the mmap_sem held for\nwriting but the userspace handler, in order to pick an optimal victim,\nmay need to read files from /proc/\u003cpid\u003e, which tries to acquire the same\nmmap_sem for reading and deadlocks.\n\nThis patch changes the way tasks behave after detecting a memcg OOM and\nmakes sure nobody loops or sleeps with locks held:\n\n1. When OOMing in a user fault, invoke the OOM killer and restart the\n   fault instead of looping on the charge attempt.  This way, the OOM\n   victim can not get stuck on locks the looping task may hold.\n\n2. When OOMing in a user fault but somebody else is handling it\n   (either the kernel OOM killer or a userspace handler), don\u0027t go to\n   sleep in the charge context.  Instead, remember the OOMing memcg in\n   the task struct and then fully unwind the page fault stack with\n   -ENOMEM.  pagefault_out_of_memory() will then call back into the\n   memcg code to check if the -ENOMEM came from the memcg, and then\n   either put the task to sleep on the memcg\u0027s OOM waitqueue or just\n   restart the fault.  The OOM victim can no longer get stuck on any\n   lock a sleeping task may hold.\n\nDebugged by Michal Hocko.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReported-by: azurIt \u003cazurit@pobox.sk\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "519e52473ebe9db5cdef44670d5a97f1fd53d721",
      "tree": "635fce64ff3658250745b9c8dfebd47e981a5b16",
      "parents": [
        "3a13c4d761b4b979ba8767f42345fed3274991b0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Sep 12 15:13:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 12 15:38:01 2013 -0700"
      },
      "message": "mm: memcg: enable memcg OOM killer only for user faults\n\nSystem calls and kernel faults (uaccess, gup) can handle an out of memory\nsituation gracefully and just return -ENOMEM.\n\nEnable the memcg OOM killer only for user faults, where it\u0027s really the\nonly option available.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: azurIt \u003cazurit@pobox.sk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1403b8edf669ff49bbdf602cc97fefa2760cb15",
      "tree": "ab4c68709afca445b444577e9b29b53ed72eee17",
      "parents": [
        "28e8be31803b19d0d8f76216cb11b480b8a98bec"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 11 14:20:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 11 15:56:56 2013 -0700"
      },
      "message": "include/linux/sched.h: don\u0027t use task-\u003epid/tgid in same_thread_group/has_group_leader_pid\n\ntask_struct-\u003epid/tgid should go away.\n\n1. Change same_thread_group() to use task-\u003esignal for comparison.\n\n2. Change has_group_leader_pid(task) to compare task_pid(task) with\n   signal-\u003eleader_pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Sergey Dyasly \u003cdserrg@gmail.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "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": "5ea80f76a56605a190a7ea16846c82aa63dbd0aa",
      "tree": "99e6547e8bbbcb3187676bb7a002be9d24c6b53e",
      "parents": [
        "d936d2d452ca1848cc4b397bdfb96d4278b9f934"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 22 09:13:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 22 10:18:44 2013 -0700"
      },
      "message": "Revert \"x86 get_unmapped_area(): use proper mmap base for bottom-up direction\"\n\nThis reverts commit df54d6fa54275ce59660453e29d1228c2b45a826.\n\nThe commit isn\u0027t necessarily wrong, but because it recalculates the\nrandom mmap_base every time, it seems to confuse user memory allocators\nthat expect contiguous mmap allocations even when the mmap address isn\u0027t\nspecified.\n\nIn particular, the MATLAB Java runtime seems to be unhappy. See\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d60774\n\nSo we\u0027ll want to apply the random offset only once, and Radu has a patch\nfor that.  Revert this older commit in order to apply the other one.\n\nReported-by: Jeff Shorey \u003cshoreyjeff@gmail.com\u003e\nCc: Radu Caragea \u003csinaelgl@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "f1d6e17f540af37bb1891480143669ba7636c4cf",
      "tree": "962d95f43fe425c9a7d4c7f1316c76000bcec370",
      "parents": [
        "28fbc8b6a29c849a3f03a6b05010d4b584055665",
        "8c8296223f3abb142be8fc31711b18a704c0e7d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 14 10:04:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 14 10:04:43 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (patches from Andrew Morton)\n\nMerge a bunch of fixes from Andrew Morton.\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n  fs/proc/task_mmu.c: fix buffer overflow in add_page_map()\n  arch: *: Kconfig: add \"kernel/Kconfig.freezer\" to \"arch/*/Kconfig\"\n  ocfs2: fix null pointer dereference in ocfs2_dir_foreach_blk_id()\n  x86 get_unmapped_area(): use proper mmap base for bottom-up direction\n  ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page\n  ocfs2: Revert 40bd62e to avoid regression in extended allocation\n  drivers/rtc/rtc-stmp3xxx.c: provide timeout for potentially endless loop polling a HW bit\n  hugetlb: fix lockdep splat caused by pmd sharing\n  aoe: adjust ref of head for compound page tails\n  microblaze: fix clone syscall\n  mm: save soft-dirty bits on file pages\n  mm: save soft-dirty bits on swapped pages\n  memcg: don\u0027t initialize kmem-cache destroying work for root caches\n"
    },
    {
      "commit": "df54d6fa54275ce59660453e29d1228c2b45a826",
      "tree": "8e8c54da4a1cd7f9caca46b2b39d673c3bf7f793",
      "parents": [
        "c7dd3392ad469e6ba125170ad29f881bed85b678"
      ],
      "author": {
        "name": "Radu Caragea",
        "email": "sinaelgl@gmail.com",
        "time": "Tue Aug 13 16:00:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 13 17:57:49 2013 -0700"
      },
      "message": "x86 get_unmapped_area(): use proper mmap base for bottom-up direction\n\nWhen the stack is set to unlimited, the bottomup direction is used for\nmmap-ings but the mmap_base is not used and thus effectively renders\nASLR for mmapings along with PIE useless.\n\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Adrian Sendroiu \u003cmolecula2788@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "2b44c4db2e2f1765d35163a861d301038e0c8a75",
      "tree": "f091046e31e220b876d15b0bf713955184a8e68f",
      "parents": [
        "016d5baad04269e8559332df05f89bd95b52d6ad"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 24 17:41:33 2013 -0700"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Jul 30 14:05:06 2013 +0200"
      },
      "message": "freezer: set PF_SUSPEND_TASK flag on tasks that call freeze_processes\n\nCalling freeze_processes sets a global flag that will cause any\nprocess that calls try_to_freeze to enter the refrigerator.  It\nskips sending a signal to the current task, but if the current\ntask ever hits try_to_freeze, all threads will be frozen and the\nsystem will deadlock.\n\nSet a new flag, PF_SUSPEND_TASK, on the task that calls\nfreeze_processes.  The flag notifies the freezer that the thread\nis involved in suspend and should not be frozen.  Also add a\nWARN_ON in thaw_processes if the caller does not have the\nPF_SUSPEND_TASK flag set to catch if a different task calls\nthaw_processes than the one that called freeze_processes, leaving\na task with PF_SUSPEND_TASK permanently set on it.\n\nThreads that spawn off a task with PF_SUSPEND_TASK set (which\nswsusp does) will also have PF_SUSPEND_TASK set, preventing them\nfrom freezing while they are helping with suspend, but they need\nto be dead by the time suspend is triggered, otherwise they may\nrun when userspace is expected to be frozen.  Add a WARN_ON in\nthaw_processes if more than one thread has the PF_SUSPEND_TASK\nflag set.\n\nReported-and-tested-by: Michael Leun \u003clkml20130126@newton.leun.net\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\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": "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": "98d1e64f95b177d0f14efbdf695a1b28e1428035",
      "tree": "b7473b55b4b3579edfcb0c98b7c4e7d65f8c169c",
      "parents": [
        "61b0d76017a50c263c303fa263b295b04e0c68f6"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Wed Jul 10 16:05:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 10 18:11:34 2013 -0700"
      },
      "message": "mm: remove free_area_cache\n\nSince all architectures have been converted to use vm_unmapped_area(),\nthere is no remaining use for the free_area_cache.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "496322bc91e35007ed754184dcd447a02b6dd685",
      "tree": "f5298d0a74c0a6e65c0e98050b594b8d020904c1",
      "parents": [
        "2e17c5a97e231f3cb426f4b7895eab5be5c5442e",
        "56e0ef527b184b3de2d7f88c6190812b2b2ac6bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 09 18:24:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 09 18:24:39 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking updates from David Miller:\n \"This is a re-do of the net-next pull request for the current merge\n  window.  The only difference from the one I made the other day is that\n  this has Eliezer\u0027s interface renames and the timeout handling changes\n  made based upon your feedback, as well as a few bug fixes that have\n  trickeled in.\n\n  Highlights:\n\n   1) Low latency device polling, eliminating the cost of interrupt\n      handling and context switches.  Allows direct polling of a network\n      device from socket operations, such as recvmsg() and poll().\n\n      Currently ixgbe, mlx4, and bnx2x support this feature.\n\n      Full high level description, performance numbers, and design in\n      commit 0a4db187a999 (\"Merge branch \u0027ll_poll\u0027\")\n\n      From Eliezer Tamir.\n\n   2) With the routing cache removed, ip_check_mc_rcu() gets exercised\n      more than ever before in the case where we have lots of multicast\n      addresses.  Use a hash table instead of a simple linked list, from\n      Eric Dumazet.\n\n   3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from\n      Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,\n      Marek Puzyniak, Michal Kazior, and Sujith Manoharan.\n\n   4) Support reporting the TUN device persist flag to userspace, from\n      Pavel Emelyanov.\n\n   5) Allow controlling network device VF link state using netlink, from\n      Rony Efraim.\n\n   6) Support GRE tunneling in openvswitch, from Pravin B Shelar.\n\n   7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from\n      Daniel Borkmann and Eric Dumazet.\n\n   8) Allow controlling of TCP quickack behavior on a per-route basis,\n      from Cong Wang.\n\n   9) Several bug fixes and improvements to vxlan from Stephen\n      Hemminger, Pravin B Shelar, and Mike Rapoport.  In particular,\n      support receiving on multiple UDP ports.\n\n  10) Major cleanups, particular in the area of debugging and cookie\n      lifetime handline, to the SCTP protocol code.  From Daniel\n      Borkmann.\n\n  11) Allow packets to cross network namespaces when traversing tunnel\n      devices.  From Nicolas Dichtel.\n\n  12) Allow monitoring netlink traffic via AF_PACKET sockets, in a\n      manner akin to how we monitor real network traffic via ptype_all.\n      From Daniel Borkmann.\n\n  13) Several bug fixes and improvements for the new alx device driver,\n      from Johannes Berg.\n\n  14) Fix scalability issues in the netem packet scheduler\u0027s time queue,\n      by using an rbtree.  From Eric Dumazet.\n\n  15) Several bug fixes in TCP loss recovery handling, from Yuchung\n      Cheng.\n\n  16) Add support for GSO segmentation of MPLS packets, from Simon\n      Horman.\n\n  17) Make network notifiers have a real data type for the opaque\n      pointer that\u0027s passed into them.  Use this to properly handle\n      network device flag changes in arp_netdev_event().  From Jiri\n      Pirko and Timo Teräs.\n\n  18) Convert several drivers over to module_pci_driver(), from Peter\n      Huewe.\n\n  19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a\n      O(1) calculation instead.  From Eric Dumazet.\n\n  20) Support setting of explicit tunnel peer addresses in ipv6, just\n      like ipv4.  From Nicolas Dichtel.\n\n  21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.\n\n  22) Prevent a single high rate flow from overruning an individual cpu\n      during RX packet processing via selective flow shedding.  From\n      Willem de Bruijn.\n\n  23) Don\u0027t use spinlocks in TCP md5 signing fast paths, from Eric\n      Dumazet.\n\n  24) Don\u0027t just drop GSO packets which are above the TBF scheduler\u0027s\n      burst limit, chop them up so they are in-bounds instead.  Also\n      from Eric Dumazet.\n\n  25) VLAN offloads are missed when configured on top of a bridge, fix\n      from Vlad Yasevich.\n\n  26) Support IPV6 in ping sockets.  From Lorenzo Colitti.\n\n  27) Receive flow steering targets should be updated at poll() time\n      too, from David Majnemer.\n\n  28) Fix several corner case regressions in PMTU/redirect handling due\n      to the routing cache removal, from Timo Teräs.\n\n  29) We have to be mindful of ipv4 mapped ipv6 sockets in\n      upd_v6_push_pending_frames().  From Hannes Frederic Sowa.\n\n  30) Fix L2TP sequence number handling bugs, from James Chapman.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)\n  drivers/net: caif: fix wrong rtnl_is_locked() usage\n  drivers/net: enic: release rtnl_lock on error-path\n  vhost-net: fix use-after-free in vhost_net_flush\n  net: mv643xx_eth: do not use port number as platform device id\n  net: sctp: confirm route during forward progress\n  virtio_net: fix race in RX VQ processing\n  virtio: support unlocked queue poll\n  net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit\n  Documentation: Fix references to defunct linux-net@vger.kernel.org\n  net/fs: change busy poll time accounting\n  net: rename low latency sockets functions to busy poll\n  bridge: fix some kernel warning in multicast timer\n  sfc: Fix memory leak when discarding scattered packets\n  sit: fix tunnel update via netlink\n  dt:net:stmmac: Add dt specific phy reset callback support.\n  dt:net:stmmac: Add support to dwmac version 3.610 and 3.710\n  dt:net:stmmac: Allocate platform data only if its NULL.\n  net:stmmac: fix memleak in the open method\n  ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available\n  net: ipv6: fix wrong ping_v6_sendmsg return value\n  ...\n"
    },
    {
      "commit": "7c8df28633bf0b7eb253f866029be0ac59ddb062",
      "tree": "d8fba38a54a339d460026f79952cab16240e4e5a",
      "parents": [
        "e8c073c4ff51207f5c1c37fb054360bbc0f38251"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jul 08 16:00:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 09 10:33:26 2013 -0700"
      },
      "message": "ptrace: revert \"Prepare to fix racy accesses on task breakpoints\"\n\nThis reverts commit bf26c018490c (\"Prepare to fix racy accesses on task\nbreakpoints\").\n\nThe patch was fine but we can no longer race with SIGKILL after commit\n9899d11f6544 (\"ptrace: ensure arch_ptrace/ptrace_request can never race\nwith SIGKILL\"), the __TASK_TRACED tracee can\u0027t be woken up and\n-\u003eptrace_bps[] can\u0027t go away.\n\nNow that ptrace_get_breakpoints/ptrace_put_breakpoints have no callers,\nwe can kill them and remove task-\u003eptrace_bp_refcnt.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81dabb464139324c005159f5afba377104d8828d",
      "tree": "6f105f6a2a4f32b8ff45efb51889b172452e7282",
      "parents": [
        "3f4185483832ccf3d2977923db576fa689c2abce"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 03 15:08:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 16:08:02 2013 -0700"
      },
      "message": "exit.c: unexport __set_special_pids()\n\nMove __set_special_pids() from exit.c to sys.c close to its single caller\nand make it static.\n\nAnd rename it to set_special_pids(), another helper with this name has\ngone away.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "239003ea2e30374d1cdfee788867e497cca2366c",
      "tree": "192a61df3a4f60135bd372190c866516ce3e73ba",
      "parents": [
        "0fc576d592bd137437fdeb059738b789e642b744"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Thu Jun 27 11:34:09 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 27 10:18:26 2013 +0200"
      },
      "message": "sched: Fix typo in struct sched_avg member description\n\nRemove extra \u0027for\u0027 from the description about member of\nstruct sched_avg.\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nCc: pjt@google.com\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/20130627060409.GB18582@linux.vnet.ibm.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": "f6f3c437d09e2f62533034e67bfb4385191e992c",
      "tree": "d7e08f57a89aa0d39405cb7bf609995e215dfb9a",
      "parents": [
        "de94c4591bd606729af1b913d6e98c6c449e42df"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed May 22 14:50:31 2013 +0900"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu May 23 14:23:17 2013 +0200"
      },
      "message": "sched: add cond_resched_rcu() helper\n\nThis is intended for use in loops which read data protected by RCU and may\nhave a large number of iterations.  Such an example is dumping the list of\nconnections known to IPVS: ip_vs_conn_array() and ip_vs_conn_seq_next().\n\nThe benefits are for CONFIG_PREEMPT_RCU\u003dy where we save CPU cycles\nby moving rcu_read_lock and rcu_read_unlock out of large loops\nbut still allowing the current task to be preempted after every\nloop iteration for the CONFIG_PREEMPT_RCU\u003dn case.\n\nThe call to cond_resched() is not needed when CONFIG_PREEMPT_RCU\u003dy.\nThanks to Paul E. McKenney for explaining this and for the\nfinal version that checks the context with CONFIG_DEBUG_ATOMIC_SLEEP\u003dy\nfor all possible configurations.\n\nThe function can be empty in the CONFIG_PREEMPT_RCU case,\nrcu_read_lock and rcu_read_unlock are not needed in this case\nbecause the task can be preempted on indication from scheduler.\nThanks to Peter Zijlstra for catching this and for his help\nin trying a solution that changes __might_sleep.\n\nInitial cond_resched_rcu_lock() function suggested by Eric Dumazet.\n\nTested-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c4cc75c3321cad6f20d1e5325293890255c8a663",
      "tree": "f515d034c9d6947bed0467840678aff823747596",
      "parents": [
        "2dbd3cac87250a0d44e07acc86c4224a08522709",
        "2a0b4be6dd655e24990da1d0811e28b9277f8b12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 11 14:29:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 11 14:29:11 2013 -0700"
      },
      "message": "Merge git://git.infradead.org/users/eparis/audit\n\nPull audit changes from Eric Paris:\n \"Al used to send pull requests every couple of years but he told me to\n  just start pushing them to you directly.\n\n  Our touching outside of core audit code is pretty straight forward.  A\n  couple of interface changes which hit net/.  A simple argument bug\n  calling audit functions in namei.c and the removal of some assembly\n  branch prediction code on ppc\"\n\n* git://git.infradead.org/users/eparis/audit: (31 commits)\n  audit: fix message spacing printing auid\n  Revert \"audit: move kaudit thread start from auditd registration to kaudit init\"\n  audit: vfs: fix audit_inode call in O_CREAT case of do_last\n  audit: Make testing for a valid loginuid explicit.\n  audit: fix event coverage of AUDIT_ANOM_LINK\n  audit: use spin_lock in audit_receive_msg to process tty logging\n  audit: do not needlessly take a lock in tty_audit_exit\n  audit: do not needlessly take a spinlock in copy_signal\n  audit: add an option to control logging of passwords with pam_tty_audit\n  audit: use spin_lock_irqsave/restore in audit tty code\n  helper for some session id stuff\n  audit: use a consistent audit helper to log lsm information\n  audit: push loginuid and sessionid processing down\n  audit: stop pushing loginid, uid, sessionid as arguments\n  audit: remove the old depricated kernel interface\n  audit: make validity checking generic\n  audit: allow checking the type of audit message in the user filter\n  audit: fix build break when AUDIT_DEBUG \u003d\u003d 2\n  audit: remove duplicate export of audit_enabled\n  Audit: do not print error when LSMs disabled\n  ...\n"
    },
    {
      "commit": "ebb37277796269da36a8bc5d72ed1e8e1fb7d34b",
      "tree": "0ded627a62a5cec70b18d12825dd858855c135d3",
      "parents": [
        "4de13d7aa8f4d02f4dc99d4609575659f92b3c5a",
        "f50efd2fdbd9b35b11f5778ed85beb764184bda9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 08 11:51:05 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 08 11:51:05 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10/drivers\u0027 of git://git.kernel.dk/linux-block\n\nPull block driver updates from Jens Axboe:\n \"It might look big in volume, but when categorized, not a lot of\n  drivers are touched.  The pull request contains:\n\n   - mtip32xx fixes from Micron.\n\n   - A slew of drbd updates, this time in a nicer series.\n\n   - bcache, a flash/ssd caching framework from Kent.\n\n   - Fixes for cciss\"\n\n* \u0027for-3.10/drivers\u0027 of git://git.kernel.dk/linux-block: (66 commits)\n  bcache: Use bd_link_disk_holder()\n  bcache: Allocator cleanup/fixes\n  cciss: bug fix to prevent cciss from loading in kdump crash kernel\n  cciss: add cciss_allow_hpsa module parameter\n  drivers/block/mg_disk.c: add CONFIG_PM_SLEEP to suspend/resume functions\n  mtip32xx: Workaround for unaligned writes\n  bcache: Make sure blocksize isn\u0027t smaller than device blocksize\n  bcache: Fix merge_bvec_fn usage for when it modifies the bvm\n  bcache: Correctly check against BIO_MAX_PAGES\n  bcache: Hack around stuff that clones up to bi_max_vecs\n  bcache: Set ra_pages based on backing device\u0027s ra_pages\n  bcache: Take data offset from the bdev superblock.\n  mtip32xx: mtip32xx: Disable TRIM support\n  mtip32xx: fix a smatch warning\n  bcache: Disable broken btree fuzz tester\n  bcache: Fix a format string overflow\n  bcache: Fix a minor memory leak on device teardown\n  bcache: Documentation updates\n  bcache: Use WARN_ONCE() instead of __WARN()\n  bcache: Add missing #include \u003clinux/prefetch.h\u003e\n  ...\n"
    },
    {
      "commit": "a27bb332c04cec8c4afd7912df0dc7890db27560",
      "tree": "86e6c41c2012f24c40ab455e2449d76346ae8956",
      "parents": [
        "41ef4eb8eef8d06bc1399e7b00c940d771554711"
      ],
      "author": {
        "name": "Kent Overstreet",
        "email": "koverstreet@google.com",
        "time": "Tue May 07 16:19:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 20:16:25 2013 -0700"
      },
      "message": "aio: don\u0027t include aio.h in sched.h\n\nFaster kernel compiles by way of fewer unnecessary includes.\n\n[akpm@linux-foundation.org: fix fallout]\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nCc: Zach Brown \u003czab@redhat.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nCc: Selvan Mani \u003csmani@micron.com\u003e\nCc: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nReviewed-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "534c97b0950b1967bca1c753aeaed32f5db40264",
      "tree": "9421d26e4f6d479d1bc32b036a731b065daab0fa",
      "parents": [
        "64049d1973c1735f543eb7a55653e291e108b0cb",
        "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "message": "Merge branch \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull \u0027full dynticks\u0027 support from Ingo Molnar:\n \"This tree from Frederic Weisbecker adds a new, (exciting! :-) core\n  kernel feature to the timer and scheduler subsystems: \u0027full dynticks\u0027,\n  or CONFIG_NO_HZ_FULL\u003dy.\n\n  This feature extends the nohz variable-size timer tick feature from\n  idle to busy CPUs (running at most one task) as well, potentially\n  reducing the number of timer interrupts significantly.\n\n  This feature got motivated by real-time folks and the -rt tree, but\n  the general utility and motivation of full-dynticks runs wider than\n  that:\n\n   - HPC workloads get faster: CPUs running a single task should be able\n     to utilize a maximum amount of CPU power.  A periodic timer tick at\n     HZ\u003d1000 can cause a constant overhead of up to 1.0%.  This feature\n     removes that overhead - and speeds up the system by 0.5%-1.0% on\n     typical distro configs even on modern systems.\n\n   - Real-time workload latency reduction: CPUs running critical tasks\n     should experience as little jitter as possible.  The last remaining\n     source of kernel-related jitter was the periodic timer tick.\n\n   - A single task executing on a CPU is a pretty common situation,\n     especially with an increasing number of cores/CPUs, so this feature\n     helps desktop and mobile workloads as well.\n\n  The cost of the feature is mainly related to increased timer\n  reprogramming overhead when a CPU switches its tick period, and thus\n  slightly longer to-idle and from-idle latency.\n\n  Configuration-wise a third mode of operation is added to the existing\n  two NOHZ kconfig modes:\n\n   - CONFIG_HZ_PERIODIC: [formerly !CONFIG_NO_HZ], now explicitly named\n     as a config option.  This is the traditional Linux periodic tick\n     design: there\u0027s a HZ tick going on all the time, regardless of\n     whether a CPU is idle or not.\n\n   - CONFIG_NO_HZ_IDLE: [formerly CONFIG_NO_HZ\u003dy], this turns off the\n     periodic tick when a CPU enters idle mode.\n\n   - CONFIG_NO_HZ_FULL: this new mode, in addition to turning off the\n     tick when a CPU is idle, also slows the tick down to 1 Hz (one\n     timer interrupt per second) when only a single task is running on a\n     CPU.\n\n  The .config behavior is compatible: existing !CONFIG_NO_HZ and\n  CONFIG_NO_HZ\u003dy settings get translated to the new values, without the\n  user having to configure anything.  CONFIG_NO_HZ_FULL is turned off by\n  default.\n\n  This feature is based on a lot of infrastructure work that has been\n  steadily going upstream in the last 2-3 cycles: related RCU support\n  and non-periodic cputime support in particular is upstream already.\n\n  This tree adds the final pieces and activates the feature.  The pull\n  request is marked RFC because:\n\n   - it\u0027s marked 64-bit only at the moment - the 32-bit support patch is\n     small but did not get ready in time.\n\n   - it has a number of fresh commits that came in after the merge\n     window.  The overwhelming majority of commits are from before the\n     merge window, but still some aspects of the tree are fresh and so I\n     marked it RFC.\n\n   - it\u0027s a pretty wide-reaching feature with lots of effects - and\n     while the components have been in testing for some time, the full\n     combination is still not very widely used.  That it\u0027s default-off\n     should reduce its regression abilities and obviously there are no\n     known regressions with CONFIG_NO_HZ_FULL\u003dy enabled either.\n\n   - the feature is not completely idempotent: there is no 100%\n     equivalent replacement for a periodic scheduler/timer tick.  In\n     particular there\u0027s ongoing work to map out and reduce its effects\n     on scheduler load-balancing and statistics.  This should not impact\n     correctness though, there are no known regressions related to this\n     feature at this point.\n\n   - it\u0027s a pretty ambitious feature that with time will likely be\n     enabled by most Linux distros, and we\u0027d like you to make input on\n     its design/implementation, if you dislike some aspect we missed.\n     Without flaming us to crisp! :-)\n\n  Future plans:\n\n   - there\u0027s ongoing work to reduce 1Hz to 0Hz, to essentially shut off\n     the periodic tick altogether when there\u0027s a single busy task on a\n     CPU.  We\u0027d first like 1 Hz to be exposed more widely before we go\n     for the 0 Hz target though.\n\n   - once we reach 0 Hz we can remove the periodic tick assumption from\n     nr_running\u003e\u003d2 as well, by essentially interrupting busy tasks only\n     as frequently as the sched_latency constraints require us to do -\n     once every 4-40 msecs, depending on nr_running.\n\n  I am personally leaning towards biting the bullet and doing this in\n  v3.10, like the -rt tree this effort has been going on for too long -\n  but the final word is up to you as usual.\n\n  More technical details can be found in Documentation/timers/NO_HZ.txt\"\n\n* \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  sched: Keep at least 1 tick per second for active dynticks tasks\n  rcu: Fix full dynticks\u0027 dependency on wide RCU nocb mode\n  nohz: Protect smp_processor_id() in tick_nohz_task_switch()\n  nohz_full: Add documentation.\n  cputime_nsecs: use math64.h for nsec resolution conversion helpers\n  nohz: Select VIRT_CPU_ACCOUNTING_GEN from full dynticks config\n  nohz: Reduce overhead under high-freq idling patterns\n  nohz: Remove full dynticks\u0027 superfluous dependency on RCU tree\n  nohz: Fix unavailable tick_stop tracepoint in dynticks idle\n  nohz: Add basic tracing\n  nohz: Select wide RCU nocb for full dynticks\n  nohz: Disable the tick when irq resume in full dynticks CPU\n  nohz: Re-evaluate the tick for the new task after a context switch\n  nohz: Prepare to stop the tick on irq exit\n  nohz: Implement full dynticks kick\n  nohz: Re-evaluate the tick from the scheduler IPI\n  sched: New helper to prevent from stopping the tick in full dynticks\n  sched: Kick full dynticks CPU that have more than one task enqueued.\n  perf: New helper to prevent full dynticks CPUs from stopping tick\n  perf: Kick full dynticks CPU if events rotation is needed\n  ...\n"
    },
    {
      "commit": "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f",
      "tree": "c5b7ec6b64fc31e879e730d2edf8e836cfaf7e9b",
      "parents": [
        "73c30828771acafb0a5e3a1c4cf75e6c5dc5f98a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri May 03 03:39:05 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 04 08:32:02 2013 +0200"
      },
      "message": "sched: Keep at least 1 tick per second for active dynticks tasks\n\nThe scheduler doesn\u0027t yet fully support environments\nwith a single task running without a periodic tick.\n\nIn order to ensure we still maintain the duties of scheduler_tick(),\nkeep at least 1 tick per second.\n\nThis makes sure that we keep the progression of various scheduler\naccounting and background maintainance even with a very low granularity.\nExamples include cpu load, sched average, CFS entity vruntime,\navenrun and events such as load balancing, amongst other details\nhandled in sched_class::task_tick().\n\nThis limitation will be removed in the future once we get\nthese individual items to work in full dynticks CPUs.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c032862fba51a3ca504752d3a25186b324c5ce83",
      "tree": "955dc2ba4ab3df76ecc2bb780ee84aca04967e8d",
      "parents": [
        "fda76e074c7737fc57855dd17c762e50ed526052",
        "8700c95adb033843fc163d112b9d21d4fda78018"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:37:49 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:54:19 2013 +0200"
      },
      "message": "Merge commit \u00278700c95adb03\u0027 into timers/nohz\n\nThe full dynticks tree needs the latest RCU and sched\nupstream updates in order to fix some dependencies.\n\nMerge a common upstream merge point that has these\nupdates.\n\nConflicts:\n\tinclude/linux/perf_event.h\n\tkernel/rcutree.h\n\tkernel/rcutree_plugin.h\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e56fb2874015370e3b7f8d85051f6dce26051df9",
      "tree": "0820c06eb4a25daf65734412af139e98ac1649c8",
      "parents": [
        "12eaaf309a798973d215f7f21aa5a67a760ed7c8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:20 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "exec: do not abuse -\u003ecred_guard_mutex in threadgroup_lock()\n\nthreadgroup_lock() takes signal-\u003ecred_guard_mutex to ensure that\nthread_group_leader() is stable.  This doesn\u0027t look nice, the scope of\nthis lock in do_execve() is huge.\n\nAnd as Dave pointed out this can lead to deadlock, we have the\nfollowing dependencies:\n\n\tdo_execve:\t\tcred_guard_mutex -\u003e i_mutex\n\tcgroup_mount:\t\ti_mutex -\u003e cgroup_mutex\n\tattach_task_by_pid:\tcgroup_mutex -\u003e cred_guard_mutex\n\nChange de_thread() to take threadgroup_change_begin() around the\nswitch-the-leader code and change threadgroup_lock() to avoid\n-\u003ecred_guard_mutex.\n\nNote that de_thread() can\u0027t sleep with -\u003egroup_rwsem held, this can\nobviously deadlock with the exiting leader if the writer is active, so it\ndoes threadgroup_change_end() before schedule().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "403bad72b67d8b3f5a0240af5023adfa48132a65",
      "tree": "d240a287cf7e64824dc6441f397b0290aa79738b",
      "parents": [
        "66e5b7e1948cdbdca2b0cc6ddc6d69ee84583fb4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: only SIGKILL should interrupt the coredumping task\n\nThere are 2 well known and ancient problems with coredump/signals, and a\nlot of related bug reports:\n\n- do_coredump() clears TIF_SIGPENDING but of course this can\u0027t help\n  if, say, SIGCHLD comes after that.\n\n  In this case the coredump can fail unexpectedly. See for example\n  wait_for_dump_helper()-\u003esignal_pending() check but there are other\n  reasons.\n\n- At the same time, dumping a huge core on the slow media can take a\n  lot of time/resources and there is no way to kill the coredumping\n  task reliably. In particular this is not oom_kill-friendly.\n\nThis patch tries to fix the 1st problem, and makes the preparation for the\nnext changes.\n\nWe add the new SIGNAL_GROUP_COREDUMP flag set by zap_threads() to indicate\nthat this process dumps the core.  prepare_signal() checks this flag and\nnacks any signal except SIGKILL.\n\nNote that this check tries to be conservative, in the long term we should\nprobably treat the SIGNAL_GROUP_EXIT case equally but this needs more\ndiscussion.  See marc.info/?l\u003dlinux-kernel\u0026m\u003d120508897917439\n\nNotes:\n\t- recalc_sigpending() doesn\u0027t check SIGNAL_GROUP_COREDUMP.\n\t  The patch assumes that dump_write/etc paths should never\n\t  call it, but we can change it as well.\n\n\t- There is another source of TIF_SIGPENDING, freezer. This\n\t  will be addressed separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46e959ea2969cc1668d09b0dc55226946cf781f1",
      "tree": "40481f42587257039bd7b898c2aec95e1c01656f",
      "parents": [
        "bde02ca858448cf54a4226774dd1481f3bcc455e"
      ],
      "author": {
        "name": "Richard Guy Briggs",
        "email": "rgb@redhat.com",
        "time": "Fri May 03 14:03:50 2013 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 30 15:31:28 2013 -0400"
      },
      "message": "audit: add an option to control logging of passwords with pam_tty_audit\n\nMost commands are entered one line at a time and processed as complete lines\nin non-canonical mode.  Commands that interactively require a password, enter\ncanonical mode to do this while shutting off echo.  This pair of features\n(icanon and !echo) can be used to avoid logging passwords by audit while still\nlogging the rest of the command.\n\nAdding a member (log_passwd) to the struct audit_tty_status passed in by\npam_tty_audit allows control of canonical mode without echo per task.\n\nSigned-off-by: Richard Guy Briggs \u003crgb@redhat.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ab86e974f04b1cd827a9c7c35273834ebcd9ab38",
      "tree": "41df33732d2700d6d57d1e7ab3f430942f09ffcc",
      "parents": [
        "8700c95adb033843fc163d112b9d21d4fda78018",
        "6f7a05d7018de222e40ca003721037a530979974"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:15:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:15:40 2013 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core timer updates from Ingo Molnar:\n \"The main changes in this cycle\u0027s merge are:\n\n   - Implement shadow timekeeper to shorten in kernel reader side\n     blocking, by Thomas Gleixner.\n\n   - Posix timers enhancements by Pavel Emelyanov:\n\n   - allocate timer ID per process, so that exact timer ID allocations\n     can be re-created be checkpoint/restore code.\n\n   - debuggability and tooling (/proc/PID/timers, etc.) improvements.\n\n   - suspend/resume enhancements by Feng Tang: on certain new Intel Atom\n     processors (Penwell and Cloverview), there is a feature that the\n     TSC won\u0027t stop in S3 state, so the TSC value won\u0027t be reset to 0\n     after resume.  This can be taken advantage of by the generic via\n     the CLOCK_SOURCE_SUSPEND_NONSTOP flag: instead of using the RTC to\n     recover/approximate sleep time, the main (and precise) clocksource\n     can be used.\n\n   - Fix /proc/timer_list for 4096 CPUs by Nathan Zimmer: on so many\n     CPUs the file goes beyond 4MB of size and thus the current\n     simplistic seqfile approach fails.  Convert /proc/timer_list to a\n     proper seq_file with its own iterator.\n\n   - Cleanups and refactorings of the core timekeeping code by John\n     Stultz.\n\n   - International Atomic Clock time is managed by the NTP code\n     internally currently but not exposed externally.  Separate the TAI\n     code out and add CLOCK_TAI support and TAI support to the hrtimer\n     and posix-timer code, by John Stultz.\n\n   - Add deep idle support enhacement to the broadcast clockevents core\n     timer code, by Daniel Lezcano: add an opt-in CLOCK_EVT_FEAT_DYNIRQ\n     clockevents feature (which will be utilized by future clockevents\n     driver updates), which allows the use of IRQ affinities to avoid\n     spurious wakeups of idle CPUs - the right CPU with an expiring\n     timer will be woken.\n\n   - Add new ARM bcm281xx clocksource driver, by Christian Daudt\n\n   - ... various other fixes and cleanups\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)\n  clockevents: Set dummy handler on CPU_DEAD shutdown\n  timekeeping: Update tk-\u003ecycle_last in resume\n  posix-timers: Remove unused variable\n  clockevents: Switch into oneshot mode even if broadcast registered late\n  timer_list: Convert timer list to be a proper seq_file\n  timer_list: Split timer_list_show_tickdevices\n  posix-timers: Show sigevent info in proc file\n  posix-timers: Introduce /proc/PID/timers file\n  posix timers: Allocate timer id per process (v2)\n  timekeeping: Make sure to notify hrtimers when TAI offset changes\n  hrtimer: Fix ktime_add_ns() overflow on 32bit architectures\n  hrtimer: Add expiry time overflow check in hrtimer_interrupt\n  timekeeping: Shorten seq_count region\n  timekeeping: Implement a shadow timekeeper\n  timekeeping: Delay update of clock-\u003ecycle_last\n  timekeeping: Store cycle_last value in timekeeper struct as well\n  ntp: Remove ntp_lock, using the timekeeping locks to protect ntp state\n  timekeeping: Simplify tai updating from do_adjtimex\n  timekeeping: Hold timekeepering locks in do_adjtimex and hardpps\n  timekeeping: Move ADJ_SETOFFSET to top level do_adjtimex()\n  ...\n"
    },
    {
      "commit": "8700c95adb033843fc163d112b9d21d4fda78018",
      "tree": "7bb9a37b8fe6328f63a61d88063c556346001098",
      "parents": [
        "16fa94b532b1958f508e07eca1a9256351241fbc",
        "d190e8195b90bc1e65c494fe08e54e9e581bfd16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "message": "Merge branch \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull SMP/hotplug changes from Ingo Molnar:\n \"This is a pretty large, multi-arch series unifying and generalizing\n  the various disjunct pieces of idle routines that architectures have\n  historically copied from each other and have grown in random, wildly\n  inconsistent and sometimes buggy directions:\n\n   101 files changed, 455 insertions(+), 1328 deletions(-)\n\n  this went through a number of review and test iterations before it was\n  committed, it was tested on various architectures, was exposed to\n  linux-next for quite some time - nevertheless it might cause problems\n  on architectures that don\u0027t read the mailing lists and don\u0027t regularly\n  test linux-next.\n\n  This cat herding excercise was motivated by the -rt kernel, and was\n  brought to you by Thomas \"the Whip\" Gleixner.\"\n\n* \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  idle: Remove GENERIC_IDLE_LOOP config switch\n  um: Use generic idle loop\n  ia64: Make sure interrupts enabled when we \"safe_halt()\"\n  sparc: Use generic idle loop\n  idle: Remove unused ARCH_HAS_DEFAULT_IDLE\n  bfin: Fix typo in arch_cpu_idle()\n  xtensa: Use generic idle loop\n  x86: Use generic idle loop\n  unicore: Use generic idle loop\n  tile: Use generic idle loop\n  tile: Enter idle with preemption disabled\n  sh: Use generic idle loop\n  score: Use generic idle loop\n  s390: Use generic idle loop\n  powerpc: Use generic idle loop\n  parisc: Use generic idle loop\n  openrisc: Use generic idle loop\n  mn10300: Use generic idle loop\n  mips: Use generic idle loop\n  microblaze: Use generic idle loop\n  ...\n"
    },
    {
      "commit": "16fa94b532b1958f508e07eca1a9256351241fbc",
      "tree": "90012a7b7fe2b8cf96f6f5ec12490e0c5e152291",
      "parents": [
        "e0972916e8fe943f342b0dd1c9d43dbf5bc261c2",
        "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 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 \"The main changes in this development cycle were:\n\n   - full dynticks preparatory work by Frederic Weisbecker\n\n   - factor out the cpu time accounting code better, by Li Zefan\n\n   - multi-CPU load balancer cleanups and improvements by Joonsoo Kim\n\n   - various smaller fixes and cleanups\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  sched: Fix init NOHZ_IDLE flag\n  sched: Prevent to re-select dst-cpu in load_balance()\n  sched: Rename load_balance_tmpmask to load_balance_mask\n  sched: Move up affinity check to mitigate useless redoing overhead\n  sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n  sched: Explicitly cpu_idle_type checking in rebalance_domains()\n  sched: Change position of resched_cpu() in load_balance()\n  sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n  sched: Document task_struct::personality field\n  sched/cpuacct/UML: Fix header file dependency bug on the UML build\n  cgroup: Kill subsys.active flag\n  sched/cpuacct: No need to check subsys active state\n  sched/cpuacct: Initialize cpuacct subsystem earlier\n  sched/cpuacct: Initialize root cpuacct earlier\n  sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically\n  sched/cpuacct: Clean up cpuacct.h\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()\n  sched/cpuacct: Add cpuacct_acount_field()\n  sched/cpuacct: Add cpuacct_init()\n  ...\n"
    },
    {
      "commit": "46d9be3e5eb01f71fc02653755d970247174b400",
      "tree": "01534c9ebfa5f52a7133e34354d2831fe6704f15",
      "parents": [
        "ce8aa48929449b491149b6c87861ac69cb797a42",
        "cece95dfe5aa56ba99e51b4746230ff0b8542abd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue updates from Tejun Heo:\n \"A lot of activities on workqueue side this time.  The changes achieve\n  the followings.\n\n   - WQ_UNBOUND workqueues - the workqueues which are per-cpu - are\n     updated to be able to interface with multiple backend worker pools.\n     This involved a lot of churning but the end result seems actually\n     neater as unbound workqueues are now a lot closer to per-cpu ones.\n\n   - The ability to interface with multiple backend worker pools are\n     used to implement unbound workqueues with custom attributes.\n     Currently the supported attributes are the nice level and CPU\n     affinity.  It may be expanded to include cgroup association in\n     future.  The attributes can be specified either by calling\n     apply_workqueue_attrs() or through /sys/bus/workqueue/WQ_NAME/* if\n     the workqueue in question is exported through sysfs.\n\n     The backend worker pools are keyed by the actual attributes and\n     shared by any workqueues which share the same attributes.  When\n     attributes of a workqueue are changed, the workqueue binds to the\n     worker pool with the specified attributes while leaving the work\n     items which are already executing in its previous worker pools\n     alone.\n\n     This allows converting custom worker pool implementations which\n     want worker attribute tuning to use workqueues.  The writeback pool\n     is already converted in block tree and there are a couple others\n     are likely to follow including btrfs io workers.\n\n   - WQ_UNBOUND\u0027s ability to bind to multiple worker pools is also used\n     to make it NUMA-aware.  Because there\u0027s no association between work\n     item issuer and the specific worker assigned to execute it, before\n     this change, using unbound workqueue led to unnecessary cross-node\n     bouncing and it couldn\u0027t be helped by autonuma as it requires tasks\n     to have implicit node affinity and workers are assigned randomly.\n\n     After these changes, an unbound workqueue now binds to multiple\n     NUMA-affine worker pools so that queued work items are executed in\n     the same node.  This is turned on by default but can be disabled\n     system-wide or for individual workqueues.\n\n     Crypto was requesting NUMA affinity as encrypting data across\n     different nodes can contribute noticeable overhead and doing it\n     per-cpu was too limiting for certain cases and IO throughput could\n     be bottlenecked by one CPU being fully occupied while others have\n     idle cycles.\n\n  While the new features required a lot of changes including\n  restructuring locking, it didn\u0027t complicate the execution paths much.\n  The unbound workqueue handling is now closer to per-cpu ones and the\n  new features are implemented by simply associating a workqueue with\n  different sets of backend worker pools without changing queue,\n  execution or flush paths.\n\n  As such, even though the amount of change is very high, I feel\n  relatively safe in that it isn\u0027t likely to cause subtle issues with\n  basic correctness of work item execution and handling.  If something\n  is wrong, it\u0027s likely to show up as being associated with worker pools\n  with the wrong attributes or OOPS while workqueue attributes are being\n  changed or during CPU hotplug.\n\n  While this creates more backend worker pools, it doesn\u0027t add too many\n  more workers unless, of course, there are many workqueues with unique\n  combinations of attributes.  Assuming everything else is the same,\n  NUMA awareness costs an extra worker pool per NUMA node with online\n  CPUs.\n\n  There are also a couple things which are being routed outside the\n  workqueue tree.\n\n   - block tree pulled in workqueue for-3.10 so that writeback worker\n     pool can be converted to unbound workqueue with sysfs control\n     exposed.  This simplifies the code, makes writeback workers\n     NUMA-aware and allows tuning nice level and CPU affinity via sysfs.\n\n   - The conversion to workqueue means that there\u0027s no 1:1 association\n     between a specific worker, which makes writeback folks unhappy as\n     they want to be able to tell which filesystem caused a problem from\n     backtrace on systems with many filesystems mounted.  This is\n     resolved by allowing work items to set debug info string which is\n     printed when the task is dumped.  As this change involves unifying\n     implementations of dump_stack() and friends in arch codes, it\u0027s\n     being routed through Andrew\u0027s -mm tree.\"\n\n* \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (84 commits)\n  workqueue: use kmem_cache_free() instead of kfree()\n  workqueue: avoid false negative WARN_ON() in destroy_workqueue()\n  workqueue: update sysfs interface to reflect NUMA awareness and a kernel param to disable NUMA affinity\n  workqueue: implement NUMA affinity for unbound workqueues\n  workqueue: introduce put_pwq_unlocked()\n  workqueue: introduce numa_pwq_tbl_install()\n  workqueue: use NUMA-aware allocation for pool_workqueues\n  workqueue: break init_and_link_pwq() into two functions and introduce alloc_unbound_pwq()\n  workqueue: map an unbound workqueues to multiple per-node pool_workqueues\n  workqueue: move hot fields of workqueue_struct to the end\n  workqueue: make workqueue-\u003ename[] fixed len\n  workqueue: add workqueue-\u003eunbound_attrs\n  workqueue: determine NUMA node of workers accourding to the allowed cpumask\n  workqueue: drop \u0027H\u0027 from kworker names of unbound worker pools\n  workqueue: add wq_numa_tbl_len and wq_numa_possible_cpumask[]\n  workqueue: move pwq_pool_locking outside of get/put_unbound_pool()\n  workqueue: fix memory leak in apply_workqueue_attrs()\n  workqueue: fix unbound workqueue attrs hashing / comparison\n  workqueue: fix race condition in unbound workqueue free path\n  workqueue: remove pwq_lock which is no longer used\n  ...\n"
    },
    {
      "commit": "916bb6d76dfa49b540baa3f7262792d1de7f1c24",
      "tree": "8548db9da607ad8616125130969e7c2165ad00d5",
      "parents": [
        "d0b8883800c913f5cc0eb273c052bcac94ad44d8",
        "2c522836627c6e78660f8bd52cdb4cdcb75e3e3c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking changes from Ingo Molnar:\n \"The most noticeable change are mutex speedups from Waiman Long, for\n  higher loads.  These scalability changes should be most noticeable on\n  larger server systems.\n\n  There are also cleanups, fixes and debuggability improvements.\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep: Consolidate bug messages into a single print_lockdep_off() function\n  lockdep: Print out additional debugging advice when we hit lockdep BUGs\n  mutex: Back out architecture specific check for negative mutex count\n  mutex: Queue mutex spinners with MCS lock to reduce cacheline contention\n  mutex: Make more scalable by doing less atomic operations\n  mutex: Move mutex spinning code from sched/core.c back to mutex.c\n  locking/rtmutex/tester: Set correct permissions on sysfs files\n  lockdep: Remove unnecessary \u0027hlock_next\u0027 variable\n"
    },
    {
      "commit": "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5",
      "tree": "dc6ba0d1f4dc8119c7dd4d0844fa31a8ed60bf6f",
      "parents": [
        "e02e60c109ca70935bad1131976bdbf5160cf576"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Tue Apr 23 16:59:02 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 12:13:44 2013 +0200"
      },
      "message": "sched: Fix init NOHZ_IDLE flag\n\nOn my SMP platform which is made of 5 cores in 2 clusters, I\nhave the nr_busy_cpu field of sched_group_power struct that is\nnot null when the platform is fully idle - which makes the\nscheduler unhappy.\n\nThe root cause is:\n\nDuring the boot sequence, some CPUs reach the idle loop and set\ntheir NOHZ_IDLE flag while waiting for others CPUs to boot. But\nthe nr_busy_cpus field is initialized later with the assumption\nthat all CPUs are in the busy state whereas some CPUs have\nalready set their NOHZ_IDLE flag.\n\nMore generally, the NOHZ_IDLE flag must be initialized when new\nsched_domains are created in order to ensure that NOHZ_IDLE and\nnr_busy_cpus are aligned.\n\nThis condition can be ensured by adding a synchronize_rcu()\nbetween the destruction of old sched_domains and the creation of\nnew ones so the NOHZ_IDLE flag will not be updated with old\nsched_domain once it has been initialized. But this solution\nintroduces a additionnal latency in the rebuild sequence that is\ncalled during cpu hotplug.\n\nAs suggested by Frederic Weisbecker, another solution is to have\nthe same rcu lifecycle for both NOHZ_IDLE and sched_domain\nstruct. A new nohz_idle field is added to sched_domain so both\nstatus and sched_domain will share the same RCU lifecycle and\nwill be always synchronized. In addition, there is no more need\nto protect nohz_idle against concurrent access as it is only\nmodified by 2 exclusive functions called by local cpu.\n\nThis solution has been prefered to the creation of a new struct\nwith an extra pointer indirection for sched_domain.\n\nThe synchronization is done at the cost of :\n\n - An additional indirection and a rcu_dereference for accessing nohz_idle.\n - We use only the nohz_idle field of the top sched_domain.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nCc: pjt@google.com\nCc: rostedt@goodmis.org\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366729142-14662-1-git-send-email-vincent.guittot@linaro.org\n[ Fixed !NO_HZ build bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6402c7dc2a19c19bd8cdc7d80878b850da418942",
      "tree": "cda2ea2df40442e2aa016119f3548cc504127ea8",
      "parents": [
        "77c675ba18836802f6b73d2d773481d06ebc0f04",
        "60d509fa6a9c4653a86ad830e4c4b30360b23f0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:46 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:54 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\nReason: Get upstream fixes before adding conflicting code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ce831b38ca4920739a7a5b0c73b921da41f03718",
      "tree": "492802655004af21c748daaf08f55e14068ceb13",
      "parents": [
        "9f3660c2c1a221c886474587103c69f6034d3e4f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 15:15:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:08:04 2013 +0200"
      },
      "message": "sched: New helper to prevent from stopping the tick in full dynticks\n\nProvide a new helper to be called from the full dynticks engine\nbefore stopping the tick in order to make sure we don\u0027t stop\nit when there is more than one task running on the CPU.\n\nThis way we make sure that the tick stays alive to maintain\nfairness.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41fcb9f230bf773656d1768b73000ef720bf00c3",
      "tree": "dd87697f88e28825668ed4c342824929b4d7070c",
      "parents": [
        "8184004ed7a0bc9538f5e825615c29fc52466bab"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:11 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:34 2013 +0200"
      },
      "message": "mutex: Move mutex spinning code from sched/core.c back to mutex.c\n\nAs mentioned by Ingo, the SCHED_FEAT_OWNER_SPIN scheduler\nfeature bit was really just an early hack to make with/without\nmutex-spinning testable. So it is no longer necessary.\n\nThis patch removes the SCHED_FEAT_OWNER_SPIN feature bit and\nmove the mutex spinning code from kernel/sched/core.c back to\nkernel/mutex.c which is where they should belong.\n\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Norton Scott J \u003cscott.norton@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-2-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
      "tree": "d3e52cca63e119a1f437b660f5d7a553f8ee37bc",
      "parents": [
        "4e8f8b34b92b6514cc070aeb94d317cadd5071d7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Mar 11 13:12:21 2013 +0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 20:51:01 2013 +0200"
      },
      "message": "posix timers: Allocate timer id per process (v2)\n\nCurrently kernel generates IDs for posix timers in a global manner --\nthere\u0027s a kernel-wide IDR tree from which IDs are created. This makes\nit impossible to recreate a timer with a desired ID (in particular\nthis is done by the CRIU checkpoint-restore project) -- since these\nIDs are global it may happen, that at the time we recreate a timer, the\nID we want for it is already busy by some other timer.\n\nIn order to address this, replace the IDR tree with a global hash\ntable for timers and makes timer IDs unique per signal_struct (to\nwhich timers are linked anyway). With this, two timers belonging to\ndifferent processes may have equal IDs and we can recreate either of\nthem with the ID we want.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Matthew Helsley \u003cmatt.helsley@gmail.com\u003e\nLink: http://lkml.kernel.org/r/513D9FF5.9010004@parallels.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f2530dc71cf0822f90bb63ea4600caaef33a66bb",
      "tree": "182473ca3a295cdbd907826aa22bae94c52fa486",
      "parents": [
        "cfb63bafdb87bbcdc5d6dbbca623d3f69475f118"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 09 09:33:34 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 12 14:18:43 2013 +0200"
      },
      "message": "kthread: Prevent unpark race which puts threads on the wrong cpu\n\nThe smpboot threads rely on the park/unpark mechanism which binds per\ncpu threads on a particular core. Though the functionality is racy:\n\nCPU0\t       \t \tCPU1  \t     \t    CPU2\nunpark(T)\t\t\t\t    wake_up_process(T)\n  clear(SHOULD_PARK)\tT runs\n\t\t\tleave parkme() due to !SHOULD_PARK  \n  bind_to(CPU2)\t\tBUG_ON(wrong CPU)\t\t\t\t\t\t    \n\nWe cannot let the tasks move themself to the target CPU as one of\nthose tasks is actually the migration thread itself, which requires\nthat it starts running on the target cpu right away.\n\nThe solution to this problem is to prevent wakeups in park mode which\nare not from unpark(). That way we can guarantee that the association\nof the task to the target cpu is working correctly.\n\nAdd a new task state (TASK_PARKED) which prevents other wakeups and\nuse this state explicitly for the unpark wakeup.\n\nPeter noticed: Also, since the task state is visible to userspace and\nall the parked tasks are still in the PID space, its a good hint in ps\nand friends that these tasks aren\u0027t really there for the moment.\n\nThe migration thread has another related issue.\n\nCPU0\t      \t     \t CPU1\nBring up CPU2\ncreate_thread(T)\npark(T)\n wait_for_completion()\n\t\t\t parkme()\n\t\t\t complete()\nsched_set_stop_task()\n\t\t\t schedule(TASK_PARKED)\n\nThe sched_set_stop_task() call is issued while the task is on the\nrunqueue of CPU1 and that confuses the hell out of the stop_task class\non that cpu. So we need the same synchronizaion before\nsched_set_stop_task().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-and-tested-by: Dave Hansen \u003cdave@sr71.net\u003e\nReported-and-tested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Peter Ziljstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: dhillf@gmail.com\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304091635430.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "9b89f6ba2ab56e4d9c00e7e591d6bc333137895e",
      "tree": "aaf33706bab10fb3ff9d1aaedca3e2673e65582f",
      "parents": [
        "b329fd5b018ffd64cfef6a2551bb2ca4bbfbacf2"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Thu Apr 11 20:30:29 2013 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 12 07:20:27 2013 +0200"
      },
      "message": "sched: Document task_struct::personality field\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1365701429-4721-1-git-send-email-epure.andrei@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3a98f871ecaf44806e188184332c3fec27c8f08c",
      "tree": "eaa95ad4a4762719a2c5b255e9e5444fae23943c",
      "parents": [
        "ee761f629d598579594d7e1eb8c552f3c5f71e4d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 21 22:49:33 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 08 17:39:22 2013 +0200"
      },
      "message": "idle: Implement set/clr functions for need_resched poll\n\nImplement set/clear functions for the idle need_resched poll\nimplementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Cc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130321215233.518839807@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee761f629d598579594d7e1eb8c552f3c5f71e4d",
      "tree": "c5661623f8420b41efc3970f1cab23e6db581f68",
      "parents": [
        "6546327ad187238ac63d2429701b32becb096fd8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 21 22:49:32 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 08 17:39:22 2013 +0200"
      },
      "message": "arch: Consolidate tsk_is_polling()\n\nMove it to a common place. Preparatory patch for implementing\nset/clear for the idle need_resched poll implementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Cc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130321215233.446034505@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3451d0243c3cdfd729b36f9684a14659d4895ca3",
      "tree": "5307f4492708ae089dd0a6d81b54f9e606707ca8",
      "parents": [
        "ab71d36ddb9e60d4ddb28a187718815d38c3c666"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 13:56:03 2013 +0200"
      },
      "message": "nohz: Rename CONFIG_NO_HZ to CONFIG_NO_HZ_COMMON\n\nWe are planning to convert the dynticks Kconfig options layout\ninto a choice menu. The user must be able to easily pick\nany of the following implementations: constant periodic tick,\nidle dynticks, full dynticks.\n\nAs this implies a mutual exclusion, the two dynticks implementions\nneed to converge on the selection of a common Kconfig option in order\nto ease the sharing of a common infrastructure.\n\nIt would thus seem pretty natural to reuse CONFIG_NO_HZ to\nthat end. It already implements all the idle dynticks code\nand the full dynticks depends on all that code for now.\nSo ideally the choice menu would propose CONFIG_NO_HZ_IDLE and\nCONFIG_NO_HZ_EXTENDED then both would select CONFIG_NO_HZ.\n\nOn the other hand we want to stay backward compatible: if\nCONFIG_NO_HZ is set in an older config file, we want to\nenable CONFIG_NO_HZ_IDLE by default.\n\nBut we can\u0027t afford both at the same time or we run into\na circular dependency:\n\n1) CONFIG_NO_HZ_IDLE and CONFIG_NO_HZ_EXTENDED both select\n   CONFIG_NO_HZ\n2) If CONFIG_NO_HZ is set, we default to CONFIG_NO_HZ_IDLE\n\nWe might be able to support that from Kconfig/Kbuild but it\nmay not be wise to introduce such a confusing behaviour.\n\nSo to solve this, create a new CONFIG_NO_HZ_COMMON option\nwhich gathers the common code between idle and full dynticks\n(that common code for now is simply the idle dynticks code)\nand select it from their referring Kconfig.\n\nThen we\u0027ll later create CONFIG_NO_HZ_IDLE and map CONFIG_NO_HZ\nto it for backward compatibility.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
      "tree": "c8ae27b13dcdb0219634376ca5e667df32b1173a",
      "parents": [
        "ea6749c705d9e629ed03c7336cc929fc6014b834"
      ],
      "author": {
        "name": "Kent Overstreet",
        "email": "koverstreet@google.com",
        "time": "Sat Mar 23 16:11:31 2013 -0700"
      },
      "committer": {
        "name": "Kent Overstreet",
        "email": "koverstreet@google.com",
        "time": "Sat Mar 23 16:11:31 2013 -0700"
      },
      "message": "bcache: A block layer cache\n\nDoes writethrough and writeback caching, handles unclean shutdown, and\nhas a bunch of other nifty features motivated by real world usage.\n\nSee the wiki at http://bcache.evilpiepirate.org for more.\n\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\n"
    },
    {
      "commit": "1c20091e77fc5a9b7d7d905176443b4822a23cdb",
      "tree": "ef3c2edc749ccfc87b5f9682973f54414de746c3",
      "parents": [
        "a382bf934449ddeb625167537ae81daa0211b477"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 21 15:55:59 2013 +0100"
      },
      "message": "nohz: Wake up full dynticks CPUs when a timer gets enqueued\n\nWake up a CPU when a timer list timer is enqueued there and\nthe target is part of the full dynticks range. Sending an IPI\nto it makes it reconsidering the next timer to program on top\nof recent updates.\n\nThis may later be improved by checking if the tick is really\nstopped on the target. This would need some careful\nsynchronization though. So deal with such optimization later\nand start simple.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "14a40ffccd6163bbcd1d6f32b28a88ffe6149fc6",
      "tree": "eb61e5bf7b64c3e67f3e33fe6b07fde4ee1d4d43",
      "parents": [
        "2e109a2855bf6cf675a8b74dbd89b6492e8def42"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 19 13:45:20 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 19 13:45:20 2013 -0700"
      },
      "message": "sched: replace PF_THREAD_BOUND with PF_NO_SETAFFINITY\n\nPF_THREAD_BOUND was originally used to mark kernel threads which were\nbound to a specific CPU using kthread_bind() and a task with the flag\nset allows cpus_allowed modifications only to itself.  Workqueue is\ncurrently abusing it to prevent userland from meddling with\ncpus_allowed of workqueue workers.\n\nWhat we need is a flag to prevent userland from messing with\ncpus_allowed of certain kernel tasks.  In kernel, anyone can\n(incorrectly) squash the flag, and, for worker-type usages,\nrestricting cpus_allowed modification to the task itself doesn\u0027t\nprovide meaningful extra proection as other tasks can inject work\nitems to the task anyway.\n\nThis patch replaces PF_THREAD_BOUND with PF_NO_SETAFFINITY.\nsched_setaffinity() checks the flag and return -EINVAL if set.\nset_cpus_allowed_ptr() is no longer affected by the flag.\n\nThis will allow simplifying workqueue worker CPU affinity management.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e3da46797f8e4d8217d2e3d6857444391b306da",
      "tree": "4532f3bec8e45fbc69cc8389c4c7316d3eba7ae4",
      "parents": [
        "27b4b9319a3c2e8654d45df99ce584c7c2cfe100",
        "8b43876643a737bb74a0e1e557f634eb2453948b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 08 16:41:22 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 08 16:41:22 2013 +0100"
      },
      "message": "Merge branch \u0027sched/cputime\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull cputime changes from Frederic Weisbecker:\n\n  * Generalize exception handling\n\n  * Fix race in context tracking state restore on return from exception\n    and irq exit kernel preemption\n\n  * Fix cputime scaling in full dynticks accounting dynamic off-case\n\n  * Fix default Kconfig value\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9fbc42eac1f6917081dc3b39922b2f1c57fdff28",
      "tree": "9eef797db037ced359dc5abcc6945cfb8f303a09",
      "parents": [
        "b22366cd54c6fe05db426f20adb10f461c19ec06"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Feb 25 17:25:39 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 07 17:10:32 2013 +0100"
      },
      "message": "cputime: Dynamically scale cputime for full dynticks accounting\n\nThe full dynticks cputime accounting is able to account either\nusing the tick or the context tracking subsystem. This way\nthe housekeeping CPU can keep the low overhead tick based\nsolution.\n\nThis latter mode has a low jiffies resolution granularity and\nneed to be scaled against CFS precise runtime accounting to\nimprove its result. We are doing this for CONFIG_TICK_CPU_ACCOUNTING,\nnow we also need to expand it to full dynticks accounting dynamic\noff-case as well.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Mats Liljegren \u003cmats.liljegren@enea.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "25cc7da7e6336d3bb6a5bad3d3fa96fce9a81d5b",
      "tree": "f039848c9d9ef5a3baf50b3a40eaa867b013e40f",
      "parents": [
        "15f803c94bd92b17708aad9e74226fd0b2c9130c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:33 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:34 2013 +0100"
      },
      "message": "sched: Move group scheduling functions out of include/linux/sched.h\n\n- Make sched_group_{set_,}runtime(), sched_group_{set_,}period()\nand sched_rt_can_attach() static.\n\n- Move sched_{create,destroy,online,offline}_group() to\nkernel/sched/sched.h.\n\n- Remove declaration of sched_group_shares().\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7C5.3000708@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "15f803c94bd92b17708aad9e74226fd0b2c9130c",
      "tree": "9e82cc81ab4de87e3878b503170be862a96dbe54",
      "parents": [
        "c82ba9fa7588dfd02d4dc99ad1af486304bc424c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:11 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:34 2013 +0100"
      },
      "message": "sched: Make default_scale_freq_power() static\n\nAs default_scale_{freq,smt}_power() and update_rt_power() are\nused in kernel/sched/fair.c only, annotate them as static\nfunctions.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7AF.8010900@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c82ba9fa7588dfd02d4dc99ad1af486304bc424c",
      "tree": "870cdeaa3aad811645cce93b1c15646ed4b9f133",
      "parents": [
        "b13095f07f25464de65f5ce5ea94e16813d67488"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:33 2013 +0100"
      },
      "message": "sched: Move struct sched_class to kernel/sched/sched.h\n\nIt\u0027s used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A79F.8090502@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b13095f07f25464de65f5ce5ea94e16813d67488",
      "tree": "5faa4080f5384f9668f01619afb90ea1db1d1890",
      "parents": [
        "5e6521eaa1ee581a13b904f35b80c5efeb2baccb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:38 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:32 2013 +0100"
      },
      "message": "sched: Move wake flags to kernel/sched/sched.h\n\nThey are used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A78E.7040609@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5e6521eaa1ee581a13b904f35b80c5efeb2baccb",
      "tree": "4a8e82ba57da872636ff432edc036914163249e5",
      "parents": [
        "cc1f4b1f3faed9f2040eff2a75f510b424b3cf18"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:23 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:31 2013 +0100"
      },
      "message": "sched: Move struct sched_group to kernel/sched/sched.h\n\nMove struct sched_group_power and sched_group and related inline\nfunctions to kernel/sched/sched.h, as they are used internally\nonly.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A77F.2010705@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cc1f4b1f3faed9f2040eff2a75f510b424b3cf18",
      "tree": "c894d67bfca2ff5aebf09cc1f3cc8b0f8f88ddd6",
      "parents": [
        "090b582f27ac7b6714661020033160130e5297bd"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:09 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:30 2013 +0100"
      },
      "message": "sched: Move SCHED_LOAD_SHIFT macros to kernel/sched/sched.h\n\nThey are used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A771.4070104@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "090b582f27ac7b6714661020033160130e5297bd",
      "tree": "6d47d02653bd07e30d85fd9cbba32e7811f3baeb",
      "parents": [
        "19a37d1cd5465c10d669a296a2ea24b4c985363b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:05:51 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:29 2013 +0100"
      },
      "message": "sched: Remove test_sd_parent()\n\nIt\u0027s unused.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A75F.4070202@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "19a37d1cd5465c10d669a296a2ea24b4c985363b",
      "tree": "e178cd83bb047694881c81a673d3e4cc6d8fea5c",
      "parents": [
        "6dbe51c251a327e012439c4772097a13df43c5b8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:05:28 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:28 2013 +0100"
      },
      "message": "sched: Remove some dummy functions\n\nNo one will call those functions if CONFIG_SCHED_DEBUG\u003dn.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A748.3050206@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e579d2c259be42b6f29458327e5153b22414b031",
      "tree": "ac3babd0f075ddfeb5e6fa083651852b34a0a79f",
      "parents": [
        "5d1fadc1472396d602f0eeb10d37519e2a14e8bc"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Wed Feb 27 17:03:15 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:11 2013 -0800"
      },
      "message": "coredump: remove redundant defines for dumpable states\n\nThe existing SUID_DUMP_* defines duplicate the newer SUID_DUMPABLE_*\ndefines introduced in 54b501992dd2 (\"coredump: warn about unsafe\nsuid_dumpable / core_pattern combo\").  Remove the new ones, and use the\nprior values instead.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReported-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcad0fceae528e8007610308bad7e5a3370e5c39",
      "tree": "1af69697e0988e8dbdf42d915508bd58a1887b4f",
      "parents": [
        "f8ef15d6b9d8e38729cd740a43919adf88468119",
        "7f6575f1fb963d5231afbceecd3feadb6ab58cd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cputime: Use local_clock() for full dynticks cputime accounting\n  cputime: Constify timeval_to_cputime(timeval) argument\n  sched: Move RR_TIMESLICE from sysctl.h to rt.h\n  sched: Fix /proc/sched_debug failure on very very large systems\n  sched: Fix /proc/sched_stat failure on very very large systems\n  sched/core: Remove the obsolete and unused nr_uninterruptible() function\n"
    },
    {
      "commit": "9e2d59ad580d590134285f361a0e80f0e98c0207",
      "tree": "f3232be75781484193413f32ec82c21f6d8eb76e",
      "parents": [
        "5ce1a70e2f00f0bce0cab57f798ca354b9496169",
        "235b80226b986dabcbba844968f7807866bd0bfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 18:50:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 18:50:11 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"This is the first pile; another one will come a bit later and will\n  contain SYSCALL_DEFINE-related patches.\n\n   - a bunch of signal-related syscalls (both native and compat)\n     unified.\n\n   - a bunch of compat syscalls switched to COMPAT_SYSCALL_DEFINE\n     (fixing several potential problems with missing argument\n     validation, while we are at it)\n\n   - a lot of now-pointless wrappers killed\n\n   - a couple of architectures (cris and hexagon) forgot to save\n     altstack settings into sigframe, even though they used the\n     (uninitialized) values in sigreturn; fixed.\n\n   - microblaze fixes for delivery of multiple signals arriving at once\n\n   - saner set of helpers for signal delivery introduced, several\n     architectures switched to using those.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (143 commits)\n  x86: convert to ksignal\n  sparc: convert to ksignal\n  arm: switch to struct ksignal * passing\n  alpha: pass k_sigaction and siginfo_t using ksignal pointer\n  burying unused conditionals\n  make do_sigaltstack() static\n  arm64: switch to generic old sigaction() (compat-only)\n  arm64: switch to generic compat rt_sigaction()\n  arm64: switch compat to generic old sigsuspend\n  arm64: switch to generic compat rt_sigqueueinfo()\n  arm64: switch to generic compat rt_sigpending()\n  arm64: switch to generic compat rt_sigprocmask()\n  arm64: switch to generic sigaltstack\n  sparc: switch to generic old sigsuspend\n  sparc: COMPAT_SYSCALL_DEFINE does all sign-extension as well as SYSCALL_DEFINE\n  sparc: kill sign-extending wrappers for native syscalls\n  kill sparc32_open()\n  sparc: switch to use of generic old sigaction\n  sparc: switch sys_compat_rt_sigaction() to COMPAT_SYSCALL_DEFINE\n  mips: switch to generic sys_fork() and sys_clone()\n  ...\n"
    },
    {
      "commit": "21caf2fc1931b485483ddd254b634fa8f0099963",
      "tree": "e7cbdfe56948775328f7622522620864356d8264",
      "parents": [
        "258401a60c4df39332f30ef57afbc6dbf29a7e84"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Fri Feb 22 16:34:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 17:50:16 2013 -0800"
      },
      "message": "mm: teach mm by current context info to not do I/O during memory allocation\n\nThis patch introduces PF_MEMALLOC_NOIO on process flag(\u0027flags\u0027 field of\n\u0027struct task_struct\u0027), so that the flag can be set by one task to avoid\ndoing I/O inside memory allocation in the task\u0027s context.\n\nThe patch trys to solve one deadlock problem caused by block device, and\nthe problem may happen at least in the below situations:\n\n- during block device runtime resume, if memory allocation with\n  GFP_KERNEL is called inside runtime resume callback of any one of its\n  ancestors(or the block device itself), the deadlock may be triggered\n  inside the memory allocation since it might not complete until the block\n  device becomes active and the involed page I/O finishes.  The situation\n  is pointed out first by Alan Stern.  It is not a good approach to\n  convert all GFP_KERNEL[1] in the path into GFP_NOIO because several\n  subsystems may be involved(for example, PCI, USB and SCSI may be\n  involved for usb mass stoarage device, network devices involved too in\n  the iSCSI case)\n\n- during block device runtime suspend, because runtime resume need to\n  wait for completion of concurrent runtime suspend.\n\n- during error handling of usb mass storage deivce, USB bus reset will\n  be put on the device, so there shouldn\u0027t have any memory allocation with\n  GFP_KERNEL during USB bus reset, otherwise the deadlock similar with\n  above may be triggered.  Unfortunately, any usb device may include one\n  mass storage interface in theory, so it requires all usb interface\n  drivers to handle the situation.  In fact, most usb drivers don\u0027t know\n  how to handle bus reset on the device and don\u0027t provide .pre_set() and\n  .post_reset() callback at all, so USB core has to unbind and bind driver\n  for these devices.  So it is still not practical to resort to GFP_NOIO\n  for solving the problem.\n\nAlso the introduced solution can be used by block subsystem or block\ndrivers too, for example, set the PF_MEMALLOC_NOIO flag before doing\nactual I/O transfer.\n\nIt is not a good idea to convert all these GFP_KERNEL in the affected\npath into GFP_NOIO because these functions doing that may be implemented\nas library and will be called in many other contexts.\n\nIn fact, memalloc_noio_flags() can convert some of current static\nGFP_NOIO allocation into GFP_KERNEL back in other non-affected contexts,\nat least almost all GFP_NOIO in USB subsystem can be converted into\nGFP_KERNEL after applying the approach and make allocation with GFP_NOIO\nonly happen in runtime resume/bus reset/block I/O transfer contexts\ngenerally.\n\n[1], several GFP_KERNEL allocation examples in runtime resume path\n\n- pci subsystem\nacpi_os_allocate\n\t\u003c-acpi_ut_allocate\n\t\t\u003c-ACPI_ALLOCATE_ZEROED\n\t\t\t\u003c-acpi_evaluate_object\n\t\t\t\t\u003c-__acpi_bus_set_power\n\t\t\t\t\t\u003c-acpi_bus_set_power\n\t\t\t\t\t\t\u003c-acpi_pci_set_power_state\n\t\t\t\t\t\t\t\u003c-platform_pci_set_power_state\n\t\t\t\t\t\t\t\t\u003c-pci_platform_power_transition\n\t\t\t\t\t\t\t\t\t\u003c-__pci_complete_power_transition\n\t\t\t\t\t\t\t\t\t\t\u003c-pci_set_power_state\n\t\t\t\t\t\t\t\t\t\t\t\u003c-pci_restore_standard_config\n\t\t\t\t\t\t\t\t\t\t\t\t\u003c-pci_pm_runtime_resume\n- usb subsystem\nusb_get_status\n\t\u003c-finish_port_resume\n\t\t\u003c-usb_port_resume\n\t\t\t\u003c-generic_resume\n\t\t\t\t\u003c-usb_resume_device\n\t\t\t\t\t\u003c-usb_resume_both\n\t\t\t\t\t\t\u003c-usb_runtime_resume\n\n- some individual usb drivers\nusblp, uvc, gspca, most of dvb-usb-v2 media drivers, cpia2, az6007, ....\n\nThat is just what I have found.  Unfortunately, this allocation can only\nbe found by human being now, and there should be many not found since\nany function in the resume path(call tree) may allocate memory with\nGFP_KERNEL.\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nCc: Jiri Kosina \u003cjiri.kosina@suse.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David Decotigny \u003cdavid.decotigny@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "502b24c23b44fbaa01cc2cbd86d8035845b7811f",
      "tree": "3096deeb99f6acc2d72ee33f145008ec5e2c68b3",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83",
        "f169007b2773f285e098cb84c74aac0154d65ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Nothing too drastic.\n\n   - Removal of synchronize_rcu() from userland visible paths.\n\n   - Various fixes and cleanups from Li.\n\n   - cgroup_rightmost_descendant() added which will be used by cpuset\n     changes (it will be a separate pull request).\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: fail if monitored file and event_control are in different cgroup\n  cgroup: fix cgroup_rmdir() vs close(eventfd) race\n  cpuset: fix cpuset_print_task_mems_allowed() vs rename() race\n  cgroup: fix exit() vs rmdir() race\n  cgroup: remove bogus comments in cgroup_diput()\n  cgroup: remove synchronize_rcu() from cgroup_diput()\n  cgroup: remove duplicate RCU free on struct cgroup\n  sched: remove redundant NULL cgroup check in task_group_path()\n  sched: split out css_online/css_offline from tg creation/destruction\n  cgroup: initialize cgrp-\u003edentry before css_alloc()\n  cgroup: remove a NULL check in cgroup_exit()\n  cgroup: fix bogus kernel warnings when cgroup_create() failed\n  cgroup: remove synchronize_rcu() from rebind_subsystems()\n  cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()\n  cgroup: use new hashtable implementation\n  cgroups: fix cgroup_event_listener error handling\n  cgroups: move cgroup_event_listener.c to tools/cgroup\n  cgroup: implement cgroup_rightmost_descendant()\n  cgroup: remove unused dummy cgroup_fork_callbacks()\n"
    },
    {
      "commit": "1c3e826482ab698e418c7a894440e62c76aac893",
      "tree": "308b6ec83faaf1185c937ef4d2a5387bef00ff99",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Wed Feb 20 17:14:38 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Feb 20 11:39:24 2013 +0100"
      },
      "message": "sched/core: Remove the obsolete and unused nr_uninterruptible() function\n\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1361351678-8065-1-git-send-email-handai.szj@taobao.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e9b04b5b67ec628a5e9a312e14b6864f8f73ba12",
      "tree": "bd147c23da22edc74fd8c381b0f053678599615f",
      "parents": [
        "9b25d604182169a08b206306b312d2df26b5f502"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 20 11:14:10 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Feb 14 09:21:15 2013 -0500"
      },
      "message": "make do_sigaltstack() static\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8bd75c77b7c6a3954140dd2e20346aef3efe4a35",
      "tree": "10e0d451a58aeb6c8f48b871a848276bf3a8a359",
      "parents": [
        "ce0dbbbb30aee6a835511d5be446462388ba9eee"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:07 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:08 2013 +0100"
      },
      "message": "sched/rt: Move rt specific bits into new header file\n\nMove rt scheduler definitions out of include/linux/sched.h into\nnew file include/linux/sched/rt.h\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094707.7b9f825f@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cf4aebc292fac7f34f8345664320e9d4a42ca76c",
      "tree": "6eceb9bb2d8382c4499366a8fee060688aad6107",
      "parents": [
        "b2c77a57e4a0a7877e357dead7ee8acc19944f3e"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:46:59 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:50:54 2013 +0100"
      },
      "message": "sched: Move sched.h sysctl bits into separate header\n\nMove the sysctl-related bits from include/linux/sched.h into\na new file: include/linux/sched/sysctl.h. Then update source\nfiles requiring access to those bits by including the new\nheader file.\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094659.06dced96@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b2c77a57e4a0a7877e357dead7ee8acc19944f3e",
      "tree": "fa192b5a058711299c2a8ce2621df6c9bd8f3a99",
      "parents": [
        "c3c186403c6abd32e719f005f0af950155a9e54d",
        "6a61671bb2f3a1bd12cd17b8fca811a624782632"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "message": "Merge tag \u0027full-dynticks-cputime-for-mingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull full-dynticks (user-space execution is undisturbed and\nreceives no timer IRQs) preparation changes that convert the\ncputime accounting code to be full-dynticks ready,\nfrom Frederic Weisbecker:\n\n \"This implements the cputime accounting on full dynticks CPUs.\n\n  Typical cputime stats infrastructure relies on the timer tick and\n  its periodic polling on the CPU to account the amount of time\n  spent by the CPUs and the tasks per high level domains such as\n  userspace, kernelspace, guest, ...\n\n  Now we are preparing to implement full dynticks capability on\n  Linux for Real Time and HPC users who want full CPU isolation.\n  This feature requires a cputime accounting that doesn\u0027t depend\n  on the timer tick.\n\n  To implement it, this new cputime infrastructure plugs into\n  kernel/user/guest boundaries to take snapshots of cputime and\n  flush these to the stats when needed. This performs pretty\n  much like CONFIG_VIRT_CPU_ACCOUNTING except that context location\n  and cputime snaphots are synchronized between write and read\n  side such that the latter can safely retrieve the pending tickless\n  cputime of a task and add it to its latest cputime snapshot to\n  return the correct result to the user.\"\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5a1b98d3096f1d780045f9be812335ad77aed93d",
      "tree": "8a7dd49d3ed891d3d2f6cd47f972fee36ecaf325",
      "parents": [
        "2ce5da17570771330f44ac993b77749debf7954b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 06 13:28:21 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 03 15:09:26 2013 -0500"
      },
      "message": "new helper: sigsp()\n\nNormal logics for altstack handling in sigframe allocation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a61671bb2f3a1bd12cd17b8fca811a624782632",
      "tree": "0afc2915fb7e517472710a49a524510322dd5baa",
      "parents": [
        "c11f11fcbdb5be790c565aed46411486a7586afc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 16 20:00:34 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 20:35:47 2013 +0100"
      },
      "message": "cputime: Safely read cputime of full dynticks CPUs\n\nWhile remotely reading the cputime of a task running in a\nfull dynticks CPU, the values stored in utime/stime fields\nof struct task_struct may be stale. Its values may be those\nof the last kernel \u003c-\u003e user transition time snapshot and\nwe need to add the tickless time spent since this snapshot.\n\nTo fix this, flush the cputime of the dynticks CPUs on\nkernel \u003c-\u003e user transition and record the time / context\nwhere we did this. Then on top of this snapshot and the current\ntime, perform the fixup on the reader side from task_times()\naccessors.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[fixed kvm module related build errors]\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n"
    },
    {
      "commit": "6fac4829ce0ef9b7f24369086ce5f0e9f38d37bc",
      "tree": "44da712b66d778c2fd701f9c96b00e108530e1a9",
      "parents": [
        "3f4724ea85b7d9055a9976fa8f30b471bdfbca93"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 13 14:20:55 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:31 2013 +0100"
      },
      "message": "cputime: Use accessors to read task cputime stats\n\nThis is in preparation for the full dynticks feature. While\nremotely reading the cputime of a task running in a full\ndynticks CPU, we\u0027ll need to do some extra-computation. This\nway we can account the time it spent tickless in userspace\nsince its last cputime snapshot.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "57d2aa00dcec67afa52478730f2b524521af14fb",
      "tree": "ee5ba553c8d22aaeb5c4ecf946d298ddb7d63fa0",
      "parents": [
        "16c8f1c72ece3871a6c93003cd888fc2d003a7eb"
      ],
      "author": {
        "name": "Ying Xue",
        "email": "ying.xue@windriver.com",
        "time": "Tue Jul 17 15:03:43 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jan 25 08:31:54 2013 +0100"
      },
      "message": "sched/rt: Avoid updating RT entry timeout twice within one tick period\n\nThe issue below was found in 2.6.34-rt rather than mainline rt\nkernel, but the issue still exists upstream as well.\n\nSo please let me describe how it was noticed on 2.6.34-rt:\n\nOn this version, each softirq has its own thread, it means there\nis at least one RT FIFO task per cpu. The priority of these\ntasks is set to 49 by default. If user launches an RT FIFO task\nwith priority lower than 49 of softirq RT tasks, it\u0027s possible\nthere are two RT FIFO tasks enqueued one cpu runqueue at one\nmoment. By current strategy of balancing RT tasks, when it comes\nto RT tasks, we really need to put them off to a CPU that they\ncan run on as soon as possible. Even if it means a bit of cache\nline flushing, we want RT tasks to be run with the least latency.\n\nWhen the user RT FIFO task which just launched before is\nrunning, the sched timer tick of the current cpu happens. In this\ntick period, the timeout value of the user RT task will be\nupdated once. Subsequently, we try to wake up one softirq RT\ntask on its local cpu. As the priority of current user RT task\nis lower than the softirq RT task, the current task will be\npreempted by the higher priority softirq RT task. Before\npreemption, we check to see if current can readily move to a\ndifferent cpu. If so, we will reschedule to allow the RT push logic\nto try to move current somewhere else. Whenever the woken\nsoftirq RT task runs, it first tries to migrate the user FIFO RT\ntask over to a cpu that is running a task of lesser priority. If\nmigration is done, it will send a reschedule request to the found\ncpu by IPI interrupt. Once the target cpu responds the IPI\ninterrupt, it will pick the migrated user RT task to preempt its\ncurrent task. When the user RT task is running on the new cpu,\nthe sched timer tick of the cpu fires. So it will tick the user\nRT task again. This also means the RT task timeout value will be\nupdated again. As the migration may be done in one tick period,\nit means the user RT task timeout value will be updated twice\nwithin one tick.\n\nIf we set a limit on the amount of cpu time for the user RT task\nby setrlimit(RLIMIT_RTTIME), the SIGXCPU signal should be posted\nupon reaching the soft limit.\n\nBut exactly when the SIGXCPU signal should be sent depends on the\nRT task timeout value. In fact the timeout mechanism of sending\nthe SIGXCPU signal assumes the RT task timeout is increased once\nevery tick.\n\nHowever, currently the timeout value may be added twice per\ntick. So it results in the SIGXCPU signal being sent earlier\nthan expected.\n\nTo solve this issue, we prevent the timeout value from increasing\ntwice within one tick time by remembering the jiffies value of\nlast updating the timeout. As long as the RT task\u0027s jiffies is\ndifferent with the global jiffies value, we allow its timeout to\nbe updated.\n\nSigned-off-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1342508623-2887-1-git-send-email-ying.xue@windriver.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ace783b9bbfa2182b4a561498db3f09a0c56bc79",
      "tree": "e490b561cbd0d14f6514f4f2cf1413bcab05c275",
      "parents": [
        "fe1c06ca7523baa668c1eaf1e1016fa64753c32e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Thu Jan 24 14:30:48 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 12:05:18 2013 -0800"
      },
      "message": "sched: split out css_online/css_offline from tg creation/destruction\n\nThis is a preparaton for later patches.\n\n- What do we gain from cpu_cgroup_css_online():\n\nAfter ss-\u003ecss_alloc() and before ss-\u003ecss_online(), there\u0027s a small\nwindow that tg-\u003ecss.cgroup is NULL. With this change, tg won\u0027t be seen\nbefore ss-\u003ecss_online(), where it\u0027s added to the global list, so we\u0027re\nguaranteed we\u0027ll never see NULL tg-\u003ecss.cgroup.\n\n- What do we gain from cpu_cgroup_css_offline():\n\ntg is freed via RCU, so is cgroup. Without this change, This is how\nsynchronization works:\n\ncgroup_rmdir()\n  no ss-\u003ecss_offline()\ndiput()\n  syncornize_rcu()\n  ss-\u003ecss_free()       \u003c-- unregister tg, and free it via call_rcu()\n  kfree_rcu(cgroup)    \u003c-- wait possible refs to cgroup, and free cgroup\n\nWe can\u0027t just kfree(cgroup), because tg might access tg-\u003ecss.cgroup.\n\nWith this change:\n\ncgroup_rmdir()\n  ss-\u003ecss_offline()    \u003c-- unregister tg\ndiput()\n  synchronize_rcu()    \u003c-- wait possible refs to tg and cgroup\n  ss-\u003ecss_free()       \u003c-- free tg\n  kfree_rcu(cgroup)    \u003c-- free cgroup\n\nAs you see, kfree_rcu() is redundant now.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "910ffdb18a6408e14febbb6e4b6840fd2c928c82",
      "tree": "258a215685f2ca2bb11dcd92582e0adafbd83f7b",
      "parents": [
        "9a9284153d965a57edc7162a8e57c14c97f3a935"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 21 20:47:41 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 22 08:50:08 2013 -0800"
      },
      "message": "ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up()\n\nCleanup and preparation for the next change.\n\nsignal_wake_up(resume \u003d\u003e true) is overused. None of ptrace/jctl callers\nactually want to wakeup a TASK_WAKEKILL task, but they can\u0027t specify the\nnecessary mask.\n\nTurn signal_wake_up() into signal_wake_up_state(state), reintroduce\nsignal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()\nwhich adds __TASK_TRACED.\n\nThis way ptrace_signal_wake_up() can work \"inside\" ptrace_request()\neven if the tracee doesn\u0027t have the TASK_WAKEKILL bit set.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "774a1221e862b343388347bac9b318767336b20b",
      "tree": "ee02b2b71268d9478f709bea8636ddd5eafdc007",
      "parents": [
        "406089d01562f1e2bf9f089fd7637009ebaad589"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 15 18:52:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 09:05:33 2013 -0800"
      },
      "message": "module, async: async_synchronize_full() on module init iff async is used\n\nIf the default iosched is built as module, the kernel may deadlock\nwhile trying to load the iosched module on device probe if the probing\nwas running off async.  This is because async_synchronize_full() at\nthe end of module init ends up waiting for the async job which\ninitiated the module loading.\n\n async A\t\t\t\tmodprobe\n\n 1. finds a device\n 2. registers the block device\n 3. request_module(default iosched)\n\t\t\t\t\t4. modprobe in userland\n\t\t\t\t\t5. load and init module\n\t\t\t\t\t6. async_synchronize_full()\n\nAsync A waits for modprobe to finish in request_module() and modprobe\nwaits for async A to finish in async_synchronize_full().\n\nBecause there\u0027s no easy to track dependency once control goes out to\nuserland, implementing properly nested flushing is difficult.  For\nnow, make module init perform async_synchronize_full() iff module init\nhas queued async jobs as suggested by Linus.\n\nThis avoids the described deadlock because iosched module doesn\u0027t use\nasync and thus wouldn\u0027t invoke async_synchronize_full().  This is\nhacky and incomplete.  It will deadlock if async module loading nests;\nhowever, this works around the known problem case and seems to be the\nbest of bad options.\n\nFor more details, please refer to the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/1420814\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nTested-by: Ming Lei \u003cming.lei@canonical.com\u003e\nTested-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "ae903caae267154de7cf8576b130ff474630596b",
      "tree": "a39d238d7fd1742f7f20cacbd24a4d1b4957176e",
      "parents": [
        "468366138850f20543f1d4878028900672b23dae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 12:44:11 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:38 2012 -0500"
      },
      "message": "Bury the conditionals from kernel_thread/kernel_execve series\n\nAll architectures have\n\tCONFIG_GENERIC_KERNEL_THREAD\n\tCONFIG_GENERIC_KERNEL_EXECVE\n\t__ARCH_WANT_SYS_EXECVE\nNone of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers\nof kernel_execve() (which is a trivial wrapper for do_execve() now) left.\nKill the conditionals and make both callers use do_execve().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0e9d92f2d02d8c8320f0502307c688d07bdac2b3",
      "tree": "bbbdb6759579766c60679963497064e0db3a6f32",
      "parents": [
        "d7f25f8a2f81252d1ac134470ba1d0a287cf8fcd"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg: skip memcg kmem allocations in specified code regions\n\nCreate a mechanism that skip memcg allocations during certain pieces of\nour core code.  It basically works in the same way as\npreempt_disable()/preempt_enable(): By marking a region under which all\nallocations will be accounted to the root memcg.\n\nWe need this to prevent races in early cache creation, when we\nallocate data using caches that are not necessarily created already.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nyCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5ba911ec3792168530d35e16a8ec3b6fc60bcb5",
      "tree": "1dbffcb920aabeb12dc166aa11299bbddba8a245",
      "parents": [
        "d740269867021faf4ce38a449353d2b986c34a67"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Dec 17 16:03:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:23 2012 -0800"
      },
      "message": "pidns: remove unused is_container_init()\n\nSince commit 1cdcbec1a337 (\"CRED: Neuter sys_capset()\")\nis_container_init() has no callers.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d59eebc5e137bd89c6351e4c70e90ba1d0dc234",
      "tree": "b4ddfd0b057454a7437a3b4e3074a3b8b4b03817",
      "parents": [
        "11520e5e7c1855fc3bf202bb3be35a39d9efa034",
        "4fc3f1d66b1ef0d7b8dc11f4ff1cc510f78b37d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 14:33:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:18:08 2012 -0800"
      },
      "message": "Merge tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma\n\nPull Automatic NUMA Balancing bare-bones from Mel Gorman:\n \"There are three implementations for NUMA balancing, this tree\n  (balancenuma), numacore which has been developed in tip/master and\n  autonuma which is in aa.git.\n\n  In almost all respects balancenuma is the dumbest of the three because\n  its main impact is on the VM side with no attempt to be smart about\n  scheduling.  In the interest of getting the ball rolling, it would be\n  desirable to see this much merged for 3.8 with the view to building\n  scheduler smarts on top and adapting the VM where required for 3.9.\n\n  The most recent set of comparisons available from different people are\n\n    mel:    https://lkml.org/lkml/2012/12/9/108\n    mingo:  https://lkml.org/lkml/2012/12/7/331\n    tglx:   https://lkml.org/lkml/2012/12/10/437\n    srikar: https://lkml.org/lkml/2012/12/10/397\n\n  The results are a mixed bag.  In my own tests, balancenuma does\n  reasonably well.  It\u0027s dumb as rocks and does not regress against\n  mainline.  On the other hand, Ingo\u0027s tests shows that balancenuma is\n  incapable of converging for this workloads driven by perf which is bad\n  but is potentially explained by the lack of scheduler smarts.  Thomas\u0027\n  results show balancenuma improves on mainline but falls far short of\n  numacore or autonuma.  Srikar\u0027s results indicate we all suffer on a\n  large machine with imbalanced node sizes.\n\n  My own testing showed that recent numacore results have improved\n  dramatically, particularly in the last week but not universally.\n  We\u0027ve butted heads heavily on system CPU usage and high levels of\n  migration even when it shows that overall performance is better.\n  There are also cases where it regresses.  Of interest is that for\n  specjbb in some configurations it will regress for lower numbers of\n  warehouses and show gains for higher numbers which is not reported by\n  the tool by default and sometimes missed in treports.  Recently I\n  reported for numacore that the JVM was crashing with\n  NullPointerExceptions but currently it\u0027s unclear what the source of\n  this problem is.  Initially I thought it was in how numacore batch\n  handles PTEs but I\u0027m no longer think this is the case.  It\u0027s possible\n  numacore is just able to trigger it due to higher rates of migration.\n\n  These reports were quite late in the cycle so I/we would like to start\n  with this tree as it contains much of the code we can agree on and has\n  not changed significantly over the last 2-3 weeks.\"\n\n* tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma: (50 commits)\n  mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable\n  mm/rmap: Convert the struct anon_vma::mutex to an rwsem\n  mm: migrate: Account a transhuge page properly when rate limiting\n  mm: numa: Account for failed allocations and isolations as migration failures\n  mm: numa: Add THP migration for the NUMA working set scanning fault case build fix\n  mm: numa: Add THP migration for the NUMA working set scanning fault case.\n  mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n  mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG\n  mm: sched: numa: Control enabling and disabling of NUMA balancing\n  mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n  mm: numa: Use a two-stage filter to restrict pages being migrated for unlikely task\u003c-\u003enode relationships\n  mm: numa: migrate: Set last_nid on newly allocated page\n  mm: numa: split_huge_page: Transfer last_nid on tail page\n  mm: numa: Introduce last_nid to the page frame\n  sched: numa: Slowly increase the scanning period as NUMA faults are handled\n  mm: numa: Rate limit setting of pte_numa if node is saturated\n  mm: numa: Rate limit the amount of memory that is migrated between nodes\n  mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting\n  mm: numa: Migrate pages handled during a pmd_numa hinting fault\n  mm: numa: Migrate on reference policy\n  ...\n"
    },
    {
      "commit": "66cdd0ceaf65a18996f561b770eedde1d123b019",
      "tree": "4892eaa422d366fce5d1e866ff1fe0988af95569",
      "parents": [
        "896ea17d3da5f44b2625c9cda9874d7dfe447393",
        "58b7825bc324da55415034a9f6ca5d716b8fd898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "message": "Merge tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"Considerable KVM/PPC work, x86 kvmclock vsyscall support,\n  IA32_TSC_ADJUST MSR emulation, amongst others.\"\n\nFix up trivial conflict in kernel/sched/core.c due to cross-cpu\nmigration notifier added next to rq migration call-back.\n\n* tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)\n  KVM: emulator: fix real mode segment checks in address linearization\n  VMX: remove unneeded enable_unrestricted_guest check\n  KVM: VMX: fix DPL during entry to protected mode\n  x86/kexec: crash_vmclear_local_vmcss needs __rcu\n  kvm: Fix irqfd resampler list walk\n  KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump\n  x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary\n  KVM: MMU: optimize for set_spte\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  ...\n"
    },
    {
      "commit": "9977d9b379cb77e0f67bd6f4563618106e58e11d",
      "tree": "0191accfddf578edb52c69c933d64521e3dce297",
      "parents": [
        "cf4af01221579a4e895f43dbfc47598fbfc5a731",
        "541880d9a2c7871f6370071d55aa6662d329c51e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull big execve/kernel_thread/fork unification series from Al Viro:\n \"All architectures are converted to new model.  Quite a bit of that\n  stuff is actually shared with architecture trees; in such cases it\u0027s\n  literally shared branch pulled by both, not a cherry-pick.\n\n  A lot of ugliness and black magic is gone (-3KLoC total in this one):\n\n   - kernel_thread()/kernel_execve()/sys_execve() redesign.\n\n     We don\u0027t do syscalls from kernel anymore for either kernel_thread()\n     or kernel_execve():\n\n     kernel_thread() is essentially clone(2) with callback run before we\n     return to userland, the callbacks either never return or do\n     successful do_execve() before returning.\n\n     kernel_execve() is a wrapper for do_execve() - it doesn\u0027t need to\n     do transition to user mode anymore.\n\n     As a result kernel_thread() and kernel_execve() are\n     arch-independent now - they live in kernel/fork.c and fs/exec.c\n     resp.  sys_execve() is also in fs/exec.c and it\u0027s completely\n     architecture-independent.\n\n   - daemonize() is gone, along with its parts in fs/*.c\n\n   - struct pt_regs * is no longer passed to do_fork/copy_process/\n     copy_thread/do_execve/search_binary_handler/-\u003eload_binary/do_coredump.\n\n   - sys_fork()/sys_vfork()/sys_clone() unified; some architectures\n     still need wrappers (ones with callee-saved registers not saved in\n     pt_regs on syscall entry), but the main part of those suckers is in\n     kernel/fork.c now.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (113 commits)\n  do_coredump(): get rid of pt_regs argument\n  print_fatal_signal(): get rid of pt_regs argument\n  ptrace_signal(): get rid of unused arguments\n  get rid of ptrace_signal_deliver() arguments\n  new helper: signal_pt_regs()\n  unify default ptrace_signal_deliver\n  flagday: kill pt_regs argument of do_fork()\n  death to idle_regs()\n  don\u0027t pass regs to copy_process()\n  flagday: don\u0027t pass regs to copy_thread()\n  bfin: switch to generic vfork, get rid of pointless wrappers\n  xtensa: switch to generic clone()\n  openrisc: switch to use of generic fork and clone\n  unicore32: switch to generic clone(2)\n  score: switch to generic fork/vfork/clone\n  c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic clone()\n  take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h\n  mn10300: switch to generic fork/vfork/clone\n  h8300: switch to generic fork/vfork/clone\n  tile: switch to generic clone()\n  ...\n\nConflicts:\n\tarch/microblaze/include/asm/Kbuild\n"
    },
    {
      "commit": "f57d54bab696133fae569c5f01352249c36fc74f",
      "tree": "8ebe3c6deaf95c424c86843c3d290fbf2a9e80d2",
      "parents": [
        "da830e589a45f0c42eef6f3cbd07275f8893f181",
        "c1ad41f1f7270c1956da13fa8fd59d8d5929d56e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler updates from Ingo Molnar:\n \"The biggest change affects group scheduling: we now track the runnable\n  average on a per-task entity basis, allowing a smoother, exponential\n  decay average based load/weight estimation instead of the previous\n  binary on-the-runqueue/off-the-runqueue load weight method.\n\n  This will inevitably disturb workloads that were in some sort of\n  borderline balancing state or unstable equilibrium, so an eye has to\n  be kept on regressions.\n\n  For that reason the new load average is only limited to group\n  scheduling (shares distribution) at the moment (which was also hurting\n  the most from the prior, crude weight calculation and whose scheduling\n  quality wins most from this change) - but we plan to extend this to\n  regular SMP balancing as well in the future, which will simplify and\n  speed up things a bit.\n\n  Other changes involve ongoing preparatory work to extend NOHZ to the\n  scheduler as well, eventually allowing completely irq-free user-space\n  execution.\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)\n  Revert \"sched/autogroup: Fix crash on reboot when autogroup is disabled\"\n  cputime: Comment cputime\u0027s adjusting code\n  cputime: Consolidate cputime adjustment code\n  cputime: Rename thread_group_times to thread_group_cputime_adjusted\n  cputime: Move thread_group_cputime() to sched code\n  vtime: Warn if irqs aren\u0027t disabled on system time accounting APIs\n  vtime: No need to disable irqs on vtime_account()\n  vtime: Consolidate a bit the ctx switch code\n  vtime: Explicitly account pending user time on process tick\n  vtime: Remove the underscore prefix invasion\n  sched/autogroup: Fix crash on reboot when autogroup is disabled\n  cputime: Separate irqtime accounting from generic vtime\n  cputime: Specialize irq vtime hooks\n  kvm: Directly account vtime to system on guest switch\n  vtime: Make vtime_account_system() irqsafe\n  vtime: Gather vtime declarations to their own header file\n  sched: Describe CFS load-balancer\n  sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n  sched: Make __update_entity_runnable_avg() fast\n  sched: Update_cfs_shares at period edge\n  ...\n"
    },
    {
      "commit": "37ea95a959d4a49846ecbf2dd45326b6b34bf049",
      "tree": "43791e1244ce06d8ca18ecbfd0b0f6dcb86ebb8b",
      "parents": [
        "de0c276b31538fcd56611132f20b63eae2891876",
        "630e1e0bcddfda9566462d4f9a0d58b31c29d467"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU update from Ingo Molnar:\n \"The major features of this tree are:\n\n     1. A first version of no-callbacks CPUs.  This version prohibits\n        offlining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU\u003dy.\n        Relaxing this constraint is in progress, but not yet ready\n        for prime time.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/724.\n\n     2. Changes to SRCU that allows statically initialized srcu_struct\n        structures.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/296.\n\n     3. Restructuring of RCU\u0027s debugfs output.  These commits were posted\n        to LKML at https://lkml.org/lkml/2012/10/30/341.\n\n     4. Additional CPU-hotplug/RCU improvements, posted to LKML at\n        https://lkml.org/lkml/2012/10/30/327.\n        Note that the commit eliminating __stop_machine() was judged to\n        be too-high of risk, so is deferred to 3.9.\n\n     5. Changes to RCU\u0027s idle interface, most notably a new module\n        parameter that redirects normal grace-period operations to\n        their expedited equivalents.  These were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/739.\n\n     6. Additional diagnostics for RCU\u0027s CPU stall warning facility,\n        posted to LKML at https://lkml.org/lkml/2012/10/30/315.\n        The most notable change reduces the\n        default RCU CPU stall-warning time from 60 seconds to 21 seconds,\n        so that it once again happens sooner than the softlockup timeout.\n\n     7. Documentation updates, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/280.\n        A couple of late-breaking changes were posted at\n        https://lkml.org/lkml/2012/11/16/634 and\n        https://lkml.org/lkml/2012/11/16/547.\n\n     8. Miscellaneous fixes, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/309.\n\n     9. Finally, a fix for an lockdep-RCU splat was posted to LKML\n        at https://lkml.org/lkml/2012/11/7/486.\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)\n  context_tracking: New context tracking susbsystem\n  sched: Mark RCU reader in sched_show_task()\n  rcu: Separate accounting of callbacks from callback-free CPUs\n  rcu: Add callback-free CPUs\n  rcu: Add documentation for the new rcuexp debugfs trace file\n  rcu: Update documentation for TREE_RCU debugfs tracing\n  rcu: Reduce default RCU CPU stall warning timeout\n  rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check\n  rcu: Clarify memory-ordering properties of grace-period primitives\n  rcu: Add new rcutorture module parameters to start/end test messages\n  rcu: Remove list_for_each_continue_rcu()\n  rcu: Fix batch-limit size problem\n  rcu: Add tracing for synchronize_sched_expedited()\n  rcu: Remove old debugfs interfaces and also RCU flavor name\n  rcu: split \u0027rcuhier\u0027 to each flavor\n  rcu: split \u0027rcugp\u0027 to each flavor\n  rcu: split \u0027rcuboost\u0027 to each flavor\n  rcu: split \u0027rcubarrier\u0027 to each flavor\n  rcu: Fix tracing formatting\n  rcu: Remove the interface \"rcudata.csv\"\n  ...\n"
    },
    {
      "commit": "e1e12d2f3104be886073ac6c5c4678f30b1b9e51",
      "tree": "b08cba1dba28e18cf7c2ffd8d076ce744e368b5f",
      "parents": [
        "a9c58b907dbc6821533dfc295b63caf111ff1f16"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Dec 11 16:02:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:27 2012 -0800"
      },
      "message": "mm, oom: fix race when specifying a thread as the oom origin\n\ntest_set_oom_score_adj() and compare_swap_oom_score_adj() are used to\nspecify that current should be killed first if an oom condition occurs in\nbetween the two calls.\n\nThe usage is\n\n\tshort oom_score_adj \u003d test_set_oom_score_adj(OOM_SCORE_ADJ_MAX);\n\t...\n\tcompare_swap_oom_score_adj(OOM_SCORE_ADJ_MAX, oom_score_adj);\n\nto store the thread\u0027s oom_score_adj, temporarily change it to the maximum\nscore possible, and then restore the old value if it is still the same.\n\nThis happens to still be racy, however, if the user writes\nOOM_SCORE_ADJ_MAX to /proc/pid/oom_score_adj in between the two calls.\nThe compare_swap_oom_score_adj() will then incorrectly reset the old value\nprior to the write of OOM_SCORE_ADJ_MAX.\n\nTo fix this, introduce a new oom_flags_t member in struct signal_struct\nthat will be used for per-thread oom killer flags.  KSM and swapoff can\nnow use a bit in this member to specify that threads should be killed\nfirst in oom conditions without playing around with oom_score_adj.\n\nThis also allows the correct oom_score_adj to always be shown when reading\n/proc/pid/oom_score.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9c58b907dbc6821533dfc295b63caf111ff1f16",
      "tree": "e50714c48de89400a02a8e92ef4e240c5206bbcc",
      "parents": [
        "fa264375175a382621c5344a6508e02ec4d1c3c0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Dec 11 16:02:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:27 2012 -0800"
      },
      "message": "mm, oom: change type of oom_score_adj to short\n\nThe maximum oom_score_adj is 1000 and the minimum oom_score_adj is -1000,\nso this range can be represented by the signed short type with no\nfunctional change.  The extra space this frees up in struct signal_struct\nwill be used for per-thread oom kill flags in the next patch.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a687c2e9a99335c9e77392f050fe607fa18a652",
      "tree": "06df958bfdfeaf9f38f333af106b55faa81f1c6b",
      "parents": [
        "b8593bfda1652755136333cdd362de125b283a9c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 11:16:36 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: numa: Control enabling and disabling of NUMA balancing\n\nThis patch adds Kconfig options and kernel parameters to allow the\nenabling and disabling of automatic NUMA balancing. The existance\nof such a switch was and is very important when debugging problems\nrelated to transparent hugepages and we should have the same for\nautomatic NUMA placement.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "b8593bfda1652755136333cdd362de125b283a9c",
      "tree": "c0395d9cf775fd9225e81b055fc8f5540a14333a",
      "parents": [
        "e42c8ff2999de1239a57d434bfbd8e9f2a56e814"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 21 01:18:23 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n\nThe PTE scanning rate and fault rates are two of the biggest sources of\nsystem CPU overhead with automatic NUMA placement.  Ideally a proper policy\nwould detect if a workload was properly placed, schedule and adjust the\nPTE scanning rate accordingly. We do not track the necessary information\nto do that but we at least know if we migrated or not.\n\nThis patch scans slower if a page was not migrated as the result of a\nNUMA hinting fault up to sysctl_numa_balancing_scan_period_max which is\nnow higher than the previous default. Once every minute it will reset\nthe scanner in case of phase changes.\n\nThis is hilariously crude and the numbers are arbitrary. Workloads will\nconverge quite slowly in comparison to what a proper policy should be able\nto do. On the plus side, we will chew up less CPU for workloads that have\nno need for automatic balancing.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "4b96a29ba891dd59734cb7be80a900fe93aa2d9f",
      "tree": "5162223c4ceae37f6ccf0ef1b84993c2556e60cf",
      "parents": [
        "9f40604cdab935e80db57b309c48659de349d4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:47 2012 +0000"
      },
      "message": "mm: sched: numa: Implement slow start for working set sampling\n\nAdd a 1 second delay before starting to scan the working set of\na task and starting to balance it amongst nodes.\n\n[ note that before the constant per task WSS sampling rate patch\n  the initial scan would happen much later still, in effect that\n  patch caused this regression. ]\n\nThe theory is that short-run tasks benefit very little from NUMA\nplacement: they come and go, and they better stick to the node\nthey were started on. As tasks mature and rebalance to other CPUs\nand nodes, so does their NUMA placement have to change and so\ndoes it start to matter more and more.\n\nIn practice this change fixes an observable kbuild regression:\n\n   # [ a perf stat --null --repeat 10 test of ten bzImage builds to /dev/shm ]\n\n   !NUMA:\n   45.291088843 seconds time elapsed                                          ( +-  0.40% )\n   45.154231752 seconds time elapsed                                          ( +-  0.36% )\n\n   +NUMA, no slow start:\n   46.172308123 seconds time elapsed                                          ( +-  0.30% )\n   46.343168745 seconds time elapsed                                          ( +-  0.25% )\n\n   +NUMA, 1 sec slow start:\n   45.224189155 seconds time elapsed                                          ( +-  0.25% )\n   45.160866532 seconds time elapsed                                          ( +-  0.17% )\n\nand it also fixes an observable perf bench (hackbench) regression:\n\n   # perf stat --null --repeat 10 perf bench sched messaging\n\n   -NUMA:\n\n   -NUMA:                  0.246225691 seconds time elapsed                   ( +-  1.31% )\n   +NUMA no slow start:    0.252620063 seconds time elapsed                   ( +-  1.13% )\n\n   +NUMA 1sec delay:       0.248076230 seconds time elapsed                   ( +-  1.35% )\n\nThe implementation is simple and straightforward, most of the patch\ndeals with adding the /proc/sys/kernel/numa_balancing_scan_delay_ms tunable\nknob.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote the changelog, ran measurements, tuned the default. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8",
      "tree": "0d5c93240702a51b1d6f22fefd979235a19692fd",
      "parents": [
        "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:45 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate\n\nPreviously, to probe the working set of a task, we\u0027d use\na very simple and crude method: mark all of its address\nspace PROT_NONE.\n\nThat method has various (obvious) disadvantages:\n\n - it samples the working set at dissimilar rates,\n   giving some tasks a sampling quality advantage\n   over others.\n\n - creates performance problems for tasks with very\n   large working sets\n\n - over-samples processes with large address spaces but\n   which only very rarely execute\n\nImprove that method by keeping a rotating offset into the\naddress space that marks the current position of the scan,\nand advance it by a constant rate (in a CPU cycles execution\nproportional manner). If the offset reaches the last mapped\naddress of the mm then it then it starts over at the first\naddress.\n\nThe per-task nature of the working set sampling functionality in this tree\nallows such constant rate, per task, execution-weight proportional sampling\nof the working set, with an adaptive sampling interval/frequency that\ngoes from once per 100ms up to just once per 8 seconds.  The current\nsampling volume is 256 MB per interval.\n\nAs tasks mature and converge their working set, so does the\nsampling rate slow down to just a trickle, 256 MB per 8\nseconds of CPU time executed.\n\nThis, beyond being adaptive, also rate-limits rarely\nexecuting systems and does not over-sample on overloaded\nsystems.\n\n[ In AutoNUMA speak, this patch deals with the effective sampling\n  rate of the \u0027hinting page fault\u0027. AutoNUMA\u0027s scanning is\n  currently rate-limited, but it is also fundamentally\n  single-threaded, executing in the knuma_scand kernel thread,\n  so the limit in AutoNUMA is global and does not scale up with\n  the number of CPUs, nor does it scan tasks in an execution\n  proportional manner.\n\n  So the idea of rate-limiting the scanning was first implemented\n  in the AutoNUMA tree via a global rate limit. This patch goes\n  beyond that by implementing an execution rate proportional\n  working set sampling rate that is not implemented via a single\n  global scanning daemon. ]\n\n[ Dan Carpenter pointed out a possible NULL pointer dereference in the\n  first version of this patch. ]\n\nBased-on-idea-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nBug-Found-By: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote changelog and fixed bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690",
      "tree": "d4cfbcfa3e89742216cd792d4aa914356406b532",
      "parents": [
        "a720094ded8cbb303111035be91858011d2eac71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:43 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:45 2012 +0000"
      },
      "message": "mm: numa: Add fault driven placement and migration\n\nNOTE: This patch is based on \"sched, numa, mm: Add fault driven\n\tplacement and migration policy\" but as it throws away all the policy\n\tto just leave a basic foundation I had to drop the signed-offs-by.\n\nThis patch creates a bare-bones method for setting PTEs pte_numa in the\ncontext of the scheduler that when faulted later will be faulted onto the\nnode the CPU is running on.  In itself this does nothing useful but any\nplacement policy will fundamentally depend on receiving hints on placement\nfrom fault context and doing something intelligent about it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "e80d6661c3a5caa0cebec0853c6cb0db090fb506",
      "tree": "efc60762bbcdf8904f9779310ac60d0131ac9f3d",
      "parents": [
        "18c26c27ae0abe82253cb2e2363df465dbbb657e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 22 23:10:08 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 29 00:01:08 2012 -0500"
      },
      "message": "flagday: kill pt_regs argument of do_fork()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "afa86fc426ff7e7f5477f15da9c405d08d5cf790",
      "tree": "0f82925269757902ce6f7c287a968f7b439d2b2d",
      "parents": [
        "135c37b83c81b79a888108e3f7c5f64423d8a851"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 22 22:51:14 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 23:43:42 2012 -0500"
      },
      "message": "flagday: don\u0027t pass regs to copy_thread()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "da3d4c5fa56236dd924d77ffc4f982356816b93b",
      "tree": "37cbc90820ef0e5474801db00c968e2da7c455aa",
      "parents": [
        "d03d26e58fde2ec99478e26aab47b55755189b08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 20 21:49:33 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 21:53:37 2012 -0500"
      },
      "message": "get rid of pt_regs argument of do_execve()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4144670fd9b34d6eae22c9f83751745898e8243",
      "tree": "da0bbda5707fafdc1d79eb2c851835c777182e89",
      "parents": [
        "02232f8d2b22708f0651dc515544f4a7ef1e0224"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 02 16:34:38 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 21:49:02 2012 -0500"
      },
      "message": "kill daemonize()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d37f761dbd276790f70dcf73a287fde2c3464482",
      "tree": "302d4bda699ab2e159b3a180f253019a38bf8132",
      "parents": [
        "e80d0a1ae8bb8fee0edd37427836f108b30f596b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 22 00:58:35 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 28 17:08:10 2012 +0100"
      },
      "message": "cputime: Consolidate cputime adjustment code\n\ntask_cputime_adjusted() and thread_group_cputime_adjusted()\nessentially share the same code. They just don\u0027t use the same\nsource:\n\n* The first function uses the cputime in the task struct and the\nprevious adjusted snapshot that ensures monotonicity.\n\n* The second adds the cputime of all tasks in the group and the\nprevious adjusted snapshot of the whole group from the signal\nstructure.\n\nJust consolidate the common code that does the adjustment. These\nfunctions just need to fetch the values from the appropriate\nsource.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e80d0a1ae8bb8fee0edd37427836f108b30f596b",
      "tree": "437db8b1643e39d3d114a7c0e3c913455e693b70",
      "parents": [
        "a634f93335daa8f38180a0e576ccd68a73c36eaf"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 21 16:26:44 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 28 17:07:57 2012 +0100"
      },
      "message": "cputime: Rename thread_group_times to thread_group_cputime_adjusted\n\nWe have thread_group_cputime() and thread_group_times(). The naming\ndoesn\u0027t provide enough information about the difference between\nthese two APIs.\n\nTo lower the confusion, rename thread_group_times() to\nthread_group_cputime_adjusted(). This name better suggests that\nit\u0027s a version of thread_group_cputime() that does some stabilization\non the raw cputime values. ie here: scale on top of CFS runtime\nstats and bound lower value for monotonicity.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "582b336ec2c0f0076f5650a029fcc9abd4a906f7",
      "tree": "4827fe468a1aac8be0227cac5bab922b32c2facc",
      "parents": [
        "189e11731aa858597095fbe1e6d243bad26bd96b"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:28:54 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:09 2012 -0200"
      },
      "message": "sched: add notifier for cross-cpu migrations\n\nOriginally from Jeremy Fitzhardinge.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aac1cda34b84a9411d6b8d18c3658f094c834911",
      "tree": "60cc2e3d6793fdbf8b13704608aafdf01bcec118",
      "parents": [
        "2c5594df344cd1ff0cc9bf007dea3235582b3acf",
        "d484a215139cf556cb718a7ec7042260b7fc2d28",
        "351573a86d0ef17cbba1c5436706602692781bfe",
        "cda4dc813071e6cb04944c5a140610bd06acd295",
        "c896054f75f9a720ecf2ab3e688f4da79a55fe05",
        "7bd8f2a74bcbd39f4277766f4d49441c45dd10a0",
        "af71befa282ddf51c09509978abe1e83de8fe7eb"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 16 09:59:58 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 16 09:59:58 2012 -0800"
      },
      "message": "Merge branches \u0027urgent.2012.10.27a\u0027, \u0027doc.2012.11.16a\u0027, \u0027fixes.2012.11.13a\u0027, \u0027srcu.2012.10.27a\u0027, \u0027stall.2012.11.13a\u0027, \u0027tracing.2012.11.08a\u0027 and \u0027idle.2012.10.24a\u0027 into HEAD\n\nurgent.2012.10.27a: Fix for RCU user-mode transition (already in -tip).\n\ndoc.2012.11.08a: Documentation updates, most notably codifying the\n\tmemory-barrier guarantees inherent to grace periods.\n\nfixes.2012.11.13a: Miscellaneous fixes.\n\nsrcu.2012.10.27a: Allow statically allocated and initialized srcu_struct\n\tstructures (courtesy of Lai Jiangshan).\n\nstall.2012.11.13a: Add more diagnostic information to RCU CPU stall\n\twarnings, also decrease from 60 seconds to 21 seconds.\n\nhotplug.2012.11.08a: Minor updates to CPU hotplug handling.\n\ntracing.2012.11.08a: Improved debugfs tracing, courtesy of Michael Wang.\n\nidle.2012.10.24a: Updates to RCU idle/adaptive-idle handling, including\n\ta boot parameter that maps normal grace periods to expedited.\n\nResolved conflict in kernel/rcutree.c due to side-by-side change.\n"
    },
    {
      "commit": "f4e26b120b9de84cb627bc7361ba43cfdc51341f",
      "tree": "19786e34c5de3c9b7c9c871a27b0f8d85cc8690d",
      "parents": [
        "5b51f2f80b3b906ce59bd4dce6eca3c7f34cb1b9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:31 2012 +0200"
      },
      "message": "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n\nWhile per-entity load-tracking is generally useful, beyond computing shares\ndistribution, e.g. runnable based load-balance (in progress), governors,\npower-management, etc.\n\nThese facilities are not yet consumers of this data.  This may be trivially\nreverted when the information is required; but avoid paying the overhead for\ncalculations we will not use until then.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.422162369@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    }
  ],
  "next": "0a74bef8bed18dc6889e9bc37ea1050a50c86c89"
}
