)]}'
{
  "log": [
    {
      "commit": "bd463a06064c4bc8497f6aa6dfb4437be8f07a3b",
      "tree": "3499f105c565d977d0ae9486f0a4572cd5fcbd2e",
      "parents": [
        "148311d2ade909a79afb85a853c7979eb499563f",
        "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"Fix merge window fallout and fix sleep profiling (this was always\n  broken, so it\u0027s not a fix for the merge window - we can skip this one\n  from the head of the tree).\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/trace: Add ability to set a target task for events\n  perf/x86: Fix USER/KERNEL tagging of samples properly\n  perf/x86/intel/uncore: Make UNCORE_PMU_HRTIMER_INTERVAL 64-bit\n"
    },
    {
      "commit": "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474",
      "tree": "87acf0fb071b8d09794ac7d834cb256de030cceb",
      "parents": [
        "d07bdfd322d307789f15b427dbcc39257665356f"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Wed Jul 11 18:14:58 2012 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:02:05 2012 +0200"
      },
      "message": "perf/trace: Add ability to set a target task for events\n\nA few events are interesting not only for a current task.\nFor example, sched_stat_* events are interesting for a task\nwhich wakes up. For this reason, it will be good if such\nevents will be delivered to a target task too.\n\nNow a target task can be set by using __perf_task().\n\nThe original idea and a draft patch belongs to Peter Zijlstra.\n\nI need these events for profiling sleep times. sched_switch is used for\ngetting callchains and sched_stat_* is used for getting time periods.\nThese events are combined in user space, then it can be analyzed by\nperf tools.\n\nInspired-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\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/1342016098-213063-1-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b13bc8dda81c54a66a1c84e66f60b8feba659f28",
      "tree": "100a26eada424fa5d9b0e5eaaf4e23b8fa036fc8",
      "parents": [
        "9fc377799bc9bfd8d5cb35d0d1ea2e2458cbdbb3",
        "419e9266884fa853179ab726c27a63a9d3ae46e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 11:14:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 11:14:49 2012 -0700"
      },
      "message": "Merge tag \u0027staging-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\nPull staging tree patches from Greg Kroah-Hartman:\n \"Here\u0027s the big staging tree merge for the 3.6-rc1 merge window.\n\n  There are some patches in here outside of drivers/staging/, notibly\n  the iio code (which is still stradeling the staging / not staging\n  boundry), the pstore code, and the tracing code.  All of these have\n  gotten acks from the various subsystem maintainers to be included in\n  this tree.  The pstore and tracing patches are related, and are coming\n  here as they replace one of the android staging drivers.\n\n  Otherwise, the normal staging mess.  Lots of cleanups and a few new\n  drivers (some iio drivers, and the large csr wireless driver\n  abomination.)\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up trivial conflicts in drivers/staging/comedi/drivers/s626.h and\ndrivers/staging/gdm72xx/netlink_k.c\n\n* tag \u0027staging-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1108 commits)\n  staging: csr: delete a bunch of unused library functions\n  staging: csr: remove csr_utf16.c\n  staging: csr: remove csr_pmem.h\n  staging: csr: remove CsrPmemAlloc\n  staging: csr: remove CsrPmemFree()\n  staging: csr: remove CsrMemAllocDma()\n  staging: csr: remove CsrMemCalloc()\n  staging: csr: remove CsrMemAlloc()\n  staging: csr: remove CsrMemFree() and CsrMemFreeDma()\n  staging: csr: remove csr_util.h\n  staging: csr: remove CsrOffSetOf()\n  stating: csr: remove unneeded #includes in csr_util.c\n  staging: csr: make CsrUInt16ToHex static\n  staging: csr: remove CsrMemCpy()\n  staging: csr: remove CsrStrLen()\n  staging: csr: remove CsrVsnprintf()\n  staging: csr: remove CsrStrDup\n  staging: csr: remove CsrStrChr()\n  staging: csr: remove CsrStrNCmp\n  staging: csr: remove CsrStrCmp\n  ...\n"
    },
    {
      "commit": "6e0f17be0361444862637e8986c8c1a3b3f8dcf8",
      "tree": "12322ecf05872d9c30c8cf3d77d4ed6961e87cd7",
      "parents": [
        "a2fe194723f6e4990d01d8c208c7b138fd410522",
        "93574fcc5b50cc7b8834698acb2ce947e5b6a5dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:18:00 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:18:00 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull tracing fix from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a2fe194723f6e4990d01d8c208c7b138fd410522",
      "tree": "7aee93fa8f4ba1e18b56fa7d8eab75d249fc6966",
      "parents": [
        "c3b7cdf180090d2686239a75bb0ae408108ed749",
        "a018540141a931f5299a866907b27886916b4374"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nPick up the latest ring-buffer fixes, before applying a new fix.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f555f1231a69846d57099760f9c361982600ffa2",
      "tree": "ac16a48bdf0c8b516d8153919670632501103ddb",
      "parents": [
        "a694d1b5916a486ce25fb5f2b39f2627f7afd5f3"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Mon Jul 09 17:10:46 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 17 10:15:04 2012 -0700"
      },
      "message": "tracing/function: Convert func_set_flag() to a switch statement\n\nSince the function accepts just one bit, we can use the switch\nconstruction instead of if/else if/...\n\nJust a cosmetic change, there should be no functional changes.\n\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "21f679404a0c28bd5b1b3aff2a7218bbff4cb43d",
      "tree": "9a5f1d0be079dfe225e2993331f9ddfac36cb7fc",
      "parents": [
        "060287b8c467bf49a594d8d669e1986c6d8d76b0"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Mon Jul 09 17:10:42 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 17 10:07:00 2012 -0700"
      },
      "message": "tracing/function: Introduce persistent trace option\n\nThis patch introduces \u0027func_ptrace\u0027 option, now available in\n/sys/kernel/debug/tracing/options when function tracer\nis selected.\n\nThe patch also adds some tiny code that calls back to pstore\nto record the trace. The callback is no-op when PSTORE\u003dn.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b2ad368bebc0f772613668e893fa176396e9094c",
      "tree": "f2c14b8eea287afdab9eb5eba59792e1048b212a",
      "parents": [
        "c1743cbc8d20d208bb1d2b10598204f2d89b144c"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Mon Jul 09 17:10:39 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 17 09:50:53 2012 -0700"
      },
      "message": "tracing: Fix initialization failure path in tracing_set_tracer()\n\nIf tracer-\u003einit() fails, current code will leave current_tracer pointing\nto an unusable tracer, which at best makes \u0027current_tracer\u0027 report\ninaccurate value.\n\nFix the issue by pointing current_tracer to nop tracer, and only update\ncurrent_tracer with the new one after all the initialization succeeds.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ab93eb82164f9fc426eae7b286510cfd94738b8e",
      "tree": "3f486fcafc51d2dceae44dfb2b9b261aeecaafb5",
      "parents": [
        "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4",
        "40b3c43f042c2ba8915aff5c63708207ed7639cb",
        "25c037d64e7a0a8effb562babb2b6218829134ac",
        "95c0d71dcb853c2eca5f2231ebbd4c1d3af775b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU, perf, and scheduler fixes from Ingo Molnar.\n\nThe RCU fix is a revert for an optimization that could cause deadlocks.\n\nOne of the scheduler commits (164c33c6adee \"sched: Fix fork() error path\nto not crash\") is correct but not complete (some architectures like Tile\nare not covered yet) - the resulting additional fixes are still WIP and\nIngo did not want to delay these pending fixes.  See this thread on\nlkml:\n\n  [PATCH] fork: fix error handling in dup_task()\n\nThe perf fixes are just trivial oneliners.\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf kvm: Fix segfault with report and mixed guestmount use\n  perf kvm: Fix regression with guest machine creation\n  perf script: Fix format regression due to libtraceevent merge\n  ring-buffer: Fix accounting of entries when removing pages\n  ring-buffer: Fix crash due to uninitialized new_pages list head\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  MAINTAINERS/sched: Update scheduler file pattern\n  sched/nohz: Rewrite and fix load-avg computation -- again\n  sched: Fix fork() error path to not crash\n"
    },
    {
      "commit": "93574fcc5b50cc7b8834698acb2ce947e5b6a5dc",
      "tree": "f40191d94dfc121737e1acb3463874f8dc702ba7",
      "parents": [
        "c3b7cdf180090d2686239a75bb0ae408108ed749"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Jul 11 09:35:08 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 11 19:56:26 2012 -0400"
      },
      "message": "tracing: Check for allocation failure in __tracing_open()\n\nClean up and return -ENOMEM on if the kzalloc() fails.\n\nThis also prevents a potential crash, as the pointer that failed to\nallocate would be later used.\n\nLink: http://lkml.kernel.org/r/20120711063507.GF11812@elgon.mountain\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "35c2f48c66d9c1b8d794c3936c3be22aa7c89adb",
      "tree": "de0233d45fec273920bce0bc8640465cbf439600",
      "parents": [
        "47fbc518a4b5c9a949f7cab8b14a00d3549bf138",
        "a5fb833172eca69136e9ee1ada778e404086ab8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull tracing updates from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "90574ebb7e6e0f7f74636ee87315890ba88d6a4a",
      "tree": "5f60106dacbfe246f52aaaf9bac69dd4749f24a6",
      "parents": [
        "add79461a2a7d964a00b4a2fdaf313c4cf9cf4ec",
        "ce5c1fe9a9e059b5c58f0a7e2a3e687d0efac815"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 21:10:23 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 21:10:23 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge this branch to pick up a fixlet and to update to a more recent base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a3da2c6913469ecb2224d891c45470b37b4d67f4",
      "tree": "cbedea8d0c8c101cfffccdbaf273e7adf92a4e46",
      "parents": [
        "ff826b2b5b269ad440afa686ede879ccabfda387",
        "6d9359280753d2955f86d6411047516a9431eb51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 03 15:45:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 03 15:45:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block bits from Jens Axboe:\n \"As vacation is coming up, thought I\u0027d better get rid of my pending\n  changes in my for-linus branch for this iteration.  It contains:\n\n   - Two patches for mtip32xx.  Killing a non-compliant sysfs interface\n     and moving it to debugfs, where it belongs.\n\n   - A few patches from Asias.  Two legit bug fixes, and one killing an\n     interface that is no longer in use.\n\n   - A patch from Jan, making the annoying partition ioctl warning a bit\n     less annoying, by restricting it to !CAP_SYS_RAWIO only.\n\n   - Three bug fixes for drbd from Lars Ellenberg.\n\n   - A fix for an old regression for umem, it hasn\u0027t really worked since\n     the plugging scheme was changed in 3.0.\n\n   - A few fixes from Tejun.\n\n   - A splice fix from Eric Dumazet, fixing an issue with pipe\n     resizing.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  scsi: Silence unnecessary warnings about ioctl to partition\n  block: Drop dead function blk_abort_queue()\n  block: Mitigate lock unbalance caused by lock switching\n  block: Avoid missed wakeup in request waitqueue\n  umem: fix up unplugging\n  splice: fix racy pipe-\u003ebuffers uses\n  drbd: fix null pointer dereference with on-congestion policy when diskless\n  drbd: fix list corruption by failing but already aborted reads\n  drbd: fix access of unallocated pages and kernel panic\n  xen/blkfront: Add WARN to deal with misbehaving backends.\n  blkcg: drop local variable @q from blkg_destroy()\n  mtip32xx: Create debugfs entries for troubleshooting\n  mtip32xx: Remove \u0027registers\u0027 and \u0027flags\u0027 from sysfs\n  blkcg: fix blkg_alloc() failure path\n  block: blkcg_policy_cfq shouldn\u0027t be used if !CONFIG_CFQ_GROUP_IOSCHED\n  block: fix return value on cfq_init() failure\n  mtip32xx: Remove version.h header file inclusion\n  xen/blkback: Copy id field when doing BLKIF_DISCARD.\n"
    },
    {
      "commit": "48fdc72f23ad9a9956e524a47843135d0bbc3317",
      "tree": "baaec367ed2c155d35c76b6d79b7bf1eb9092af7",
      "parents": [
        "44b99462d9d776522e174d6c531ce5ccef309e26"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri Jun 29 12:31:41 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 29 16:17:17 2012 -0400"
      },
      "message": "ring-buffer: Fix accounting of entries when removing pages\n\nWhen removing pages from the ring buffer, its state is not reset. This\nmeans that the counters need to be correctly updated to account for the\npages removed.\n\nUpdate the overrun counter to reflect the removed events from the pages.\n\nLink: http://lkml.kernel.org/r/1340998301-1715-1-git-send-email-vnagarnaik@google.com\n\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "44b99462d9d776522e174d6c531ce5ccef309e26",
      "tree": "084dba8a82b1d0e6da17063e200d62a07c6a6e76",
      "parents": [
        "662f5cedb38c4b88e1cebfd54a88159f2f7ab7b9"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri Jun 22 11:50:05 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 29 16:16:35 2012 -0400"
      },
      "message": "ring-buffer: Fix crash due to uninitialized new_pages list head\n\nThe new_pages list head in the cpu_buffer is not initialized. When\nadding pages to the ring buffer, if the memory allocation fails in\nring_buffer_resize, the clean up handler tries to free up the allocated\npages from all the cpu buffers. The panic is caused by referencing the\nuninitialized new_pages list head.\n\nInitializing the new_pages list head in rb_allocate_cpu_buffer fixes\nthis.\n\nLink: http://lkml.kernel.org/r/1340391005-10880-1-git-send-email-vnagarnaik@google.com\n\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a5fb833172eca69136e9ee1ada778e404086ab8a",
      "tree": "abb4dc51bb1c81f3ac185c1f16d63370afbd492e",
      "parents": [
        "6d158a813efcd09661c23f16ddf7e2ff834cb20c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 28 13:35:04 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:15 2012 -0400"
      },
      "message": "ring-buffer: Fix uninitialized read_stamp\n\nThe ring buffer reader page is used to swap a page from the writable\nring buffer. If the writer happens to be on that page, it ends up on the\nreader page, but will simply move off of it, back into the writable ring\nbuffer as writes are added.\n\nThe time stamp passed back to the readers is stored in the cpu_buffer per\nCPU descriptor. This stamp is updated when a swap of the reader page takes\nplace, and it reads the current stamp from the page taken from the writable\nring buffer. Everytime a writer goes to a new page, it updates the time stamp\nof that page.\n\nThe problem happens if a reader reads a page from an empty per CPU ring buffer.\nIf the buffer is empty, the swap still takes place, placing the writer at the\nstart of the reader page. If at a later time, a write happens, it updates the\npage\u0027s time stamp and continues. But the problem is that the read_stamp does\nnot get updated, because the page was already swapped.\n\nThe solution to this was to not swap the page if the ring buffer happens to\nbe empty. This also removes the side effect that the writes on the reader\npage will not get updated because the writer never gets back on the reader\npage without a swap. That is, if a read happens on an empty buffer, but then\nno reads happen for a while. If a swap took place, and the writer were to start\nwriting a lot of data (function tracer), it will start overflowing the ring buffer\nand overwrite the older data. But because the writer never goes back onto the\nreader page, the data left on the reader page never gets overwritten. This\ncauses the reader to see really old data, followed by a jump to newer data.\n\nLink: http://lkml.kernel.org/r/1340060577-9112-1-git-send-email-dhsharp@google.com\nGoogle-Bug-Id: 6410455\nReported-by: David Sharp \u003cdhsharp@google.com\u003e\ntested-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6d158a813efcd09661c23f16ddf7e2ff834cb20c",
      "tree": "c3937902e8ef5196638a9c31fd3b6280540a101d",
      "parents": [
        "b102f1d0f1cd0bb5ec82e5aeb1e33502d6ad6710"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 27 20:46:14 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:15 2012 -0400"
      },
      "message": "tracing: Remove NR_CPUS array from trace_iterator\n\nReplace the NR_CPUS array of buffer_iter from the trace_iterator\nwith an allocated array. This will just create an array of\npossible CPUS instead of the max number specified.\n\nThe use of NR_CPUS in that array caused allocation failures for\nmachines that were tight on memory. This did not cause any failures\nto the system itself (no crashes), but caused unnecessary failures\nfor reading the trace files.\n\nAdded a helper function called \u0027trace_buffer_iter()\u0027 that returns\nthe buffer_iter item or NULL if it is not defined or the array was\nnot allocated. Some routines do not require the array\n(tracing_open_pipe() for one).\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0be61ebc18b919dddbdbcd1c4f42513c310ecf59",
      "tree": "60a26df229aa1187f1c75871431ef9a92c255a75",
      "parents": [
        "357398e96d8c883b010379a7669df43ed0e2e32b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 18 09:28:16 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:14 2012 -0400"
      },
      "message": "tracing/selftest: Add a WARN_ON() if a tracer test fails\n\nAdd a WARN_ON() output on test failures so that they are easier to detect\nin automated tests. Although, the WARN_ON() will not print if the test\ncauses the system to crash, obviously.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d1ece0998eeb7b6543044f32b7d9bcbaf6dc294a",
      "tree": "bcbb3dddee8b5db83f07585370b1bd57f92296ac",
      "parents": [
        "76958a61e42fb6277a8431eb17e4bdb24176f1b7",
        "9c5da09d266ca9b32eb16cf940f8161d949c2fe5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 11:47:58 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 11:47:58 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge in all fixes before applying more changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7374e82771c6d5a9af2080be46f64a5826c7efb1",
      "tree": "999fccda8bc6ccf1b517143ca27b397931854d2e",
      "parents": [
        "5da43bed800770906fca24deef7ae3d456823b86"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 31 21:40:05 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 14 15:22:14 2012 -0400"
      },
      "message": "tracing: Register the ftrace internal events during early boot\n\nAll trace events including ftrace internel events (like trace_printk\nand function tracing), register functions that describe how to print\ntheir output. The events may be recorded as soon as the ring buffer\nis allocated, but they are just raw binary in the buffer. The mapping\nof event ids to how to print them are held within a structure that\nis registered on system boot.\n\nIf a crash happens in boot up before these functions are registered\nthen their output (via ftrace_dump_on_oops) will be useless:\n\nDumping ftrace buffer:\n---------------------------------\n   \u003c...\u003e-1       0.... 319705us : Unknown type 6\n---------------------------------\n\nThis can be quite frustrating for a kernel developer trying to see\nwhat is going wrong.\n\nThere\u0027s no reason to register them so late in the boot up process.\nThey can be registered by early_initcall().\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8d240dd88cca33b704adf3fe281aa64b5aac2dd8",
      "tree": "ed9431274d1274e134207edb5604669bbf638b73",
      "parents": [
        "e2b297fcf17fc03734e93387fb8195c782286b35"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bp@amd64.org",
        "time": "Thu Mar 29 19:11:40 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 14 15:22:12 2012 -0400"
      },
      "message": "ftrace: Remove a superfluous check\n\nregister_ftrace_function() checks ftrace_disabled and calls\n__register_ftrace_function which does it again.\n\nDrop the first check and add the unlikely hint to the second one. Also,\ndrop the label as John correctly notices.\n\nNo functional change.\n\nLink: http://lkml.kernel.org/r/20120329171140.GE6409@aftab\n\nCc: Borislav Petkov \u003cbp@amd64.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "047fe3605235888f3ebcda0c728cb31937eadfe6",
      "tree": "9c33ef4b076bd54f686afe924cee01e21c55f427",
      "parents": [
        "27e1f9d1cc87be4e53c6eb7158cafc21c4b85a14"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Jun 13 21:16:42 2012 +0200"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e # 2.6.35\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f2bf1f6f5f89d031245067512449fc889b2f4bb2",
      "tree": "3211ae100915962ccdc4ea7a4b521ddfe2697cad",
      "parents": [
        "5041caa4d5e6dae418963de0c8f8a83f35e35dcf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 06 19:50:40 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 06 22:15:14 2012 -0400"
      },
      "message": "tracing: Have tracing_off() actually turn tracing off\n\nA recent update to have tracing_on/off() only affect the ftrace ring\nbuffers instead of all ring buffers had a cut and paste error.\nThe tracing_off() did the exact same thing as tracing_on() and\nwould not actually turn off tracing. Unfortunately, tracing_off()\nis more important to be working than tracing_on() as this is a key\ndevelopment tool, as it lets the developer turn off tracing as soon\nas a problem is discovered. It is also used by panic and oops code.\n\nThis bug also breaks the \u0027echo func:traceoff \u003e set_ftrace_filter\u0027\n\nCc: \u003cstable@vger.kernel.org\u003e # 3.4\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "65a50c951a38e9827dd9655b6e686bde912e799b",
      "tree": "cce85e74511741d52069977fee6984ce66c9277c",
      "parents": [
        "42fe55ce905212542426fa6407a76534a5fb696a",
        "59cd358a7a5b2f6b61faa01dae6cfda3830ac62a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:12:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:12:00 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf ui browser: Stop using \u0027self\u0027\n  perf annotate browser: Read perf config file for settings\n  perf config: Allow \u0027_\u0027 in config file variable names\n  perf annotate browser: Make feature toggles global\n  perf annotate browser: The idx_asm field should be used in asm only view\n  perf tools: Convert critical messages to ui__error()\n  perf ui: Make --stdio default when TUI is not supported\n  tools lib traceevent: Silence compiler warning on 32bit build\n  perf record: Fix branch_stack type in perf_record_opts\n  perf tools: Reconstruct event with modifiers from perf_event_attr\n  perf top: Fix counter name fixup when fallbacking to cpu-clock\n  perf tools: fix thread_map__new_by_pid_str() memory leak in error path\n  perf tools: Do not use _FORTIFY_SOURCE when DEBUG\u003d1 is specified\n  tools lib traceevent: Fix signature of create_arg_item()\n  tools lib traceevent: Use proper function parameter type\n  tools lib traceevent: Fix freeing arg on process_dynamic_array()\n  tools lib traceevent: Fix a possibly wrong memory dereference\n  tools lib traceevent: Fix a possible memory leak\n  tools lib traceevent: Allow expressions in __print_symbolic() fields\n  perf evlist: Explicititely initialize input_name\n  ...\n"
    },
    {
      "commit": "654443e20dfc0617231f28a07c96a979ee1a0239",
      "tree": "a0dc3f093eb13892539082e663607c34b4fc2d07",
      "parents": [
        "2c01e7bc46f10e9190818437e564f7e0db875ae9",
        "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull user-space probe instrumentation from Ingo Molnar:\n \"The uprobes code originates from SystemTap and has been used for years\n  in Fedora and RHEL kernels.  This version is much rewritten, reviews\n  from PeterZ, Oleg and myself shaped the end result.\n\n  This tree includes uprobes support in \u0027perf probe\u0027 - but SystemTap\n  (and other tools) can take advantage of user probe points as well.\n\n  Sample usage of uprobes via perf, for example to profile malloc()\n  calls without modifying user-space binaries.\n\n  First boot a new kernel with CONFIG_UPROBE_EVENT\u003dy enabled.\n\n  If you don\u0027t know which function you want to probe you can pick one\n  from \u0027perf top\u0027 or can get a list all functions that can be probed\n  within libc (binaries can be specified as well):\n\n\t$ perf probe -F -x /lib/libc.so.6\n\n  To probe libc\u0027s malloc():\n\n\t$ perf probe -x /lib64/libc.so.6 malloc\n\tAdded new event:\n\tprobe_libc:malloc    (on 0x7eac0)\n\n  You can now use it in all perf tools, such as:\n\n\tperf record -e probe_libc:malloc -aR sleep 1\n\n  Make use of it to create a call graph (as the flat profile is going to\n  look very boring):\n\n\t$ perf record -e probe_libc:malloc -gR make\n\t[ perf record: Woken up 173 times to write data ]\n\t[ perf record: Captured and wrote 44.190 MB perf.data (~1930712\n\n\t$ perf report | less\n\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\t                       |\n\t                       |--0.95%-- 0x208eb1000000000\n\t                       |\n\t                       |--0.63%-- htab_traverse_noresize\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   5.07%             sh  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\t   4.99%  python-config  libc-2.15.so   [.] malloc\n\t          |\n\t          --- malloc\n\t             |\n\t   4.54%           make  libc-2.15.so   [.] malloc\n\t                   |\n\t                   --- malloc\n\t                      |\n\t                      |--7.34%-- glob\n\t                      |          |\n\t                      |          |--93.18%-- 0x41588f\n\t                      |          |\n\t                      |           --6.82%-- glob\n\t                      |                     0x41588f\n\n\t   ...\n\n  Or:\n\n\t$ perf report -g flat | less\n\n\t# Overhead        Command  Shared Object      Symbol\n\t# ........  .............  .............  ..........\n\t#\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t          27.19%\n\t              malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t          24.77%\n\t              malloc\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t          11.02%\n\t              malloc\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t           6.57%\n\t              malloc\n\n\t ...\n\n  The core uprobes design is fairly straightforward: uprobes probe\n  points register themselves at (inode:offset) addresses of\n  libraries/binaries, after which all existing (or new) vmas that map\n  that address will have a software breakpoint injected at that address.\n  vmas are COW-ed to preserve original content.  The probe points are\n  kept in an rbtree.\n\n  If user-space executes the probed inode:offset instruction address\n  then an event is generated which can be recovered from the regular\n  perf event channels and mmap-ed ring-buffer.\n\n  Multiple probes at the same address are supported, they create a\n  dynamic callback list of event consumers.\n\n  The basic model is further complicated by the XOL speedup: the\n  original instruction that is probed is copied (in an architecture\n  specific fashion) and executed out of line when the probe triggers.\n  The XOL area is a single vma per process, with a fixed number of\n  entries (which limits probe execution parallelism).\n\n  The API: uprobes are installed/removed via\n  /sys/kernel/debug/tracing/uprobe_events, the API is integrated to\n  align with the kprobes interface as much as possible, but is separate\n  to it.\n\n  Injecting a probe point is privileged operation, which can be relaxed\n  by setting perf_paranoid to -1.\n\n  You can use multiple probes as well and mix them with kprobes and\n  regular PMU events or tracepoints, when instrumenting a task.\"\n\nFix up trivial conflicts in mm/memory.c due to previous cleanup of\nunmap_single_vma().\n\n* \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf probe: Detect probe target when m/x options are absent\n  perf probe: Provide perf interface for uprobes\n  tracing: Fix kconfig warning due to a typo\n  tracing: Provide trace events interface for uprobes\n  tracing: Extract out common code for kprobes/uprobes trace events\n  tracing: Modify is_delete, is_return from int to bool\n  uprobes/core: Decrement uprobe count before the pages are unmapped\n  uprobes/core: Make background page replacement logic account for rss_stat counters\n  uprobes/core: Optimize probe hits with the help of a counter\n  uprobes/core: Allocate XOL slots for uprobes use\n  uprobes/core: Handle breakpoint and singlestep exceptions\n  uprobes/core: Rename bkpt to swbp\n  uprobes/core: Make order of function parameters consistent across functions\n  uprobes/core: Make macro names consistent\n  uprobes: Update copyright notices\n  uprobes/core: Move insn to arch specific structure\n  uprobes/core: Remove uprobe_opcode_sz\n  uprobes/core: Make instruction tables volatile\n  uprobes: Move to kernel/events/\n  uprobes/core: Clean up, refactor and improve the code\n  ...\n"
    },
    {
      "commit": "9ba0541453b3a57797701b9fbc0fd8d0be173050",
      "tree": "29cc15e3d9b05d78f8adb8516baf6c1a3d7626a9",
      "parents": [
        "f9369910a6225b8d4892c3f20ae740a711cd5ace",
        "6a31e1f135d1abfb5137697f889c8cd5d72eb522"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 24 09:06:24 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 24 09:06:24 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n\nPull an ftrace ring-buffer fix from Steve Rostedt:\n\n * fix kernel crash when changing the size of the ring-buffer on\n   boxes where possible_cpus !\u003d online_cpus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6a31e1f135d1abfb5137697f889c8cd5d72eb522",
      "tree": "aa7de2d77705955a2f5c290b34c54104ada9ad8b",
      "parents": [
        "73787190d04a34e6da745da893b3ae8bedde418f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 23 15:35:17 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 23 15:35:17 2012 -0400"
      },
      "message": "ring-buffer: Check for valid buffer before changing size\n\nOn some machines the number of possible CPUS is not the same as the\nnumber of CPUs that is on the machine. Ftrace uses possible_cpus to\nupdate the tracing structures but the ring buffer only allocates\nper cpu buffers for online CPUs when they come up.\n\nWhen the wakeup tracer was enabled in such a case, the ftrace code\nenabled all possible cpu buffers, but the code in ring_buffer_resize()\ndid not check to see if the buffer in question was allocated. Since\nboot up CPUs did not match possible CPUs it caused the following\ncrash:\n\nBUG: unable to handle kernel NULL pointer dereference at 00000020\nIP: [\u003cc1097851\u003e] ring_buffer_resize+0x16a/0x28d\n*pde \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nDumping ftrace buffer:\n   (ftrace buffer empty)\nModules linked in: [last unloaded: scsi_wait_scan]\n\nPid: 1387, comm: bash Not tainted 3.4.0-test+ #13                  /DG965MQ\nEIP: 0060:[\u003cc1097851\u003e] EFLAGS: 00010217 CPU: 0\nEIP is at ring_buffer_resize+0x16a/0x28d\nEAX: f5a14340 EBX: f6026b80 ECX: 00000ff4 EDX: 00000ff3\nESI: 00000000 EDI: 00000002 EBP: f4275ecc ESP: f4275eb0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nCR0: 80050033 CR2: 00000020 CR3: 34396000 CR4: 000007d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\nProcess bash (pid: 1387, ti\u003df4274000 task\u003df4380cb0 task.ti\u003df4274000)\nStack:\n c109cf9a f6026b98 00000162 00160f68 00000006 00160f68 00000002 f4275ef0\n c109d013 f4275ee8 c123b72a c1c0bf00 c1cc81dc 00000005 f4275f98 00000007\n f4275f70 c109d0c7 7700000e 75656b61 00000070 f5e90900 f5c4e198 00000301\nCall Trace:\n [\u003cc109cf9a\u003e] ? tracing_set_tracer+0x115/0x1e9\n [\u003cc109d013\u003e] tracing_set_tracer+0x18e/0x1e9\n [\u003cc123b72a\u003e] ? _copy_from_user+0x30/0x46\n [\u003cc109d0c7\u003e] tracing_set_trace_write+0x59/0x7f\n [\u003cc10ec01e\u003e] ? fput+0x18/0x1c6\n [\u003cc11f8732\u003e] ? security_file_permission+0x27/0x2b\n [\u003cc10eaacd\u003e] ? rw_verify_area+0xcf/0xf2\n [\u003cc10ec01e\u003e] ? fput+0x18/0x1c6\n [\u003cc109d06e\u003e] ? tracing_set_tracer+0x1e9/0x1e9\n [\u003cc10ead77\u003e] vfs_write+0x8b/0xe3\n [\u003cc10ebead\u003e] ? fget_light+0x30/0x81\n [\u003cc10eaf54\u003e] sys_write+0x42/0x63\n [\u003cc1834fbf\u003e] sysenter_do_call+0x12/0x28\n\nThis happens with the latency tracer as the ftrace code updates the\nsaved max buffer via its cpumask and not with a global setting.\n\nAdding a check in ring_buffer_resize() to make sure the buffer being resized\nexists, fixes the problem.\n\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "2ff2b289a695807e291e1ed9f639d8a3ba5f4254",
      "tree": "e4b7f44e5cc1582ba2be8aeba221f4841f4c86a6",
      "parents": [
        "88d6ae8dc33af12fe1c7941b1fae2767374046fd",
        "73787190d04a34e6da745da893b3ae8bedde418f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:18:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:18:55 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf changes from Ingo Molnar:\n \"Lots of changes:\n\n   - (much) improved assembly annotation support in perf report, with\n     jump visualization, searching, navigation, visual output\n     improvements and more.\n\n    - kernel support for AMD IBS PMU hardware features.  Notably \u0027perf\n      record -e cycles:p\u0027 and \u0027perf top -e cycles:p\u0027 should work without\n      skid now, like PEBS does on the Intel side, because it takes\n      advantage of IBS transparently.\n\n    - the libtracevents library: it is the first step towards unifying\n      tracing tooling and perf, and it also gives a tracing library for\n      external tools like powertop to rely on.\n\n    - infrastructure: various improvements and refactoring of the UI\n      modules and related code\n\n    - infrastructure: cleanup and simplification of the profiling\n      targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)\n\n    - tons of robustness fixes all around\n\n    - various ftrace updates: speedups, cleanups, robustness\n      improvements.\n\n    - typing \u0027make\u0027 in tools/ will now give you a menu of projects to\n      build and a short help text to explain what each does.\n\n    - ... and lots of other changes I forgot to list.\n\n  The perf record make bzImage + perf report regression you reported\n  should be fixed.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (166 commits)\n  tracing: Remove kernel_lock annotations\n  tracing: Fix initial buffer_size_kb state\n  ring-buffer: Merge separate resize loops\n  perf evsel: Create events initially disabled -- again\n  perf tools: Split term type into value type and term type\n  perf hists: Fix callchain ip printf format\n  perf target: Add uses_mmap field\n  ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER\n  ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()\n  ftrace: Make ftrace_modify_all_code() global for archs to use\n  ftrace: Return record ip addr for ftrace_location()\n  ftrace: Consolidate ftrace_location() and ftrace_text_reserved()\n  ftrace: Speed up search by skipping pages by address\n  ftrace: Remove extra helper functions\n  ftrace: Sort all function addresses, not just per page\n  tracing: change CPU ring buffer state from tracing_cpumask\n  tracing: Check return value of tracing_dentry_percpu()\n  ring-buffer: Reset head page before running self test\n  ring-buffer: Add integrity check at end of iter read\n  ring-buffer: Make addition of pages in ring buffer atomic\n  ...\n"
    },
    {
      "commit": "c54894cd4672d513e43e0d17d7b0387bf6b2c2c4",
      "tree": "85a540716d82570f98a92b85c66ea5875f983f46",
      "parents": [
        "fb09bafda67041b74a668dc9d77735e36bd33d3b",
        "4d82a1debbffec129cc387aafa8f40b7bbab3297"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:36:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:36:56 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"Nothing exciting.  Most are updates to debug stuff and related fixes.\n  Two not-too-critical bugs are fixed - WARN_ON() triggering spurious\n  during cpu offlining and unlikely lockdep related oops.\"\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  lockdep: fix oops in processing workqueue\n  workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active\n  workqueue: Catch more locking problems with flush_work()\n  workqueue: change BUG_ON() to WARN_ON()\n  trace: Remove unused workqueue tracer\n"
    },
    {
      "commit": "6f5e3577d47aeb4ef39683cbf9e201554bc7054d",
      "tree": "62450b0532cbf68a749d34bf45c2ad145fccbdb2",
      "parents": [
        "bb27f55eb9405257a59c82550dbb0d684cc3a665",
        "895b67fd5830ce18a6f1375a7c062fcf84b4b874"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "bb27f55eb9405257a59c82550dbb0d684cc3a665",
      "tree": "bdab5866709e6ac7eeef7493d7d73bbd3d6231b6",
      "parents": [
        "b732d439cb43336cd6d7e804ecb2c81193ef63b0",
        "5e1c81d98a5621007824b49dde556fead5ff9c6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:50 2012 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core\n\nFixes for perf/core:\n\n - Rename some perf_target methods to avoid double negation, from Namhyung Kim.\n - Revert change to use per task events with inheritance, from Namhyung Kim.\n - Events should start disabled till children starts running, from David Ahern.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "895b67fd5830ce18a6f1375a7c062fcf84b4b874",
      "tree": "38f7d09da0f08b469c72ff3007d027212d400b9e",
      "parents": [
        "a591c73f127505cdbd0aa399a92112a8ddff8730"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon Nov 07 09:23:22 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:51 2012 -0400"
      },
      "message": "tracing: Remove kernel_lock annotations\n\nThe BKL is gone, these annotations are useless.\n\nLink: http://lkml.kernel.org/r/1320654202-4433-1-git-send-email-richard@nod.at\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a591c73f127505cdbd0aa399a92112a8ddff8730",
      "tree": "47eeb200977b79ddfbe3a6a26e8e38dc93bb5ff5",
      "parents": [
        "05fdd70d2fe1e34d8b80ec56d6e3272d9293653e"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 10:40:34 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:50 2012 -0400"
      },
      "message": "tracing: Fix initial buffer_size_kb state\n\nMake sure that the state of buffer_size_kb is initialized correctly and\nreturns actual size of the ring buffer.\n\nLink: http://lkml.kernel.org/r/1336066834-1673-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "05fdd70d2fe1e34d8b80ec56d6e3272d9293653e",
      "tree": "eb9165b01bfa96341edcdf15acfa358bbc38268f",
      "parents": [
        "b732d439cb43336cd6d7e804ecb2c81193ef63b0"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri May 18 13:29:51 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:50 2012 -0400"
      },
      "message": "ring-buffer: Merge separate resize loops\n\nThere are 2 separate loops to resize cpu buffers that are online and\noffline. Merge them to make the code look better.\n\nAlso change the name from update_completion to update_done to allow\nshorter lines.\n\nLink: http://lkml.kernel.org/r/1337372991-14783-1-git-send-email-vnagarnaik@google.com\n\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "16ee6576e25b83806d26eb771138249fcfb5eddc",
      "tree": "7c717b80f28b5c59ba673dc00f2ca9bd0fc068d4",
      "parents": [
        "16fa7e8200fb9066b77a3f27cbed8e4a9fc71998",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch:\n\n\"perf tools: Move parse event automated tests to separated object\"\n\nThat depends on:\n\ncommit e7c72d8\nperf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nConflicts:\n\ttools/perf/builtin-stat.c\n\nConflicted with the recent \u0027perf_target\u0027 patches when checking the\nresult of perf_evsel open routines to see if a retry is needed to cope\nwith older kernels where the exclude guest/host perf_event_attr bits\nwere not used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b732d439cb43336cd6d7e804ecb2c81193ef63b0",
      "tree": "8c89aec44ef3fbc6ff3e3afbf74ca5ded1354bc1",
      "parents": [
        "e4f5d5440bb860a3e8942ca8f7277a7f31798965"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 30 09:17:03 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 20:00:29 2012 -0400"
      },
      "message": "ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER\n\nThe function tracer will enable the -pg option with gcc, which requires\nthat frame pointers. When FRAME_POINTER is defined in the kernel config\nit adds the gcc option -fno-omit-frame-pointer which causes some problems\non some architectures. For those architectures, the FRAME_POINTER select\nwas not set.\n\nWhen FUNCTION_TRACER was selected on these architectures that can not have\n-fno-omit-frame-pointer, the -pg option is still set. But when\nFRAME_POINTER is not selected, the kernel config would add the gcc option\n-fomit-frame-pointer. Adding this option is incompatible with -pg\neven on archs that do not need frame pointers with -pg.\n\nThe answer to this was to just not add either -fno-omit-frame-pointer\nor -fomit-frame-pointer on these archs that want function tracing\nbut do not set FRAME_POINTER.\n\nAs it turns out, for archs that require frame pointers for function\ntracing, the same can be used. If gcc requires frame pointers with\n-pg, it will simply add it. The best thing to do is not select FRAME_POINTER\nwhen function tracing is selected, and let gcc add it if needed.\n\nOnly add the -fno-omit-frame-pointer when something else selects\nFRAME_POINTER, but do not add -fomit-frame-pointer if function tracing\nis selected.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4f5d5440bb860a3e8942ca8f7277a7f31798965",
      "tree": "324091109c5bbaae5a06e52a77369cf2731ebb54",
      "parents": [
        "8ed3e2cfe40ffe43630fd8efa34fc97c95b4c298"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 27 09:13:18 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 20:00:27 2012 -0400"
      },
      "message": "ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()\n\nTo remove duplicate code, have the ftrace arch_ftrace_update_code()\nuse the generic ftrace_modify_all_code(). This requires that the\ndefault ftrace_replace_code() becomes a weak function so that an\narch may override it.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8ed3e2cfe40ffe43630fd8efa34fc97c95b4c298",
      "tree": "7460935d25c77dc13ef887dc664fd7529886665e",
      "parents": [
        "f0cf973a224a3e3c1dec3395af3ba01cf14b1ff4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 26 14:59:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 20:00:26 2012 -0400"
      },
      "message": "ftrace: Make ftrace_modify_all_code() global for archs to use\n\nRename __ftrace_modify_code() to ftrace_modify_all_code() and make\nit global for all archs to use. This will remove the duplication\nof code, as archs that can modify code without stop_machine()\ncan use it directly outside of the stop_machine() call.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f0cf973a224a3e3c1dec3395af3ba01cf14b1ff4",
      "tree": "c8efdfadbf904ce9eaff942156bc3d0608375d7d",
      "parents": [
        "a650e02a528ab9d6d6f0b8b57745c32f2a138459"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 25 14:39:54 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:58:49 2012 -0400"
      },
      "message": "ftrace: Return record ip addr for ftrace_location()\n\nftrace_location() is passed an addr, and returns 1 if the addr is\non a ftrace nop (or caller to ftrace_caller), and 0 otherwise.\n\nTo let kprobes know if it should move a breakpoint or not, it\nmust return the actual addr that is the start of the ftrace nop.\nThis way a kprobe placed on the location of a ftrace nop, can\ninstead be placed on the instruction after the nop. Even if the\nprobe addr is on the second or later byte of the nop, it can\nsimply be moved forward.\n\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a650e02a528ab9d6d6f0b8b57745c32f2a138459",
      "tree": "34bf32bc4c3b8ccec7e33dbe12a26d51075f779a",
      "parents": [
        "9644302e3315e7e36495d230d5ac7125a316d33e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 25 13:48:13 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:58:48 2012 -0400"
      },
      "message": "ftrace: Consolidate ftrace_location() and ftrace_text_reserved()\n\nBoth ftrace_location() and ftrace_text_reserved() do basically the same thing.\nThey search to see if an address is in the ftace table (contains an address\nthat may change from nop to call ftrace_caller). The difference is\nthat ftrace_location() searches a single address, but ftrace_text_reserved()\nsearches a range.\n\nThis also makes the ftrace_text_reserved() faster as it now uses a bsearch()\ninstead of linearly searching all the addresses within a page.\n\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9644302e3315e7e36495d230d5ac7125a316d33e",
      "tree": "63695acb86c89f5617820937ed254d9638894eef",
      "parents": [
        "706c81f87f84adbcf1f6553b9e6b69b3e28fc35a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 25 10:14:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:58:46 2012 -0400"
      },
      "message": "ftrace: Speed up search by skipping pages by address\n\nAs all records in a page of the ftrace table are sorted, we can\nspeed up the search algorithm by checking if the address to look for\nfalls in between the first and last record ip on the page.\n\nThis speeds up both the ftrace_location() and ftrace_text_reserved()\nalgorithms, as it can skip full pages when the search address is\nnot in them.\n\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "706c81f87f84adbcf1f6553b9e6b69b3e28fc35a",
      "tree": "0075a28af7df96962e5e292784f6ee50d456f23d",
      "parents": [
        "9fd49328fc2a1cbfea542bcbcf004b5c81dc495b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 24 23:45:26 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:58:45 2012 -0400"
      },
      "message": "ftrace: Remove extra helper functions\n\nThe ftrace_record_ip() and ftrace_alloc_dyn_node() were from the\ntime of the ftrace daemon. Although they were still used, they\nstill make things a bit more complex than necessary.\n\nMove the code into the one function that uses it, and remove the\nhelper functions.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9fd49328fc2a1cbfea542bcbcf004b5c81dc495b",
      "tree": "da8f42d3483da2b1b224d422db074cbe954b5cd3",
      "parents": [
        "71babb2705e2203a64c27ede13ae3508a0d2c16c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 24 22:32:06 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:58:44 2012 -0400"
      },
      "message": "ftrace: Sort all function addresses, not just per page\n\nInstead of just sorting the ip\u0027s of the functions per ftrace page,\nsort the entire list before adding them to the ftrace pages.\n\nThis will allow the bsearch algorithm to be sped up as it can\nalso sort by pages, not just records within a page.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "71babb2705e2203a64c27ede13ae3508a0d2c16c",
      "tree": "8274eb4b1b17872e38715e0f619669fcc2b06c8d",
      "parents": [
        "0a3d7ce7e6caa8c39cb5184bd9047a01a40abc2a"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:52 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:38 2012 -0400"
      },
      "message": "tracing: change CPU ring buffer state from tracing_cpumask\n\nAccording to Documentation/trace/ftrace.txt:\n\ntracing_cpumask:\n\n        This is a mask that lets the user only trace\n        on specified CPUS. The format is a hex string\n        representing the CPUS.\n\nThe tracing_cpumask currently doesn\u0027t affect the tracing state of\nper-CPU ring buffers.\n\nThis patch enables/disables CPU recording as its corresponding bit in\ntracing_cpumask is set/unset.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a3d7ce7e6caa8c39cb5184bd9047a01a40abc2a",
      "tree": "c273c4024b2e1f9b8d4701108e05770e8d4515a9",
      "parents": [
        "308f7eeb7882c27c1d7aa783499cb22f3b199718"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Mon Apr 23 10:11:57 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:37 2012 -0400"
      },
      "message": "tracing: Check return value of tracing_dentry_percpu()\n\nIf tracing_dentry_percpu() failed, tracing_init_debugfs_percpu()\nwill try to create each cpu directories on debugfs\u0027 root directory\nas d_percpu is NULL.\n\nLink: http://lkml.kernel.org/r/1335143517-2285-1-git-send-email-namhyung.kim@lge.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "308f7eeb7882c27c1d7aa783499cb22f3b199718",
      "tree": "f04fb171bae7d2b2f1a7566bd747724a4973014f",
      "parents": [
        "659f451ff21315ebfeeb46b9adccee8ce1b52c25"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 16 19:46:32 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:36 2012 -0400"
      },
      "message": "ring-buffer: Reset head page before running self test\n\nWhen the ring buffer does its consistency test on itself, it\nremoves the head page, runs the tests, and then adds it back\nto what the \"head_page\" pointer was. But because the head_page\npointer may lack behind the real head page (held by the link\nlist pointer). The reset may be incorrect.\n\nInstead, if the head_page exists (it does not on first allocation)\nreset it back to the real head page before running the consistency\ntests. Then it will be put back to its original location after\nthe tests are complete.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "659f451ff21315ebfeeb46b9adccee8ce1b52c25",
      "tree": "da818329ad9c47e3a5c5414e37e836cb8bda5bec",
      "parents": [
        "5040b4b7bcc26a311c799d46f67174bcb20d05dd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 14 17:02:33 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:23 2012 -0400"
      },
      "message": "ring-buffer: Add integrity check at end of iter read\n\nThere use to be ring buffer integrity checks after updating the\nsize of the ring buffer. But now that the ring buffer can modify\nthe size while the system is running, the integrity checks were\nremoved, as they require the ring buffer to be disabed to perform\nthe check.\n\nMove the integrity check to the reading of the ring buffer via the\niterator reads (the \"trace\" file). As reading via an iterator requires\ndisabling the ring buffer, it is a perfect place to have it.\n\nIf the ring buffer happens to be disabled when updating the size,\nwe still perform the integrity check.\n\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5040b4b7bcc26a311c799d46f67174bcb20d05dd",
      "tree": "9d0a5656f891ef2a59793df5726fca00fac3a188",
      "parents": [
        "83f40318dab00e3298a1f6d0b12ac025e84e478d"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:51 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 16:25:51 2012 -0400"
      },
      "message": "ring-buffer: Make addition of pages in ring buffer atomic\n\nThis patch adds the capability to add new pages to a ring buffer\natomically while write operations are going on. This makes it possible\nto expand the ring buffer size without reinitializing the ring buffer.\n\nThe new pages are attached between the head page and its previous page.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-2-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "83f40318dab00e3298a1f6d0b12ac025e84e478d",
      "tree": "efa4aa0d79337ec7e56d667d513ae69f1b2e38f7",
      "parents": [
        "6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:50 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 16:18:57 2012 -0400"
      },
      "message": "ring-buffer: Make removal of ring buffer pages atomic\n\nThis patch adds the capability to remove pages from a ring buffer\nwithout destroying any existing data in it.\n\nThis is done by removing the pages after the tail page. This makes sure\nthat first all the empty pages in the ring buffer are removed. If the\nhead page is one in the list of pages to be removed, then the page after\nthe removed ones is made the head page. This removes the oldest data\nfrom the ring buffer and keeps the latest data around to be read.\n\nTo do this in a non-racey manner, tracing is stopped for a very short\ntime while the pages to be removed are identified and unlinked from the\nring buffer. The pages are freed after the tracing is restarted to\nminimize the time needed to stop tracing.\n\nThe context in which the pages from the per-cpu ring buffer are removed\nruns on the respective CPU. This minimizes the events not traced to only\nNMI trace contexts.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce",
      "tree": "80a8bf8b301984907bd8773ca31748e82e136638",
      "parents": [
        "978da300c7a65494692b329a6a4cbf364afc37c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 11 23:28:49 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 16:18:57 2012 -0400"
      },
      "message": "tracing: Clean up tracing_mark_write()\n\nOn gcc 4.5 the function tracing_mark_write() would give a warning\nof page2 being uninitialized. This is due to a bug in gcc because\nthe logic prevents page2 from being used uninitialized, and\ngcc 4.6+ does not complain (correctly).\n\nInstead of adding a \"unitialized\" around page2, which could show\na bug later on, I combined page1 and page2 into an array map_pages[].\nThis binds the two and the two are modified according to nr_pages\n(what gcc 4.5 seems to ignore). This no longer gives a warning with\ngcc 4.5 nor with gcc 4.6.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4",
      "tree": "f03743d576a0c7826b9921ad47e70370ebe80a22",
      "parents": [
        "ec83db0f78cd44c3b586ec1c3a348d1a8a389797",
        "73eff9f56e15598c8399c0b86899fd889b97f085"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 14:43:40 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 14:43:40 2012 +0200"
      },
      "message": "Merge branch \u0027perf/uprobes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/uprobes\n"
    },
    {
      "commit": "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
      "tree": "ac90f2faceecab78d7d547c33daef31d4a9e2943",
      "parents": [
        "20d23aaa31da295378abff4272716e3dfc72baf0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "message": "tracing: Do not enable function event with enable\n\nWith the adding of function tracing event to perf, it caused a\nside effect that produces the following warning when enabling all\nevents in ftrace:\n\n # echo 1 \u003e /sys/kernel/debug/tracing/events/enable\n\n[console]\nevent trace: Could not enable event function\n\nThis is because when enabling all events via the debugfs system\nit ignores events that do not have a -\u003ereg() function assigned.\nThis was to skip over the ftrace internal events (as they are\nnot TRACE_EVENTs). But as the ftrace function event now has\na -\u003ereg() function attached to it for use with perf, it is no\nlonger ignored.\n\nWorse yet, this -\u003ereg() function is being called when it should\nnot be. It returns an error and causes the above warning to\nbe printed.\n\nBy adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)\nand have all ftrace internel event structures have it set,\nsetting the events/enable will no longe try to incorrectly enable\nthe function event and does not warn.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "68179686ac67cb08f08b1ef28b860d5ed899f242",
      "tree": "5358088eddef07e00a6daf309c0fe43f94a6cdc4",
      "parents": [
        "50e18b94c695644d824381e7574b9c44acc25ffe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 08 20:57:53 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 08 21:06:26 2012 -0400"
      },
      "message": "tracing: Remove ftrace_disable/enable_cpu()\n\nThe ftrace_disable_cpu() and ftrace_enable_cpu() functions were\nneeded back before the ring buffer was lockless. Now that the\nring buffer is lockless (and has been for some time), these functions\nserve no purpose, and unnecessarily slow down operations of the tracer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "50e18b94c695644d824381e7574b9c44acc25ffe",
      "tree": "8e323cd188dfdf4882e963812a6b9caf8905cac0",
      "parents": [
        "b02ee9a33b65bcc4ad13c12a0b04afdaab3ddd8d"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Apr 25 10:23:39 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 08 21:04:12 2012 -0400"
      },
      "message": "tracing: Use seq_*_private interface for some seq files\n\nIt\u0027s appropriate to use __seq_open_private interface to open\nsome of trace seq files, because it covers all steps we are\nduplicating in tracing code - zallocating the iterator and\nsetting it as seq_file\u0027s private.\n\nUsing this for following files:\n  trace\n  available_filter_functions\n  enabled_functions\n\nLink: http://lkml.kernel.org/r/1335342219-2782-5-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\n\n[\n Fixed warnings for:\n   kernel/trace/trace.c: In function \u0027__tracing_open\u0027:\n   kernel/trace/trace.c:2418:11: warning: unused variable \u0027ret\u0027 [-Wunused-variable]\n   kernel/trace/trace.c:2417:19: warning: unused variable \u0027m\u0027 [-Wunused-variable]\n]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f3f096cfedf8113380c56fc855275cc75cd8cf55",
      "tree": "b8d0553afc8cebf6dd320d094206e93df5d95794",
      "parents": [
        "8ab83f56475ec9151645a888dfe1941f4a92091d"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Apr 11 16:00:43 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 07 14:30:17 2012 +0200"
      },
      "message": "tracing: Provide trace events interface for uprobes\n\nImplements trace_event support for uprobes. In its current form\nit can be used to put probes at a specified offset in a file and\ndump the required registers when the code flow reaches the\nprobed address.\n\nThe following example shows how to dump the instruction pointer\nand %ax a register at the probed text address.  Here we are\ntrying to probe zfree in /bin/zsh:\n\n # cd /sys/kernel/debug/tracing/\n # cat /proc/`pgrep  zsh`/maps | grep /bin/zsh | grep r-xp\n 00400000-0048a000 r-xp 00000000 08:03 130904 /bin/zsh\n # objdump -T /bin/zsh | grep -w zfree\n 0000000000446420 g    DF .text  0000000000000012  Base\n zfree # echo \u0027p /bin/zsh:0x46420 %ip %ax\u0027 \u003e uprobe_events\n # cat uprobe_events\n p:uprobes/p_zsh_0x46420 /bin/zsh:0x0000000000046420\n # echo 1 \u003e events/uprobes/enable\n # sleep 20\n # echo 0 \u003e events/uprobes/enable\n # cat trace\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n              zsh-24842 [006] 258544.995456: p_zsh_0x46420: (0x446420) arg1\u003d446421 arg2\u003d79\n              zsh-24842 [007] 258545.000270: p_zsh_0x46420: (0x446420) arg1\u003d446421 arg2\u003d79\n              zsh-24842 [002] 258545.043929: p_zsh_0x46420: (0x446420) arg1\u003d446421 arg2\u003d79\n              zsh-24842 [004] 258547.046129: p_zsh_0x46420: (0x446420) arg1\u003d446421 arg2\u003d79\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120411103043.GB29437@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8ab83f56475ec9151645a888dfe1941f4a92091d",
      "tree": "91f33bc65e6d24c0db020195f560a19d140a3145",
      "parents": [
        "3a6b76661da8e92124a813b43607f5bec1a618de"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Mon Apr 09 14:41:44 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 07 14:29:57 2012 +0200"
      },
      "message": "tracing: Extract out common code for kprobes/uprobes trace events\n\nMove parts of trace_kprobe.c that can be shared with upcoming\ntrace_uprobe.c. Common code to kernel/trace/trace_probe.h and\nkernel/trace/trace_probe.c. There are no functional changes.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120409091144.8343.76218.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3a6b76661da8e92124a813b43607f5bec1a618de",
      "tree": "83ef43201acc68b1848f7e63a92f7cb318cbac82",
      "parents": [
        "cbc91f71b51b8335f1fc7ccfca8011f31a717367"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Mon Apr 09 14:41:33 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 07 14:29:35 2012 +0200"
      },
      "message": "tracing: Modify is_delete, is_return from int to bool\n\nis_delete and is_return can take utmost 2 values and are better\nof being a boolean than a int. There are no functional changes.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120409091133.8343.65289.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "438ced1720b584000a9e8a4349d1f6bb7ee3ad6d",
      "tree": "2c769e58411c68b298ab816c577ecb2119c7067c",
      "parents": [
        "5a26c8f0cf1e95106858bb4e23ca6dd14c9b842f"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu Feb 02 12:00:41 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:17:51 2012 -0400"
      },
      "message": "ring-buffer: Add per_cpu ring buffer control files\n\nAdd a debugfs entry under per_cpu/ folder for each cpu called\nbuffer_size_kb to control the ring buffer size for each CPU\nindependently.\n\nIf the global file buffer_size_kb is used to set size, the individual\nring buffers will be adjusted to the given size. The buffer_size_kb will\nreport the common size to maintain backward compatibility.\n\nIf the buffer_size_kb file under the per_cpu/ directory is used to\nchange buffer size for a specific CPU, only the size of the respective\nring buffer is updated. When tracing/buffer_size_kb is read, it reports\n\u0027X\u0027 to indicate that sizes of per_cpu ring buffers are not equivalent.\n\nLink: http://lkml.kernel.org/r/1328212844-11889-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a26c8f0cf1e95106858bb4e23ca6dd14c9b842f",
      "tree": "0e4d5a45f2ce667f3560a9171e11178437ca24a5",
      "parents": [
        "07d777fe8c3985bc83428c2866713c2d1b3d4129"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Apr 20 09:31:45 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:16:10 2012 -0400"
      },
      "message": "tracing: Remove an unneeded check in trace_seq_buffer()\n\nmemcpy() returns a pointer to \"bug\".  Hopefully, it\u0027s not NULL here or\nwe would already have Oopsed.\n\nLink: http://lkml.kernel.org/r/20120420063145.GA22649@elgon.mountain\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "07d777fe8c3985bc83428c2866713c2d1b3d4129",
      "tree": "f14c6aa59b9719761ad9feebebca22550ebdf0e3",
      "parents": [
        "a385ec4f11bdcf81af094c03e2444ee9b7fad2e5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 14:01:55 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:15:55 2012 -0400"
      },
      "message": "tracing: Add percpu buffers for trace_printk()\n\nCurrently, trace_printk() uses a single buffer to write into\nto calculate the size and format needed to save the trace. To\ndo this safely in an SMP environment, a spin_lock() is taken\nto only allow one writer at a time to the buffer. But this could\nalso affect what is being traced, and add synchronization that\nwould not be there otherwise.\n\nIdeally, using percpu buffers would be useful, but since trace_printk()\nis only used in development, having per cpu buffers for something\nnever used is a waste of space. Thus, the use of the trace_bprintk()\nformat section is changed to be used for static fmts as well as dynamic ones.\nThen at boot up, we can check if the section that holds the trace_printk\nformats is non-empty, and if it does contain something, then we\nknow a trace_printk() has been added to the kernel. At this time\nthe trace_printk per cpu buffers are allocated. A check is also\ndone at module load time in case a module is added that contains a\ntrace_printk().\n\nOnce the buffers are allocated, they are never freed. If you use\na trace_printk() then you should know what you are doing.\n\nA buffer is made for each type of context:\n\n  normal\n  softirq\n  irq\n  nmi\n\nThe context is checked and the appropriate buffer is used.\nThis allows for totally lockless usage of trace_printk(),\nand they no longer even disable interrupts.\n\nRequested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db4c75cbebd7e5910cd3bcb6790272fcc3042857",
      "tree": "068514135f1bfd68c6add551ec94545010ca5a73",
      "parents": [
        "348f0fc238efb441a28e7644c51f9fd3001b228a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 19 10:31:47 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 19 17:00:13 2012 -0400"
      },
      "message": "tracing: Fix stacktrace of latency tracers (irqsoff and friends)\n\nWhile debugging a latency with someone on IRC (mirage335) on #linux-rt (OFTC),\nwe discovered that the stacktrace output of the latency tracers\n(preemptirqsoff) was empty.\n\nThis bug was caused by the creation of the dynamic length stack trace\nagain (like commit 12b5da3 \"tracing: Fix ent_size in trace output\" was).\n\nThis bug is caused by the latency tracers requiring the next event\nto determine the time between the current event and the next. But by\ngrabbing the next event, the iter-\u003eent_size is set to the next event\ninstead of the current one. As the stacktrace event is the last event,\nthis makes the ent_size zero and causes nothing to be printed for\nthe stack trace. The dynamic stacktrace uses the ent_size to determine\nhow much of the stack can be printed. The ent_size of zero means\nno stack.\n\nThe simple fix is to save the iter-\u003eent_size before finding the next event.\n\nNote, mirage335 asked to remain anonymous from LKML and git, so I will\nnot add the Reported-by and Tested-by tags, even though he did report\nthe issue and tested the fix.\n\nCc: stable@vger.kernel.org # 3.1+\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "59bf896406471ac49d124b3e5f4edcafe28e5360",
      "tree": "40360c346a159f947d6284bf9c2fe38c70a7751c",
      "parents": [
        "3773b4540721a2e8d4b957f4619ada4bf0bc8e45"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Wed Apr 18 00:01:21 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Apr 18 14:12:27 2012 +0200"
      },
      "message": "Fix \"the the\" in various Kconfig\n\nFix typo \"the the\" in various Kconfig.\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "348f0fc238efb441a28e7644c51f9fd3001b228a",
      "tree": "780fa93c72777045a986f0ce648efc2bf8e35999",
      "parents": [
        "6e48b550d1f5f1919e6500547ae14a73fbf66c7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "message": "tracing: Fix regression with tracing_on\n\nThe change to make tracing_on affect only the ftrace ring buffer, caused\na bug where it wont affect any ring buffer. The problem was that the buffer\nof the trace_array was passed to the write function and not the trace array\nitself.\n\nThe trace_array can change the buffer when running a latency tracer. If this\nhappens, then the buffer being disabled may not be the buffer currently used\nby ftrace. This will cause the tracing_on file to become useless.\n\nThe simple fix is to pass the trace_array to the write function instead of\nthe buffer. Then the actual buffer may be changed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6e48b550d1f5f1919e6500547ae14a73fbf66c7b",
      "tree": "983a2a06bc7aaddfc05f2d8c33309c3c21d30dea",
      "parents": [
        "a7ca08038b990e2cbed324948664b2d8940fd782"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 13 09:52:59 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 13 21:37:04 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)\n\nToday\u0027s -next fails to link for me:\n\nkernel/built-in.o:(.data+0x178e50): undefined reference to `perf_ftrace_event_register\u0027\n\nIt looks like multiple fixes have been merged for the issue fixed by\ncommit fa73dc9 (tracing: Fix build breakage without CONFIG_PERF_EVENTS)\nthough I can\u0027t identify the other changes that have gone in at the\nminute, it\u0027s possible that the changes which caused the breakage fixed\nby the previous commit got dropped but the fix made it in.\n\nLink: http://lkml.kernel.org/r/1334307179-21255-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d3283fb45c06dfd7b1a36da8e6ff39d313f0600c",
      "tree": "efa62beab15a751d1b65a3f15524cdd4f8fdaec0",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon Apr 09 11:00:25 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 11 09:18:48 2012 -0700"
      },
      "message": "trace: Remove unused workqueue tracer\n\nThis tracer was temporarily removed in 6416669 (workqueue:\ntemporarily remove workqueue tracing, 2010-06-29) but never\nreinstated after concurrency managed workqueues were completed.\nFor almost two years it hasn\u0027t been compilable so it seems nobody\nis using it. Delete it.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: 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": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04a54d27ce9698d108d29c8a6a50c28f7446336b",
      "tree": "95041020d6fd5e283e81f7c12c2fd4433b6af8e5",
      "parents": [
        "c7206205d00ab375839bd6c7ddb247d600693c09",
        "01de982abf8c9e10fc3089e10585cd2cc914bdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +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": "01de982abf8c9e10fc3089e10585cd2cc914bdab",
      "tree": "09819515fa130cf8fad5b17367bbd6f9e787e4a5",
      "parents": [
        "89c5bd08df5841326abbf167d136bcf14cf759ed"
      ],
      "author": {
        "name": "Wolfgang Mauerer",
        "email": "wolfgang.mauerer@siemens.com",
        "time": "Thu Mar 22 11:18:20 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 22 12:19:23 2012 -0400"
      },
      "message": "tracing: Fix ftrace stack trace entries\n\n8 hex characters tell only half the tale for 64 bit CPUs,\nso use the appropriate length.\n\nLink: http://lkml.kernel.org/r/1332411501-8059-2-git-send-email-wolfgang.mauerer@siemens.com\n\nCc: stable@vger.kernel.org\nSigned-off-by: Wolfgang Mauerer \u003cwolfgang.mauerer@siemens.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "38eff2892628fa5c4fc8962a17b7296f42833ebe",
      "tree": "6a138b3a4bd712b65797bae334bd7bd3ec12c038",
      "parents": [
        "66b3fad3f4c535c92b6a1184d535a97d6aa5d82a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:51:10 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:40 2012 -0400"
      },
      "message": "constify path argument of trace_seq_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa73dc9400516945bcbae8d98c23393bcefe1440",
      "tree": "f63deadc3b24a2534646dc7dff626fc7102fabe5",
      "parents": [
        "db6544e0075d192e5ad16eda8689c55fa9c6f8f4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 28 11:02:46 2012 +0000"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 18:34:59 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS\n\nToday\u0027s -next fails to build for me:\n\n  CC      kernel/trace/trace_export.o\nIn file included from kernel/trace/trace_export.c:197: kernel/trace/trace_entries.h:58: error: \u0027perf_ftrace_event_register\u0027 undeclared here (not in a function)\nmake[2]: *** [kernel/trace/trace_export.o] Error 1\nmake[1]: *** [kernel/trace] Error 2\nmake: *** [kernel] Error 2\n\nbecause as of ced390 (ftrace, perf: Add support to use function\ntracepoint in perf) perf_trace_event_register() is declared in trace.h\nonly if CONFIG_PERF_EVENTS is enabled but I don\u0027t have that set.\n\nEnsure that we always have a definition of perf_trace_event_register()\nby making the definition unconditional.\n\nLink: http://lkml.kernel.org/r/1330426967-17067-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db6544e0075d192e5ad16eda8689c55fa9c6f8f4",
      "tree": "5c48606c4769afc28bc8382d8ff3c6f2d14b0b03",
      "parents": [
        "b892e5c89787716b95a8e55d77d25a1c0748df10"
      ],
      "author": {
        "name": "Rajesh Bhagat",
        "email": "rajesh.lnx@gmail.com",
        "time": "Fri Feb 17 13:59:15 2012 +0530"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 15:07:37 2012 -0400"
      },
      "message": "ftrace: Fix function_graph for archs that test ftrace_trace_function\n\nWhen CONFIG_DYNAMIC_FTRACE is not set, some archs (ARM) test\nthe variable function_trace_function to determine if it should\ncall the function tracer. If it is not set to ftrace_stub, then\nit will call the function and return, and not call the function\ngraph tracer.\n\nBut some of these archs (ARM) do not have the assembly code\nto test if function tracing is enabled or not (quick stop of tracing)\nand it calls the helper routine ftrace_test_stop_func() instead.\n\nIf function tracer is enabled and then disabled, the variable\nftrace_trace_function is still set to the helper routine\nftrace_test_stop_func(), and not to ftrace_stub. This will\nprevent the function graph tracer from ever running.\n\nOutput before patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n\nOutput after patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n0) ! 253.375 us | } /* irq_enter */\n0) | generic_handle_irq() {\n0) | handle_fasteoi_irq() {\n0) 9.208 us | _raw_spin_lock();\n0) | handle_irq_event() {\n0) | handle_irq_event_percpu() {\n\nSigned-off-by: Rajesh Bhagat \u003crajesh.lnx@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b892e5c89787716b95a8e55d77d25a1c0748df10",
      "tree": "ed77ec8ab4db28fb900653cee4b719cf02a3a911",
      "parents": [
        "8c9cf542b8a66c231747a550573d910daf17f0e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "message": "tracing: Keep NMI watchdog from triggering when dumping trace\n\nAs ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts\nas it dumps its output to the console, it can keep interrupts disabled\nfor long periods of time. This is likely to trigger the NMI watchdog,\nand it can disrupt the output of critical data.\n\nAdd a touch_nmi_watchdog() to each event that is written to the screen\nto keep the NMI watchdog from affecting the output.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8c9cf542b8a66c231747a550573d910daf17f0e9",
      "tree": "7d6fbd5b30d4409522d1258ce7f8eee6a9aefd76",
      "parents": [
        "499e547057f5bba5cd6f87ebe59b05d0c59da905"
      ],
      "author": {
        "name": "Gerlando Falauto",
        "email": "gerlando.falauto@keymile.com",
        "time": "Mon Feb 27 09:08:21 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 27 08:45:11 2012 -0500"
      },
      "message": "tracing: Do not select FRAME_POINTER on PPC\n\nOn PowerPC, FUNCTION_TRACER selects FRAME_POINTER, even\nthough the architecture does not support it.\n\nThis causes the following warning:\nwarning: (LOCKDEP \u0026\u0026 FAULT_INJECTION_STACKTRACE_FILTER \u0026\u0026 LATENCYTOP \u0026\u0026 FUNCTION_TRACER \u0026\u0026 KMEMCHECK) selects FRAME_POINTER which has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS)\n\nSo remove the warning by adding the extra condition\n\"if !PPC\" to FUNCTION_TRACER for FRAME_POINTER selection\n\nLink: http://lkml.kernel.org/r/1330330101-8618-1-git-send-email-gerlando.falauto@keymile.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Gerlando Falauto \u003cgerlando.falauto@keymile.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "499e547057f5bba5cd6f87ebe59b05d0c59da905",
      "tree": "9bc64c1a76446153b72a66ad25fe892012d9d120",
      "parents": [
        "5500fa51199aee770ce53718853732600543619e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "message": "tracing/ring-buffer: Only have tracing_on disable tracing buffers\n\nAs the ring-buffer code is being used by other facilities in the\nkernel, having tracing_on file disable *all* buffers is not a desired\naffect. It should only disable the ftrace buffers that are being used.\n\nMove the code into the trace.c file and use the buffer disabling\nfor tracing_on() and tracing_off(). This way only the ftrace buffers\nwill be affected by them and other kernel utilities will not be\nconfused to why their output suddenly stopped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5500fa51199aee770ce53718853732600543619e",
      "tree": "1c2ad241de8177670234cfed07acb30dba802b01",
      "parents": [
        "02aa3162edaa166a01d193f80ccde890be8b55da"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:54 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:30 2012 -0500"
      },
      "message": "ftrace, perf: Add filter support for function trace event\n\nAdding support to filter function trace event via perf\ninterface. It is now possible to use filter interface\nin the perf tool like:\n\n  perf record -e ftrace:function --filter\u003d\"(ip \u003d\u003d mm_*)\" ls\n\nThe filter syntax is restricted to the the \u0027ip\u0027 field only,\nand following operators are accepted \u0027\u003d\u003d\u0027 \u0027!\u003d\u0027 \u0027||\u0027, ending\nup with the filter strings like:\n\n  ip \u003d\u003d f1[, ]f2 ... || ip !\u003d f3[, ]f4 ...\n\nwith comma \u0027,\u0027 or space \u0027 \u0027 as a function separator. If the\nspace \u0027 \u0027 is used as a separator, the right side of the\nassignment needs to be enclosed in double quotes \u0027\"\u0027, e.g.:\n\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d do_execve,sys_*,ext*)\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve,sys_*,ext*\")\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve sys_* ext*\")\u0027 ls\n\nThe \u0027\u003d\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_filter file.\n\nThe \u0027!\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_notrace file.\n\nThe right side of the \u0027!\u003d\u0027, \u0027\u003d\u003d\u0027 operators is list of functions\nor regexp. to be added to filter separated by space.\n\nThe \u0027||\u0027 operator is used for connecting multiple filter definitions\ntogether. It is possible to have more than one \u0027\u003d\u003d\u0027 and \u0027!\u003d\u0027\noperators within one filter string.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-8-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02aa3162edaa166a01d193f80ccde890be8b55da",
      "tree": "50f111c12472e5573b966d7fb076ba4b22c86669",
      "parents": [
        "ced39002f5ea736b716ae233fb68b26d59783912"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:53 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:29 2012 -0500"
      },
      "message": "ftrace: Allow to specify filter field type for ftrace events\n\nAdding FILTER_TRACE_FN event field type for function tracepoint\nevent, so it can be properly recognized within filtering code.\n\nCurrently all fields of ftrace subsystem events share the common\nfield type FILTER_OTHER. Since the function trace fields need\nspecial care within the filtering code we need to recognize it\nproperly, hence adding the FILTER_TRACE_FN event type.\n\nAdding filter parameter to the FTRACE_ENTRY macro, to specify the\nfilter field type for the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-7-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ced39002f5ea736b716ae233fb68b26d59783912",
      "tree": "4942ffe3b9e26d5122a5febb885d0b541e3aea33",
      "parents": [
        "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:52 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:27 2012 -0500"
      },
      "message": "ftrace, perf: Add support to use function tracepoint in perf\n\nAdding perf registration support for the ftrace function event,\nso it is now possible to register it via perf interface.\n\nThe perf_event struct statically contains ftrace_ops as a handle\nfor function tracer. The function tracer is registered/unregistered\nin open/close actions.\n\nTo be efficient, we enable/disable ftrace_ops each time the traced\nprocess is scheduled in/out (via TRACE_REG_PERF_(ADD|DELL) handlers).\nThis way tracing is enabled only when the process is running.\nIntentionally using this way instead of the event\u0027s hw state\nPERF_HES_STOPPED, which would not disable the ftrace_ops.\n\nIt is now possible to use function trace within perf commands\nlike:\n\n  perf record -e ftrace:function ls\n  perf stat -e ftrace:function ls\n\nAllowed only for root.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-6-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa",
      "tree": "315214953499b428a6a26d08fe3b5038e4ec5e1e",
      "parents": [
        "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:51 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:26 2012 -0500"
      },
      "message": "ftrace: Add FTRACE_ENTRY_REG macro to allow event registration\n\nAdding FTRACE_ENTRY_REG macro so particular ftrace entries\ncould specify registration function and thus become accesible\nvia perf.\n\nThis will be used in upcomming patch for function trace.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-5-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7",
      "tree": "beb0b36b48dfbbe389ea14e36be75b4837ad0cf1",
      "parents": [
        "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:50 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:25 2012 -0500"
      },
      "message": "ftrace, perf: Add add/del tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_ADD and TRACE_REG_PERF_DEL to handle\nperf event schedule in/out actions.\n\nThe add action is invoked for when the perf event is scheduled in,\nwhile the del action is invoked when the event is scheduled out.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-4-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd",
      "tree": "31e7deb76a5827883251dc578300bdc35ef62538",
      "parents": [
        "e248491ac283b516958ca9ab62c8e74b6718bca8"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:49 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:24 2012 -0500"
      },
      "message": "ftrace, perf: Add open/close tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_OPEN and TRACE_REG_PERF_CLOSE to differentiate\nregister/unregister from open/close actions.\n\nThe register/unregister actions are invoked for the first/last\ntracepoint user when opening/closing the event.\n\nThe open/close actions are invoked for each tracepoint user when\nopening/closing the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-3-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e248491ac283b516958ca9ab62c8e74b6718bca8",
      "tree": "77e5a6589cf55ebeabe01a321d792e216162efe6",
      "parents": [
        "5b34926114e39e12005031269613d2b13194aeba"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:48 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:23 2012 -0500"
      },
      "message": "ftrace: Add enable/disable ftrace_ops control interface\n\nAdding a way to temporarily enable/disable ftrace_ops. The change\nfollows the same way as \u0027global\u0027 ftrace_ops are done.\n\nIntroducing 2 global ftrace_ops - control_ops and ftrace_control_list\nwhich take over all ftrace_ops registered with FTRACE_OPS_FL_CONTROL\nflag. In addition new per cpu flag called \u0027disabled\u0027 is also added to\nftrace_ops to provide the control information for each cpu.\n\nWhen ftrace_ops with FTRACE_OPS_FL_CONTROL is registered, it is\nset as disabled for all cpus.\n\nThe ftrace_control_list contains all the registered \u0027control\u0027 ftrace_ops.\nThe control_ops provides function which iterates ftrace_control_list\nand does the check for \u0027disabled\u0027 flag on current cpu.\n\nAdding 3 inline functions:\n  ftrace_function_local_disable/ftrace_function_local_enable\n  - enable/disable the ftrace_ops on current cpu\n  ftrace_function_local_disabled\n  - get disabled ftrace_ops::disabled value for current cpu\n\nLink: http://lkml.kernel.org/r/1329317514-8131-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b34926114e39e12005031269613d2b13194aeba",
      "tree": "40c0fd479d6e048ceec060d05e141de0a941b7b5",
      "parents": [
        "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 20 20:37:32 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:13 2012 -0500"
      },
      "message": "tracing: Don\u0027t use p-\u003elen field to determine output in __print_*() functions\n\nIf more than one __print_*() function is used in a tracepoint\n(__print_flags(), __print_symbols(), etc), then the temp seq buffer will\nnot be zero on entry. Using the temp seq buffer\u0027s length to know if\ndata has been printed or not in the current function is incorrect and\nmay produce incorrect results.\n\nCurrently, no in-tree tracepoint causes this bug, but new ones may\nbe created.\n\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275",
      "tree": "1eff30273eb7089686e762ea2e1f025493c44c32",
      "parents": [
        "09bda4432a8a4d4db2b2b94697abc8d732a9ff73"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Sun Feb 19 14:16:07 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 20 20:33:31 2012 -0500"
      },
      "message": "tracing: Don\u0027t print an extra separator of flags\n\nIf __print_flags() is used after another __print_*() function, the\ntemp seq_file buffer will not be empty on entry, and the delimiter will\nbe printed even though there\u0027s just one field. We get something like:\n\n\t|S\n\ninstead of just:\n\n\tS\n\nThis is because the length of the temp seq buffer is used to determine\nif the delimiter is printed or not. But this algorithm fails when\nthe seq buffer is not empty on entry, and the delimiter will be printed\nbecause it thinks that a previous field was already printed.\n\nLink: http://lkml.kernel.org/r/1329650167-480655-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "47b0edcb599ea6eb9ef16d3a08932a0e01485293",
      "tree": "c72965c718a4e50a845c1e0ec898fc2d86825104",
      "parents": [
        "95100358491abaa2e9a5483811370059bbca4645"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue Nov 29 22:08:00 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:48:11 2012 -0500"
      },
      "message": "tracing/trivial: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is, that will prevent integer overflows which could\nresult from the multiplication of number of elements and size and it is also\na bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nLink: http://lkml.kernel.org/r/1322600880.1534.347.camel@localhost.localdomain\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1e42e83fde5537266c1d1e7fd8c010b3028d50fc",
      "tree": "6ca9af6a41021c2b1fb423bf85b1b99aa79e2e81",
      "parents": [
        "76027ea863fc02698da536b4970784eed3caa635"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Wed Feb 08 19:05:36 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:47 2012 -0500"
      },
      "message": "ftrace: sched_switch plugin is deprecated\n\nActually, sched_switch function tracer is merged into wakeup/wakeup_rt\nUpdate \u0027mini-HOWTO\u0027 for ftrace(Kernel function tracer).\nIf we want to trace \"sched:sched_switch\" to trace sched_switch func,\nWe may utilize event option.(e.g: trace-cmd list -e | grep sched)\nThis patch is based on Linux-3.3.rc2-SMP-PREEMPT\n\nLink: http://lkml.kernel.org/r/1328695537-15081-1-git-send-email-geunsik.lim@gmail.com\n\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ac483c446b67870444c9eeaf8325d3d2af9b91bc",
      "tree": "e2765af4acf86ce986856b2963036138ae077d58",
      "parents": [
        "623ec991ce0e8cd5791bad656c162fa837635907"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Jan 02 10:04:14 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 03 09:48:18 2012 -0500"
      },
      "message": "ftrace: Change filter/notrace set functions to return exit code\n\nCurrently the ftrace_set_filter and ftrace_set_notrace functions\ndo not return any return code. So there\u0027s no way for ftrace_ops\nuser to tell wether the filter was correctly applied.\n\nThe set_ftrace_filter interface returns error in case the filter\ndid not match:\n\n  # echo krava \u003e set_ftrace_filter\n  bash: echo: write error: Invalid argument\n\nChanging both ftrace_set_filter and ftrace_set_notrace functions\nto return zero if the filter was applied correctly or -E* values\nin case of error.\n\nLink: http://lkml.kernel.org/r/1325495060-6402-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
      "tree": "eaa7f50dea154d9f19721db69c7adde64d48848f",
      "parents": [
        "f0ed5b9a28536b8be2f578a9450cfa42ab31ccf8",
        "172d1b0b73256551f100fc00c69e356d047103f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 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: (39 commits)\n  perf tools: Fix compile error on x86_64 Ubuntu\n  perf report: Fix --stdio output alignment when --showcpuutilization used\n  perf annotate: Get rid of field_sep check\n  perf annotate: Fix usage string\n  perf kmem: Fix a memory leak\n  perf kmem: Add missing closedir() calls\n  perf top: Add error message for EMFILE\n  perf test: Change type of \u0027-v\u0027 option to INCR\n  perf script: Add missing closedir() calls\n  tracing: Fix compile error when static ftrace is enabled\n  recordmcount: Fix handling of elf64 big-endian objects.\n  perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again\n  perf tools: Add support for guest/host-only profiling\n  perf kvm: Do guest-only counting by default\n  perf top: Don\u0027t update total_period on process_sample\n  perf hists: Stop using \u0027self\u0027 for struct hist_entry\n  perf hists: Rename total_session to total_period\n  x86: Add counter when debug stack is used with interrupts enabled\n  x86: Allow NMIs to hit breakpoints in i386\n  x86: Keep current stack in NMI breakpoints\n  ...\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\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": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "38b78eb855409a05f9d370228bec1955e6878e08",
      "tree": "4f07483d49aaa53f7b6905a482f05ddcde4834de",
      "parents": [
        "762e1207889b3451c50d365b741af6f9ce958886"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 15 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:27:02 2011 -0500"
      },
      "message": "tracing: Factorize filter creation\n\nThere are four places where new filter for a given filter string is\ncreated, which involves several different steps.  This patch factors\nthose steps into create_[system_]filter() functions which in turn make\nuse of create_filter_{start|finish}() for common parts.\n\nThe only functional change is that if replace_filter_string() is\nrequested and fails, creation fails without any side effect instead of\nbeing ignored.\n\nNote that system filter is now installed after the processing is\ncomplete which makes freeing before and then restoring filter string\non error unncessary.\n\n-v2: Rebased to resolve conflict with 49aa29513e and updated both\n     create_filter() functions to always set *filterp instead of\n     requiring the caller to clear it to %NULL on entry.\n\nLink: http://lkml.kernel.org/r/1323988305-1469-2-git-send-email-tj@kernel.org\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "762e1207889b3451c50d365b741af6f9ce958886",
      "tree": "dcb1f4eacbddfa342181a29a97eb9b994922b009",
      "parents": [
        "2a85a37f168d2b4d74d493b578af4dc9032be92e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 22:01:00 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:49 2011 -0500"
      },
      "message": "tracing: Have stack tracing set filtered functions at boot\n\nAdd stacktrace_filter\u003d to the kernel command line that lets\nthe user pick specific functions to check the stack on.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2a85a37f168d2b4d74d493b578af4dc9032be92e",
      "tree": "26ed7136e9092e61ae693e117a540045ec5d54a0",
      "parents": [
        "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 21:57:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:35 2011 -0500"
      },
      "message": "ftrace: Allow access to the boot time function enabling\n\nChange set_ftrace_early_filter() to ftrace_set_early_filter()\nand make it a global function. This will allow other subsystems\nin the kernel to be able to enable function tracing at start\nup and reuse the ftrace function parsing code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f",
      "tree": "3a4e1d9b928bc213b05eb3d4a93d46d2205a11a9",
      "parents": [
        "69a3083c4a7df0322d97bb2b43a33cb12af8131a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 14:44:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:57 2011 -0500"
      },
      "message": "tracing: Have stack_tracer use a separate list of functions\n\nThe stack_tracer is used to look at every function and check\nif the current stack is bigger than the last recorded max stack size.\nWhen a new max is found, then it saves that stack off.\n\nCurrently the stack tracer is limited by the global_ops of\nthe function tracer. As the stack tracer has nothing to do with\nthe ftrace function tracer, except that it uses it as its internal\nengine, the stack tracer should have its own list.\n\nA new file is added to the tracing debugfs directory called:\n\n  stack_trace_filter\n\nthat can be used to select which functions you want to check the stack\non.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "69a3083c4a7df0322d97bb2b43a33cb12af8131a",
      "tree": "96b0c48178e812819a2f8d8ccf4600997be41fbb",
      "parents": [
        "fc13cb0ce45296f331263a6034aa1814203e1ac3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 15:21:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:24 2011 -0500"
      },
      "message": "ftrace: Decouple hash items from showing filtered functions\n\nThe set_ftrace_filter shows \"hashed\" functions, which are functions\nthat are added with operations to them (like traceon and traceoff).\n\nAs other subsystems may be able to show what functions they are\nusing for function tracing, the hash items should no longer\nbe shown just because the FILTER flag is set. As they have nothing\nto do with other subsystems filters.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "fc13cb0ce45296f331263a6034aa1814203e1ac3"
}
