)]}'
{
  "log": [
    {
      "commit": "db0c2bf69aa095d4a6de7b1145f29fe9a7c0f6a3",
      "tree": "8f38957c01b18edddd44d49ecc3beeac08a20b4e",
      "parents": [
        "ac69e0928054ff29a5049902fb477f9c7605c773",
        "0d19ea866562e46989412a0676412fa0983c9ce7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  cgroup: fix to allow mounting a hierarchy by name\n  cgroup: move assignement out of condition in cgroup_attach_proc()\n  cgroup: Remove task_lock() from cgroup_post_fork()\n  cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()\n  cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static\n  cgroup: only need to check oldcgrp\u003d\u003dnewgrp once\n  cgroup: remove redundant get/put of task struct\n  cgroup: remove redundant get/put of old css_set from migrate\n  cgroup: Remove unnecessary task_lock before fetching css_set on migration\n  cgroup: Drop task_lock(parent) on cgroup_fork()\n  cgroups: remove redundant get/put of css_set from css_set_check_fetched()\n  resource cgroups: remove bogus cast\n  cgroup: kill subsys-\u003ecan_attach_task(), pre_attach() and attach_task()\n  cgroup, cpuset: don\u0027t use ss-\u003epre_attach()\n  cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n  cgroup: introduce cgroup_taskset and use it in subsys-\u003ecan_attach(), cancel_attach() and attach()\n  cgroup: improve old cgroup handling in cgroup_attach_proc()\n  cgroup: always lock threadgroup during migration\n  threadgroup: extend threadgroup_lock() to cover exit and exec\n  threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n  ...\n\nFix up conflict in kernel/cgroup.c due to commit e0197aae59e5: \"cgroups:\nfix a css_set not found bug in cgroup_attach_proc\" that already\nmentioned that the bug is fixed (differently) in Tejun\u0027s cgroup\npatchset. This one, in other words.\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "423d091dfe58d3109d84c408810a7cfa82f6f184",
      "tree": "43c4385d1dc7219582f924d42db1f3e203a577bd",
      "parents": [
        "1483b3823542c9721eddf09a077af1e02ac96b50",
        "919b83452b2e7c1dbced0456015508b4b9585db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)\n  cpu: Export cpu_up()\n  rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n  Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n  docs: Additional LWN links to RCU API\n  rcu: Augment rcu_batch_end tracing for idle and callback state\n  rcu: Add rcutorture tests for srcu_read_lock_raw()\n  rcu: Make rcutorture test for hotpluggability before offlining CPUs\n  driver-core/cpu: Expose hotpluggability to the rest of the kernel\n  rcu: Remove redundant rcu_cpu_stall_suppress declaration\n  rcu: Adaptive dyntick-idle preparation\n  rcu: Keep invoking callbacks if CPU otherwise idle\n  rcu: Irq nesting is always 0 on rcu_enter_idle_common\n  rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n  rcu: Permit dyntick-idle with callbacks pending\n  rcu: Document same-context read-side constraints\n  rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n  rcu: Remove dynticks false positives and RCU failures\n  rcu: Reduce latency of rcu_prepare_for_idle()\n  rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n  rcu: Avoid needlessly IPIing CPUs at GP end\n  ...\n"
    },
    {
      "commit": "d36b691077dc59c74efec0d54ed21b86f7a2a21a",
      "tree": "4f4a82eab16f403f531a860a428ebbec4c0d0db3",
      "parents": [
        "92f1b8518708c085ed7d07d8e7ed36411c92fa4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 29 17:09:01 2011 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jan 02 13:04:55 2012 +0100"
      },
      "message": "misc latin1 to utf8 conversions\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d87f69a16eb2cb96459117b06949a560679002e4",
      "tree": "bbb55b2bd2b6c9e8bd4067aa3279783cb6bd9028",
      "parents": [
        "124ba9403318d834ef21bcd899c22c870708d2c4",
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:03 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:11 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc6\u0027 into perf/core\n\nMerge reason: Update with the latest fixes.\n\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": "bb9d97b6dffa10cec5e1ce9adbce60f3c2b5eabc",
      "tree": "fb8351518fcfb91927e9e138f48284c44553f011",
      "parents": [
        "2f7ee5691eecb67c8108b92001a85563ea336ac5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n\nNow that subsys-\u003ecan_attach() and attach() take @tset instead of\n@task, they can handle per-task operations.  Convert\n-\u003ecan_attach_task() and -\u003eattach_task() users to use -\u003ecan_attach()\nand attach() instead.  Most converions are straight-forward.\nNoteworthy changes are,\n\n* In cgroup_freezer, remove unnecessary NULL assignments to unused\n  methods.  It\u0027s useless and very prone to get out of sync, which\n  already happened.\n\n* In cpuset, PF_THREAD_BOUND test is checked for each task.  This\n  doesn\u0027t make any practical difference but is conceptually cleaner.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "77aeeebd7b5483582d0eb6e3fd2894771d1fd8e5",
      "tree": "fc46b87358f3d68c6d2c82813e2667fd1afd996e",
      "parents": [
        "7fc20c5cbdd184f32cb0f886f1a069f123f5787a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 16:02:52 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:54 2011 -0800"
      },
      "message": "events: Make events use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\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": "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": "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": "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": "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": "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": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@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": "6e5fdeedca610df600aabc393c4b1f44b128fe49",
      "tree": "52a34c30bef1501f19c691a759b81b6f2603cd32",
      "parents": [
        "bdfa97bf7263657b83bc5b68567a3a60dde84c5b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:05 2011 -0400"
      },
      "message": "kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure\n\nThese files were getting \u003clinux/module.h\u003e via an implicit non-obvious\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ed3982cf3748b657ffb79d9d1c2e4a562661db2d",
      "tree": "6e3654f460e23aa1b1512896aa3f03886a69be1b",
      "parents": [
        "cba9bd22a5f8f857534b9a7f3fb3cafa0ac5fb75",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:53:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:54:28 2011 +0200"
      },
      "message": "Merge commit \u0027v3.1-rc7\u0027 into perf/core\n\nMerge reason: Pick up the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f310a5d4e8525ac0cc2f58c973d2100ce034410",
      "tree": "7e61573e73b80d65d29b259c7d1a228038a4439e",
      "parents": [
        "a8d757ef076f0f95f13a918808824058de25b3eb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 31 15:56:29 2011 +0200"
      },
      "message": "perf_event: Fix broken calc_timer_values()\n\nWe detected a serious issue with PERF_SAMPLE_READ and\ntiming information when events were being multiplexing.\n\nSamples would have time_running \u003e time_enabled. That\nwas easy to reproduce with a libpfm4 example (ran 3\ntimes to cause multiplexing on Core 2):\n\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n IIP:0x0000000040062d ... PERIOD:2355332948 ENA\u003d40144625315 RUN\u003d60014875184\n syst_smpl: WARNING: time_running \u003e time_enabled\n\t63277537998 uops_retired:freq\u003d1 , scaled\n\nThe bug was not present in kernel up to (and including) 3.0. It turns\nout the bug was introduced by the following commit:\n\ncommit c4794295917ebeda8013b6cb9c8d71ab4f74a1fa\n\n    events: Move lockless timer calculation into helper function\n\nThe parameters of the function got reversed yet the call sites\nwere not updated to reflect the change. That lead to time_running\nand time_enabled being swapped. That had no effect when there was\nno multiplexing because in that case time_running \u003d time_enabled\nbut it would show up in any other scenario.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110829124112.GA4828@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8d757ef076f0f95f13a918808824058de25b3eb",
      "tree": "3c1151ef886d9b72d0a7b7b267d9f37c72d5f475",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 25 15:58:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:28:33 2011 +0200"
      },
      "message": "perf events: Fix slow and broken cgroup context switch code\n\nThe current cgroup context switch code was incorrect leading\nto bogus counts. Furthermore, as soon as there was an active\ncgroup event on a CPU, the context switch cost on that CPU\nwould increase by a significant amount as demonstrated by a\nsimple ping/pong example:\n\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10684.51 ctxsw/s\n\nNow start a cgroup perf stat:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n$ ./pong\n Both processes pinned to CPU1, running for 10s\n 6674.61 ctxsw/s\n\nThat\u0027s a 37% penalty.\n\nNote that pong is not even in the monitored cgroup.\n\nThe results shown by perf stat are bogus:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n Performance counter stats for \u0027sleep 100\u0027:\n\n CPU1 \u003cnot counted\u003e cycles   test\n CPU1 16,984,189,138 cycles  #    0.000 GHz\n\nThe second \u0027cycles\u0027 event should report a count @ CPU clock\n(here 2.4GHz) as it is counting across all cgroups.\n\nThe patch below fixes the bogus accounting and bypasses any\ncgroup switches in case the outgoing and incoming tasks are\nin the same cgroup.\n\nWith this patch the same test now yields:\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10775.30 ctxsw/s\n\nStart perf stat with cgroup:\n\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\nRun pong outside the cgroup:\n $ /pong\n Both processes pinned to CPU1, running for 10s\n 10687.80 ctxsw/s\n\nThe penalty is now less than 2%.\n\nAnd the results for perf stat are correct:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 \u003cnot counted\u003e cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\nNow perf stat reports the correct counts for\nfor the non cgroup event.\n\nIf we run pong inside the cgroup, then we also get the\ncorrect counts:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 22,297,726,205 cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\n      10.001457237 seconds time elapsed\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110825135803.GA4697@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e5b2a01d2ca2eae4ef913b59f84341f9a70e206",
      "tree": "e5578bace8c56afd14246208a9e21ed45e4328b7",
      "parents": [
        "144060fee07e9c22e179d00819c83c86fbcbf82c"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Thu Aug 11 12:31:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:53:05 2011 +0200"
      },
      "message": "perf: provide PMU when initing events\n\nCurrently, an event\u0027s \u0027pmu\u0027 field is set after pmu::event_init() is\ncalled. This means that pmu::event_init() must figure out which struct\npmu the event was initialised from. This makes it difficult to\nconsolidate common event initialisation code for similar PMUs, and\nvery difficult to implement drivers for PMUs which can have multiple\ninstances (e.g. a USB controller PMU, a GPU PMU, etc).\n\nThis patch sets the \u0027pmu\u0027 field before initialising the event, allowing\nevent init code to identify the struct pmu instance easily. In the\nevent of failure to initialise an event, the event is destroyed via\nkfree() without calling perf_event::destroy(), so this shouldn\u0027t\nresult in bad behaviour even if the destroy field was set before\nfailure to initialise was noted.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-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/1313062280-19123-1-git-send-email-mark.rutland@arm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "144060fee07e9c22e179d00819c83c86fbcbf82c",
      "tree": "a13f3806fb266158570f1d7f7ece72f68199d7c2",
      "parents": [
        "7fdba1ca10462f42ad2246b918fe6368f5ce488e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 01 12:49:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:53:03 2011 +0200"
      },
      "message": "perf: Add PM notifiers to fix CPU hotplug races\n\nFrancis reports that s2r gets him spurious NMIs, this is because the\nsuspend code leaves the boot cpu up and running.\n\nCure this by adding a suspend notifier. The problem is that hotplug\nand suspend are completely un-serialized and the PM notifiers run\nbefore the suspend cpu unplug of all but the boot cpu.\n\nThis leaves a window where the user can initialize another hotplug\noperation (either remove or add a cpu) resulting in either one too\nmany or one too few hotplug ops. Thus we cannot use the hotplug code\nfor the suspend case.\n\nThere\u0027s another reason to not use the hotplug code, which is that the\nhotplug code totally destroys the perf state, we can do better for\nsuspend and simply remove all counters from the PMU so that we can\nre-instate them on resume.\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-1cvevybkgmv4s6v5y37t4847@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9985c20f9e4aee6857c08246b273a3695a52b929",
      "tree": "e2942d148c4cbd51ddcaa8c9b8e47229a31f6e34",
      "parents": [
        "f53173e47dee5f7514d264796bec58d43ed0f67f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jun 30 08:09:55 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:55 2011 +0200"
      },
      "message": "perf: Remove perf_event_attr::type check\n\nPMU type id can be allocated dynamically, so perf_event_attr::type check\nwhen copying attribute from userspace to kernel is not valid.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309421396-17438-4-git-send-email-ming.m.lin@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
      "tree": "01f430828eaacf7ba3e0eb541f8d946f3d855696",
      "parents": [
        "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:37 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:40 2011 +0200"
      },
      "message": "perf: export perf_event_refresh() to modules\n\nKVM needs one-shot samples, since a PMC programmed to -X will fire after X\nevents and then again after 2^40 events (i.e. variable period).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-4-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dc0da86967d5463708631d02a70cfed5b104884",
      "tree": "e09071a62f2457b710ff69df3be1bff39340a4c6",
      "parents": [
        "89d6c0b5bdbb1927775584dcf532d98b3efe1477"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf: Add context field to perf_event\n\nThe perf_event overflow handler does not receive any caller-derived\nargument, so many callers need to resort to looking up the perf_event\nin their local data structure.  This is ugly and doesn\u0027t scale if a\nsingle callback services many perf_events.\n\nFix by adding a context parameter to perf_event_create_kernel_counter()\n(and derived hardware breakpoints APIs) and storing it in the perf_event.\nThe field can be accessed from the callback as event-\u003eoverflow_handler_context.\nAll callers are updated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7ac67ea021b4603095d2aa458bc41641238f22c",
      "tree": "e79d13a1096e751061af285265b1862d7e6dca70",
      "parents": [
        "a8b0ca17b80e92faab46ee7179ba9e99ccb61233"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 16:47:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the perf_output_begin(.sample) argument\n\nSince only samples call perf_output_sample() its much saner (and more\ncorrect) to put the sample logic in there than in the\nperf_output_begin()/perf_output_end() pair.\n\nSaves a useless argument, reduces conditionals and shrinks\nstruct perf_output_handle, win!\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-2crpvsx3cqu67q3zqjbnlpsc@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d6412085b7ff58612af52e51ffa864f0df4b8fd",
      "tree": "b0aa2622aa0262b1238b07fad38d76c9c61d6e32",
      "parents": [
        "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Fri Jun 24 12:26:26 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "events: Ensure that timers are updated without requiring read() call\n\nThe event tracing infrastructure exposes two timers which should be updated\neach time the value of the counter is updated.  Currently, these counters are\nonly updated when userspace calls read() on the fd associated with an event.\nThis means that counters which are read via the mmap\u0027d page exclusively never\nhave their timers updated.  This patch adds ensures that the timers are updated\neach time the values in the mmap\u0027d page are updated.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308932786-5111-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa",
      "tree": "bb422e3368f2ad686e69229b416536b2bcb1df8e",
      "parents": [
        "b7526f0ca6dc68f57ca467ce503151b1d476a3e4"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Move lockless timer calculation into helper function\n\nTake the timer calculation from perf_output_read and move it to a helper\nfunction for any place that needs timer values but cannot take the ctx-\u003elock.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-2-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7526f0ca6dc68f57ca467ce503151b1d476a3e4",
      "tree": "979237e480c349409410f38aba502b06794a6b44",
      "parents": [
        "28009ce4a8130af7260a9271901b4419834ad152"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:37 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Add note to update_event_times comment about holding ctx-\u003elock\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec8363dfc1451f8c8f86825731fe712798ada02",
      "tree": "12db5b26a3ffa179ef119ac945c4d9a6fb1ced88",
      "parents": [
        "0f933625e7b6c3d91878ae95e341bf1984db7eaf"
      ],
      "author": {
        "name": "Vince Weaver",
        "email": "vweaver1@eecs.utk.edu",
        "time": "Wed Jun 01 15:15:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf_events: Fix perf buffer watermark setting\n\nSince 2.6.36 (specifically commit d57e34fdd60b (\"perf: Simplify the\nring-buffer logic: make perf_buffer_alloc() do everything needed\"),\nthe perf_buffer_init_code() has been mis-setting the buffer watermark\nif perf_event_attr.wakeup_events has a non-zero value.\n\nThis is because perf_event_attr.wakeup_events is a union with\nperf_event_attr.wakeup_watermark.\n\nThis commit re-enables the check for perf_event_attr.watermark being\nset before continuing with setting a non-default watermark.\n\nThis bug is most noticable when you are trying to use PERF_IOC_REFRESH\nwith a value larger than one and perf_event_attr.wakeup_events is set to\none.  In this case the buffer watermark will be set to 1 and you will\nget extraneous POLL_IN overflows rather than POLL_HUP as expected.\n\n[ avoid using attr.wakeup_events when attr.watermark is set ]\n\nSigned-off-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/alpine.DEB.2.00.1106011506390.5384@cl320.eecs.utk.edu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "76369139ceb955deefc509e6e12ce9d6ce50ccab",
      "tree": "5ba2732188d2fecd4fd49b93f73e51e17fb69082",
      "parents": [
        "b58f6b0dd3d677338b9065388cc2cc942b86338e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 19 19:55:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 09 12:57:54 2011 +0200"
      },
      "message": "perf: Split up buffer handling from core code\n\nAnd create the internal perf events header.\n\nv2: Keep an internal inlined perf_output_copy()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/1305827704-5607-1-git-send-email-fweisbec@gmail.com\n[ v3: use clearer \u0027ring_buffer\u0027 and \u0027rb\u0027 naming ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b58f6b0dd3d677338b9065388cc2cc942b86338e",
      "tree": "1c10cd87480b3c05b100fb4d85afaecfe2dd5b1b",
      "parents": [
        "3ce2a0bc9dfb6423491afe0afc9f099e24b8cba4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 07 00:23:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 07 13:02:41 2011 +0200"
      },
      "message": "perf, core: Fix initial task_ctx/event installation\n\nA lost Quilt refresh of 2c29ef0fef8 (perf: Simplify and fix\n__perf_install_in_context()) is causing grief and lockups,\nreported by Jiri Olsa.\n\nWhen installing an event in a task context, there\u0027s a number of\nissues:\n\n - there might not be an existing task context, in which case\n   we should install the now current context;\n\n - there might already be a context, not the current one, in\n   which case we should de-schedule the old and install the new;\n\nthese cases were dealt with in the lost refresh, however there is one\nfurther case that was found in testing:\n\n - there might already be a context, the current one, in which\n   case we should still de-schedule, and should take care\n   to re-install it (note that task_ctx_sched_out() clears\n   cpuctx-\u003etask_ctx).\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1307399008.2497.971.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ce2a0bc9dfb6423491afe0afc9f099e24b8cba4",
      "tree": "58fbef582846fef0e777b1a552aca12e21a071b1",
      "parents": [
        "aef29bf20bd79c73992ab23d5067e9f0448b466e",
        "aa4a221875873d2a1f9656cb7fd7e545e952b4fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:28:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:28:05 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/util/python.c\n\nMerge reason: resolve the conflict with perf/urgent.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "710054ba25c0d1f8f41c22ce13ba336503fb5318",
      "tree": "f9b09b722bf511841539173d946f90a20fc2e59a",
      "parents": [
        "74c355fbdfedd3820046dba4f537876cea54c207",
        "b273fa9716aa1564bee88ceee62f9042981cdc81"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:13:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:13:06 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent\n"
    },
    {
      "commit": "74c355fbdfedd3820046dba4f537876cea54c207",
      "tree": "3a07851e63f5eb9a233286c6683f7e8c7d9d61a2",
      "parents": [
        "89e1be50c68eb5e58b873dce87bbac627ee18d1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 30 16:48:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 31 14:20:25 2011 +0200"
      },
      "message": "perf, cgroups: Fix up for new API\n\nBen changed the cgroup API in commit f780bdb7c1c (cgroups: add\nper-thread subsystem callbacks) in an incompatible way, but\nforgot to convert the perf cgroup bits.\n\nAvoid compile warnings and runtime splats and convert perf too ;-)\n\nAcked-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1306767651.1200.2990.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64ce312618ef0e11d88def80effcefd1b59fdb1e",
      "tree": "884c247a013b8d13fa7a1f90dfa5bc01e16d62d6",
      "parents": [
        "e03a9a55b4e45377af9ca3d464135f9ea280b8f8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:48 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:23 2011 +0200"
      },
      "message": "perf: De-schedule a task context when removing the last event\n\nSince perf_install_in_context() will now install a context when we\nadd the first event, we can de-schedule the context when the last\nevent is removed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192142.090431763@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e03a9a55b4e45377af9ca3d464135f9ea280b8f8",
      "tree": "81ccb92c25baf8c1ac3d181fe25607328c1eb7f1",
      "parents": [
        "dce5855bba5df9e87bb04584d505c1f1b103c652"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:21 2011 +0200"
      },
      "message": "perf: Change close() semantics for group events\n\nIn order to always call list_del_event() on the correct cpu if the\nevent is part of an active context and avoid having to do two IPIs,\nchange the close() semantics slightly.\n\nThe current perf_event_disable() call would disable a whole group if\nthe event that\u0027s being closed is the group leader, whereas the new\ncode keeps the group siblings enabled.\n\nPeople should not rely on this behaviour and I don\u0027t think they do,\nbut in case we find they do, the fix is easy and we have to take the\ndouble IPI cost.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nLink: http://lkml.kernel.org/r/20110409192142.038377551@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dce5855bba5df9e87bb04584d505c1f1b103c652",
      "tree": "167312131a85a176ec71775fa81ddbf14a33dcb6",
      "parents": [
        "db24d33e08b88e990991760a44d72006a5dc6102"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:19 2011 +0200"
      },
      "message": "perf: Collect the schedule-in rules in one function\n\nThis was scattered out - refactor it into a single function.\nNo change in functionality.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.979862055@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db24d33e08b88e990991760a44d72006a5dc6102",
      "tree": "a36c4aba0e221e5833b15432971e526959a3aff1",
      "parents": [
        "2c29ef0fef8aaff1f91263fc75c749d659da6972"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:45 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:17 2011 +0200"
      },
      "message": "perf: Change and simplify ctx::is_active semantics\n\nInstead of tracking if a context is active or not, track which events\nof the context are active. By making it a bitmask of\nEVENT_PINNED|EVENT_FLEXIBLE we can simplify some of the scheduling\nroutines since it can avoid adding events that are already active.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.930282378@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c29ef0fef8aaff1f91263fc75c749d659da6972",
      "tree": "64a0c86177213e8490ecc74a1b4f881c4d9633ec",
      "parents": [
        "04dc2dbbfe1c6f81b996d4dab255da75f9efbb4a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:16 2011 +0200"
      },
      "message": "perf: Simplify and fix __perf_install_in_context()\n\nCurrently __perf_install_in_context() will try and schedule in the\nevent irrespective of our event scheduling rules, that is, we try to\nschedule CPU-pinned, TASK-pinned, CPU-flexible, TASK-flexible, but\nwhen creating a new event we simply try and schedule it on top of\nwhatever is already on the PMU, this can lead to errors for pinned\nevents.\n\nTherefore, simplify things and simply schedule everything out, add the\nevent to the corresponding context and schedule everything back in.\n\nThis also nicely handles the case where with\n__ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI can come right in the middle\nof schedule, before we managed to call perf_event_task_sched_in().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.870894224@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04dc2dbbfe1c6f81b996d4dab255da75f9efbb4a",
      "tree": "a99e0c849f61d5bf7f3d9777f0e5c4bf69c61d9a",
      "parents": [
        "facc43071cc0d4821c176d7d34570714eb348df9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:14 2011 +0200"
      },
      "message": "perf: Remove task_ctx_sched_in()\n\nMake task_ctx_sched_*() imply EVENT_ALL, since anything less will not\nactually have scheduled the task in/out at all.\n\nSince there\u0027s no site that schedules all of a task in (due to the\ninterleave with flexible cpuctx) we can remove this function.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.817893268@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "facc43071cc0d4821c176d7d34570714eb348df9",
      "tree": "0dd46f10d70f7814d622f1862ba6bf1c1cf4e18d",
      "parents": [
        "9137fb28ac74d05eb66d1d8e6778eaa14e6fed43"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:12 2011 +0200"
      },
      "message": "perf: Optimize event scheduling locking\n\nCurrently we only hold one ctx-\u003elock at a time, which results in us\nflipping back and forth between cpuctx-\u003ectx.lock and task_ctx-\u003elock.\n\nAvoid this and gain large atomic regions by holding both locks. We\nnest the task lock inside the cpu lock, since with task scheduling we\nmight have to change task ctx while holding the cpu ctx lock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.769881865@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9137fb28ac74d05eb66d1d8e6778eaa14e6fed43",
      "tree": "d27d1bd1c2fd89b50feafdb04ac868225b69a812",
      "parents": [
        "075e0b00857e166dcc3e39037a1fc5a90acac709"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:41 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:10 2011 +0200"
      },
      "message": "perf: Clean up \u0027ctx\u0027 reference counting\n\nSmall cleanup to how we refcount in find_get_context(), this also\nallows us to use put_ctx() to free things instead of using kfree().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.719340481@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "075e0b00857e166dcc3e39037a1fc5a90acac709",
      "tree": "448cc154bde8d50cb43578416467cfe94d8267c5",
      "parents": [
        "f506b3dc0ec454a16d40cab9ee5d75435b39dc50"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:09 2011 +0200"
      },
      "message": "perf: Optimize ctx_sched_out()\n\nOleg noted that ctx_sched_out() disables the PMU even though it might\nnot actually do something, avoid needless PMU-disabling.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.665385503@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f506b3dc0ec454a16d40cab9ee5d75435b39dc50",
      "tree": "fc0dfaab17f42445e04abf51817016647a9c6b56",
      "parents": [
        "e4a338d05df93ab1ebf291aca1e753064319d301"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 26 17:02:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 17:04:59 2011 +0200"
      },
      "message": "perf: Fix SIGIO handling\n\nVince noticed that unless we mmap() a buffer, SIGIO gets lost. So\nexplicitly push the wakeup (including signals) when requested.\n\nReported-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/n/tip-2euus3f3x3dyvdk52cjxw8zu@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "e7e7ee2eab2080248084d71fe0a115ab745eb2aa",
      "tree": "f41d3ec67d2df15bbabd8dac16f5f865e79db81e",
      "parents": [
        "48dbb6dc86ca5d1b2224937d774c7ba98bc3a485"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 04 08:42:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 04 08:49:24 2011 +0200"
      },
      "message": "perf events: Clean up definitions and initializers, update copyrights\n\nFix a few inconsistent style bits that were added over the past few\nmonths.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-yv4hwf9yhnzoada8pcpb3a97@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48dbb6dc86ca5d1b2224937d774c7ba98bc3a485",
      "tree": "7c1aaae9ebb6554b0ef2a48aeab158c1a0466655",
      "parents": [
        "fae85b7c8bcc7de9c0a2698587e20c15beb7d5a6"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue May 03 15:26:43 2011 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue May 03 15:26:43 2011 +0200"
      },
      "message": "hw breakpoints: Move to kernel/events/\n\nAs part of the events sybsystem unification, relocate hw_breakpoint.c\ninto its new destination.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "fae85b7c8bcc7de9c0a2698587e20c15beb7d5a6",
      "tree": "96ea37ea08d52b2ef89f823f6e43ba8b15cc66bb",
      "parents": [
        "ac0a3260f37b8616da8d33488ec94b94e6ae5b31"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Oct 26 20:24:03 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue May 03 12:59:43 2011 +0200"
      },
      "message": "perf: Start the restructuring\n\nmv kernel/perf_event.c -\u003e kernel/events/core.c. From there, all further\nsensible splitting can happen. The idea is that due to perf_event.c\nbecoming pretty sizable and with the advent of the marriage with ftrace,\nsplitting functionality into its logical parts should help speeding up\nthe unification and to manage the complexity of the subsystem.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    }
  ]
}
