)]}'
{
  "log": [
    {
      "commit": "758338e960ebe8ac3bef7ae11ff830bc2f9c655c",
      "tree": "dbaea6140ada681baa462a2818095bcea0160108",
      "parents": [
        "224394ad75711042c6d362c9dbc9874b476edbc0",
        "bf3071f5a054db9e5bab873355d27a7330ce5187"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 12:28:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 12:28:39 2012 -0800"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace\n\nPull minor tracing updates and fixes from Steven Rostedt:\n \"It seems that one of my old pull requests have slipped through.\n\n  The changes are contained to just the files that I maintain, and are\n  changes from others that I told I would get into this merge window.\n\n  They have already been in linux-next for several weeks, and should be\n  well tested.\"\n\n* \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:\n  tracing: Remove unnecessary WARN_ONCE\u0027s from tracing_buffers_splice_read\n  tracing: Remove unneeded checks from the stack tracer\n  tracing: Add a resize function to make one buffer equivalent to another buffer\n"
    },
    {
      "commit": "b2e902f024fa6f6f27b335c478d81bab0cb2c768",
      "tree": "dea9ad4bb8ce9cb51864817a1b39293c65f9c9e4",
      "parents": [
        "f9a00e8738c209d95493cf97d3a82ab2655892e5"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Dec 17 16:01:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:17 2012 -0800"
      },
      "message": "trace: use kbasename()\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "965c8e59cfcf845ecde2265a1d1bfee5f011d302",
      "tree": "22758a99b4ecb475750966d5202200dc0e89876c",
      "parents": [
        "c0f041602c33bae10b8e321c49024490d03ced3d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 17 15:59:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:12 2012 -0800"
      },
      "message": "lseek: the \"whence\" argument is called \"whence\"\n\nBut the kernel decided to call it \"origin\" instead.  Fix most of the\nsites.\n\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2013a13e68354e0c8f3696b69701803e13fb737",
      "tree": "a7e1da6bfad1aa2afd83f401874d606269ce90b4",
      "parents": [
        "dadfab4873256d2145640c0ce468fcbfb48977fe",
        "106f9d9337f65bd428c0c79f650e3489e458d771"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial branch from Jiri Kosina:\n \"Usual stuff -- comment/printk typo fixes, documentation updates, dead\n  code elimination.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  HOWTO: fix double words typo\n  x86 mtrr: fix comment typo in mtrr_bp_init\n  propagate name change to comments in kernel source\n  doc: Update the name of profiling based on sysfs\n  treewide: Fix typos in various drivers\n  treewide: Fix typos in various Kconfig\n  wireless: mwifiex: Fix typo in wireless/mwifiex driver\n  messages: i2o: Fix typo in messages/i2o\n  scripts/kernel-doc: check that non-void fcts describe their return value\n  Kernel-doc: Convention: Use a \"Return\" section to describe return values\n  radeon: Fix typo and copy/paste error in comments\n  doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c\n  various: Fix spelling of \"asynchronous\" in comments.\n  Fix misspellings of \"whether\" in comments.\n  eisa: Fix spelling of \"asynchronous\".\n  various: Fix spelling of \"registered\" in comments.\n  doc: fix quite a few typos within Documentation\n  target: iscsi: fix comment typos in target/iscsi drivers\n  treewide: fix typo of \"suport\" in various comments and Kconfig\n  treewide: fix typo of \"suppport\" in various comments\n  ...\n"
    },
    {
      "commit": "da830e589a45f0c42eef6f3cbd07275f8893f181",
      "tree": "b241c86b8a0f9acdef4b90f69ddd200548e91f2c",
      "parents": [
        "090f8ccba37034cec5a5972a70abeaae7eb0222b",
        "08cd2a6960ae2e1aa7f44b44ebafa84f503a2dd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:18:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:18:58 2012 -0800"
      },
      "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 \"These are late-v3.7 pending fixes for tracing.\"\n\nFix up trivial conflict in kernel/trace/ring_buffer.c: the NULL pointer\nfix clashed with the change of type of the \u0027ret\u0027 variable.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ring-buffer: Fix race between integrity check and readers\n  ring-buffer: Fix NULL pointer if rb_set_head_page() fails\n  ftrace: Clear bits properly in reset_iter_read()\n"
    },
    {
      "commit": "cc1b39dbf9f55a438e8a21a694394c20e6a17129",
      "tree": "cf48e5c871250c2bfd1d0590acd2f0569e95b950",
      "parents": [
        "7e0dd574cd6b1bcc818ed4251e5ceda7d8bee08f",
        "1c7d66732458dc187008e3f5b2f71e019e320fc2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:54:35 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:54:35 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull ftrace updates from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7e0dd574cd6b1bcc818ed4251e5ceda7d8bee08f",
      "tree": "04f5630e361083ab53da43a46d6c47a52e8b87ca",
      "parents": [
        "f0b9abfb044649bc452fb2fb975ff2fd599cc6a3",
        "32cdba1e05418909708a17e52505e8b2ba4381d1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:50:23 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Dec 08 15:51:10 2012 +0100"
      },
      "message": "Merge branch \u0027uprobes/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc into perf/core\n\nPull uprobes fixes, cleanups and preparation for the ARM port from Oleg Nesterov.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6d49e352ae9aed3f599041b0c0389aa924815f14",
      "tree": "3b09be4f4c4544a0e602d1f41eb24bde5143496c",
      "parents": [
        "817eecbf8230982ec0fbf0718e06a489b67dcbcf"
      ],
      "author": {
        "name": "Nadia Yvette Chambers",
        "email": "nyc@holomorphy.com",
        "time": "Thu Dec 06 10:39:54 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 06 10:39:54 2012 +0100"
      },
      "message": "propagate name change to comments in kernel source\n\nI\u0027ve legally changed my name with New York State, the US Social Security\nAdministration, et al. This patch propagates the name change and change\nin initials and login to comments in the kernel source as well.\n\nSigned-off-by: Nadia Yvette Chambers \u003cnyc@holomorphy.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9366c1ba13fbc41bdb57702e75ca4382f209c82f",
      "tree": "f01489b009aedbba4de63cb37412c64aa4d8c1b3",
      "parents": [
        "54f7be5b831254199522523ccab4c3d954bbf576"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 29 22:31:16 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 30 11:09:57 2012 -0500"
      },
      "message": "ring-buffer: Fix race between integrity check and readers\n\nThe function rb_check_pages() was added to make sure the ring buffer\u0027s\npages were sane. This check is done when the ring buffer size is modified\nas well as when the iterator is released (closing the \"trace\" file),\nas that was considered a non fast path and a good place to do a sanity\ncheck.\n\nThe problem is that the check does not have any locks around it.\nIf one process were to read the trace file, and another were to read\nthe raw binary file, the check could happen while the reader is reading\nthe file.\n\nThe issues with this is that the check requires to clear the HEAD page\nbefore doing the full check and it restores it afterward. But readers\nrequire the HEAD page to exist before it can read the buffer, otherwise\nit gives a nasty warning and disables the buffer.\n\nBy adding the reader lock around the check, this keeps the race from\nhappening.\n\nCc: stable@vger.kernel.org # 3.6\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "54f7be5b831254199522523ccab4c3d954bbf576",
      "tree": "7a65782f3bb7f67438db53444b59e8206916d478",
      "parents": [
        "70f77b3f7ec010ff9624c1f2e39a81babc9e2429"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 29 22:27:22 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 30 11:09:28 2012 -0500"
      },
      "message": "ring-buffer: Fix NULL pointer if rb_set_head_page() fails\n\nThe function rb_set_head_page() searches the list of ring buffer\npages for a the page that has the HEAD page flag set. If it does\nnot find it, it will do a WARN_ON(), disable the ring buffer and\nreturn NULL, as this should never happen.\n\nBut if this bug happens to happen, not all callers of this function\ncan handle a NULL pointer being returned from it. That needs to be\nfixed.\n\nCc: stable@vger.kernel.org # 3.0+\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bf3071f5a054db9e5bab873355d27a7330ce5187",
      "tree": "91ac4cf8705b3d50b9fc5555ea5ebc7127f53aa7",
      "parents": [
        "717a9ef7f355480686cdbac3f32d6075437a923e"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 25 11:39:08 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 19 15:25:09 2012 -0500"
      },
      "message": "tracing: Remove unnecessary WARN_ONCE\u0027s from tracing_buffers_splice_read\n\nWARN shouldn\u0027t be used as a means of communicating failure to a userspace programmer.\n\nLink: http://lkml.kernel.org/r/20120725153908.GA25203@redhat.com\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "717a9ef7f355480686cdbac3f32d6075437a923e",
      "tree": "8fbf18ec40837c65bb4dc193e5b7c07abdf62abd",
      "parents": [
        "d60da506cbeb3f1907a740547dd7ef04a93e908e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Wed Jul 18 11:56:01 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 19 15:07:13 2012 -0500"
      },
      "message": "tracing: Remove unneeded checks from the stack tracer\n\nIt seems that \u0027ftrace_enabled\u0027 flag should not be used inside the tracer\nfunctions. The ftrace core is using this flag for internal purposes, and\nthe flag wasn\u0027t meant to be used in tracers\u0027 runtime checks.\n\nstack tracer is the only tracer that abusing the flag. So stop it from\nserving as a bad example.\n\nAlso, there is a local \u0027stack_trace_disabled\u0027 flag in the stack tracer,\nwhich is never updated; so it can be removed as well.\n\nLink: http://lkml.kernel.org/r/1342637761-9655-1-git-send-email-anton.vorontsov@linaro.org\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d60da506cbeb3f1907a740547dd7ef04a93e908e",
      "tree": "b9d32b5ac2061c2c86f0e9d074349f70d8d52199",
      "parents": [
        "1c7d66732458dc187008e3f5b2f71e019e320fc2"
      ],
      "author": {
        "name": "Hiraku Toyooka",
        "email": "hiraku.toyooka.gu@hitachi.com",
        "time": "Wed Oct 17 11:56:16 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 15 17:10:21 2012 -0500"
      },
      "message": "tracing: Add a resize function to make one buffer equivalent to another buffer\n\nTrace buffer size is now per-cpu, so that there are the following two\npatterns in resizing of buffers.\n\n  (1) resize per-cpu buffers to same given size\n  (2) resize per-cpu buffers to another trace_array\u0027s buffer size\n      for each CPU (such as preparing the max_tr which is equivalent\n      to the global_trace\u0027s size)\n\n__tracing_resize_ring_buffer() can be used for (1), and had\nimplemented (2) inside it for resetting the global_trace to the\noriginal size.\n\n(2) was also implemented in another place. So this patch assembles\nthem in a new function - resize_buffer_duplicate_size().\n\nLink: http://lkml.kernel.org/r/20121017025616.2627.91226.stgit@falsita\n\nSigned-off-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "70f77b3f7ec010ff9624c1f2e39a81babc9e2429",
      "tree": "a47ad8d3c846b8418919a2cfdfbf6424ff041767",
      "parents": [
        "18423d3562f396206e0928a71177eeb2edfed077"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Jun 09 19:10:27 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 15 16:10:17 2012 -0500"
      },
      "message": "ftrace: Clear bits properly in reset_iter_read()\n\nThere is a typo here where \u0027\u0026\u0027 is used instead of \u0027|\u0027 and it turns the\nstatement into a noop.  The original code is equivalent to:\n\n\titer-\u003eflags \u0026\u003d ~((1 \u003c\u003c 2) \u0026 (1 \u003c\u003c 4));\n\nLink: http://lkml.kernel.org/r/20120609161027.GD6488@elgon.mountain\n\nCc: stable@vger.kernel.org # all of them\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "11043d8b125671a32253cddb0b05177be0e976f6",
      "tree": "9f440aeb014d66b3f284ff25cbae395c0d1a77fb",
      "parents": [
        "8be0709f10e3dd5d7d07933ad61a9f18c4b93ca5"
      ],
      "author": {
        "name": "Yoshihiro YUNOMAE",
        "email": "yoshihiro.yunomae.ez@hitachi.com",
        "time": "Tue Nov 13 12:18:23 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 13 15:49:11 2012 -0500"
      },
      "message": "tracing: Show raw time stamp on stats per cpu using counter or tsc mode for trace_clock\n\nShow raw time stamp values for stats per cpu if you choose counter or tsc mode\nfor trace_clock. Although a unit of tracing time stamp is nsec in local or global mode,\nthe units in counter and TSC mode are tracing counter and cycles respectively.\nLink: http://lkml.kernel.org/r/1352837903-32191-3-git-send-email-dhsharp@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Yoshihiro YUNOMAE \u003cyoshihiro.yunomae.ez@hitachi.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8be0709f10e3dd5d7d07933ad61a9f18c4b93ca5",
      "tree": "304c1e1575feed78341184a2302f37c049572d27",
      "parents": [
        "8cbd9cc6254065c97c4bac42daa55ba1abe73a8e"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Tue Nov 13 12:18:22 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 13 15:48:40 2012 -0500"
      },
      "message": "tracing: Format non-nanosec times from tsc clock without a decimal point.\n\nWith the addition of the \"tsc\" clock, formatting timestamps to look like\nfractional seconds is misleading. Mark clocks as either in nanoseconds or\nnot, and format non-nanosecond timestamps as decimal integers.\n\nTested:\n$ cd /sys/kernel/debug/tracing/\n$ cat trace_clock\n[local] global tsc\n$ echo sched_switch \u003e set_event\n$ echo 1 \u003e tracing_on ; sleep 0.0005 ; echo 0 \u003e tracing_on\n$ cat trace\n          \u003cidle\u003e-0     [000]  6330.555552: sched_switch: prev_comm\u003dswapper prev_pid\u003d0 prev_prio\u003d120 prev_state\u003dR \u003d\u003d\u003e next_comm\u003dbash next_pid\u003d29964 next_prio\u003d120\n           sleep-29964 [000]  6330.555628: sched_switch: prev_comm\u003dbash prev_pid\u003d29964 prev_prio\u003d120 prev_state\u003dS \u003d\u003d\u003e next_comm\u003dswapper next_pid\u003d0 next_prio\u003d120\n  ...\n$ echo 1 \u003e options/latency-format\n$ cat trace\n  \u003cidle\u003e-0       0 4104553247us+: sched_switch: prev_comm\u003dswapper prev_pid\u003d0 prev_prio\u003d120 prev_state\u003dR \u003d\u003d\u003e next_comm\u003dbash next_pid\u003d29964 next_prio\u003d120\n   sleep-29964   0 4104553322us+: sched_switch: prev_comm\u003dbash prev_pid\u003d29964 prev_prio\u003d120 prev_state\u003dS \u003d\u003d\u003e next_comm\u003dswapper next_pid\u003d0 next_prio\u003d120\n  ...\n$ echo tsc \u003e trace_clock\n$ cat trace\n$ echo 1 \u003e tracing_on ; sleep 0.0005 ; echo 0 \u003e tracing_on\n$ echo 0 \u003e options/latency-format\n$ cat trace\n          \u003cidle\u003e-0     [000] 16490053398357: sched_switch: prev_comm\u003dswapper prev_pid\u003d0 prev_prio\u003d120 prev_state\u003dR \u003d\u003d\u003e next_comm\u003dbash next_pid\u003d31128 next_prio\u003d120\n           sleep-31128 [000] 16490053588518: sched_switch: prev_comm\u003dbash prev_pid\u003d31128 prev_prio\u003d120 prev_state\u003dS \u003d\u003d\u003e next_comm\u003dswapper next_pid\u003d0 next_prio\u003d120\n  ...\necho 1 \u003e options/latency-format\n$ cat trace\n  \u003cidle\u003e-0       0 91557653238+: sched_switch: prev_comm\u003dswapper prev_pid\u003d0 prev_prio\u003d120 prev_state\u003dR \u003d\u003d\u003e next_comm\u003dbash next_pid\u003d31128 next_prio\u003d120\n   sleep-31128   0 91557843399+: sched_switch: prev_comm\u003dbash prev_pid\u003d31128 prev_prio\u003d120 prev_state\u003dS \u003d\u003d\u003e next_comm\u003dswapper next_pid\u003d0 next_prio\u003d120\n  ...\n\nv2:\nMove arch-specific bits out of generic code.\nv4:\nFix x86_32 build due to 64-bit division.\n\nGoogle-Bug-Id: 6980623\nLink: http://lkml.kernel.org/r/1352837903-32191-2-git-send-email-dhsharp@google.com\n\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8cbd9cc6254065c97c4bac42daa55ba1abe73a8e",
      "tree": "bb52f23f66fc6288e7efbce76ee389af0b52cc85",
      "parents": [
        "7bcfaf54f591a0775254c4ea679faf615152ee3a"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Tue Nov 13 12:18:21 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 13 15:48:27 2012 -0500"
      },
      "message": "tracing,x86: Add a TSC trace_clock\n\nIn order to promote interoperability between userspace tracers and ftrace,\nadd a trace_clock that reports raw TSC values which will then be recorded\nin the ring buffer. Userspace tracers that also record TSCs are then on\nexactly the same time base as the kernel and events can be unambiguously\ninterlaced.\n\nTested: Enabled a tracepoint and the \"tsc\" trace_clock and saw very large\ntimestamp values.\n\nv2:\nMove arch-specific bits out of generic code.\nv3:\nRename \"x86-tsc\", cleanups\nv7:\nGeneric arch bits in Kbuild.\n\nGoogle-Bug-Id: 6980623\nLink: http://lkml.kernel.org/r/1352837903-32191-1-git-send-email-dhsharp@google.com\n\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@linux.intel.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7bcfaf54f591a0775254c4ea679faf615152ee3a",
      "tree": "697df255d0d3961b568c8e17f527f52175d7c3fa",
      "parents": [
        "0d5c6e1c19bab82fad4837108c2902f557d62a04"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 01 22:56:07 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:53 2012 -0400"
      },
      "message": "tracing: Add trace_options kernel command line parameter\n\nAdd trace_options to the kernel command line parameter to be able to\nset options at early boot. For example, to enable stack dumps of\nevents, add the following:\n\n  trace_options\u003dstacktrace\n\nThis along with the trace_event option, you can get not only\ntraces of the events but also the stack dumps with them.\n\nRequested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0d5c6e1c19bab82fad4837108c2902f557d62a04",
      "tree": "ed075db499735ea4d72b9d9d7f992fe7d9a1a328",
      "parents": [
        "02404baf1b47123f1c88c9f9f1f3b00e1e2b10db"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 01 20:54:21 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:52 2012 -0400"
      },
      "message": "tracing: Use irq_work for wake ups and remove *_nowake_*() functions\n\nHave the ring buffer commit function use the irq_work infrastructure to\nwake up any waiters waiting on the ring buffer for new data. The irq_work\nwas created for such a purpose, where doing the actual wake up at the\ntime of adding data is too dangerous, as an event or function trace may\nbe in the midst of the work queue locks and cause deadlocks. The irq_work\nwill either delay the action to the next timer interrupt, or trigger an IPI\nto itself forcing an interrupt to do the work (in a safe location).\n\nWith irq_work, all ring buffer commits can safely do wakeups, removing\nthe need for the ring buffer commit \"nowake\" variants, which were used\nby events and function tracing. All commits can now safely use the\nnormal commit, and the \"nowake\" variants can be removed.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02404baf1b47123f1c88c9f9f1f3b00e1e2b10db",
      "tree": "34b8379c9e36a2d89934cf867bb605d74967274d",
      "parents": [
        "0fb9656d957d79dbe7ae155bb6533b1d465e4a50"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 01 11:51:40 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:51 2012 -0400"
      },
      "message": "tracing: Remove deprecated tracing_enabled file\n\nThe tracing_enabled file was used as a quick way to stop\ntracers, and try to bring down overhead for things like\nthe latency tracers (irqsoff, wakeup, etc). But it didn\u0027t\nwork that well.\n\nThe tracing_on file was created as a really fast way to\nstop recording into the ftrace ring buffer and can interact\nwith the kernel. That is a tracing_off() call in the kernel\ncan disable recording of events, and then from userspace one\ncould echo 1 into the tracing_on file to continue it. The\ntracing_enabled function did too much to allow for this.\n\nThe tracing_on has taken over as a way to start and stop tracing\nand the tracing_enabled file should not be used. But because of\nits existance, it still confuses people. Over a year ago the\nfollowing commit was added:\n\n commit 6752ab4a9c30d5411b2dfdb251a3f1cb18aae487\n Author: Steven Rostedt \u003csrostedt@redhat.com\u003e\n Date:   Tue Feb 8 13:54:06 2011 -0500\n\n    tracing: Deprecate tracing_enabled for tracing_on\n\nThis commit added a WARN_ON() if the tracing_enabled file\u0027s variable\nwas changed. After this was added, only LatencyTop complained, and\nthey soon fixed their tool as there was no reason that LatencyTop\nshould touch this file as it was using the perf ring buffers which\nthis file does not interact with. But since that time no one else\nhas complained about this WARN_ON(). Thus it is safe to assume that\nthis file is no longer needed. Time to get rid of it.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0fb9656d957d79dbe7ae155bb6533b1d465e4a50",
      "tree": "b1c890432c60836b7c2d267249d85e91a17b58c5",
      "parents": [
        "c7b84ecada9a8b7fe3e6c081e70801703897ed5d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 11 14:25:30 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:50 2012 -0400"
      },
      "message": "tracing: Make tracing_enabled be equal to tracing_on\n\nThe tracing_enabled file has been deprecated as it never was able\nto serve its purpose well. The tracing_on file has taken over.\nInstead of having code to keep tracing_enabled, have the tracing_enabled\nfile just set tracing_on, and remove the tracing_enabled variable.\n\nThis allows us to remove the tracing_enabled file. The reason that\nthe remove is in a different change set and not removed here is\nin case we find some lonely userspace tool that requires the file\nto exist. Then the removal patch will get reverted, but this one\nwill not.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7b84ecada9a8b7fe3e6c081e70801703897ed5d",
      "tree": "f586f3dbe52afad825fe857aa6d9d1e5f017cd3d",
      "parents": [
        "15075cac423d634ddf39dac66f943b3bce847f87"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 11 20:54:53 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:50 2012 -0400"
      },
      "message": "tracing: Remove unused function unregister_tracer()\n\nThe function register_tracer() is only used by kernel core code,\nthat never needs to remove the tracer. As trace_events have become\nthe main way to add new tracing to the kernel, the need to\nunregister a tracer has diminished. Remove the unused function\nunregister_tracer(). If a need arises where we need it, then we\ncan always add it back.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "15075cac423d634ddf39dac66f943b3bce847f87",
      "tree": "116948d50b079b2555ce66cc6b1436c2dc8c21da",
      "parents": [
        "50ecf2c3afead23a05227ab004e4212eca08c207"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 03 14:57:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:49 2012 -0400"
      },
      "message": "tracing: Separate open function from set_event and available_events\n\nThe open function used by available_events is the same as set_event even\nthough it uses different seq functions. This causes a side effect of\nwriting into available_events clearing all events, even though\navailable_events is suppose to be read only.\n\nThere\u0027s no reason to keep a single function for just the open and have\nboth use different functions for everything else. It is a little\nconfusing and causes strange behavior. Just have each have their own\nfunction.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "50ecf2c3afead23a05227ab004e4212eca08c207",
      "tree": "3253309826c5c39208707a5b5e0afca9c9b5efbd",
      "parents": [
        "60303ed3f4b9332b9aa9bc17c68bc174e7343e2d"
      ],
      "author": {
        "name": "Yoshihiro YUNOMAE",
        "email": "yoshihiro.yunomae.ez@hitachi.com",
        "time": "Thu Oct 11 16:27:54 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:48 2012 -0400"
      },
      "message": "ring-buffer: Change unsigned long type of ring_buffer_oldest_event_ts() to u64\n\nring_buffer_oldest_event_ts() should return a value of u64 type, because\nring_buffer_per_cpu-\u003ebuffer_page-\u003ebuffer_data_page-\u003etime_stamp is u64 type.\n\nLink: http://lkml.kernel.org/r/1349998076-15495-5-git-send-email-dhsharp@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Yoshihiro YUNOMAE \u003cyoshihiro.yunomae.ez@hitachi.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "60303ed3f4b9332b9aa9bc17c68bc174e7343e2d",
      "tree": "1d9a7c8001297aafda1e873884dd8bda5aaf7872",
      "parents": [
        "60efc15ae96c7aace8060411b0d5add20e1ab21e"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Thu Oct 11 16:27:52 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 02 10:21:47 2012 -0400"
      },
      "message": "tracing: Reset ring buffer when changing trace_clocks\n\nBecause the \"tsc\" clock isn\u0027t in nanoseconds, the ring buffer must be\nreset when changing clocks so that incomparable timestamps don\u0027t end up\nin the same trace.\n\nTested: Confirmed switching clocks resets the trace buffer.\n\nGoogle-Bug-Id: 6980623\nLink: http://lkml.kernel.org/r/1349998076-15495-3-git-send-email-dhsharp@google.com\n\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6f86ab9fcaef122abb837819139eadac1a0ca966",
      "tree": "3fc172fd1e89d86d32f7dca3a75666b659533c29",
      "parents": [
        "01e3e710a9265fb7092efd67243d7b6dd6e2548a"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu Jun 07 16:46:25 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:34 2012 -0400"
      },
      "message": "tracing: Cleanup unnecessary function declarations\n\nThe functions defined in include/trace/syscalls.h are not used directly\nsince struct ftrace_event_class was introduced. Remove them from the\nheader file and rearrange the ftrace_event_class declarations in\ntrace_syscalls.c.\n\nLink: http://lkml.kernel.org/r/1339112785-21806-2-git-send-email-vnagarnaik@google.com\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "01e3e710a9265fb7092efd67243d7b6dd6e2548a",
      "tree": "ef3e1981db71063f85e1518b78f0265189e4e9de",
      "parents": [
        "7ffbd48d5cab22bcd1120eb2349db1319e2d827a"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Thu Jun 07 16:46:24 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:33 2012 -0400"
      },
      "message": "tracing: Trivial cleanup\n\nRemove ftrace_format_syscall() declaration; it is neither defined nor\nused. Also update a comment and formatting.\n\nLink: http://lkml.kernel.org/r/1339112785-21806-1-git-send-email-vnagarnaik@google.com\n\nSigned-off-by: 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": "7ffbd48d5cab22bcd1120eb2349db1319e2d827a",
      "tree": "4352e546b65793132dd7a1a7ddf8d5fae313591d",
      "parents": [
        "2b70e59043f5a5ec083ea50cd2640aa49c64c675"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Oct 11 12:14:25 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:31 2012 -0400"
      },
      "message": "tracing: Cache comms only after an event occurred\n\nWhenever an event is registered, the comm of tasks are saved at\nevery task switch instead of saving them at every event. But if\nan event isn\u0027t executed much, the comm cache will be filled up\nby tasks that did not record the event and you lose out on the comms\nthat did.\n\nHere\u0027s an example, if you enable the following events:\n\necho 1 \u003e /debug/tracing/events/kvm/kvm_cr/enable\necho 1 \u003e /debug/tracing/events/net/net_dev_xmit/enable\n\nNote, there\u0027s no kvm running on this machine so the first event will\nnever be triggered, but because it is enabled, the storing of comms\nwill continue. If we now disable the network event:\n\necho 0 \u003e /debug/tracing/events/net/net_dev_xmit/enable\n\nand look at the trace:\n\ncat /debug/tracing/trace\n            sshd-2672  [001] ..s2   375.731616: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s1   375.731617: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s2   375.859356: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s1   375.859357: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s2   375.947351: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s1   375.947352: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s2   376.035383: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s1   376.035383: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n            sshd-2672  [001] ..s2   377.563806: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d226 rc\u003d0\n            sshd-2672  [001] ..s1   377.563807: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d226 rc\u003d0\n            sshd-2672  [001] ..s2   377.563834: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6be0 len\u003d114 rc\u003d0\n            sshd-2672  [001] ..s1   377.563842: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6be0 len\u003d114 rc\u003d0\n\nWe see that process 2672 which triggered the events has the comm \"sshd\".\nBut if we run hackbench for a bit and look again:\n\ncat /debug/tracing/trace\n           \u003c...\u003e-2672  [001] ..s2   375.731616: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   375.731617: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s2   375.859356: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   375.859357: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s2   375.947351: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   375.947352: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s2   376.035383: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   376.035383: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d242 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s2   377.563806: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6de0 len\u003d226 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   377.563807: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6de0 len\u003d226 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s2   377.563834: net_dev_xmit: dev\u003deth0 skbaddr\u003dffff88005cbb6be0 len\u003d114 rc\u003d0\n           \u003c...\u003e-2672  [001] ..s1   377.563842: net_dev_xmit: dev\u003dbr0 skbaddr\u003dffff88005cbb6be0 len\u003d114 rc\u003d0\n\nThe stored \"sshd\" comm has been flushed out and we get a useless \"\u003c...\u003e\".\n\nBut by only storing comms after a trace event occurred, we can run\nhackbench all day and still get the same output.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2b70e59043f5a5ec083ea50cd2640aa49c64c675",
      "tree": "467459fc991e1f49b9ff0d91a880185566b4b72f",
      "parents": [
        "81698831bc462ff16f76bc11249a1e492424da4c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Oct 11 11:14:14 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:30 2012 -0400"
      },
      "message": "tracing: Have tracing_sched_wakeup_trace() use standard unlock_commit\n\nThe functon tracing_sched_wakeup_trace() does an open coded unlock\ncommit and save stack. This is what the trace_nowake_buffer_unlock_commit()\nis for.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "81698831bc462ff16f76bc11249a1e492424da4c",
      "tree": "7d980745e74be221d0fab8607ac764ee7408edb4",
      "parents": [
        "b382ede6b5eb8188926b72a9ef42fd2354342a97"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Oct 11 10:15:05 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:29 2012 -0400"
      },
      "message": "tracing: Enable comm recording if trace_printk() is used\n\nIf comm recording is not enabled when trace_printk() is used then\nyou just get this type of output:\n\n[ adding trace_printk(\"hello! %d\", irq); in do_IRQ ]\n\n           \u003c...\u003e-2843  [001] d.h.    80.812300: do_IRQ: hello! 14\n           \u003c...\u003e-2734  [002] d.h2    80.824664: do_IRQ: hello! 14\n           \u003c...\u003e-2713  [003] d.h.    80.829971: do_IRQ: hello! 14\n           \u003c...\u003e-2814  [000] d.h.    80.833026: do_IRQ: hello! 14\n\nBy enabling the comm recorder when trace_printk is enabled:\n\n       hackbench-6715  [001] d.h.   193.233776: do_IRQ: hello! 21\n            sshd-2659  [001] d.h.   193.665862: do_IRQ: hello! 21\n          \u003cidle\u003e-0     [001] d.h1   193.665996: do_IRQ: hello! 21\n\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b382ede6b5eb8188926b72a9ef42fd2354342a97",
      "tree": "0381b86ab2ada35fee583fd6e547ed3454c9ebb9",
      "parents": [
        "884bfe89a462fcc85c8abd96171519cf2fe70929"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Oct 10 21:44:34 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:28 2012 -0400"
      },
      "message": "tracing: Expand ring buffer when trace_printk() is used\n\nSince tracing is not used by 99% of Linux users, even though tracing\nmay be configured in, it does not make sense to allocate 1.4 Megs\nper CPU for the ring buffers if they are not used. Thus, on boot up\nthe ring buffers are set to a minimal size until something needs the\nand they are expanded.\n\nThis works well for events and tracers (function, etc), but for the\nasynchronous use of trace_printk() which can write to the ring buffer\nat any time, does not expand the buffers.\n\nOn boot up a check is made to see if any trace_printk() is used to\nsee if the trace_printk() temp buffer pages should be allocated. This\nsame code can be used to expand the buffers as well.\n\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "884bfe89a462fcc85c8abd96171519cf2fe70929",
      "tree": "be61b3c6ee4d75198af22f5cdadc3b289b207bda",
      "parents": [
        "f43c738bfa8608424610e4fc1aef4d4644e2ce11"
      ],
      "author": {
        "name": "Slava Pestov",
        "email": "slavapestov@google.com",
        "time": "Fri Jul 15 14:23:58 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:27 2012 -0400"
      },
      "message": "ring-buffer: Add a \u0027dropped events\u0027 counter\n\nThe existing \u0027overrun\u0027 counter is incremented when the ring\nbuffer wraps around, with overflow on (the default). We wanted\na way to count requests lost from the buffer filling up with\noverflow off, too. I decided to add a new counter instead\nof retro-fitting the existing one because it seems like a\ndifferent statistic to count conceptually, and also because\nof how the code was structured.\n\nLink: http://lkml.kernel.org/r/1310765038-26399-1-git-send-email-slavapestov@google.com\n\nSigned-off-by: Slava Pestov \u003cslavapestov@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f43c738bfa8608424610e4fc1aef4d4644e2ce11",
      "tree": "a27c9971bc2eeeb012dc349762066a4c61cf10c9",
      "parents": [
        "6f4156723c084bfc0c0f72205c541fafb8ad3ded"
      ],
      "author": {
        "name": "Hiraku Toyooka",
        "email": "hiraku.toyooka.gu@hitachi.com",
        "time": "Tue Oct 02 17:27:10 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:25 2012 -0400"
      },
      "message": "tracing: Change tracer\u0027s integer flags to bool\n\nprint_max and use_max_tr in struct tracer are \"int\" variables and\nused like flags. This is wasteful, so change the type to \"bool\".\n\nLink: http://lkml.kernel.org/r/20121002082710.9807.86393.stgit@falsita\n\nSigned-off-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6f4156723c084bfc0c0f72205c541fafb8ad3ded",
      "tree": "1852fb096d1f45a6d826480b41f9d7eb292c4e8a",
      "parents": [
        "bcd83ea6cbfee54e33d1527b87538dc99ca2137b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 05 12:13:07 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:24 2012 -0400"
      },
      "message": "tracing: Allow tracers to start at core initcall\n\nThere\u0027s times during debugging that it is helpful to see traces of early\nboot functions. But the tracers are initialized at device_initcall()\nwhich is quite late during the boot process. Setting the kernel command\nline parameter ftrace\u003dfunction will not show anything until the function\ntracer is initialized. This prevents being able to trace functions before\ndevice_initcall().\n\nThere\u0027s no reason that the tracers need to be initialized so late in the\nboot process. Move them up to core_initcall() as they still need to come\nafter early_initcall() which initializes the tracing buffers.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bcd83ea6cbfee54e33d1527b87538dc99ca2137b",
      "tree": "58014b08a1ff10c88df4b6386f105ccdb5681f71",
      "parents": [
        "95d18aa2b6c05351181934b3bc34ce038cc7b637"
      ],
      "author": {
        "name": "Daniel Walter",
        "email": "sahne@0x90.at",
        "time": "Wed Sep 26 22:08:38 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 31 16:45:23 2012 -0400"
      },
      "message": "tracing: Replace strict_strto* with kstrto*\n\n * remove old string conversions with kstrto*\n\nLink: http://lkml.kernel.org/r/20120926200838.GC1244@0x90.at\n\nSigned-off-by: Daniel Walter \u003csahne@0x90.at\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0d13ac96b9c38e3e5434c93990e4bbf0939ab199",
      "tree": "b1c14f06c077fd4bf695447380c6d840fc95f86c",
      "parents": [
        "6ca2a9c6543dd1a307c0250991d4de93550209ce"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Jul 18 17:51:26 2012 +0800"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Oct 25 16:02:51 2012 +0200"
      },
      "message": "uprobes: Fix misleading log entry\n\nThere don\u0027t have any \u0027r\u0027 prefix in uprobe event naming, remove it.\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "ef8ff74ed8dd9d4b3ba8cb9f2fc927a27c697a8b",
      "tree": "0c000fb23d1c40545093a8042b7a98ea11b0e0e0",
      "parents": [
        "f38787f4f921222d080d976ef59210ce3c6c6cb4",
        "8e49f418c9632790bf456634742d34d97120a784"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Oct 21 19:53:34 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Oct 21 19:53:34 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 ftrace ring-buffer resizing fix from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8e49f418c9632790bf456634742d34d97120a784",
      "tree": "dfe1caca880206a3cfb38c923e49a5af74071d87",
      "parents": [
        "95cf59ea72331d0093010543b8951bb43f262cac"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Wed Oct 10 16:40:27 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 11 12:21:48 2012 -0400"
      },
      "message": "ring-buffer: Check for uninitialized cpu buffer before resizing\n\nWith a system where, num_present_cpus \u003c num_possible_cpus, even if all\nCPUs are online, non-present CPUs don\u0027t have per_cpu buffers allocated.\nIf per_cpu/\u003ccpu\u003e/buffer_size_kb is modified for such a CPU, it can cause\na panic due to NULL dereference in ring_buffer_resize().\n\nTo fix this, resize operation is allowed only if the per-cpu buffer has\nbeen initialized.\n\nLink: http://lkml.kernel.org/r/1349912427-6486-1-git-send-email-vnagarnaik@google.com\n\nCc: stable@vger.kernel.org # 3.5+\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dc92b1f9ab1e1665dbbc56911782358e7f9a49f9",
      "tree": "965ccb4a0f2c24a8b24adce415f6506246d07a90",
      "parents": [
        "5e090ed7af10729a396a25df43d69a236e789736",
        "ca16f580a5db7e60bfafe59a50bb133bd3347491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 07 21:04:56 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 07 21:04:56 2012 +0900"
      },
      "message": "Merge branch \u0027virtio-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull virtio changes from Rusty Russell:\n \"New workflow: same git trees pulled by linux-next get sent straight to\n  Linus.  Git is awkward at shuffling patches compared with quilt or mq,\n  but that doesn\u0027t happen often once things get into my -next branch.\"\n\n* \u0027virtio-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (24 commits)\n  lguest: fix occasional crash in example launcher.\n  virtio-blk: Disable callback in virtblk_done()\n  virtio_mmio: Don\u0027t attempt to create empty virtqueues\n  virtio_mmio: fix off by one error allocating queue\n  drivers/virtio/virtio_pci.c: fix error return code\n  virtio: don\u0027t crash when device is buggy\n  virtio: remove CONFIG_VIRTIO_RING\n  virtio: add help to CONFIG_VIRTIO option.\n  virtio: support reserved vqs\n  virtio: introduce an API to set affinity for a virtqueue\n  virtio-ring: move queue_index to vring_virtqueue\n  virtio_balloon: not EXPERIMENTAL any more.\n  virtio-balloon: dependency fix\n  virtio-blk: fix NULL checking in virtblk_alloc_req()\n  virtio-blk: Add REQ_FLUSH and REQ_FUA support to bio path\n  virtio-blk: Add bio-based IO path for virtio-blk\n  virtio: console: fix error handling in init() function\n  tools: Fix pthread flag for Makefile of trace-agent used by virtio-trace\n  tools: Add guest trace agent as a user tool\n  virtio/console: Allocate scatterlist according to the current pipe size\n  ...\n"
    },
    {
      "commit": "7f60ba388f5b9dd8b0da463b394412dace3ab814",
      "tree": "b97b4fb5c8ad07a435e5b1b559988364764d5e8d",
      "parents": [
        "e665faa424a4a782aa986274920c1fc5b76f5560",
        "80c9d03c22f13a17df67b4b99a83ed5e9acf6093"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 07 17:30:50 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 07 17:30:50 2012 +0900"
      },
      "message": "Merge tag \u0027for-v3.7\u0027 of git://git.infradead.org/users/cbou/linux-pstore\n\nPull pstore changes from Anton Vorontsov:\n\n 1) We no longer ad-hoc to the function tracer \"high level\"\n    infrastructure and no longer use its debugfs knobs.  The change\n    slightly touches kernel/trace directory, but it got the needed ack\n    from Steven Rostedt:\n\n      http://lkml.org/lkml/2012/8/21/688\n\n 2) Added maintainers entry;\n\n 3) A bunch of fixes, nothing special.\n\n* tag \u0027for-v3.7\u0027 of git://git.infradead.org/users/cbou/linux-pstore:\n  pstore: Avoid recursive spinlocks in the oops_in_progress case\n  pstore/ftrace: Convert to its own enable/disable debugfs knob\n  pstore/ram: Add missing platform_device_unregister\n  MAINTAINERS: Add pstore maintainers\n  pstore/ram: Mark ramoops_pstore_write_buf() as notrace\n  pstore/ram: Fix printk format warning\n  pstore/ram: Fix possible NULL dereference\n"
    },
    {
      "commit": "437589a74b6a590d175f86cf9f7b2efcee7765e7",
      "tree": "37bf8635b1356d80ef002b00e84f3faf3d555a63",
      "parents": [
        "68d47a137c3bef754923bccf73fb639c9b0bbd5e",
        "72235465864d84cedb2d9f26f8e1de824ee20339"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace changes from Eric Biederman:\n \"This is a mostly modest set of changes to enable basic user namespace\n  support.  This allows the code to code to compile with user namespaces\n  enabled and removes the assumption there is only the initial user\n  namespace.  Everything is converted except for the most complex of the\n  filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,\n  nfs, ocfs2 and xfs as those patches need a bit more review.\n\n  The strategy is to push kuid_t and kgid_t values are far down into\n  subsystems and filesystems as reasonable.  Leaving the make_kuid and\n  from_kuid operations to happen at the edge of userspace, as the values\n  come off the disk, and as the values come in from the network.\n  Letting compile type incompatible compile errors (present when user\n  namespaces are enabled) guide me to find the issues.\n\n  The most tricky areas have been the places where we had an implicit\n  union of uid and gid values and were storing them in an unsigned int.\n  Those places were converted into explicit unions.  I made certain to\n  handle those places with simple trivial patches.\n\n  Out of that work I discovered we have generic interfaces for storing\n  quota by projid.  I had never heard of the project identifiers before.\n  Adding full user namespace support for project identifiers accounts\n  for most of the code size growth in my git tree.\n\n  Ultimately there will be work to relax privlige checks from\n  \"capable(FOO)\" to \"ns_capable(user_ns, FOO)\" where it is safe allowing\n  root in a user names to do those things that today we only forbid to\n  non-root users because it will confuse suid root applications.\n\n  While I was pushing kuid_t and kgid_t changes deep into the audit code\n  I made a few other cleanups.  I capitalized on the fact we process\n  netlink messages in the context of the message sender.  I removed\n  usage of NETLINK_CRED, and started directly using current-\u003etty.\n\n  Some of these patches have also made it into maintainer trees, with no\n  problems from identical code from different trees showing up in\n  linux-next.\n\n  After reading through all of this code I feel like I might be able to\n  win a game of kernel trivial pursuit.\"\n\nFix up some fairly trivial conflicts in netfilter uid/git logging code.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)\n  userns: Convert the ufs filesystem to use kuid/kgid where appropriate\n  userns: Convert the udf filesystem to use kuid/kgid where appropriate\n  userns: Convert ubifs to use kuid/kgid\n  userns: Convert squashfs to use kuid/kgid where appropriate\n  userns: Convert reiserfs to use kuid and kgid where appropriate\n  userns: Convert jfs to use kuid/kgid where appropriate\n  userns: Convert jffs2 to use kuid and kgid where appropriate\n  userns: Convert hpfs to use kuid and kgid where appropriate\n  userns: Convert btrfs to use kuid/kgid where appropriate\n  userns: Convert bfs to use kuid/kgid where appropriate\n  userns: Convert affs to use kuid/kgid wherwe appropriate\n  userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids\n  userns: On ia64 deal with current_uid and current_gid being kuid and kgid\n  userns: On ppc convert current_uid from a kuid before printing.\n  userns: Convert s390 getting uid and gid system calls to use kuid and kgid\n  userns: Convert s390 hypfs to use kuid and kgid where appropriate\n  userns: Convert binder ipc to use kuids\n  userns: Teach security_path_chown to take kuids and kgids\n  userns: Add user namespace support to IMA\n  userns: Convert EVM to deal with kuids and kgids in it\u0027s hmac computation\n  ...\n"
    },
    {
      "commit": "d55cb6cf143ae16eaa415baab520b8eaf4a1012f",
      "tree": "449f118e54bc77d753e319fb5a5294611b86c36d",
      "parents": [
        "efe75d24a69fc39bb09d882ca2d5b90d4da02afe"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Thu Aug 09 21:31:10 2012 +0900"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 28 15:05:12 2012 +0930"
      },
      "message": "ftrace: Allow stealing pages from pipe buffer\n\nUse generic steal operation on pipe buffer to allow stealing\nring buffer\u0027s read page from pipe buffer.\n\nNote that this could reduce the performance of splice on the\nsplice_write side operation without affinity setting.\nSince the ring buffer\u0027s read pages are allocated on the\ntracing-node, but the splice user does not always execute\nsplice write side operation on the same node. In this case,\nthe page will be accessed from the another node.\nThus, it is strongly recommended to assign the splicing\nthread to corresponding node.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8781915ad2716adcd8cd5cc52cee791fc8b00fdf",
      "tree": "0d16c498542e57b9fe5d709dba9042af63c5c1d1",
      "parents": [
        "5224c3a31549f1c056039545b289e1b01ed02f12"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "elezegarcia@gmail.com",
        "time": "Wed Sep 12 11:47:57 2012 -0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 24 14:13:02 2012 -0400"
      },
      "message": "trace: Move trace event enable from fs_initcall to core_initcall\n\nThis patch splits trace event initialization in two stages:\n * ftrace enable\n * sysfs event entry creation\n\nThis allows to capture trace events from an earlier point\nby using \u0027trace_event\u0027 kernel parameter and is important\nto trace boot-up allocations.\n\nNote that, in order to enable events at core_initcall,\nit\u0027s necessary to move init_ftrace_syscalls() from\ncore_initcall to early_initcall.\n\nLink: http://lkml.kernel.org/r/1347461277-25302-1-git-send-email-elezegarcia@gmail.com\n\nSigned-off-by: Ezequiel Garcia \u003celezegarcia@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5224c3a31549f1c056039545b289e1b01ed02f12",
      "tree": "30750af387cad904c3935418b0c17384abce1de8",
      "parents": [
        "50a011f6409e888d5f41343024d24885281f048c"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "mandeep.baines@gmail.com",
        "time": "Fri Sep 07 18:12:19 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 24 14:10:44 2012 -0400"
      },
      "message": "tracing: Add an option for disabling markers\n\nIn our application, we have trace markers spread through user-space.\nWe have markers in GL, X, etc. These are super handy for Chrome\u0027s\nabout:tracing feature (Chrome + system + kernel trace view), but\ncan be very distracting when you\u0027re trying to debug a kernel issue.\n\nI normally, use \"grep -v tracing_mark_write\" but it would be nice\nif I could just temporarily disable markers all together.\n\nLink: http://lkml.kernel.org/r/1347066739-26285-1-git-send-email-msb@chromium.org\n\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d20b92ab668cc44fc84bba0001839c5a8013a5cd",
      "tree": "6a9f99ed0aa7563fcc990f9ec36ae2704672a961",
      "parents": [
        "f8f3d4de2d04e1a5b4293b67faee8ebabc64e9fa"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 13 16:02:19 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Sep 18 01:01:34 2012 -0700"
      },
      "message": "userns: Teach trace to use from_kuid\n\n- When tracing capture the kuid.\n- When displaying the data to user space convert the kuid into the\n  user namespace of the process that opened the report file.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "26f45274afd938d82463816a12ec67448513294a",
      "tree": "97c232667794b039a9ef3a2ab4444311fb44cbfd",
      "parents": [
        "4553f0b90e1fd93b95a97918804528d4039201fc",
        "c6aaf4d0bb86e2154ea31a33804cec300611255f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Sep 14 10:06:51 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Sep 14 10:06:51 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": "ea632e9f12033346cc68247faa3b924d54936b8b",
      "tree": "b87fe48b7127a8d890ba7073fd460a1c99b0c831",
      "parents": [
        "76bab1b78ab6f25d5f74165f94526c25fc93d984"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Sun Sep 02 19:45:14 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 13 22:52:08 2012 -0400"
      },
      "message": "trace: Stop compiling in trace_clock unconditionally\n\nCommit 56449f437 \"tracing: make the trace clocks available generally\",\nin April 2009, made trace_clock available unconditionally, since\nCONFIG_X86_DS used it too.\n\nCommit faa4602e47 \"x86, perf, bts, mm: Delete the never used BTS-ptrace code\",\nin March 2010, removed CONFIG_X86_DS, and now only CONFIG_RING_BUFFER (split\nout from CONFIG_TRACING for general use) has a dependency on trace_clock. So,\nonly compile in trace_clock with CONFIG_RING_BUFFER or CONFIG_TRACING\nenabled.\n\nLink: http://lkml.kernel.org/r/20120903024513.GA19583@leaf\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "76bab1b78ab6f25d5f74165f94526c25fc93d984",
      "tree": "d6640f7bffa1fdeea0403b1c793a82fc880b9faa",
      "parents": [
        "d57c5d51a30152f3175d2344cb6395f08bf8ee0c"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Mon Aug 27 15:13:45 2012 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 13 22:52:07 2012 -0400"
      },
      "message": "tracing: Skip printing \"OK\" if failed to disable event\n\nNo acutal case found. But logically, we should skip \"OK\" in case any\nerror met.\n\nLink: http://lkml.kernel.org/r/1346051625-25231-1-git-send-email-yuanhan.liu@linux.intel.com\n\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "65f8c95e46a1827ae8bbc52a817ea308dd7d65ae",
      "tree": "adc856e8b50441b055350d8f1d83e3f641c77456",
      "parents": [
        "b4a871bce619dc5ca03cc6c78e1c467ceacb8e7e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Tue Jul 17 14:26:15 2012 -0700"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu Sep 06 22:16:58 2012 -0700"
      },
      "message": "pstore/ftrace: Convert to its own enable/disable debugfs knob\n\nWith this patch we no longer reuse function tracer infrastructure, now\nwe register our own tracer back-end via a debugfs knob.\n\nIt\u0027s a bit more code, but that is the only downside. On the bright side we\nhave:\n\n- Ability to make persistent_ram module removable (when needed, we can\n  move ftrace_ops struct into a module). Note that persistent_ram is still\n  not removable for other reasons, but with this patch it\u0027s just one\n  thing less to worry about;\n\n- Pstore part is more isolated from the generic function tracer. We tried\n  it already by registering our own tracer in available_tracers, but that\n  way we\u0027re loosing ability to see the traces while we record them to\n  pstore. This solution is somewhere in the middle: we only register\n  \"internal ftracer\" back-end, but not the \"front-end\";\n\n- When there is only pstore tracing enabled, the kernel will only write\n  to the pstore buffer, omitting function tracer buffer (which, of course,\n  still can be enabled via \u0027echo function \u003e current_tracer\u0027).\n\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\n"
    },
    {
      "commit": "508dc4f8eece1a70c493afc6511fdf5934fef567",
      "tree": "b852a6a5bf9977a33a87158985de02d188ba71d7",
      "parents": [
        "734e9a26d612f64e1c9cfd92256969b773954ae2",
        "e3e45c01ae690e65f2650e5288b9af802e95a136"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 28 18:05:55 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 28 18:05:55 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nPick up the latest fixes because upcoming uprobes changes will rely on it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "781d06248234e221edb560a18461d65808a8a942",
      "tree": "99e4dcca5af9de75b5beb37a73d3250905613757",
      "parents": [
        "a2546fae01124fb8063747439300fcf39bac033a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 09 13:27:22 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 23 11:25:29 2012 -0400"
      },
      "message": "ftrace: Do not test frame pointers if -mfentry is used\n\nThe function graph has a test to check if the frame pointer is\ncorrupted, which can happen with various options of gcc with mcount.\nBut this is not an issue with -mfentry as -mfentry does not need nor use\nframe pointers for function graph tracing.\n\nLink: http://lkml.kernel.org/r/20120807194059.773895870@goodmis.org\n\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a2546fae01124fb8063747439300fcf39bac033a",
      "tree": "bd6b8e31532045c1bf88b2c119ce58c4863ec9ac",
      "parents": [
        "48bb5dc6cd9d30fe0d594947563da1f8bd9abada"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 09 13:15:59 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 23 11:25:02 2012 -0400"
      },
      "message": "ftrace: Add -mfentry to Makefile on function tracer\n\nThanks to Andi Kleen, gcc 4.6.0 now supports -mfentry for x86\n(and hopefully soon for other archs). What this does is to have\nthe function profiler start at the beginning of the function\ninstead of after the stack is set up. As plain -pg (mcount) is\ncalled after the stack is set up, and in some cases can have issues\nwith the function graph tracer. It also requires frame pointers to\nbe enabled.\n\nThe -mfentry now calls __fentry__ at the beginning of the function.\nThis allows for compiling without frame pointers and even has the\nability to access parameters if needed.\n\nIf the architecture and the compiler both support -mfentry then\nuse that instead.\n\nLink: http://lkml.kernel.org/r/20120807194059.392617243@goodmis.org\n\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a0e0fac633bed47c15cab744663d8c67f8f3421d",
      "tree": "585f685aacda161cb00bb0c8599e4f60b3c262c6",
      "parents": [
        "bcada3d4b8c96b8792c2306f363992ca5ab9da42",
        "87abb3b15c62033409f5bf2ffb5620c94f91cf2c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:36:39 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:36:49 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\nPull ftrace fixlets from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bcada3d4b8c96b8792c2306f363992ca5ab9da42",
      "tree": "e420679a5db6ea4e1694eef57f9abb6acac8d4d3",
      "parents": [
        "26198c21d1b286a084fe5d514a30bc7e6c712a34",
        "000078bc3ee69efb1124b8478c7527389a826074"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:27:00 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:27:00 2012 +0200"
      },
      "message": "Merge tag \u0027perf-core-for-mingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core\n\nPull perf/core improvements and fixes from Arnaldo Carvalho de Melo:\n\n * Fix include order for bison/flex-generated C files, from Ben Hutchings\n\n * Build fixes and documentation corrections from David Ahern\n\n * Group parsing support, from Jiri Olsa\n\n * UI/gtk refactorings and improvements from Namhyung Kim\n\n * NULL deref fix for perf script, from Namhyung Kim\n\n * Assorted cleanups from Robert Richter\n\n * Let O\u003d makes handle relative paths, from Steven Rostedt\n\n * perf script python fixes, from Feng Tang.\n\n * Improve \u0027perf lock\u0027 error message when the needed tracepoints\n   are not present, from David Ahern.\n\n * Initial bash completion support, from Frederic Weisbecker\n\n * Allow building without libelf, from Namhyung Kim.\n\n * Support DWARF CFI based unwind to have callchains when %bp\n   based unwinding is not possible, from Jiri Olsa.\n\n * Symbol resolution fixes, while fixing support PPC64 files with an .opt ELF\n   section was the end goal, several fixes for code that handles all\n   architectures and cleanups are included, from Cody Schafer.\n\n * Add a description for the JIT interface, from Andi Kleen.\n\n * Assorted fixes for Documentation and build in 32 bit, from Robert Richter\n\n * Add support for non-tracepoint events in perf script python, from Feng Tang\n\n * Cache the libtraceevent event_format associated to each evsel early, so that we\n   avoid relookups, i.e. calling pevent_find_event repeatedly when processing\n   tracepoint events.\n\n   [ This is to reduce the surface contact with libtraceevents and make clear what\n     is that the perf tools needs from that lib: so far parsing the common and per\n     event fields. ]\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "60916a9382e88fbf5e54fd36a3e658efd7ab7bed",
      "tree": "803e8decdd28831fa4a60d5c75c5bb5a77a460db",
      "parents": [
        "26a4f3c08de49c1437a7b7f97693cf22d8c31656"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Aug 16 18:14:14 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 17 15:19:46 2012 -0400"
      },
      "message": "tracing/syscalls: Fix perf syscall tracing when syscall_nr \u003d\u003d -1\n\nsyscall_get_nr can return -1 in the case that the task is not executing\na system call.\n\nThis patch fixes perf_syscall_{enter,exit} to check that the syscall\nnumber is valid before using it as an index into a bitmap.\n\nLink: http://lkml.kernel.org/r/1345137254-7377-1-git-send-email-will.deacon@arm.com\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Wade Farnsworth \u003cwade_farnsworth@mentor.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "87abb3b15c62033409f5bf2ffb5620c94f91cf2c",
      "tree": "d011c42abd5d4ff849e37951b63dafff905935b0",
      "parents": [
        "92d8d4a8b0f4c6eba70f6e62b48e38bd005a56e6"
      ],
      "author": {
        "name": "Wang Tianhong",
        "email": "wangthbj@linux.vnet.ibm.com",
        "time": "Thu Aug 02 14:02:00 2012 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 07 09:43:32 2012 -0400"
      },
      "message": "tracing/trivial: Fix some typos in kernel/trace\n\nFix some typos in kernel/trace.\n\nLink: http://lkml.kernel.org/r/1343887320.2228.9.camel@louis-ThinkPad-T410\n\nSigned-off-by: Wang Tianhong \u003cwangthbj@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "92d8d4a8b0f4c6eba70f6e62b48e38bd005a56e6",
      "tree": "e54aaf1cb242cf09eaedc4bd3f79c30f97499879",
      "parents": [
        "3c18c10bde65b6dcaffab7a4d040285e4defa49b"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Jun 19 17:47:52 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 07 09:42:47 2012 -0400"
      },
      "message": "tracing/filter: Add missing initialization\n\nAdd missing initialization for ret variable. Its initialization\nis based on the re_cnt variable, which is being set deep down\nin the ftrace_function_filter_re function.\n\nI\u0027m not sure compilers would be smart enough to see this in near\nfuture, so killing the warning this way.\n\nLink: http://lkml.kernel.org/r/1340120894-9465-2-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": "3c18c10bde65b6dcaffab7a4d040285e4defa49b",
      "tree": "9b4545c063560d6986d03d7959793591d1eef118",
      "parents": [
        "e52538965119319447c0800c534da73142c27be2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jul 31 10:23:37 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 07 09:40:51 2012 -0400"
      },
      "message": "tracing: Fix wakeup_rt self test on virtual machines\n\nThe warkeup_rt self test used msleep() calls to wait for real time\ntasks to wake up and run. On bare-metal hardware, this was enough as\nthe scheduler should let the RT task run way before the non-RT task\nwakes up from the msleep(). If it did not, then that would mean the\nscheduler was broken.\n\nBut when dealing with virtual machines, this is a different story.\nIf the RT task wakes up on a VCPU, it\u0027s up to the host to decide when\nthat task gets to schedule, which can be far behind the time that the\nnon-RT task wakes up. In this case, the test would fail incorrectly.\n\nAs we are not testing the scheduler, but instead the wake up tracing,\nwe can use completions to wait and not depend on scheduler timings\nto see if events happen on time.\n\nLink: http://lkml.kernel.org/r/1343663105.3847.7.camel@fedora\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nTested-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "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": "647664eaf4033501739ac1f42dd52ce8c9266ccc",
      "tree": "64497e4aedb7ec643cf5026d6cc5e1b9de77dcb2",
      "parents": [
        "ad97772ad82f57c83968079d0880c71ab126ab04"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 19:28:08 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:55 2012 -0400"
      },
      "message": "ftrace: add ftrace_set_filter_ip() for address based filter\n\nAdd a new filter update interface ftrace_set_filter_ip()\nto set ftrace filter by ip address, not only glob pattern.\n\nLink: http://lkml.kernel.org/r/20120605102808.27845.67952.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad97772ad82f57c83968079d0880c71ab126ab04",
      "tree": "cb011219d1946a23f851f6d5d834003dbeb71b75",
      "parents": [
        "ea701f11da44b44907af226fe5a5f57d2f26eeb2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 20 13:45:59 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:54 2012 -0400"
      },
      "message": "ftrace: Add selftest to test function save-regs support\n\nAdd selftests to test the save-regs functionality of ftrace.\n\nIf the arch supports saving regs, then it will make sure that regs is\nat least not NULL in the callback.\n\nIf the arch does not support saving regs, it makes sure that the\nregistering of the ftrace_ops that requests saving regs fails.\nIt then tests the registering of the ftrace_ops succeeds if the\n\u0027IF_SUPPORTED\u0027 flag is set. Then it makes sure that the regs passed to\nthe function is NULL.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ea701f11da44b44907af226fe5a5f57d2f26eeb2",
      "tree": "bed777e80fb81b28903fe4a64cb90164e499a178",
      "parents": [
        "47239c4d8d6a24796039cada69d477a2b8cac9d6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 20 13:08:05 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:54 2012 -0400"
      },
      "message": "ftrace: Add selftest to test function trace recursion protection\n\nAdd selftests to test the function tracing recursion protection actually\ndoes work. It also tests if a ftrace_ops states it will perform its own\nprotection. Although, even if the ftrace_ops states it will protect itself,\nthe ftrace infrastructure may still provide protection if the arch does\nnot support all features or another ftrace_ops is registered.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "47239c4d8d6a24796039cada69d477a2b8cac9d6",
      "tree": "ca18f34472494eb034b26b8db33cc164292283ae",
      "parents": [
        "4740974a6844156c14d741b0080b59d275679a23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 20 11:13:07 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:53 2012 -0400"
      },
      "message": "ftrace: Only compile ftrace selftest if selftests are enabled\n\nNo need to compile in the ftrace selftest helper file if selftests are\nnot being executed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4740974a6844156c14d741b0080b59d275679a23",
      "tree": "7272f577c74a185d9fe037a424d0401e4ec7c126",
      "parents": [
        "5767cfeaa9ec7b67c802143394f3ad9f8b174eb8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 20 11:04:44 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:52 2012 -0400"
      },
      "message": "ftrace: Add default recursion protection for function tracing\n\nAs more users of the function tracer utility are being added, they do\nnot always add the necessary recursion protection. To protect from\nfunction recursion due to tracing, if the callback ftrace_ops does not\nspecifically specify that it protects against recursion (by setting\nthe FTRACE_OPS_FL_RECURSION_SAFE flag), the list operation will be\ncalled by the mcount trampoline which adds recursion protection.\n\nIf the flag is set, then the function will be called directly with no\nextra protection.\n\nNote, the list operation is called if more than one function callback\nis registered, or if the arch does not support all of the function\ntracer features.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.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": "08f6fba503111e0336f2b4d6915a4a18f9b60e51",
      "tree": "119f971348614154552b70fb5cbe358f7c532a18",
      "parents": [
        "28fb5dfa783c25dbeeb25a72663f8066a3a517f5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 30 16:20:23 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 19 13:20:03 2012 -0400"
      },
      "message": "ftrace/x86: Add separate function to save regs\n\nAdd a way to have different functions calling different trampolines.\nIf a ftrace_ops wants regs saved on the return, then have only the\nfunctions with ops registered to save regs. Functions registered by\nother ops would not be affected, unless the functions overlap.\n\nIf one ftrace_ops registered functions A, B and C and another ops\nregistered fucntions to save regs on A, and D, then only functions\nA and D would be saving regs. Function B and C would work as normal.\nAlthough A is registered by both ops: normal and saves regs; this is fine\nas saving the regs is needed to satisfy one of the ops that calls it\nbut the regs are ignored by the other ops function.\n\nx86_64 implements the full regs saving, and i386 just passes a NULL\nfor regs to satisfy the ftrace_ops passing. Where an arch must supply\nboth regs and ftrace_ops parameters, even if regs is just NULL.\n\nIt is OK for an arch to pass NULL regs. All function trace users that\nrequire regs passing must add the flag FTRACE_OPS_FL_SAVE_REGS when\nregistering the ftrace_ops. If the arch does not support saving regs\nthen the ftrace_ops will fail to register. The flag\nFTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED may be set that will prevent the\nftrace_ops from failing to register. In this case, the handler may\neither check if regs is not NULL or check if ARCH_SUPPORTS_FTRACE_SAVE_REGS.\nIf the arch supports passing regs it will set this macro and pass regs\nfor ops that request them. All other archs will just pass NULL.\n\nLink: Link: http://lkml.kernel.org/r/20120711195745.107705970@goodmis.org\n\nCc: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a1e2e31d175a1349274eba3465d17616c6725f8c",
      "tree": "5f92ba7a822f8a9911aa50157f796213bfac4ebb",
      "parents": [
        "ccf3672d530170c98c734dfc5db07d64bcbad2ad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Aug 09 12:50:46 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 19 13:18:49 2012 -0400"
      },
      "message": "ftrace: Return pt_regs to function trace callback\n\nReturn as the 4th paramater to the function tracer callback the pt_regs.\n\nLater patches that implement regs passing for the architectures will require\nhaving the ftrace_ops set the SAVE_REGS flag, which will tell the arch\nto take the time to pass a full set of pt_regs to the ftrace_ops callback\nfunction. If the arch does not support it then it should pass NULL.\n\nIf an arch can pass full regs, then it should define:\n ARCH_SUPPORTS_FTRACE_SAVE_REGS to 1\n\nLink: http://lkml.kernel.org/r/20120702201821.019966811@goodmis.org\n\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ccf3672d530170c98c734dfc5db07d64bcbad2ad",
      "tree": "0cbe9a0856429412b9e026baf77cec9e117c6896",
      "parents": [
        "2f5f6ad9390c1ebbf738d130dbfe80b60eaa167e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 05 09:44:25 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 19 13:18:22 2012 -0400"
      },
      "message": "ftrace: Consolidate arch dependent functions with \u0027list\u0027 function\n\nAs the function tracer starts to get more features, the support for\ntheses features will spread out throughout the different architectures\nover time. These features boil down to what each arch does in the\nmcount trampoline (the ftrace_caller).\n\nCurrently there\u0027s two features that are not the same throughout the\narchs.\n\n 1) Support to stop function tracing before the callback\n 2) passing of the ftrace ops\n\nBoth of these require placing an indirect function to support the\nfeatures if the mcount trampoline does not.\n\nOn a side note, for all architectures, when more than one callback\nis registered to the function tracer, an intermediate \u0027list\u0027 function\nis called by the mcount trampoline to iterate through the callbacks\nthat are registered.\n\nInstead of making a separate function for each of these features,\nand requiring several indirect calls, just use the single \u0027list\u0027 function\nas the intermediate, to handle all cases. If an arch does not support\nthe \u0027stop function tracing\u0027 or the passing of ftrace ops, just force\nit to use the list function that will handle the features required.\n\nThis makes the code cleaner and simpler and removes a lot of\n #ifdefs in the code.\n\nLink: http://lkml.kernel.org/r/20120612225424.495625483@goodmis.org\n\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2f5f6ad9390c1ebbf738d130dbfe80b60eaa167e",
      "tree": "1a88c37725d3efbcde8fa0a3cf19490d793877f0",
      "parents": [
        "6e0f17be0361444862637e8986c8c1a3b3f8dcf8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 08 16:57:47 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 19 13:17:35 2012 -0400"
      },
      "message": "ftrace: Pass ftrace_ops as third parameter to function trace callback\n\nCurrently the function trace callback receives only the ip and parent_ip\nof the function that it traced. It would be more powerful to also return\nthe ops that registered the function as well. This allows the same function\nto act differently depending on what ftrace_ops registered it.\n\nLink: http://lkml.kernel.org/r/20120612225424.267254552@goodmis.org\n\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\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"
    }
  ],
  "next": "a591c73f127505cdbd0aa399a92112a8ddff8730"
}
