)]}'
{
  "log": [
    {
      "commit": "9e31905f293ae84e4f120ed9e414031eaefa0bdf",
      "tree": "153204ff0dca820e760007bc24075ec7fb46a276",
      "parents": [
        "ff5c2c0316ff0e3e2dba3ca14167d994453df093",
        "b3d9468a8bd218a695e3a0ff112cd4efd27b670a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 15:44:43 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:24 2011 +0200"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/core\u0027 into kvm-updates/3.3\n\n* tip/perf/core: (66 commits)\n  perf, x86: Expose perf capability to other modules\n  perf, x86: Implement arch event mask as quirk\n  x86, perf: Disable non available architectural events\n  jump_label: Provide jump_label_key initializers\n  jump_label, x86: Fix section mismatch\n  perf, core: Rate limit perf_sched_events jump_label patching\n  perf: Fix enable_on_exec for sibling events\n  perf: Remove superfluous arguments\n  perf, x86: Prefer fixed-purpose counters when scheduling\n  perf, x86: Fix event scheduler for constraints with overlapping counters\n  perf, x86: Implement event scheduler helper functions\n  perf: Avoid a useless pmu_disable() in the perf-tick\n  x86/tools: Add decoded instruction dump mode\n  x86: Update instruction decoder to support new AVX formats\n  x86/tools: Fix insn_sanity message outputs\n  x86/tools: Fix instruction decoder message output\n  x86: Fix instruction decoder to handle grouped AVX instructions\n  x86/tools: Fix Makefile to build all test tools\n  perf test: Soft errors shouldn\u0027t stop the \"Validate PERF_RECORD_\" test\n  perf test: Validate PERF_RECORD_ events and perf_sample fields\n  ...\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n* commit \u0027b3d9468a8bd218a695e3a0ff112cd4efd27b670a\u0027: (66 commits)\n  perf, x86: Expose perf capability to other modules\n  perf, x86: Implement arch event mask as quirk\n  x86, perf: Disable non available architectural events\n  jump_label: Provide jump_label_key initializers\n  jump_label, x86: Fix section mismatch\n  perf, core: Rate limit perf_sched_events jump_label patching\n  perf: Fix enable_on_exec for sibling events\n  perf: Remove superfluous arguments\n  perf, x86: Prefer fixed-purpose counters when scheduling\n  perf, x86: Fix event scheduler for constraints with overlapping counters\n  perf, x86: Implement event scheduler helper functions\n  perf: Avoid a useless pmu_disable() in the perf-tick\n  x86/tools: Add decoded instruction dump mode\n  x86: Update instruction decoder to support new AVX formats\n  x86/tools: Fix insn_sanity message outputs\n  x86/tools: Fix instruction decoder message output\n  x86: Fix instruction decoder to handle grouped AVX instructions\n  x86/tools: Fix Makefile to build all test tools\n  perf test: Soft errors shouldn\u0027t stop the \"Validate PERF_RECORD_\" test\n  perf test: Validate PERF_RECORD_ events and perf_sample fields\n  ...\n"
    },
    {
      "commit": "a65cf5181aa608addcb2873c8ed90413a9f539cb",
      "tree": "3d2429790c26e3f38dc654afc404066254c4fed4",
      "parents": [
        "831bf664e9c1fc08fc6b3984d00d275cac82f5e9"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:39:59 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:04 2011 +0200"
      },
      "message": "jump-label: export jump_label_inc/jump_label_dec\n\nExport these two symbols, they will be used by KVM mmu audit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a4a4923919f2d43583789b1f3603f4e5600d8321",
      "tree": "b401e5b82050d33fc345d815d8b28ff83301534c",
      "parents": [
        "7f3a54b8177f2e663adef2ec4b5e6ccf874f896e",
        "e0197aae59e55c06db172bfbe1a1cdb8c0e1cab3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:44:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:44:18 2011 -0800"
      },
      "message": "Merge branch \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroups: fix a css_set not found bug in cgroup_attach_proc\n"
    },
    {
      "commit": "5fbd305dd2b661a243013cf444d2a32bfec2f701",
      "tree": "4e90099fef21c0ad7aec77d772b12a0b2094d64e",
      "parents": [
        "a205b082189bf914959a667a5c83ea145bba3fb5",
        "b1b73d095084e754562961c443aa8f6587a55f8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:42:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:42:38 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time/clocksource: Fix kernel-doc warnings\n  rtc: m41t80: Workaround broken alarm functionality\n  rtc: Expire alarms after the time is set.\n"
    },
    {
      "commit": "3d3c8f93a237b64580c5c5e138edeb1377e98230",
      "tree": "8c932423a1c5f80320e46dc77f29c668f196d73c",
      "parents": [
        "0006526d78e93c3684c806bf7cf3f67dfa49c3c8"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Mon Dec 19 17:12:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "binary_sysctl(): fix memory leak\n\nbinary_sysctl() calls sysctl_getname() which allocates from names_cache\nslab usin __getname()\n\nThe matching function to free the name is __putname(), and not putname()\nwhich should be used only to match getname() allocations.\n\nThis is because when auditing is enabled, putname() calls audit_putname\n*instead* (not in addition) to __putname().  Then, if a syscall is in\nprogress, audit_putname does not release the name - instead, it expects\nthe name to get released when the syscall completes, but that will happen\nonly if audit_getname() was called previously, i.e.  if the name was\nallocated with getname() rather than the naked __getname().  So,\n__getname() followed by putname() ends up leaking memory.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric Paris \u003ceparis@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": "b246272ecc5ac68c743b15c9e41a2275f7ce70e2",
      "tree": "d32b30f02501a6978c7c2d97f7c505604f9bac28",
      "parents": [
        "511585a28e5b5fd1cac61e601e42efc4c5dd64b5"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 19 17:11:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask\n\nKernels where MAX_NUMNODES \u003e BITS_PER_LONG may temporarily see an empty\nnodemask in a tsk\u0027s mempolicy if its previous nodemask is remapped onto a\nnew set of allowed cpuset nodes where the two nodemasks, as a result of\nthe remap, are now disjoint.\n\nc0ff7453bb5c (\"cpuset,mm: fix no node to alloc memory when changing\ncpuset\u0027s mems\") adds get_mems_allowed() to prevent the set of allowed\nnodes from changing for a thread.  This causes any update to a set of\nallowed nodes to stall until put_mems_allowed() is called.\n\nThis stall is unncessary, however, if at least one node remains unchanged\nin the update to the set of allowed nodes.  This was addressed by\n89e8a244b97e (\"cpusets: avoid looping when storing to mems_allowed if one\nnode remains set\"), but it\u0027s still possible that an empty nodemask may be\nread from a mempolicy because the old nodemask may be remapped to the new\nnodemask during rebind.  To prevent this, only avoid the stall if there is\nno mempolicy for the thread being changed.\n\nThis is a temporary solution until all reads from mempolicy nodemasks can\nbe guaranteed to not be empty without the get_mems_allowed()\nsynchronization.\n\nAlso moves the check for nodemask intersection inside task_lock() so that\ntsk-\u003emems_allowed cannot change.  This ensures that nothing can set this\ntsk\u0027s mems_allowed out from under us and also protects tsk-\u003emempolicy.\n\nReported-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0197aae59e55c06db172bfbe1a1cdb8c0e1cab3",
      "tree": "c3b36f2adc445893166bc5caddb3d26c05611a9a",
      "parents": [
        "390f998509bf049019df0b078c0a6606e0d57fb4"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 15 11:36:43 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 19 09:09:09 2011 -0800"
      },
      "message": "cgroups: fix a css_set not found bug in cgroup_attach_proc\n\nThere is a BUG when migrating a PF_EXITING proc. Since css_set_prefetch()\nis not called for the PF_EXITING case, find_existing_css_set() will return\nNULL inside cgroup_task_migrate() causing a BUG.\n\nThis bug is easy to reproduce. Create a zombie and echo its pid to\ncgroup.procs.\n\n$ cat zombie.c\n\\#include \u003cunistd.h\u003e\n\nint main()\n{\n  if (fork())\n      pause();\n  return 0;\n}\n$\n\nWe are hitting this bug pretty regularly on ChromeOS.\n\nThis bug is already fixed by Tejun Heo\u0027s cgroup patchset which is\ntargetted for the next merge window:\n\nhttps://lkml.org/lkml/2011/11/1/356\n\nI\u0027ve create a smaller patch here which just fixes this bug so that a\nfix can be merged into the current release and stable.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nDownstream-Bug-Report: http://crosbug.com/23953\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: stable@kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\n"
    },
    {
      "commit": "b1b73d095084e754562961c443aa8f6587a55f8e",
      "tree": "f2927ab364b329175442b6abece86cba3528f969",
      "parents": [
        "c3b79770e51ab1fd4201f3b54edf30113b9ce74f"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ac.auone-net.jp",
        "time": "Mon Dec 19 18:13:19 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 19 11:41:40 2011 +0100"
      },
      "message": "time/clocksource: Fix kernel-doc warnings\n\nFix various KernelDoc build warnings.\n\nSigned-off-by: Kusanagi Kouichi \u003cslash@ac.auone-net.jp\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20111219091320.0D5AF6FC03D@msa105.auone-net.jp\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab347d94d6515ea9a5be04faccd9b14a319b0a7a",
      "tree": "f7b10b1129dd62168313128446616bd5a5499cf8",
      "parents": [
        "a36bfddd65b58dd8c8364dba919c04922e04f2f5",
        "44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f",
        "ab2789213d224202237292d78aaa0c386c7b28b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 17 14:03:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 17 14:03:50 2011 -0800"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf events: Fix ring_buffer_wakeup() brown paperbag bug\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix select_idle_sibling() regression in selecting an idle SMT sibling\n  MAINTAINERS: Update tip.git related git trees\n"
    },
    {
      "commit": "ab2789213d224202237292d78aaa0c386c7b28b2",
      "tree": "da6a28ca9a2eddad554742361e496764f17682a3",
      "parents": [
        "75fc2d3797c47f5f70ca71c41c342c352845cd06"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 15 11:47:00 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 16 09:44:58 2011 +0100"
      },
      "message": "sched: Fix select_idle_sibling() regression in selecting an idle SMT sibling\n\nMike Galbraith reported that this recent commit:\n\n   commit 4dcfe1025b513c2c1da5bf5586adb0e80148f612\n   Author: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n   Date:   Thu Nov 10 13:01:10 2011 +0100\n\n       sched: Avoid SMT siblings in select_idle_sibling() if possible\n\nstopped selecting an idle SMT sibling when there are no idle\ncores in a single socket system.\n\nIntent of the select_idle_sibling() was to fallback to an idle\nSMT sibling, if it fails to identify an idle core. But this\nfallback was not happening on systems where all the scheduler\ndomains had `SD_SHARE_PKG_RESOURCES\u0027 flag set.\n\nFix it. Slightly bigger patch of cleaning all these goto\u0027s etc\nis queued up for the next release.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1323978421.1984.244.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f",
      "tree": "929c7c5c177fa072216445de276592843ebae4d8",
      "parents": [
        "373da0a2a33018d560afcb2c77f8842985d79594"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Dec 13 20:40:45 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 14 08:44:53 2011 +0100"
      },
      "message": "perf events: Fix ring_buffer_wakeup() brown paperbag bug\n\nCommit 10c6db11 (\"perf: Fix loss of notification with multi-event\")\nseems to unconditionally dereference event-\u003erb in the wakeup handler,\nthis is wrong, there might not be a buffer attached.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111213152651.GP20297@mudshark.cambridge.arm.com\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "975e32c287a9b144cf115d3f42ca18664b3331df",
      "tree": "c45cb3cd1bcaf2d09efeeaec192d344c898f2c70",
      "parents": [
        "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
        "167e33c32845a30368463dac5a4fe2be5edcc34a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Do no try to schedule task events if there are none\n  lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n  perf header: Use event_name() to get an event name\n  perf stat: Failure with \"Operation not supported\"\n"
    },
    {
      "commit": "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
      "tree": "fc5abaa84eb1135cae41e8ab0d3356171fc0a760",
      "parents": [
        "1cee22b7f385b6c4f716846203a96e1f302132aa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 08 14:34:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "sys_getppid: add missing rcu_dereference\n\nIn order to safely dereference current-\u003ereal_parent inside an\nrcu_read_lock, we need an rcu_dereference.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec",
      "tree": "4db1b0103db218d0d0aa26a26232c3674dd18622",
      "parents": [
        "c193c82f054195aa352ccbef91afc28446e5a30e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 08 14:34:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "printk: avoid double lock acquire\n\nCommit 4f2a8d3cf5e (\"printk: Fix console_sem vs logbuf_lock unlock race\")\nintroduced another silly bug where we would want to acquire an already\nheld lock.  Avoid this.\n\nReported-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "09d9673d53005fdf40de4c759425893904292236",
      "tree": "0c7b526b3338a5e8541b4da157e2cafaa3a1c1c5",
      "parents": [
        "fb38f9b8fe98a9c1f6b1e57d1b08b1102b293929",
        "c9c024b3f3e07d087974db4c0dc46217fff3a6c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  alarmtimers: Fix time comparison\n  ptp: Fix clock_getres() implementation\n"
    },
    {
      "commit": "86b47c25494b824da655b95f6fdb4fdb3f17aa77",
      "tree": "45ed2f1c82a258bcbbe0550aa728b11187512322",
      "parents": [
        "a33caeb118198286309859f014c0662f3ed54ed4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Nov 22 16:08:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 16:31:22 2011 +0100"
      },
      "message": "perf: Do no try to schedule task events if there are none\n\nperf_event_sched_in() shouldn\u0027t try to schedule task events if there\nare none otherwise task\u0027s ctx-\u003eis_active will be set and will not be\ncleared during sched_out. This will prevent newly added events from\nbeing scheduled into the task context.\n\nFixes a boo-boo in commit 1d5f003f5a9 (\"perf: Do not set task_ctx\npointer in cpuctx if there are no events in the context\").\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "091c0f86bad6bb0b003dff2f6195508e29548648",
      "tree": "d04ef2b42ae456c2f281728413405c2e6af34880",
      "parents": [
        "4fb1db334aa2569281481a09840650e7be28161d",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ftrace: Fix hash record accounting bug\n  perf: Fix parsing of __print_flags() in TP_printk()\n  jump_label: jump_label_inc may return before the code is patched\n  ftrace: Remove force undef config value left for testing\n  tracing: Restore system filter behavior\n  tracing: fix event_subsystem ref counting\n"
    },
    {
      "commit": "ac99b862fb98a36929831791da31714f709c2aa8",
      "tree": "93edba15ae7bb289b9a820af6e75d24e43ebea9a",
      "parents": [
        "9cdbe1cbac4ec318037297175587a0080acc9d11"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 06 14:20:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:41:03 2011 +0100"
      },
      "message": "jump_label: Provide jump_label_key initializers\n\nProvide two initializers for jump_label_key that initialize it enabled\nor disabled. Also modify all jump_label code to allow for jump_labels to be\ninitialized enabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-p40e3yj21b68y03z1yv825e7@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9cdbe1cbac4ec318037297175587a0080acc9d11",
      "tree": "3871708eb2f67d628c8ad045a16174db0f80a59e",
      "parents": [
        "cc991b83b3eb11b253dd932932fa0bfd09c7564a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 06 17:27:29 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:41:02 2011 +0100"
      },
      "message": "jump_label, x86: Fix section mismatch\n\nWARNING: arch/x86/kernel/built-in.o(.text+0x4c71): Section mismatch in\nreference from the function arch_jump_label_transform_static() to the\nfunction .init.text:text_poke_early()\nThe function arch_jump_label_transform_static() references\nthe function __init text_poke_early().\nThis is often because arch_jump_label_transform_static lacks a __init\nannotation or the annotation of text_poke_early is wrong.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-9lefe89mrvurrwpqw5h8xm8z@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc991b83b3eb11b253dd932932fa0bfd09c7564a",
      "tree": "ab3b05fbc37a58741dbe5ccee45491100c13759c",
      "parents": [
        "b202952075f62603bea9bfb6ebc6b0420db11949",
        "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "a33caeb118198286309859f014c0662f3ed54ed4",
      "tree": "c9bc38bef15bd7167ab27e1285d56a1e6cef4549",
      "parents": [
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Nov 09 16:04:51 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 18:18:13 2011 +0100"
      },
      "message": "lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n\nSince commit f59de89 (\"lockdep: Clear whole lockdep_map on initialization\"),\nlockdep_init_map() will clear all the struct. But it will break\nlock_set_class()/lock_set_subclass(). A typical race condition\nis like below:\n\n     CPU A                                   CPU B\nlock_set_subclass(lockA);\n lock_set_class(lockA);\n   lockdep_init_map(lockA);\n     /* lockA-\u003ename is cleared */\n     memset(lockA);\n                                     __lock_acquire(lockA);\n                                       /* lockA-\u003eclass_cache[] is cleared */\n                                       register_lock_class(lockA);\n                                         look_up_lock_class(lockA);\n                                           WARN_ON_ONCE(class-\u003ename !\u003d\n                                                     lock-\u003ename);\n\n     lock-\u003ename \u003d name;\n\nSo restore to what we have done before commit f59de89 but annotate\n-\u003elock with kmemcheck_mark_initialized() to suppress the kmemcheck\nwarning reported in commit f59de89.\n\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSuggested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111109080451.GB8124@zhy\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9c024b3f3e07d087974db4c0dc46217fff3a6c0",
      "tree": "4dd125eef6c2f332d641876fac0e6f522b1d75c5",
      "parents": [
        "d68fb11c3dae75c8331538dcf083a65e697cc034"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 05 21:20:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 06 11:38:32 2011 +0100"
      },
      "message": "alarmtimers: Fix time comparison\n\nThe expiry function compares the timer against current time and does\nnot expire the timer when the expiry time is \u003e\u003d now. That\u0027s wrong. If\nthe timer is set for now, then it must expire.\n\nMake the condition expiry \u003e now for breaking out the loop.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b202952075f62603bea9bfb6ebc6b0420db11949",
      "tree": "9c8e0538b455e68b5c371caba5b1585ed0ef9d8a",
      "parents": [
        "b79387ef185af2323594920923cecba5753c3817"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Nov 27 17:59:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:34:02 2011 +0100"
      },
      "message": "perf, core: Rate limit perf_sched_events jump_label patching\n\njump_lable patching is very expensive operation that involves pausing all\ncpus. The patching of perf_sched_events jump_label is easily controllable\nfrom userspace by unprivileged user.\n\nWhen te user runs a loop like this:\n\n  \"while true; do perf stat -e cycles true; done\"\n\n... the performance of my test application that just increments a counter\nfor one second drops by 4%.\n\nThis is on a 16 cpu box with my test application using only one of\nthem. An impact on a real server doing real work will be worse.\n\nPerformance of KVM PMU drops nearly 50% due to jump_lable for \"perf\nrecord\" since KVM PMU implementation creates and destroys perf event\nfrequently.\n\nThis patch introduces a way to rate limit jump_label patching and uses\nit to fix the above problem.\n\nI believe that as jump_label use will spread the problem will become more\ncommon and thus solving it in a generic code is appropriate. Also fixing\nit in the perf code would result in moving jump_label accounting logic to\nperf code with all the ifdefs in case of JUMP_LABEL\u003dn kernel. With this\npatch all details are nicely hidden inside jump_label code.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111127155909.GO2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b79387ef185af2323594920923cecba5753c3817",
      "tree": "2c6d685794c30859cf3dde7316d02475cf9ad7cb",
      "parents": [
        "1d9b482e78d3b16f97f85a82849f82db7eed3102"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 22 11:25:43 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:34:01 2011 +0100"
      },
      "message": "perf: Fix enable_on_exec for sibling events\n\nDeng-Cheng Zhu reported that sibling events that were created disabled\nwith enable_on_exec would never get enabled. Iterate all events\ninstead of the group lists.\n\nReported-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nTested-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322048382.14799.41.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d9b482e78d3b16f97f85a82849f82db7eed3102",
      "tree": "5fea3e49ac9824e1811e66767273567296b5c336",
      "parents": [
        "4defea8559bc0f97a899d94c8d19d3b8bb802bc4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 23 12:34:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:33:59 2011 +0100"
      },
      "message": "perf: Remove superfluous arguments\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-yv4o74vh90suyghccgykbnry@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f5a2601284237e2ba089389fd75d67f77626cef",
      "tree": "37eedc660f09a36cfbd6b2a2c28e8cd0d1dbe167",
      "parents": [
        "d6c1c49de577fa292af2449817364b7d89b574d8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 16 14:38:16 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:33:52 2011 +0100"
      },
      "message": "perf: Avoid a useless pmu_disable() in the perf-tick\n\nGleb writes:\n\n \u003e Currently pmu is disabled and re-enabled on each timer interrupt even\n \u003e when no rotation or frequency adjustment is needed. On Intel CPU this\n \u003e results in two writes into PERF_GLOBAL_CTRL MSR per tick. On bare metal\n \u003e it does not cause significant slowdown, but when running perf in a virtual\n \u003e machine it leads to 20% slowdown on my machine.\n\nCure this by keeping a perf_event_context::nr_freq counter that counts the\nnumber of active events that require frequency adjustments and use this in a\nsimilar fashion to the already existing nr_events !\u003d nr_active test in\nperf_rotate_context().\n\nBy being able to exclude both rotation and frequency adjustments a-priory for\nthe common case we can avoid the otherwise superfluous PMU disable.\n\nSuggested-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-515yhoatehd3gza7we9fapaa@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6c1c49de577fa292af2449817364b7d89b574d8",
      "tree": "e97cf88a318f50eb23c18d790e8b0bcf7bb47169",
      "parents": [
        "9dde9dc0a81c7aeb863b35121d09011f09b4897c",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:42:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:43:49 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Add these cherry-picked commits so that future changes\n              on perf/core don\u0027t conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "232ea344550c4a099d35d9df552509d6748a31c0",
      "tree": "2b4a1c351d290537fdf18cc5bed78bf43536f175",
      "parents": [
        "40c043b077c6e377c8440d71563c055d0c4f0f0a",
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix loss of notification with multi-event\n  perf, x86: Force IBS LVT offset assignment for family 10h\n  perf, x86: Disable PEBS on SandyBridge chips\n  trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n  perf session: Fix crash with invalid CPU list\n  perf python: Fix undefined symbol problem\n  perf/x86: Enable raw event access to Intel offcore events\n  perf: Don\u0027t use -ENOSPC for out of PMU resources\n  perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n  perf/x86: Fix PEBS instruction unwind\n  oprofile, x86: Fix crash when unloading module (nmi timer mode)\n  oprofile: Fix crash when unloading module (hr timer mode)\n"
    },
    {
      "commit": "40c043b077c6e377c8440d71563c055d0c4f0f0a",
      "tree": "e0c1d672a1156d7840d3ef650ba1aa963c68e13a",
      "parents": [
        "f14aa871c7e1e58a01bf33a562ac314fae64517c",
        "de28f25e8244c7353abed8de0c7792f5f883588c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  clockevents: Set noop handler in clockevents_exchange_device()\n  tick-broadcast: Stop active broadcast device when replacing it\n  clocksource: Fix bug with max_deferment margin calculation\n  rtc: Fix some bugs that allowed accumulating time drift in suspend/resume\n  rtc: Disable the alarm in the hardware\n"
    },
    {
      "commit": "f14aa871c7e1e58a01bf33a562ac314fae64517c",
      "tree": "5ab1459c3f372dbb765c69808eb8300749eba6c7",
      "parents": [
        "7125faceabe43067293d0c9e2ef7154ecea51721",
        "52cef189165d74a5d6030184a8e05595194c69ca",
        "550acb19269d65f32e9ac4ddb26c2b2070e37f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027 and \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  slab, lockdep: Fix silly bug\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix race condition when stopping the irq thread\n"
    },
    {
      "commit": "7125faceabe43067293d0c9e2ef7154ecea51721",
      "tree": "9de559e9280843d02d9a70976fbad23428161189",
      "parents": [
        "35337c834124d2893b7fe4ba683c7639e6c37e0c",
        "4cecf6d401a01d054afc1e5f605bcbfe553cb9b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched, x86: Avoid unnecessary overflow in sched_clock\n  sched: Fix buglet in return_cfs_rq_runtime()\n  sched: Avoid SMT siblings in select_idle_sibling() if possible\n  sched: Set the command name of the idle tasks in SMP kernels\n  sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n  sched: Document wait_for_completion_*() return values\n  sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n  sched: Add a comment to effective_load() since it\u0027s a pain\n"
    },
    {
      "commit": "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7",
      "tree": "afee7574ab5b3a8e3d907327e73c2785cd275abe",
      "parents": [
        "d06c27b22aa66e48e32f03f9387328a9af9b0625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:47 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bbbf7af4bf8fc69bc751818cf30521080fa47dcb",
      "tree": "bbc986e2013cdfeb3b99bacc2f5326b787b7e410",
      "parents": [
        "c7c6ec8becaf742b223c7b491f4893014be23a07"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Oct 18 19:55:51 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:46 2011 -0500"
      },
      "message": "jump_label: jump_label_inc may return before the code is patched\n\nIf cpu A calls jump_label_inc() just after atomic_add_return() is\ncalled by cpu B, atomic_inc_not_zero() will return value greater then\nzero and jump_label_inc() will return to a caller before jump_label_update()\nfinishes its job on cpu B.\n\nLink: http://lkml.kernel.org/r/20111018175551.GH17571@redhat.com\n\nCc: stable@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7c6ec8becaf742b223c7b491f4893014be23a07",
      "tree": "1eb23e1dd22ef56b298bc2f207d5d4999a0731cf",
      "parents": [
        "27b14b56af081ec7edeefb3a38b2c9577cc5ef48"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "27b14b56af081ec7edeefb3a38b2c9577cc5ef48",
      "tree": "841e01c8d64fdf08b88c8a76de3272b4630ed145",
      "parents": [
        "cb59974742aea24adf6637eb0c4b8e7b48bca6fb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 01 09:09:35 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "tracing: Restore system filter behavior\n\nThough not all events have field \u0027prev_pid\u0027, it was allowed to do this:\n\n  # echo \u0027prev_pid \u003d\u003d 100\u0027 \u003e events/sched/filter\n\nbut commit 75b8e98263fdb0bfbdeba60d4db463259f1fe8a2 (tracing/filter: Swap\nentire filter of events) broke it without any reason.\n\nLink: http://lkml.kernel.org/r/4EAF46CF.8040408@cn.fujitsu.com\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cb59974742aea24adf6637eb0c4b8e7b48bca6fb",
      "tree": "1f891849b3fa24d69c3517c3c3739964ecfb0ac9",
      "parents": [
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:44 2011 -0500"
      },
      "message": "tracing: fix event_subsystem ref counting\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dc440d10e1668b15fe704a23adb9b53fbbb24a44",
      "tree": "badea13d8ad1464283d12d7e40c08e748b9209d7",
      "parents": [
        "2c3757e54e0d95f47bdc160fdc4f14849f3437cf",
        "d3d9acf646679c1981032b0985b386d12fccc60c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "10c6db110d0eb4466b59812c49088ab56218fc2e",
      "tree": "d1d4e8debcf7415df49ce691b4c3da7443919f11",
      "parents": [
        "16e5294e5f8303756a179cf218e37dfb9ed34417"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 26 02:47:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 09:33:03 2011 +0100"
      },
      "message": "perf: Fix loss of notification with multi-event\n\nWhen you do:\n        $ perf record -e cycles,cycles,cycles noploop 10\n\nYou expect about 10,000 samples for each event, i.e., 10s at\n1000samples/sec. However, this is not what\u0027s happening. You\nget much fewer samples, maybe 3700 samples/event:\n\n$ perf report -D | tail -15\nAggregated stats:\n           TOTAL events:      10998\n            MMAP events:         66\n            COMM events:          2\n          SAMPLE events:      10930\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\ncycles stats:\n           TOTAL events:       3642\n          SAMPLE events:       3642\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\n\nOn a Intel Nehalem or even AMD64, there are 4 counters capable\nof measuring cycles, so there is plenty of space to measure those\nevents without multiplexing (even with the NMI watchdog active).\nAnd even with multiplexing, we\u0027d expect roughly the same number\nof samples per event.\n\nThe root of the problem was that when the event that caused the buffer\nto become full was not the first event passed on the cmdline, the user\nnotification would get lost. The notification was sent to the file\ndescriptor of the overflowed event but the perf tool was not polling\non it.  The perf tool aggregates all samples into a single buffer,\ni.e., the buffer of the first event. Consequently, it assumes\nnotifications for any event will come via that descriptor.\n\nThe seemingly straight forward solution of moving the waitq into the\nringbuffer object doesn\u0027t work because of life-time issues. One could\nperf_event_set_output() on a fd that you\u0027re also blocking on and cause\nthe old rb object to be freed while its waitq would still be\nreferenced by the blocked thread -\u003e FAIL.\n\nTherefore link all events to the ringbuffer and broadcast the wakeup\nfrom the ringbuffer object to all possible events that could be waited\nupon. This is rather ugly, and we\u0027re open to better solutions but it\nworks for now.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nFinished-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111126014731.GA7030@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de28f25e8244c7353abed8de0c7792f5f883588c",
      "tree": "03f94969b51c454f5da2b52cc311e510c28c2080",
      "parents": [
        "c1be84309c58b1e7c6d626e28fba41a22b364c3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:02:45 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:07:23 2011 +0100"
      },
      "message": "clockevents: Set noop handler in clockevents_exchange_device()\n\nIf a device is shutdown, then there might be a pending interrupt,\nwhich will be processed after we reenable interrupts, which causes the\noriginal handler to be run. If the old handler is the (broadcast)\nperiodic handler the shutdown state might hang the kernel completely.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "c1be84309c58b1e7c6d626e28fba41a22b364c3d",
      "tree": "4d4db4e9ef8ceb5b762d4c2334e68b73858a1b07",
      "parents": [
        "b1f919664d04a8d0ba29cb76673c7ca3325a2006"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 12:34:16 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:06:54 2011 +0100"
      },
      "message": "tick-broadcast: Stop active broadcast device when replacing it\n\nWhen a better rated broadcast device is installed, then the current\nactive device is not disabled, which results in two running broadcast\ndevices.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "550acb19269d65f32e9ac4ddb26c2b2070e37f1c",
      "tree": "804925b363142e47a4a26f1afcfb8f9e302bed0e",
      "parents": [
        "b930c26416c4ea6855726fd977145ccea9afbdda"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Thu Dec 01 13:55:08 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 11:54:24 2011 +0100"
      },
      "message": "genirq: Fix race condition when stopping the irq thread\n\nIn irq_wait_for_interrupt(), the should_stop member is verified before\nsetting the task\u0027s state to TASK_INTERRUPTIBLE and calling schedule().\nIn case kthread_stop sets should_stop and wakes up the process after\nshould_stop is checked by the irq thread but before the task\u0027s state\nis changed, the irq thread might never exit:\n\nkthread_stop                    irq_wait_for_interrupt\n------------                    ----------------------\n\n                                 ...\n...                              while (!kthread_should_stop()) {\nkthread-\u003eshould_stop \u003d 1;\nwake_up_process(k);\nwait_for_completion(\u0026kthread-\u003eexited);\n...\n                                     set_current_state(TASK_INTERRUPTIBLE);\n\n                                     ...\n\n                                     schedule();\n                                 }\n\nFix this by checking if the thread should stop after modifying the\ntask\u0027s state.\n\n[ tglx: Simplified it a bit ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322740508-22640-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d3d9acf646679c1981032b0985b386d12fccc60c",
      "tree": "68df9e100ae7304a1384160b5d1b068241f4d1fe",
      "parents": [
        "4a1dba72384193753e44e15d9d05a50be6587271"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 08:49:49 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 01 22:16:47 2011 -0500"
      },
      "message": "trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n\nftrace_event_call-\u003efilter is sched RCU protected but didn\u0027t use\nrcu_assign_pointer().  Use it.\n\nTODO: Add proper __rcu annotation to call-\u003efilter and all its users.\n\n-v2: Use RCU_INIT_POINTER() for %NULL clearing as suggested by Eric.\n\nLink: http://lkml.kernel.org/r/20111123164949.GA29639@google.com\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: stable@kernel.org # (2.6.39+)\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b1f919664d04a8d0ba29cb76673c7ca3325a2006",
      "tree": "eeaafc566a9023a794eaefcda8a5201ba7ffa9bc",
      "parents": [
        "6a8943d9ec2567572fca25cf69ad45844d0141a3"
      ],
      "author": {
        "name": "Yang Honggang (Joseph)",
        "email": "eagle.rtlinux@gmail.com",
        "time": "Thu Dec 01 22:22:41 2011 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 01 15:50:00 2011 -0800"
      },
      "message": "clocksource: Fix bug with max_deferment margin calculation\n\nIn order to leave a margin of 12.5% we should \u003e\u003e 3 not \u003e\u003e 5.\n\nCC: stable@kernel.org\nSigned-off-by: Yang Honggang (Joseph) \u003ceagle.rtlinux@gmail.com\u003e\n[jstultz: Modified commit subject]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8cd7920370a3715ccbd1c98bf33f172b8837dc0b",
      "tree": "6ee969f2a1e235ed37348f841c3f15a03cfdff1e",
      "parents": [
        "57db53b07429c0d648f48727dd6c7c2b64c5708d",
        "f7bc83d87d242917ca0ee041ed509f57f361dd56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM: Update comments describing device power management callbacks\n  PM / Sleep: Update documentation related to system wakeup\n  PM / Runtime: Make documentation follow the new behavior of irq_safe\n  PM / Sleep: Correct inaccurate information in devices.txt\n  PM / Domains: Document how PM domains are used by the PM core\n  PM / Hibernate: Do not leak memory in error/test code paths\n"
    },
    {
      "commit": "a34815b96f9a21b3a2e2912dfd0d994acd2855e3",
      "tree": "e2e6ac428637059305d7c00274f0c034f0c82858",
      "parents": [
        "9b5a4d4f65e260a109eaeea8bbc8062a7c58b55e",
        "884a45d964dd395eda945842afff5e16bcaedf56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "message": "Merge branch \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup_freezer: fix freezing groups with stopped tasks\n"
    },
    {
      "commit": "c28800a9c3caaf387d85ac665a25ebe99e480295",
      "tree": "401ba805709a65a9f5c1919b3dc763c70b64b38f",
      "parents": [
        "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
        "27c9cd7e601632b3794e1c3344d37b86917ffb43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hrtimer: Fix extra wakeups from __remove_hrtimer()\n  timekeeping: add arch_offset hook to ktime_get functions\n  clocksource: Avoid selecting mult values that might overflow when adjusted\n  time: Improve documentation of timekeeeping_adjust()\n"
    },
    {
      "commit": "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
      "tree": "cba248174b2380106b93bb73bdf5de5368e1dca8",
      "parents": [
        "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
        "2ed0e645f358c26f4f4a7aed56a9488db0020ad1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Don\u0027t allow per cpu interrupts to be suspended\n"
    },
    {
      "commit": "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
      "tree": "c455a00601de4deeb4d9cc759e8b527ca574293a",
      "parents": [
        "401d0069cb344f401bc9d264c31db55876ff78c0"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Sun Nov 27 23:07:34 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:09 2011 -0800"
      },
      "message": "genirq: fix regression in irqfixup, irqpoll\n\nCommit fa27271bc8d2(\"genirq: Fixup poll handling\") introduced a\nregression that broke irqfixup/irqpoll for some hardware configurations.\n\nAmidst reorganizing \u0027try_one_irq\u0027, that patch removed a test that\nchecked for \u0027action-\u003ehandler\u0027 returning IRQ_HANDLED, before acting on\nthe interrupt.  Restoring this test back returns the functionality lost\nsince 2.6.39.  In the current set of tests, after \u0027action\u0027 is set, it\nmust precede \u0027!action-\u003enext\u0027 to take effect.\n\nWith this and my previous patch to irq/spurious.c, c75d720fca8a, all\nIRQ regressions that I have encountered are fixed.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nReported-and-tested-by: Rogério Brito \u003crbrito@ime.usp.br\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org (2.6.39+)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "884a45d964dd395eda945842afff5e16bcaedf56",
      "tree": "47a28f7231d65cff01f797ad1ad74e4a82a86839",
      "parents": [
        "860ca0e6f72d21ded33ce14be9a53eb103f88441"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Nov 22 07:44:47 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Nov 24 11:58:22 2011 -0800"
      },
      "message": "cgroup_freezer: fix freezing groups with stopped tasks\n\n2d3cbf8b (cgroup_freezer: update_freezer_state() does incorrect state\ntransitions) removed is_task_frozen_enough and replaced it with a simple\nfrozen call. This, however, breaks freezing for a group with stopped tasks\nbecause those cannot be frozen and so the group remains in CGROUP_FREEZING\nstate (update_if_frozen doesn\u0027t count stopped tasks) and never reaches\nCGROUP_FROZEN.\n\nLet\u0027s add is_task_frozen_enough back and use it at the original locations\n(update_if_frozen and try_to_freeze_cgroup). Semantically we consider\nstopped tasks as frozen enough so we should consider both cases when\ntesting frozen tasks.\n\nTestcase:\nmkdir /dev/freezer\nmount -t cgroup -o freezer none /dev/freezer\nmkdir /dev/freezer/foo\nsleep 1h \u0026\npid\u003d$!\nkill -STOP $pid\necho $pid \u003e /dev/freezer/foo/tasks\necho FROZEN \u003e /dev/freezer/foo/freezer.state\nwhile true\ndo\n\tcat /dev/freezer/foo/freezer.state\n\t[ \"`cat /dev/freezer/foo/freezer.state`\" \u003d \"FROZEN\" ] \u0026\u0026 break\n\tsleep 1\ndone\necho OK\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
      "tree": "aedde5149df5e3eb8c217b90540222ee507d5e9e",
      "parents": [
        "f10cdea68b70bd85706baed0decab59618f9c353"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 22 23:08:10 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:03:38 2011 +0100"
      },
      "message": "PM / Hibernate: Do not leak memory in error/test code paths\n\nThe hibernation core code forgets to release memory preallocated\nfor hibernation if there\u0027s an error in its early stages or if test\nmodes causing hibernation_snapshot() to return early are used.  This\ncauses the system to be hardly usable, because the amount of\npreallocated memory is usually huge.  Fix this problem.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8ba8ed54de4dd79bb88ab6cd7dbf2e83d58d6d57",
      "tree": "d4d1c687f1b7f58783103b43a04618d8e4019bba",
      "parents": [
        "bbbc4791cd48ac12996e43c0033b504c79b53639",
        "468e6a20afaccb67e2a7d7f60d301f90e1c6f301"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: remove vm_dirties and task-\u003edirties\n  writeback: hard throttle 1000+ dd on a slow USB stick\n  mm: Make task in balance_dirty_pages() killable\n"
    },
    {
      "commit": "2d360fcbd851b7f9f8c23b1c30b2f3c060fa43e6",
      "tree": "8228db95030b82921c90b95f353441946af3a677",
      "parents": [
        "a767835f6dc85277e40fbfe69a29c18817d6c00b",
        "501a708f18ef911328ffd39f39738b8a7862aa8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Suspend: Fix bug in suspend statistics update\n  PM / Hibernate: Fix the early termination of test modes\n  PM / shmobile: Fix build of sh7372_pm_init() for CONFIG_PM unset\n  PM Sleep: Do not extend wakeup paths to devices with ignore_children set\n  PM / driver core: disable device\u0027s runtime PM during shutdown\n  PM / devfreq: correct Kconfig dependency\n  PM / devfreq: fix use after free in devfreq_remove_device\n  PM / shmobile: Avoid restoring the INTCS state during initialization\n  PM / devfreq: Remove compiler error after irq.h update\n  PM / QoS: Properly use the WARN() macro in dev_pm_qos_add_request()\n  PM / Clocks: Only disable enabled clocks in pm_clk_suspend()\n  ARM: mach-shmobile: sh7372 A3SP no_suspend_console fix\n  PM / shmobile: Don\u0027t skip debugging output in pd_power_up()\n"
    },
    {
      "commit": "501a708f18ef911328ffd39f39738b8a7862aa8e",
      "tree": "f3adbf5979f9e714291cec5c2a893edbca16ba26",
      "parents": [
        "aa9a7b11821e883a7b93ecce190881e0ea48648b"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "message": "PM / Suspend: Fix bug in suspend statistics update\n\nAfter commit 2a77c46de1e3dace73745015635ebbc648eca69c\n(PM / Suspend: Add statistics debugfs file for suspend to RAM)\na missing pair of braces inside the state_store() function causes even\ninvalid arguments to suspend to be wrongly treated as failed suspend\nattempts. Fix this.\n\n[rjw: Put the hash/subject of the buggy commit into the changelog.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "27c9cd7e601632b3794e1c3344d37b86917ffb43",
      "tree": "dc6f3d9accdf9c7fd8fd80dd81ff2ed7e07304e7",
      "parents": [
        "d004e024058a0eaca097513ce62cbcf978913e0a"
      ],
      "author": {
        "name": "Jeff Ohlstein",
        "email": "johlstei@codeaurora.org",
        "time": "Fri Nov 18 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 19 12:17:37 2011 +0100"
      },
      "message": "hrtimer: Fix extra wakeups from __remove_hrtimer()\n\n__remove_hrtimer() attempts to reprogram the clockevent device when\nthe timer being removed is the next to expire. However,\n__remove_hrtimer() reprograms the clockevent *before* removing the\ntimer from the timerqueue and thus when hrtimer_force_reprogram()\nfinds the next timer to expire it finds the timer we\u0027re trying to\nremove.\n\nThis is especially noticeable when the system switches to NOHz mode\nand the system tick is removed. The timer tick is removed from the\nsystem but the clockevent is programmed to wakeup in another HZ\nanyway.\n\nSilence the extra wakeup by removing the timer from the timerqueue\nbefore calling hrtimer_force_reprogram() so that we actually program\nthe clockevent for the next timer to expire.\n\nThis was broken by 998adc3 \"hrtimers: Convert hrtimers to use\ntimerlist infrastructure\".\n\nSigned-off-by: Jeff Ohlstein \u003cjohlstei@codeaurora.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1321660030-8520-1-git-send-email-johlstei@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa9a7b11821e883a7b93ecce190881e0ea48648b",
      "tree": "b917fb563df2d27b95d6012afd9bf63237a7e3d5",
      "parents": [
        "88995e809f8a8115f30db24696c9137aad93d570"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "message": "PM / Hibernate: Fix the early termination of test modes\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n(PM / Hibernate: Freeze kernel threads after preallocating memory)\npostponed the freezing of kernel threads to after preallocating memory\nfor hibernation. But while doing that, the hibernation test TEST_FREEZER\nand the test mode HIBERNATION_TESTPROC were not moved accordingly.\n\nAs a result, when using these test modes, it only goes upto the freezing of\nuserspace and exits, when in fact it should go till the complete end of task\nfreezing stage, namely the freezing of kernel threads as well.\n\nSo, move these points of exit to appropriate places so that freezing of\nkernel threads is also tested while using these test harnesses.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d004e024058a0eaca097513ce62cbcf978913e0a",
      "tree": "94191734e099dd46b8998d813125efaa4a8a37d6",
      "parents": [
        "367177e50189ab0a983b52f3d3f7eb2a1927db71"
      ],
      "author": {
        "name": "Hector Palacios",
        "email": "hector.palacios@digi.com",
        "time": "Mon Nov 14 11:15:25 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 17 14:57:19 2011 -0800"
      },
      "message": "timekeeping: add arch_offset hook to ktime_get functions\n\nktime_get and ktime_get_ts were calling timekeeping_get_ns()\nbut later they were not calling arch_gettimeoffset() so architectures\nusing this mechanism returned 0 ns when calling these functions.\n\nThis happened for example when running Busybox\u0027s ping which calls\nsyscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts) which eventually\ncalls ktime_get. As a result the returned ping travel time was zero.\n\nCC: stable@kernel.org\nSigned-off-by: Hector Palacios \u003chector.palacios@digi.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2ed0e645f358c26f4f4a7aed56a9488db0020ad1",
      "tree": "f8425da7c40d068d532cc53313eebdd3414e5047",
      "parents": [
        "aa1b052a34d7ec85b23f4fba564df24b9477201b"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Wed Nov 16 12:27:39 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 17 17:44:04 2011 +0100"
      },
      "message": "genirq: Don\u0027t allow per cpu interrupts to be suspended\n\nThe power management functions related to interrupts do not know\n(yet) about per-cpu interrupts and end up calling the wrong\nlow-level methods to enable/disable interrupts.\n\nThis leads to all kind of interesting issues (action taken on one\nCPU only, updating a refcount which is not used otherwise...).\n\nThe workaround for the time being is simply to flag these interrupts\nwith IRQF_NO_SUSPEND. At least on ARM, these interrupts are actually\ndealt with at the architecture level.\n\nReported-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1321446459-31409-1-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544",
      "tree": "323e858496ef9c587a3e9861dab863af5303f82f",
      "parents": [
        "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 10:35:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 11:10:43 2011 -0500"
      },
      "message": "tracing: Add entries in buffer and total entries to default output header\n\nKnowing the number of event entries in the ring buffer compared\nto the total number that were written is useful information. The\nlatency format gives this information and there\u0027s no reason that the\ndefault format does not.\n\nThis information is now added to the default header, along with the\nnumber of online CPUs:\n\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 159836/64690869   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] ...2    49.442971: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442973: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442974: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [000] d..2    49.442976: __atomic_notifier_call_chain \u003c-atomic_notifier\n\nThe above shows that the trace contains 159836 entries, but\n64690869 were written. One could figure out that there were\n64531033 entries that were dropped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea",
      "tree": "fd46cc3c3128bd230ee9dcbd610bc0ca8719a63c",
      "parents": [
        "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 09:34:33 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 09:58:48 2011 -0500"
      },
      "message": "tracing: Add irq, preempt-count and need resched info to default trace output\n\nPeople keep asking how to get the preempt count, irq, and need resched info\nand we keep telling them to enable the latency format. Some developers think\nthat traces without this info is completely useless, and for a lot of tasks\nit is useless.\n\nThe first option was to enable the latency trace as the default format, but\nthe header for the latency format is pretty useless for most tracers and\nit also does the timestamp in straight microseconds from the time the trace\nstarted. This is sometimes more difficult to read as the default trace is\nseconds from the start of boot up.\n\nLatency format:\n\n # tracer: nop\n #\n # nop latency trace v1.1.5 on 3.2.0-rc1-test+\n # --------------------------------------------------------------------\n # latency: 0 us, #159771/64234230, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)\n #    -----------------\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||  \\    |   /\n migratio-6       0...2 41778231us+: rcu_note_context_switch \u003c-__schedule\n migratio-6       0...2 41778233us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778235us+: rcu_sched_qs \u003c-rcu_note_context_switch\n migratio-6       0d..2 41778236us+: rcu_preempt_qs \u003c-rcu_note_context_switch\n migratio-6       0...2 41778238us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778239us+: debug_lockdep_rcu_enabled \u003c-__schedule\n\ndefault format:\n\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n      migration/0-6     [000]    50.025810: rcu_note_context_switch \u003c-__schedule\n      migration/0-6     [000]    50.025812: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025813: rcu_sched_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025815: rcu_preempt_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025817: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025818: debug_lockdep_rcu_enabled \u003c-__schedule\n      migration/0-6     [000]    50.025820: debug_lockdep_rcu_enabled \u003c-__schedule\n\nThe latency format header has latency information that is pretty meaningless\nfor most tracers. Although some of the header is useful, and we can add that\nlater to the default format as well.\n\nWhat is really useful with the latency format is the irqs-off, need-resched\nhard/softirq context and the preempt count.\n\nThis commit adds the option irq-info which is on by default that adds this\ninformation:\n\n # tracer: nop\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] d..2    49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000] d..2    49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000] d..2    49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309315: need_resched \u003c-mwait_idle\n\nIf a user wants the old format, they can disable the \u0027irq-info\u0027 option:\n\n # tracer: nop\n #\n #           TASK-PID   CPU#      TIMESTAMP  FUNCTION\n #              | |       |          |         |\n           \u003cidle\u003e-0     [000]     49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000]     49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000]     49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000]     49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309315: need_resched \u003c-mwait_idle\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "aa1b052a34d7ec85b23f4fba564df24b9477201b",
      "tree": "904f0ede7a80b9c8e6e341bfb5d72b8731767d24",
      "parents": [
        "bd29e568a4cb6465f6e5ec7c1c1f3ae7d99cbec1",
        "c75d720fca8a91ce99196d33adea383621027bf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix irqfixup, irqpoll regression\n"
    },
    {
      "commit": "468e6a20afaccb67e2a7d7f60d301f90e1c6f301",
      "tree": "5558e92e85decd0fa0bb95ed6e637e1f68ea2fe1",
      "parents": [
        "1df647197c5b8aacaeb58592cba9a1df322c9000"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 07 10:41:32 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Nov 17 20:49:06 2011 +0800"
      },
      "message": "writeback: remove vm_dirties and task-\u003edirties\n\nThey are not used any more.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "fccfdc6f0d8c83c854eeb6d93aa158f0e551bd49",
      "tree": "d3a397152c6bff8675350e58e2aceb4ec34c1108",
      "parents": [
        "4dcfe1025b513c2c1da5bf5586adb0e80148f612"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 07 20:26:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:45 2011 +0100"
      },
      "message": "sched: Fix buglet in return_cfs_rq_runtime()\n\nIn return_cfs_rq_runtime() we want to return bandwidth when there are no\nremaining tasks, not \"return\" when this is the case.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111108042736.623812423@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dcfe1025b513c2c1da5bf5586adb0e80148f612",
      "tree": "1c0bf8ad4c09a3a618c471b6468873d8d8ed2117",
      "parents": [
        "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Nov 10 13:01:10 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:43 2011 +0100"
      },
      "message": "sched: Avoid SMT siblings in select_idle_sibling() if possible\n\nAvoid select_idle_sibling() from picking a sibling thread if there\u0027s\nan idle core that shares cache.\n\nThis fixes SMT balancing in the increasingly common case where there\u0027s\na shared cache core available to balance to.\n\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1321350377.1421.55.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c23205c8488f11cb9ebe7a7b5851a1d8a0171011",
      "tree": "239dd82daddb1ce08b50ea9145d8f2a4685ebead",
      "parents": [
        "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace",
        "de346b6949063aa040ef607943b072835294f4b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 15 11:05:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 15 11:05:18 2011 +0100"
      },
      "message": "Merge branch \u0027core\u0027 of git://amd64.org/linux/rric into perf/core\n"
    },
    {
      "commit": "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace",
      "tree": "3190ed611a1b88092d4a0aee584b505999a26f17",
      "parents": [
        "9251f904f95175b4a1d8cbc0449e748f9edd7629"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Nov 07 15:54:12 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:31:28 2011 +0100"
      },
      "message": "events: Don\u0027t divide events if it has field period\n\nThis patch solves the following problem:\n\nNow some samples may be lost due to throttling. The number of samples is\nrestricted by sysctl_perf_event_sample_rate/HZ.  A trace event is\ndivided on some samples according to event\u0027s period.  I don\u0027t sure, that\nwe should generate more than one sample on each trace event. I think the\nbetter way to use SAMPLE_PERIOD.\n\nE.g.: I want to trace when a process sleeps. I created a process, which\nsleeps for 1ms and for 4ms.  perf got 100 events in both cases.\n\nswapper     0 [000]  1141.371830: sched_stat_sleep: comm\u003dfoo pid\u003d1801 delay\u003d1386750 [ns]\nswapper     0 [000]  1141.369444: sched_stat_sleep: comm\u003dfoo pid\u003d1801 delay\u003d4499585 [ns]\n\nIn the first case a kernel want to send 4499585 events and\nin the second case it wants to send 1386750 events.\nperf-reports shows that process sleeps in both places equal time. It\u0027s\nbug.\n\nWith this patch kernel generates one event on each \"sleep\" and the time\nslice is saved in the field \"period\". Perf knows how handle it.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1320670457-2633428-3-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9251f904f95175b4a1d8cbc0449e748f9edd7629",
      "tree": "585b73028c0c6b955d1759faf8544870eae213f5",
      "parents": [
        "efc96737bd82b508794d2b28061a12af4a3f7766"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Sun Oct 16 17:15:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:31:26 2011 +0100"
      },
      "message": "perf: Carve out callchain functionality\n\nSplit the callchain code from the perf events core into\na new kernel/events/callchain.c file.\n\nThis simplifies a bit the big core.c\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\n[keep ctx recursion handling inline and use internal headers]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318778104-17152-1-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d5f003f5a964711853514b04ddc872eec0fdc7b",
      "tree": "6f3e912a02b50dc698f601c3a08453a781e7f754",
      "parents": [
        "57d1c0c03c6b48b2b96870d831b9ce6b917f53ac"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 23 19:10:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:01:21 2011 +0100"
      },
      "message": "perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n\nDo not set task_ctx pointer during sched_in if there are no\nevents associated with the context.  Otherwise if during task\nexecution total number of events in the system will become zero\nperf_event_context_sched_out() will not be called and cpuctx-\u003etask_ctx\nwill be left with a stale value.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111023171033.GI17571@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc",
      "tree": "06a00ecfe00ddadb282c88fb3408c158c08fd312",
      "parents": [
        "4a6184ce7a48c478dee0d8a9ed74c1fa35161858"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Wed Oct 26 23:14:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:43 2011 +0100"
      },
      "message": "sched: Set the command name of the idle tasks in SMP kernels\n\nIn UP systems, the idle task is initialized using the init_task\nstructure from which the command name is taken (currently \"swapper\").\n\nIn SMP systems, one idle task per CPU is forked by the worker thread\nfrom which the task structure is copied. The command name is, therefore,\n\"kworker/0:0\" or \"kworker/0:1\", if not updated. Since such update was\nlacking, all idle tasks in SMP systems were incorrectly named. This\nlongtime bug was not discovered immediately, because there is no /proc/0\nentry - the bug only becomes apparent when tracing is enabled.\n\nThis patch sets the command name of the idle tasks in SMP systems to the\nname that is used in the INIT_TASK structure suffixed by a slash and the\nnumber of the CPU.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111026211708.768925506@osadl.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a6184ce7a48c478dee0d8a9ed74c1fa35161858",
      "tree": "4b4b19673ade197de17614df11a2825410ca7baf",
      "parents": [
        "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 06 22:39:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:40 2011 +0100"
      },
      "message": "sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n\nNormally the RT bandwidth scheme will share bandwidth across the\nentire root_domain. However sometimes its convenient to disable this\nsharing for debug purposes. Provide a simple feature switch to this\nend.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb",
      "tree": "c4edc4a84ba9636057d923a308e2a3bcd910fa63",
      "parents": [
        "461819ac8ee950ce027c72a066156a3df9e60c7e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 06 15:22:46 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:37 2011 +0100"
      },
      "message": "sched: Document wait_for_completion_*() return values\n\nThe return-value convention for these functions varies depending on\nwhether they\u0027re interruptible or can timeout.  It can be a little\nconfusing--document it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111006192246.GB28026@fieldses.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "461819ac8ee950ce027c72a066156a3df9e60c7e",
      "tree": "56f6c312adfdf826e9d57b797a9e101b9ff3ab31",
      "parents": [
        "cf5f0acf3935c91379e709a71ecf68805d366659"
      ],
      "author": {
        "name": "Hui Kang",
        "email": "hkang.sunysb@gmail.com",
        "time": "Tue Oct 11 23:00:59 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:34 2011 +0100"
      },
      "message": "sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n\nSigned-off-by: Hui Kang \u003chkang.sunysb@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318388459-4427-1-git-send-email-hkang.sunysb@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf5f0acf3935c91379e709a71ecf68805d366659",
      "tree": "66bbd968ec8031c33e7134b6c7f9387c796d6873",
      "parents": [
        "7f80850d3f9fd8fda23a317044aef3a6bafab06b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 13 16:52:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:32 2011 +0100"
      },
      "message": "sched: Add a comment to effective_load() since it\u0027s a pain\n\nEvery time I have to stare at this function I need to completely\nreverse engineer its workings, about time I write a comment\nexplaining the thing.\n\nCollected bits and pieces from previous changelogs, mostly:\n\n  4be9daaa1b33701f011f4117f22dc1e45a3e6e34\n  83378269a5fad98f562ebc0f09c349575e6cbfe1\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318518057.27731.2.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efc96737bd82b508794d2b28061a12af4a3f7766",
      "tree": "e9fe4982967b74c0d25a35a2d7f7c62d8be98a47",
      "parents": [
        "1ec454baf1245df4fdb5dae728da3363630ce6de",
        "7e9a49ef542610609144d1afcd516dc3fafac4d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "367177e50189ab0a983b52f3d3f7eb2a1927db71",
      "tree": "fed5e93eb35d002e21cb3c2fafbfe38062aaa266",
      "parents": [
        "c2bc11113c50449f23c40b724fe410fc2380a8e9",
        "d65670a78cdbfae94f20a9e05ec705871d7cdf2b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "message": "Merge branch \u0027formingo/3.2/tip/timers/core\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nConflicts:\n\tkernel/time/timekeeping.c\n"
    },
    {
      "commit": "d65670a78cdbfae94f20a9e05ec705871d7cdf2b",
      "tree": "3c16dedb75fa5ab6c0fdc072cc8d73df01d43a17",
      "parents": [
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Oct 31 17:06:35 2011 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 10 11:27:08 2011 -0800"
      },
      "message": "clocksource: Avoid selecting mult values that might overflow when adjusted\n\nFor some frequencies, the clocks_calc_mult_shift() function will\nunfortunately select mult values very close to 0xffffffff.  This\nhas the potential to overflow when NTP adjusts the clock, adding\nto the mult value.\n\nThis patch adds a clocksource.maxadj value, which provides\nan approximation of an 11% adjustment(NTP limits adjustments to\n500ppm and the tick adjustment is limited to 10%), which could\nbe made to the clocksource.mult value. This is then used to both\ncheck that the current mult value won\u0027t overflow/underflow, as\nwell as warning us if the timekeeping_adjust() code pushes over\nthat 11% boundary.\n\nv2: Fix max_adjustment calculation, and improve WARN_ONCE\nmessages.\n\nv3: Don\u0027t warn before maxadj has actually been set\n\nCC: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCC: David Daney \u003cddaney.cavm@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Chen Jie \u003cchenj@lemote.com\u003e\nCC: zhangfx \u003czhangfx@lemote.com\u003e\nCC: stable@kernel.org\nReported-by: Chen Jie \u003cchenj@lemote.com\u003e\nReported-by: zhangfx \u003czhangfx@lemote.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "de346b6949063aa040ef607943b072835294f4b3",
      "tree": "11f5a10b9ab41a10ea26bf8ab1f133b802e7559e",
      "parents": [
        "dcfce4a095932e6e95d83ad982be3609947963bc",
        "9c48f1c629ecfa114850c03f875c6691003214de"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Nov 08 15:52:15 2011 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Nov 08 15:52:15 2011 +0100"
      },
      "message": "Merge branch \u0027perf/core\u0027 into oprofile/master\n\nMerge reason: Resolve conflicts with Don\u0027s NMI rework:\n\n    commit 9c48f1c629ecfa114850c03f875c6691003214de\n    Author: Don Zickus \u003cdzickus@redhat.com\u003e\n    Date:   Fri Sep 30 15:06:21 2011 -0400\n    x86, nmi: Wire up NMI handlers to new routines\n\nConflicts:\n\tarch/x86/oprofile/nmi_timer_int.c\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "a6f05b97d1ba87326bd96f3da9fef994830d6994",
      "tree": "d3e4aa1f3d0691c45842b49338d2fce8e74a43e7",
      "parents": [
        "94956eed14b4b16d401c8ad36d68df0608f968cb"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Nov 06 21:54:12 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 07 23:02:24 2011 +0100"
      },
      "message": "PM / QoS: Set cpu_dma_pm_qos-\u003ename\n\nSince commit 4a31a334, the name of this misc device is not initialized,\nwhich leads to a funny device named /dev/(null) being created and\n/proc/misc containing an entry with just a number but no name. The latter\nleads to complaints by cryptsetup, which caused me to investigate this\nmatter.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7e9a49ef542610609144d1afcd516dc3fafac4d6",
      "tree": "a8b3748cbbb2ab61998d4c8e2f8c055e0edda104",
      "parents": [
        "d4d34b981a5327eec956c6cb4cce397ce6f57279"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Nov 07 16:08:49 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 13:48:35 2011 -0500"
      },
      "message": "tracing/latency: Fix header output for latency tracers\n\nIn case the the graph tracer (CONFIG_FUNCTION_GRAPH_TRACER) or even the\nfunction tracer (CONFIG_FUNCTION_TRACER) are not set, the latency tracers\ndo not display proper latency header.\n\nThe involved/fixed latency tracers are:\n        wakeup_rt\n        wakeup\n        preemptirqsoff\n        preemptoff\n        irqsoff\n\nThe patch adds proper handling of tracer configuration options for latency\ntracers, and displaying correct header info accordingly.\n\n* The current output (for wakeup tracer) with both graph and function\n  tracers disabled is:\n\n  # tracer: wakeup\n  #\n    \u003cidle\u003e-0       0d.h5    1us+:      0:120:R   + [000]     7:  0:R watchdog/0\n    \u003cidle\u003e-0       0d.h5    3us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n    ...\n\n* The fixed output is:\n\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 55 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: migration/0-6 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n       cat-1129    0d..4    1us :   1129:120:R   + [000]     6:  0:R migration/0\n       cat-1129    0d..4    2us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The current output (for wakeup tracer) with only function\n  tracer enabled is:\n\n  # tracer: wakeup\n  #\n       cat-1140    0d..4    1us+:   1140:120:R   + [000]     6:  0:R migration/0\n       cat-1140    0d..4    2us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The fixed output is:\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 207 us, #109/109, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: watchdog/1-12 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n    \u003cidle\u003e-0       1d.h5    1us+:      0:120:R   + [001]    12:  0:R watchdog/1\n    \u003cidle\u003e-0       1d.h5    3us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\nLink: http://lkml.kernel.org/r/20111107150849.GE1807@m.brq.redhat.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d4d34b981a5327eec956c6cb4cce397ce6f57279",
      "tree": "a5ee3ca4103b2a987f369a15cd9f28798d0d91cf",
      "parents": [
        "49908a1b25d448d68fd26faca260e1850201575f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 13:48:05 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c8452afb7426f7e21388492f40227582e3e83879",
      "tree": "dd01f094321d9d8c6412d11cc4dd1a33d18b48f7",
      "parents": [
        "8ee3c92b7f2751c392be2d8fc360a410480b8757"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Oct 18 19:55:51 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 11:02:34 2011 -0500"
      },
      "message": "jump_label: jump_label_inc may return before the code is patched\n\nIf cpu A calls jump_label_inc() just after atomic_add_return() is\ncalled by cpu B, atomic_inc_not_zero() will return value greater then\nzero and jump_label_inc() will return to a caller before jump_label_update()\nfinishes its job on cpu B.\n\nLink: http://lkml.kernel.org/r/20111018175551.GH17571@redhat.com\n\nCc: stable@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8ee3c92b7f2751c392be2d8fc360a410480b8757",
      "tree": "60ebbd1d3dc66eda28f73cc08d19c0ccbd082cbf",
      "parents": [
        "e5e78d08f3ab3094783b8df08a5b6d1d1a56a58f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 11:02:33 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e5e78d08f3ab3094783b8df08a5b6d1d1a56a58f",
      "tree": "524c4faf387d4ac1dc46b23015a9d8fc4823ab88",
      "parents": [
        "3890c136357284cb0656f9dd0e62286995ad32e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 02 20:24:16 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 11:01:46 2011 -0500"
      },
      "message": "lockdep: Show subclass in pretty print of lockdep output\n\nThe pretty print of the lockdep debug splat uses just the lock name\nto show how the locking scenario happens. But when it comes to\nnesting locks, the output becomes confusing which takes away the point\nof the pretty printing of the lock scenario.\n\nWithout displaying the subclass info, we get the following output:\n\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(slock-AF_INET);\n                                lock(slock-AF_INET);\n                                lock(slock-AF_INET);\n   lock(slock-AF_INET);\n\n  *** DEADLOCK ***\n\nThe above looks more of a A-\u003eA locking bug than a A-\u003eB B-\u003eA.\nBy adding the subclass to the output, we can see what really happened:\n\n other info that might help us debug this:\n\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(slock-AF_INET);\n                                lock(slock-AF_INET/1);\n                                lock(slock-AF_INET);\n   lock(slock-AF_INET/1);\n\n  *** DEADLOCK ***\n\nThis bug was discovered while tracking down a real bug caught by lockdep.\n\nLink: http://lkml.kernel.org/r/20111025202049.GB25043@hostway.ca\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b32fc0a0629bf5894b35f33554c118aacfd0d1e2",
      "tree": "5d6aaa9a35b7fa63681adab91da3b3dec5276f84",
      "parents": [
        "403299a8515c56db58454c57712f4dc96d6c1fde",
        "97ce2c88f9ad42e3c60a9beb9fca87abf3639faa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "message": "Merge branch \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  jump-label: initialize jump-label subsystem much earlier\n  x86/jump_label: add arch_jump_label_transform_static()\n  s390/jump-label: add arch_jump_label_transform_static()\n  jump_label: add arch_jump_label_transform_static() to optimise non-live code updates\n  sparc/jump_label: drop arch_jump_label_text_poke_early()\n  x86/jump_label: drop arch_jump_label_text_poke_early()\n  jump_label: if a key has already been initialized, don\u0027t nop it out\n  stop_machine: make stop_machine safe and efficient to call early\n  jump_label: use proper atomic_t initializer\n\nConflicts:\n - arch/x86/kernel/jump_label.c\n\tAdded __init_or_module to arch_jump_label_text_poke_early vs\n\tremoval of that function entirely\n - kernel/stop_machine.c\n\tsame patch (\"stop_machine: make stop_machine safe and efficient\n\tto call early\") merged twice, with whitespace fix in one version\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "d4a2e61f0b7a7b5b9e321e776a1e874c02e847e4",
      "tree": "d90b71a99cb82809d56f9798f59d175b57562803",
      "parents": [
        "0e4c9dc2f2e0fb6d3838eba34382fc6d2d1c381c",
        "2449b8ba0745327c5fa49a8d9acffe03b2eded69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\n* git://github.com/rustyrussell/linux:\n  module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n  module: Enable dynamic debugging regardless of taint\n"
    },
    {
      "commit": "1197ab2942f920f261952de0c392ac749a35796b",
      "tree": "4922ccc8a6061e5ece6ac7420001f3bf4524ea92",
      "parents": [
        "ec773e99ab4abce07b1ae23117179c2861831964",
        "96cc017c5b7ec095ef047d3c1952b6b6bbf98943"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)\n  powerpc/p3060qds: Add support for P3060QDS board\n  powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX\n  powerpc/85xx: Make kexec to interate over online cpus\n  powerpc/fsl_booke: Fix comment in head_fsl_booke.S\n  powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices\n  powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver\n  powerpc/85xx: Add \u0027fsl,pq3-gpio\u0027 compatiable for GPIO driver\n  powerpc/86xx: Correct Gianfar support for GE boards\n  powerpc/cpm: Clear muram before it is in use.\n  drivers/virt: add ioctl for 32-bit compat on 64-bit to fsl-hv-manager\n  powerpc/fsl_msi: add support for \"msi-address-64\" property\n  powerpc/85xx: Setup secondary cores PIR with hard SMP id\n  powerpc/fsl-booke: Fix settlbcam for 64-bit\n  powerpc/85xx: Adding DCSR node to dtsi device trees\n  powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards\n  powerpc/85xx: fix PHYS_64BIT selection for P1022DS\n  powerpc/fsl-booke: Fix setup_initial_memory_limit to not blindly map\n  powerpc: respect mem\u003d setting for early memory limit setup\n  powerpc: Update corenet64_smp_defconfig\n  powerpc: Update mpc85xx/corenet 32-bit defconfigs\n  ...\n\nFix up trivial conflicts in:\n - arch/powerpc/configs/40x/hcu4_defconfig\n\tremoved stale file, edited elsewhere\n - arch/powerpc/include/asm/udbg.h, arch/powerpc/kernel/udbg.c:\n\tadded opal and gelic drivers vs added ePAPR driver\n - drivers/tty/serial/8250.c\n\tmoved UPIO_TSI to powerpc vs removed UPIO_DWAPB support\n"
    },
    {
      "commit": "2449b8ba0745327c5fa49a8d9acffe03b2eded69",
      "tree": "48e11288635dcfc8cdb342f3ba00fa2a2a650aa8",
      "parents": [
        "1cd0d6c3021c8d76641b37203f504634b87fbabc"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 24 15:12:28 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:42 2011 +1030"
      },
      "message": "module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n\nUse of the GPL or a compatible licence doesn\u0027t necessarily make the code\nany good.  We already consider staging modules to be suspect, and this\nshould also be true for out-of-tree modules which may receive very\nlittle review.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nReviewed-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (patched oops-tracing.txt)\n"
    },
    {
      "commit": "1cd0d6c3021c8d76641b37203f504634b87fbabc",
      "tree": "e58051cdb845375c13c22bfa38db0b6fc2c71977",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Nov 01 03:59:33 2011 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:40 2011 +1030"
      },
      "message": "module: Enable dynamic debugging regardless of taint\n\nDynamic debugging is currently disabled for tainted modules, except\nfor TAINT_CRAP.  This prevents use of dynamic debugging for\nout-of-tree modules once the next patch is applied.\n\nThis condition was apparently intended to avoid a crash if a force-\nloaded module has an incompatible definition of dynamic debug\nstructures.  However, a administrator that forces us to load a module\nis claiming that it *is* compatible even though it fails our version\nchecks.  If they are mistaken, there are any number of ways the module\ncould crash the system.\n\nAs a side-effect, proprietary and other tainted modules can now use\ndynamic_debug.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "49aa29513ec995f201664cf6eee36e5326ed38bf",
      "tree": "261edda11ab8893c6b565561bb1c69cc714fca6c",
      "parents": [
        "ed0449af5373abd766c79fbf83254bebc996bd23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 02 16:46:46 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 04 21:25:36 2011 -0400"
      },
      "message": "tracing: Add boiler plate for subsystem filter\n\nThe system filter can be used to set multiple event filters that\nexist within the system. But currently it displays the last filter\nwritten that does not necessarily correspond to the filters within\nthe system. The system filter itself is not used to filter any events.\nThe system filter is just a means to set filters of the events within\nit.\n\nBecause this causes an ambiguous state when the system filter reads\na filter string but the events within the system have different strings\nit is best to just show a boiler plate:\n\n ### global filter ###\n # Use this to set filters for multiple events.\n # Only events with the given fields will be affected.\n # If no events are modified, an error message will be displayed here.\n\nIf an error occurs while writing to the system filter, the system\nfilter will replace the boiler plate with the error message as it\ncurrently does.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d6cc76856d353a3a9c43bead33210b9216dce332",
      "tree": "06d072db1e4672ef595a1e8f411f7bd4b8e63866",
      "parents": [
        "6f35c4abd7f0294166a5e0ab0401fe7949b33034"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 04 01:04:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:15 2011 +0100"
      },
      "message": "PM / Freezer: Revert 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\"\n\nCommit 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake\nTASK_KILLABLE tasks too\" updated fake_signal_wake_up() used by freezer\nto wake up KILLABLE tasks.  Sending unsolicited wakeups to tasks in\nkillable sleep is dangerous as there are code paths which depend on\ntasks not waking up spuriously from KILLABLE sleep.\n\nFor example. sys_read() or page can sleep in TASK_KILLABLE assuming\nthat wait/down/whatever _killable can only fail if we can not return\nto the usermode.  TASK_TRACED is another obvious example.\n\nThe previous patch updated wait_event_freezekillable() such that it\ndoesn\u0027t depend on the spurious wakeup.  This patch reverts the\noffending commit.\n\nNote that the spurious KILLABLE wakeup had other implicit effects in\nKILLABLE sleeps in nfs and cifs and those will need further updates to\nregain freezekillable behavior.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6513fd6972f725291ee8ce62c7a39fb8a6c7391e",
      "tree": "d5fd2722e3f1299f3b71b917fa1287e302f2df76",
      "parents": [
        "a96d69d1b02c4a526bd8c07e0cb10c129025c88c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Nov 03 10:12:36 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:14 2011 +0100"
      },
      "message": "PM / QoS: Remove redundant check\n\nRemove an \"if\" check, that repeats an equivalent one 6 lines above.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "79cfbdfa87e84992d509e6c1648a18e1d7e68c20",
      "tree": "cc82be9bc890aa0b2b635ceff06db2ed9056460d",
      "parents": [
        "ddf6ce45a7b1193f3cf20ad234f35af3b998b8f8"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Nov 03 00:59:25 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:09 2011 +0100"
      },
      "message": "PM / Sleep: Fix race between CPU hotplug and freezer\n\nThe CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()\nfunctions depend on the value of the \u0027tasks_frozen\u0027 argument passed to them\n(which indicates whether tasks have been frozen or not).\n(Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,\nCPU_DEAD, CPU_DEAD_FROZEN).\n\nThus, it is essential that while the callbacks for those notifications are\nrunning, the state of the system with respect to the tasks being frozen or\nnot remains unchanged, *throughout that duration*. Hence there is a need for\nsynchronizing the CPU hotplug code with the freezer subsystem.\n\nSince the freezer is involved only in the Suspend/Hibernate call paths, this\npatch hooks the CPU hotplug code to the suspend/hibernate notifiers\nPM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent\nthe race between CPU hotplug and freezer, thus ensuring that CPU hotplug\nnotifications will always be run with the state of the system really being\nwhat the notifications indicate, _throughout_ their execution time.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "dcfce4a095932e6e95d83ad982be3609947963bc",
      "tree": "2808b7cbdb57deab25cc1cd847fd0f9ffa058f92",
      "parents": [
        "75c43a20b220f885c39ffa7cdbbb1191e257a9a9"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Oct 11 17:11:08 2011 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Nov 04 16:27:18 2011 +0100"
      },
      "message": "oprofile, x86: Reimplement nmi timer mode using perf event\n\nThe legacy x86 nmi watchdog code was removed with the implementation\nof the perf based nmi watchdog. This broke Oprofile\u0027s nmi timer\nmode. To run nmi timer mode we relied on a continuous ticking nmi\nsource which the nmi watchdog provided. The nmi tick was no longer\navailable and current watchdog can not be used anymore since it runs\nwith very long periods in the range of seconds. This patch\nreimplements the nmi timer mode using a perf counter nmi source.\n\nV2:\n* removing pr_info()\n* fix undefined reference to `__udivdi3\u0027 for 32 bit build\n* fix section mismatch of .cpuinit.data:nmi_timer_cpu_nb\n* removed nmi timer setup in arch/x86\n* implemented function stubs for op_nmi_init/exit()\n* made code more readable in oprofile_init()\n\nV3:\n* fix architectural initialization in oprofile_init()\n* fix CONFIG_OPROFILE_NMI_TIMER dependencies\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "4536e4d1d21c8172402a2217b0fa1880665ace36",
      "tree": "0bcf19fda146cb4afbdd6487218fb6ac16b80fcd",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "message": "Revert \"perf: Add PM notifiers to fix CPU hotplug races\"\n\nThis reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.\n\nIt causes a resume regression for Andi on his Acer Aspire 1830T post\n3.1.  The screen just stays black after wakeup.\n\nAlso, it really looks like the wrong way to suspend and resume perf\nevents: I think they should be done as part of the CPU suspend and\nresume, rather than as a notifier that does smp_call_function().\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75d720fca8a91ce99196d33adea383621027bf2",
      "tree": "8b5f2605c4bbd61f2cc43f37a163b60d073433cd",
      "parents": [
        "c3b92c8787367a8bb53d57d9789b558f1295cc96"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Tue Nov 01 15:29:44 2011 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 03 13:12:39 2011 +0100"
      },
      "message": "genirq: Fix irqfixup, irqpoll regression\n\ncommit d05c65fff0 (\"genirq: spurious: Run only one poller at a time\")\nintroduced a regression, leaving the boot options \u0027irqfixup\u0027 and\n\u0027irqpoll\u0027 non-functional. The patch placed tests in each function, to\nexit if the function is already running. The test in \u0027misrouted_irq\u0027\nexited when it should have proceeded, effectively disabling\n\u0027misrouted_irq\u0027 and \u0027poll_spurious_irqs\u0027.\n\nThe check for an already running poller needs to be \"!\u003d 1\" not \"\u003d\u003d 1\"\nas \"1\" is the value when the first poller starts running.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nCc: maciej.rutecki@gmail.com\nLink: http://lkml.kernel.org/r/1320175784-6745-1-git-send-email-edward.donovan@numble.net\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.39\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1e2ee2dc436574880758b3836fc96935b774c32",
      "tree": "aa496a9ba20e06749194faa4dbb14b6046e6b06b",
      "parents": [
        "080d676de095a14ecba14c0b9a91acb5bbb634df"
      ],
      "author": {
        "name": "Andrew Bresticker",
        "email": "abrestic@google.com",
        "time": "Wed Nov 02 13:40:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:03 2011 -0700"
      },
      "message": "memcg: replace ss-\u003eid_lock with a rwlock\n\nWhile back-porting Johannes Weiner\u0027s patch \"mm: memcg-aware global\nreclaim\" for an internal effort, we noticed a significant performance\nregression during page-reclaim heavy workloads due to high contention of\nthe ss-\u003eid_lock.  This lock protects idr map, and serializes calls to\nidr_get_next() in css_get_next() (which is used during the memcg hierarchy\nwalk).\n\nSince idr_get_next() is just doing a look up, we need only serialize it\nwith respect to idr_remove()/idr_get_new().  By making the ss-\u003eid_lock a\nrwlock, contention is greatly reduced and performance improves.\n\nTested: cat a 256m file from a ramdisk in a 128m container 50 times on\neach core (one file + container per core) in parallel on a NUMA machine.\nResult is the time for the test to complete in 1 of the containers.\nBoth kernels included Johannes\u0027 memcg-aware global reclaim patches.\n\nBefore rwlock patch: 1710.778s\nAfter rwlock patch: 152.227s\n\nSigned-off-by: Andrew Bresticker \u003cabrestic@google.com\u003e\nCc: Paul Menage \u003cmenage@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ecf06854a66ee663f4d4cf029c78cd62a15e04",
      "tree": "cbe863057fa14b9390746db6d2b1812a2f874b48",
      "parents": [
        "088024b1deee206cd37eff980138e918837aabdb"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Nov 02 13:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:02 2011 -0700"
      },
      "message": "sysctl: add support for poll()\n\nAdding support for poll() in sysctl fs allows userspace to receive\nnotifications of changes in sysctl entries.  This adds a infrastructure to\nallow files in sysctl fs to be pollable and implements it for hostname and\ndomainname.\n\n[akpm@linux-foundation.org: s/declare/define/ for definitions]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e8a244b97e48f1f30e898b6f32acca477f2a13",
      "tree": "01d55ac07b57d8afaecd1a6871c5b5d6a7151586",
      "parents": [
        "61600f578fbd2e8ad0c90bddb9c729e7628d3813"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Nov 02 13:38:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:00 2011 -0700"
      },
      "message": "cpusets: avoid looping when storing to mems_allowed if one node remains set\n\n{get,put}_mems_allowed() exist so that general kernel code may locklessly\naccess a task\u0027s set of allowable nodes without having the chance that a\nconcurrent write will cause the nodemask to be empty on configurations\nwhere MAX_NUMNODES \u003e BITS_PER_LONG.\n\nThis could incur a significant delay, however, especially in low memory\nconditions because the page allocator is blocking and reclaim requires\nget_mems_allowed() itself.  It is not atypical to see writes to\ncpuset.mems take over 2 seconds to complete, for example.  In low memory\nconditions, this is problematic because it\u0027s one of the most imporant\ntimes to change cpuset.mems in the first place!\n\nThe only way a task\u0027s set of allowable nodes may change is through cpusets\nby writing to cpuset.mems and when attaching a task to a generic code is\nnot reading the nodemask with get_mems_allowed() at the same time, and\nthen clearing all the old nodes.  This prevents the possibility that a\nreader will see an empty nodemask at the same time the writer is storing a\nnew nodemask.\n\nIf at least one node remains unchanged, though, it\u0027s possible to simply\nset all new nodes and then clear all the old nodes.  Changing a task\u0027s\nnodemask is protected by cgroup_mutex so it\u0027s guaranteed that two threads\nare not changing the same task\u0027s nodemask at the same time, so the\nnodemask is guaranteed to be stored before another thread changes it and\ndetermines whether a node remains set or not.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ceab8ea590d7dc6c8f055ce43dfebd74428107",
      "tree": "b2ef5e5baca4579565ab9bf527e965dd9b93a25a",
      "parents": [
        "33ef6b6984403a688189317ef46bb3caab3b70e0"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Nov 02 13:38:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:06:59 2011 -0700"
      },
      "message": "cgroups: don\u0027t attach task to subsystem if migration failed\n\nIf a task has exited to the point it has called cgroup_exit() already,\nthen we can\u0027t migrate it to another cgroup anymore.\n\nThis can happen when we are attaching a task to a new cgroup between the\ncall to -\u003ecan_attach_task() on subsystems and the migration that is\neventually tried in cgroup_task_migrate().\n\nIn this case cgroup_task_migrate() returns -ESRCH and we don\u0027t want to\nattach the task to the subsystems because the attachment to the new cgroup\nitself failed.\n\nFix this by only calling -\u003eattach_task() on the subsystems if the cgroup\nmigration succeeded.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "33ef6b6984403a688189317ef46bb3caab3b70e0"
}
