)]}'
{
  "log": [
    {
      "commit": "c9960e48543799f168c4c9486f9790fb686ce5a8",
      "tree": "18ce6c645490604aa7c0ca9b74bdae36f44ed9c4",
      "parents": [
        "d8741e2e88ac9a458765a0c7b4e6542d7c038334"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 10:53:02 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 07 10:31:38 2013 -0500"
      },
      "message": "tracing: Do not return EINVAL in snapshot when not allocated\n\nTo use the tracing snapshot feature, writing a \u00271\u0027 into the snapshot\nfile causes the snapshot buffer to be allocated if it has not already\nbeen allocated and dose a \u0027swap\u0027 with the main buffer, so that the\nsnapshot now contains what was in the main buffer, and the main buffer\nnow writes to what was the snapshot buffer.\n\nTo free the snapshot buffer, a \u00270\u0027 is written into the snapshot file.\n\nTo clear the snapshot buffer, any number but a \u00270\u0027 or \u00271\u0027 is written\ninto the snapshot file. But if the file is not allocated it returns\n-EINVAL error code. This is rather pointless. It is better just to\ndo nothing and return success.\n\nAcked-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d8741e2e88ac9a458765a0c7b4e6542d7c038334",
      "tree": "ef455e17665c8a956c618e2860715e21f799ec44",
      "parents": [
        "a335358f52aec4397594043ac799d15f92e728dd"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 10:25:16 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 07 10:31:22 2013 -0500"
      },
      "message": "tracing: Add help of snapshot feature when snapshot is empty\n\nWhen cat\u0027ing the snapshot file, instead of showing an empty trace\nheader like the trace file does, show how to use the snapshot\nfeature.\n\nAlso, this is a good place to show if the snapshot has been allocated\nor not. Users may want to \"pre allocate\" the snapshot to have a fast\n\"swap\" of the current buffer. Otherwise, a swap would be slow and might\nfail as it would need to allocate the snapshot buffer, and that might\nfail under tight memory constraints.\n\nHere\u0027s what it looked like before:\n\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 0/0   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n\nHere\u0027s what it looks like now:\n\n # tracer: nop\n #\n #\n # * Snapshot is freed *\n #\n # Snapshot commands:\n # echo 0 \u003e snapshot : Clears and frees snapshot buffer\n # echo 1 \u003e snapshot : Allocates snapshot buffer, if not already allocated.\n #                      Takes a snapshot of the main buffer.\n # echo 2 \u003e snapshot : Clears snapshot buffer (but does not allocate)\n #                      (Doesn\u0027t have to be \u00272\u0027 works with any number that\n #                       is not a \u00270\u0027 or \u00271\u0027)\n\nAcked-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "8bd75c77b7c6a3954140dd2e20346aef3efe4a35",
      "tree": "10e0d451a58aeb6c8f48b871a848276bf3a8a359",
      "parents": [
        "ce0dbbbb30aee6a835511d5be446462388ba9eee"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:07 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:08 2013 +0100"
      },
      "message": "sched/rt: Move rt specific bits into new header file\n\nMove rt scheduler definitions out of include/linux/sched.h into\nnew file include/linux/sched/rt.h\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094707.7b9f825f@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d840f718d28715a9833c1a8f46c2493ff3fd219b",
      "tree": "6fb0115db3dabd5ce79563fb1412c98edc24088e",
      "parents": [
        "c1043fcda1b9e8e5144cfdaee7be262c50dbdead"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 01 18:38:47 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 01 18:38:47 2013 -0500"
      },
      "message": "tracing: Init current_trace to nop_trace and remove NULL checks\n\nOn early boot up, when the ftrace ring buffer is initialized, the\nstatic variable current_trace is initialized to \u0026nop_trace.\nBefore this initialization, current_trace is NULL and will never\nbecome NULL again. It is always reassigned to a ftrace tracer.\n\nSeveral places check if current_trace is NULL before it uses\nit, and this check is frivolous, because at the point in time\nwhen the checks are made the only way current_trace could be\nNULL is if ftrace failed its allocations at boot up, and the\npaths to these locations would probably not be possible.\n\nBy initializing current_trace to \u0026nop_trace where it is declared,\ncurrent_trace will never be NULL, and we can remove all these\nchecks of current_trace being NULL which never needed to be\nchecked in the first place.\n\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "debdd57f5145f3c6a4b3f8d0126abd1a2def7fc6",
      "tree": "8dca457fbccaf115c48fdb9fb6ee6a9469b8b6de",
      "parents": [
        "2fd196ec1eab2623096e7fc7e6f3976160392bce"
      ],
      "author": {
        "name": "Hiraku Toyooka",
        "email": "hiraku.toyooka.gu@hitachi.com",
        "time": "Wed Dec 26 11:53:00 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 30 11:02:06 2013 -0500"
      },
      "message": "tracing: Make a snapshot feature available from userspace\n\nFtrace has a snapshot feature available from kernel space and\nlatency tracers (e.g. irqsoff) are using it. This patch enables\nuser applictions to take a snapshot via debugfs.\n\nAdd \"snapshot\" debugfs file in \"tracing\" directory.\n\n  snapshot:\n    This is used to take a snapshot and to read the output of the\n    snapshot.\n\n     # echo 1 \u003e snapshot\n\n    This will allocate the spare buffer for snapshot (if it is\n    not allocated), and take a snapshot.\n\n     # cat snapshot\n\n    This will show contents of the snapshot.\n\n     # echo 0 \u003e snapshot\n\n    This will free the snapshot if it is allocated.\n\n    Any other positive values will clear the snapshot contents if\n    the snapshot is allocated, or return EINVAL if it is not allocated.\n\nLink: http://lkml.kernel.org/r/20121226025300.3252.86850.stgit@liselsia\n\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\n[\n   Fixed irqsoff selftest and also a conflict with a change\n   that fixes the update_max_tr.\n]\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2fd196ec1eab2623096e7fc7e6f3976160392bce",
      "tree": "1994d70de20c1a1bc296e02d352142414484355b",
      "parents": [
        "5e67b51e3fb22ad43faf9589e9019ad9c6a00413"
      ],
      "author": {
        "name": "Hiraku Toyooka",
        "email": "hiraku.toyooka.gu@hitachi.com",
        "time": "Wed Dec 26 11:52:52 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 30 11:02:05 2013 -0500"
      },
      "message": "tracing: Replace static old_tracer check of tracer name\n\nCurrently the trace buffer read functions use a static variable\n\"old_tracer\" for detecting if the current tracer changes. This\nwas suitable for a single trace file (\"trace\"), but to add a\nsnapshot feature that will use the same function for its file,\na check against a static variable is not sufficient.\n\nTo use the output functions for two different files, instead of\nstoring the current tracer in a static variable, as the trace\niterator descriptor contains a pointer to the original current\ntracer\u0027s name, that pointer can now be used to check if the\ncurrent tracer has changed between different reads of the trace\nfile.\n\nLink: http://lkml.kernel.org/r/20121226025252.3252.9276.stgit@liselsia\n\nSigned-off-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad964704ba9326d027fc10fd0099b7c880e50172",
      "tree": "e08884c0f383e5b954233c323df67a3d726b6537",
      "parents": [
        "03274a3ffb449632970fdd35da72ea41cf8474da"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 29 17:45:49 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 30 11:01:53 2013 -0500"
      },
      "message": "ring-buffer: Add stats field for amount read from trace ring buffer\n\nAdd a stat about the number of events read from the ring buffer:\n\n #  cat /debug/tracing/per_cpu/cpu0/stats\nentries: 39869\noverrun: 870512\ncommit overrun: 0\nbytes: 1449912\noldest event ts:  6561.368690\nnow ts:  6565.246426\ndropped events: 0\nread events: 112    \u003c-- Added\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38dbe0b137bfe6ea92be495017885c0785179a02",
      "tree": "4e2fab939fd6a8feb1f2a0de7c8e58f11f64c799",
      "parents": [
        "821465295b36136998ef294fe176fba4e09c1cd9"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Fri Jan 25 18:03:07 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 29 09:57:49 2013 -0500"
      },
      "message": "tracing: Remove second iterator initializer\n\nThe trace iterator is already initialized by trace_init_global_iter(),\nso there is no need to initialize it again.\n\nLink: http://lkml.kernel.org/r/CACV3sb+G1YnO6168JhY3dEadmJi58pA5-2cSZT8E0WVHJNFt9Q@mail.gmail.com\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "821465295b36136998ef294fe176fba4e09c1cd9",
      "tree": "241bf19a408130332b123780b55fc8303fee491b",
      "parents": [
        "d75f717e19fe595e7efbf67de195ada8d89dfbbe"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "davidshan@tencent.com",
        "time": "Mon Nov 19 13:21:01 2012 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 20:36:54 2013 -0500"
      },
      "message": "tracing: Use __this_cpu_inc/dec operation instead of __get_cpu_var\n\n__this_cpu_inc_return() or __this_cpu_dec generates a single instruction,\nwhich is faster than __get_cpu_var operation.\n\nLink: http://lkml.kernel.org/r/50A9C1BD.1060308@gmail.com\n\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Shan Wei \u003cdavidshan@tencent.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b736f48bda54ec75b7dc9306884c3843f1a78a0a",
      "tree": "4e5e0e26d8bd22e15122c7a8a3852897ffab770d",
      "parents": [
        "203e04c16330c880538588e932743f404ee4fd66"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Sun Nov 18 21:27:45 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 24 22:03:01 2013 -0500"
      },
      "message": "tracing: Mark tracing_dentry_percpu() static\n\nNothing outside of kernel/trace/trace.c references tracing_dentry_percpu().\n\nLink: http://lkml.kernel.org/r/1353302917-13995-7-git-send-email-josh@joshtriplett.org\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "34600f0e9c33c9cd48ae87448205f51332b7d5a0",
      "tree": "fb6159552edf55526219b4c4c55f6120595be53e",
      "parents": [
        "0a71e4c6d749d06f52e75a406fc9046924fcfcc1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jan 22 13:35:11 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 22 23:33:07 2013 -0500"
      },
      "message": "tracing: Fix race with max_tr and changing tracers\n\nThere\u0027s a race condition between the setting of a new tracer and\nthe update of the max trace buffers (the swap). When a new tracer\nis added, it sets current_trace to nop_trace before disabling\nthe old tracer. At this moment, if the old tracer uses update_max_tr(),\nthe update may trigger the warning against !current_trace-\u003euse_max-tr,\nas nop_trace doesn\u0027t have that set.\n\nAs update_max_tr() requires that interrupts be disabled, we can\nadd a check to see if current_trace \u003d\u003d nop_trace and bail if it\ndoes. Then when disabling the current_trace, set it to nop_trace\nand run synchronize_sched(). This will make sure all calls to\nupdate_max_tr() have completed (it was called with interrupts disabled).\n\nAs a clean up, this commit also removes shrinking and recreating\nthe max_tr buffer if the old and new tracers both have use_max_tr set.\nThe old way use to always shrink the buffer, and then expand it\nfor the next tracer. This is a waste of time.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b000c8065a92b0fe0e1694f41b2c8d8ba7b7b1ec",
      "tree": "dd9190c9d51def31a505a3f928bd1c4d814f13c6",
      "parents": [
        "f684199f5de805ac50ea5bdec2b082882586a777"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 18 10:31:20 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 21 21:05:41 2013 -0500"
      },
      "message": "tracing: Remove the extra 4 bytes of padding in events\n\nDue to a userspace issue with PowerTop v2beta, which hardcoded\nthe offset of event fields that it was using, it broke when\nwe removed the Big Kernel Lock counter from the event header.\n\n (commit e6e1e2593 \"tracing: Remove lock_depth from event entry\")\n\nBecause this broke userspace, it was determined that we must\nkeep those 4 bytes around.\n\n (commit a3a4a5acd \"Regression: partial revert \"tracing: Remove lock_depth from event entry\"\")\n\nThis unfortunately wastes space in the ring buffer. 4 bytes per\nevent, where a lot of events are just 24 bytes. That\u0027s 16% of the\nbuffer wasted. A million events will add 4 megs of white space\ninto the buffer.\n\nIt was later noticed that PowerTop v2beta could not work on systems\nwhere the kernel was 64 bit but the userspace was 32 bits.\nThe reason was because the offsets are different between the\ntwo and the hard coded offset of one would not work with the other.\n\nWith PowerTop v2 final, it implemented the same interface that both\nperf and trace-cmd use. That is, it reads the format file of\nthe event to find the offsets of the fields it needs. This fixes\nthe problem with running powertop on a 32 bit userspace running\non a 64 bit kernel. It also no longer requires the 4 byte padding.\n\nAs PowerTop v2 has been out for a while, and is included in all\nmajor distributions, it is time that we can safely remove the\n4 bytes of padding. Users of PowerTop v2beta should upgrade to\nPowerTop v2 final.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "84c6cf0db6a00601eb43cfc08244a398ffb0894c",
      "tree": "2e391b758e930ab062c80462ffdc4de5930be6c4",
      "parents": [
        "a54164114b96b4693b42cdb553260eec41ea4393"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Dec 20 21:43:52 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 21 13:22:33 2013 -0500"
      },
      "message": "tracing: Remove unneeded check of max_tr-\u003ebuffer before tracing_reset\n\nThere\u0027s now a check in tracing_reset_online_cpus() if the buffer is\nallocated or NULL. No need to do a check before calling it with max_tr.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a54164114b96b4693b42cdb553260eec41ea4393",
      "tree": "0e3f73cb2b3fc36397e5b2f3d3d60643f62eb72e",
      "parents": [
        "6aea49cb5f3001a8275bf9c9f586ec3eb39af194"
      ],
      "author": {
        "name": "Hiraku Toyooka",
        "email": "hiraku.toyooka.gu@hitachi.com",
        "time": "Wed Dec 19 16:02:34 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 21 13:22:32 2013 -0500"
      },
      "message": "tracing: Add checks if tr-\u003ebuffer is NULL in tracing_reset{_online_cpus}\n\nmax_tr-\u003ebuffer could be NULL in the tracing_reset{_online_cpus}. In this\ncase, a NULL pointer dereference happens, so we should return immediately\nfrom these functions.\n\nNote, the current code does not call tracing_reset*() with max_tr when\nits buffer is NULL, but future code will. This patch is needed to prevent\nthe future code from crashing.\n\nLink: http://lkml.kernel.org/r/20121219070234.31200.93863.stgit@liselsia\n\nSigned-off-by: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d8a0349c0cea477322c66ea9362f10c62fad5f62",
      "tree": "ca9bd84c3629bc166f407c34055eb809e416d430",
      "parents": [
        "771e03842a9e98a1c2013ca1ed8bb2793488f3e5"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "davidshan@tencent.com",
        "time": "Tue Nov 13 09:53:04 2012 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 21 13:22:30 2013 -0500"
      },
      "message": "tracing: Use this_cpu_ptr per-cpu helper\n\ntypeof(\u0026buffer) is a pointer to array of 1024 char, or char (*)[1024].\nBut, typeof(\u0026buffer[0]) is a pointer to char which match the return type of get_trace_buf().\nAs well-known, the value of \u0026buffer is equal to \u0026buffer[0].\nso return this_cpu_ptr(\u0026percpu_buffer-\u003ebuffer[0]) can avoid type cast.\n\nLink: http://lkml.kernel.org/r/50A1A800.3020102@gmail.com\n\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Shan Wei \u003cdavidshan@tencent.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "250bfd3d8e7e19cb649dd94689f0af2ce3474060",
      "tree": "66d0a49e15d99b4dabcd80259cdd501952425663",
      "parents": [
        "2df8f8a6a897ebf4c5613b5be6103d33b2a21520"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "bo.li.liu@oracle.com",
        "time": "Mon Jan 14 10:54:11 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 14 13:13:32 2013 -0500"
      },
      "message": "tracing: Fix regression of trace_pipe\n\nCommit 0fb9656d \"tracing: Make tracing_enabled be equal to tracing_on\"\nchanges the behaviour of trace_pipe, ie. it makes trace_pipe return if\nwe\u0027ve read something and tracing is enabled, and this means that we have\nto \u0027cat trace_pipe\u0027 again and again while running tests.\n\nIMO the right way is if tracing is enabled, we always block and wait for\nring buffer, or we may lose what we want since ring buffer\u0027s size is limited.\n\nLink: http://lkml.kernel.org/r/1358132051-5410-1-git-send-email-bo.li.liu@oracle.com\n\nSigned-off-by: Liu Bo \u003cbo.li.liu@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2df8f8a6a897ebf4c5613b5be6103d33b2a21520",
      "tree": "a79d468ef6e2b41392dca68c9319f73a99a51770",
      "parents": [
        "a8dd2176a8e988e3744e863ac39647a6f59fa900"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 11 16:14:10 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 11 16:14:10 2013 -0500"
      },
      "message": "tracing: Fix regression with irqsoff tracer and tracing_on file\n\nCommit 02404baf1b47 \"tracing: Remove deprecated tracing_enabled file\"\nremoved the tracing_enabled file as it never worked properly and\nthe tracing_on file should be used instead. But the tracing_on file\ndidn\u0027t call into the tracers start/stop routines like the\ntracing_enabled file did. This caused trace-cmd to break when it\nenabled the irqsoff tracer.\n\nIf you just did \"echo irqsoff \u003e current_tracer\" then it would work\nproperly. But the tool trace-cmd disables tracing first by writing\n\"0\" into the tracing_on file. Then it writes \"irqsoff\" into\ncurrent_tracer and then writes \"1\" into tracing_on. Unfortunately,\nthe above commit changed the irqsoff tracer to check the tracing_on\nstatus instead of the tracing_enabled status. If it\u0027s disabled then\nit does not start the tracer internals.\n\nThe problem is that writing \"1\" into tracing_on does not call the\ntracers \"start\" routine like writing \"1\" into tracing_enabled did.\nThis makes the irqsoff tracer not start when using the trace-cmd\ntool, and is a regression for userspace.\n\nSimple fix is to have the tracing_on file call the tracers start()\nmethod when being enabled (and the stop() method when disabled).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a8dd2176a8e988e3744e863ac39647a6f59fa900",
      "tree": "2f848f44ae3a614d9b7d13e156e5bc7429c40113",
      "parents": [
        "d1c3ed669a2d452cacfb48c2d171a1f364dae2ed"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 09 20:54:17 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 09 20:54:17 2013 -0500"
      },
      "message": "tracing: Fix regression of trace_options file setting\n\nThe latest change to allow trace options to be set on the command\nline also broke the trace_options file.\n\nThe zeroing of the last byte of the option name that is echoed into\nthe trace_option file was removed with the consolidation of some\nof the code. The compare between the option and what was written to\nthe trace_options file fails because the string holding the data\nwritten doesn\u0027t terminate with a null character.\n\nA zero needs to be added to the end of the string copied from\nuser space.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "6f5e3577d47aeb4ef39683cbf9e201554bc7054d",
      "tree": "62450b0532cbf68a749d34bf45c2ad145fccbdb2",
      "parents": [
        "bb27f55eb9405257a59c82550dbb0d684cc3a665",
        "895b67fd5830ce18a6f1375a7c062fcf84b4b874"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "bb27f55eb9405257a59c82550dbb0d684cc3a665",
      "tree": "bdab5866709e6ac7eeef7493d7d73bbd3d6231b6",
      "parents": [
        "b732d439cb43336cd6d7e804ecb2c81193ef63b0",
        "5e1c81d98a5621007824b49dde556fead5ff9c6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:50 2012 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core\n\nFixes for perf/core:\n\n - Rename some perf_target methods to avoid double negation, from Namhyung Kim.\n - Revert change to use per task events with inheritance, from Namhyung Kim.\n - Events should start disabled till children starts running, from David Ahern.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "895b67fd5830ce18a6f1375a7c062fcf84b4b874",
      "tree": "38f7d09da0f08b469c72ff3007d027212d400b9e",
      "parents": [
        "a591c73f127505cdbd0aa399a92112a8ddff8730"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon Nov 07 09:23:22 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:51 2012 -0400"
      },
      "message": "tracing: Remove kernel_lock annotations\n\nThe BKL is gone, these annotations are useless.\n\nLink: http://lkml.kernel.org/r/1320654202-4433-1-git-send-email-richard@nod.at\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a591c73f127505cdbd0aa399a92112a8ddff8730",
      "tree": "47eeb200977b79ddfbe3a6a26e8e38dc93bb5ff5",
      "parents": [
        "05fdd70d2fe1e34d8b80ec56d6e3272d9293653e"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 10:40:34 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:50 2012 -0400"
      },
      "message": "tracing: Fix initial buffer_size_kb state\n\nMake sure that the state of buffer_size_kb is initialized correctly and\nreturns actual size of the ring buffer.\n\nLink: http://lkml.kernel.org/r/1336066834-1673-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "16ee6576e25b83806d26eb771138249fcfb5eddc",
      "tree": "7c717b80f28b5c59ba673dc00f2ca9bd0fc068d4",
      "parents": [
        "16fa7e8200fb9066b77a3f27cbed8e4a9fc71998",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch:\n\n\"perf tools: Move parse event automated tests to separated object\"\n\nThat depends on:\n\ncommit e7c72d8\nperf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nConflicts:\n\ttools/perf/builtin-stat.c\n\nConflicted with the recent \u0027perf_target\u0027 patches when checking the\nresult of perf_evsel open routines to see if a retry is needed to cope\nwith older kernels where the exclude guest/host perf_event_attr bits\nwere not used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "71babb2705e2203a64c27ede13ae3508a0d2c16c",
      "tree": "8274eb4b1b17872e38715e0f619669fcc2b06c8d",
      "parents": [
        "0a3d7ce7e6caa8c39cb5184bd9047a01a40abc2a"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:52 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:38 2012 -0400"
      },
      "message": "tracing: change CPU ring buffer state from tracing_cpumask\n\nAccording to Documentation/trace/ftrace.txt:\n\ntracing_cpumask:\n\n        This is a mask that lets the user only trace\n        on specified CPUS. The format is a hex string\n        representing the CPUS.\n\nThe tracing_cpumask currently doesn\u0027t affect the tracing state of\nper-CPU ring buffers.\n\nThis patch enables/disables CPU recording as its corresponding bit in\ntracing_cpumask is set/unset.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a3d7ce7e6caa8c39cb5184bd9047a01a40abc2a",
      "tree": "c273c4024b2e1f9b8d4701108e05770e8d4515a9",
      "parents": [
        "308f7eeb7882c27c1d7aa783499cb22f3b199718"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Mon Apr 23 10:11:57 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 19:50:37 2012 -0400"
      },
      "message": "tracing: Check return value of tracing_dentry_percpu()\n\nIf tracing_dentry_percpu() failed, tracing_init_debugfs_percpu()\nwill try to create each cpu directories on debugfs\u0027 root directory\nas d_percpu is NULL.\n\nLink: http://lkml.kernel.org/r/1335143517-2285-1-git-send-email-namhyung.kim@lge.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "83f40318dab00e3298a1f6d0b12ac025e84e478d",
      "tree": "efa4aa0d79337ec7e56d667d513ae69f1b2e38f7",
      "parents": [
        "6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:50 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 16:18:57 2012 -0400"
      },
      "message": "ring-buffer: Make removal of ring buffer pages atomic\n\nThis patch adds the capability to remove pages from a ring buffer\nwithout destroying any existing data in it.\n\nThis is done by removing the pages after the tail page. This makes sure\nthat first all the empty pages in the ring buffer are removed. If the\nhead page is one in the list of pages to be removed, then the page after\nthe removed ones is made the head page. This removes the oldest data\nfrom the ring buffer and keeps the latest data around to be read.\n\nTo do this in a non-racey manner, tracing is stopped for a very short\ntime while the pages to be removed are identified and unlinked from the\nring buffer. The pages are freed after the tracing is restarted to\nminimize the time needed to stop tracing.\n\nThe context in which the pages from the per-cpu ring buffer are removed\nruns on the respective CPU. This minimizes the events not traced to only\nNMI trace contexts.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce",
      "tree": "80a8bf8b301984907bd8773ca31748e82e136638",
      "parents": [
        "978da300c7a65494692b329a6a4cbf364afc37c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 11 23:28:49 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 16:18:57 2012 -0400"
      },
      "message": "tracing: Clean up tracing_mark_write()\n\nOn gcc 4.5 the function tracing_mark_write() would give a warning\nof page2 being uninitialized. This is due to a bug in gcc because\nthe logic prevents page2 from being used uninitialized, and\ngcc 4.6+ does not complain (correctly).\n\nInstead of adding a \"unitialized\" around page2, which could show\na bug later on, I combined page1 and page2 into an array map_pages[].\nThis binds the two and the two are modified according to nr_pages\n(what gcc 4.5 seems to ignore). This no longer gives a warning with\ngcc 4.5 nor with gcc 4.6.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "68179686ac67cb08f08b1ef28b860d5ed899f242",
      "tree": "5358088eddef07e00a6daf309c0fe43f94a6cdc4",
      "parents": [
        "50e18b94c695644d824381e7574b9c44acc25ffe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 08 20:57:53 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 08 21:06:26 2012 -0400"
      },
      "message": "tracing: Remove ftrace_disable/enable_cpu()\n\nThe ftrace_disable_cpu() and ftrace_enable_cpu() functions were\nneeded back before the ring buffer was lockless. Now that the\nring buffer is lockless (and has been for some time), these functions\nserve no purpose, and unnecessarily slow down operations of the tracer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "50e18b94c695644d824381e7574b9c44acc25ffe",
      "tree": "8e323cd188dfdf4882e963812a6b9caf8905cac0",
      "parents": [
        "b02ee9a33b65bcc4ad13c12a0b04afdaab3ddd8d"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Apr 25 10:23:39 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 08 21:04:12 2012 -0400"
      },
      "message": "tracing: Use seq_*_private interface for some seq files\n\nIt\u0027s appropriate to use __seq_open_private interface to open\nsome of trace seq files, because it covers all steps we are\nduplicating in tracing code - zallocating the iterator and\nsetting it as seq_file\u0027s private.\n\nUsing this for following files:\n  trace\n  available_filter_functions\n  enabled_functions\n\nLink: http://lkml.kernel.org/r/1335342219-2782-5-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\n\n[\n Fixed warnings for:\n   kernel/trace/trace.c: In function \u0027__tracing_open\u0027:\n   kernel/trace/trace.c:2418:11: warning: unused variable \u0027ret\u0027 [-Wunused-variable]\n   kernel/trace/trace.c:2417:19: warning: unused variable \u0027m\u0027 [-Wunused-variable]\n]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "438ced1720b584000a9e8a4349d1f6bb7ee3ad6d",
      "tree": "2c769e58411c68b298ab816c577ecb2119c7067c",
      "parents": [
        "5a26c8f0cf1e95106858bb4e23ca6dd14c9b842f"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu Feb 02 12:00:41 2012 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:17:51 2012 -0400"
      },
      "message": "ring-buffer: Add per_cpu ring buffer control files\n\nAdd a debugfs entry under per_cpu/ folder for each cpu called\nbuffer_size_kb to control the ring buffer size for each CPU\nindependently.\n\nIf the global file buffer_size_kb is used to set size, the individual\nring buffers will be adjusted to the given size. The buffer_size_kb will\nreport the common size to maintain backward compatibility.\n\nIf the buffer_size_kb file under the per_cpu/ directory is used to\nchange buffer size for a specific CPU, only the size of the respective\nring buffer is updated. When tracing/buffer_size_kb is read, it reports\n\u0027X\u0027 to indicate that sizes of per_cpu ring buffers are not equivalent.\n\nLink: http://lkml.kernel.org/r/1328212844-11889-1-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a26c8f0cf1e95106858bb4e23ca6dd14c9b842f",
      "tree": "0e4d5a45f2ce667f3560a9171e11178437ca24a5",
      "parents": [
        "07d777fe8c3985bc83428c2866713c2d1b3d4129"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Apr 20 09:31:45 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:16:10 2012 -0400"
      },
      "message": "tracing: Remove an unneeded check in trace_seq_buffer()\n\nmemcpy() returns a pointer to \"bug\".  Hopefully, it\u0027s not NULL here or\nwe would already have Oopsed.\n\nLink: http://lkml.kernel.org/r/20120420063145.GA22649@elgon.mountain\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "07d777fe8c3985bc83428c2866713c2d1b3d4129",
      "tree": "f14c6aa59b9719761ad9feebebca22550ebdf0e3",
      "parents": [
        "a385ec4f11bdcf81af094c03e2444ee9b7fad2e5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 14:01:55 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 23 21:15:55 2012 -0400"
      },
      "message": "tracing: Add percpu buffers for trace_printk()\n\nCurrently, trace_printk() uses a single buffer to write into\nto calculate the size and format needed to save the trace. To\ndo this safely in an SMP environment, a spin_lock() is taken\nto only allow one writer at a time to the buffer. But this could\nalso affect what is being traced, and add synchronization that\nwould not be there otherwise.\n\nIdeally, using percpu buffers would be useful, but since trace_printk()\nis only used in development, having per cpu buffers for something\nnever used is a waste of space. Thus, the use of the trace_bprintk()\nformat section is changed to be used for static fmts as well as dynamic ones.\nThen at boot up, we can check if the section that holds the trace_printk\nformats is non-empty, and if it does contain something, then we\nknow a trace_printk() has been added to the kernel. At this time\nthe trace_printk per cpu buffers are allocated. A check is also\ndone at module load time in case a module is added that contains a\ntrace_printk().\n\nOnce the buffers are allocated, they are never freed. If you use\na trace_printk() then you should know what you are doing.\n\nA buffer is made for each type of context:\n\n  normal\n  softirq\n  irq\n  nmi\n\nThe context is checked and the appropriate buffer is used.\nThis allows for totally lockless usage of trace_printk(),\nand they no longer even disable interrupts.\n\nRequested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "348f0fc238efb441a28e7644c51f9fd3001b228a",
      "tree": "780fa93c72777045a986f0ce648efc2bf8e35999",
      "parents": [
        "6e48b550d1f5f1919e6500547ae14a73fbf66c7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "message": "tracing: Fix regression with tracing_on\n\nThe change to make tracing_on affect only the ftrace ring buffer, caused\na bug where it wont affect any ring buffer. The problem was that the buffer\nof the trace_array was passed to the write function and not the trace array\nitself.\n\nThe trace_array can change the buffer when running a latency tracer. If this\nhappens, then the buffer being disabled may not be the buffer currently used\nby ftrace. This will cause the tracing_on file to become useless.\n\nThe simple fix is to pass the trace_array to the write function instead of\nthe buffer. Then the actual buffer may be changed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b892e5c89787716b95a8e55d77d25a1c0748df10",
      "tree": "ed77ec8ab4db28fb900653cee4b719cf02a3a911",
      "parents": [
        "8c9cf542b8a66c231747a550573d910daf17f0e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "message": "tracing: Keep NMI watchdog from triggering when dumping trace\n\nAs ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts\nas it dumps its output to the console, it can keep interrupts disabled\nfor long periods of time. This is likely to trigger the NMI watchdog,\nand it can disrupt the output of critical data.\n\nAdd a touch_nmi_watchdog() to each event that is written to the screen\nto keep the NMI watchdog from affecting the output.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "499e547057f5bba5cd6f87ebe59b05d0c59da905",
      "tree": "9bc64c1a76446153b72a66ad25fe892012d9d120",
      "parents": [
        "5500fa51199aee770ce53718853732600543619e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "message": "tracing/ring-buffer: Only have tracing_on disable tracing buffers\n\nAs the ring-buffer code is being used by other facilities in the\nkernel, having tracing_on file disable *all* buffers is not a desired\naffect. It should only disable the ftrace buffers that are being used.\n\nMove the code into the trace.c file and use the buffer disabling\nfor tracing_on() and tracing_off(). This way only the ftrace buffers\nwill be affected by them and other kernel utilities will not be\nconfused to why their output suddenly stopped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1e42e83fde5537266c1d1e7fd8c010b3028d50fc",
      "tree": "6ca9af6a41021c2b1fb423bf85b1b99aa79e2e81",
      "parents": [
        "76027ea863fc02698da536b4970784eed3caa635"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Wed Feb 08 19:05:36 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:47 2012 -0500"
      },
      "message": "ftrace: sched_switch plugin is deprecated\n\nActually, sched_switch function tracer is merged into wakeup/wakeup_rt\nUpdate \u0027mini-HOWTO\u0027 for ftrace(Kernel function tracer).\nIf we want to trace \"sched:sched_switch\" to trace sched_switch func,\nWe may utilize event option.(e.g: trace-cmd list -e | grep sched)\nThis patch is based on Linux-3.3.rc2-SMP-PREEMPT\n\nLink: http://lkml.kernel.org/r/1328695537-15081-1-git-send-email-geunsik.lim@gmail.com\n\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a8eecf2248a45bf69f0625b23c003ad2ccd765ee",
      "tree": "170e96d6a6cf26da8751ec98f59c81adc28717e6",
      "parents": [
        "9b2e4f1880b789be1f24f9684f7a54b90310b5c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 11:01:15 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:25 2011 -0800"
      },
      "message": "trace: Allow ftrace_dump() to be called from modules\n\nAdd an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer\nupon detection of an RCU error.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544",
      "tree": "323e858496ef9c587a3e9861dab863af5303f82f",
      "parents": [
        "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 10:35:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 11:10:43 2011 -0500"
      },
      "message": "tracing: Add entries in buffer and total entries to default output header\n\nKnowing the number of event entries in the ring buffer compared\nto the total number that were written is useful information. The\nlatency format gives this information and there\u0027s no reason that the\ndefault format does not.\n\nThis information is now added to the default header, along with the\nnumber of online CPUs:\n\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 159836/64690869   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] ...2    49.442971: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442973: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442974: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [000] d..2    49.442976: __atomic_notifier_call_chain \u003c-atomic_notifier\n\nThe above shows that the trace contains 159836 entries, but\n64690869 were written. One could figure out that there were\n64531033 entries that were dropped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea",
      "tree": "fd46cc3c3128bd230ee9dcbd610bc0ca8719a63c",
      "parents": [
        "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 09:34:33 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 09:58:48 2011 -0500"
      },
      "message": "tracing: Add irq, preempt-count and need resched info to default trace output\n\nPeople keep asking how to get the preempt count, irq, and need resched info\nand we keep telling them to enable the latency format. Some developers think\nthat traces without this info is completely useless, and for a lot of tasks\nit is useless.\n\nThe first option was to enable the latency trace as the default format, but\nthe header for the latency format is pretty useless for most tracers and\nit also does the timestamp in straight microseconds from the time the trace\nstarted. This is sometimes more difficult to read as the default trace is\nseconds from the start of boot up.\n\nLatency format:\n\n # tracer: nop\n #\n # nop latency trace v1.1.5 on 3.2.0-rc1-test+\n # --------------------------------------------------------------------\n # latency: 0 us, #159771/64234230, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)\n #    -----------------\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||  \\    |   /\n migratio-6       0...2 41778231us+: rcu_note_context_switch \u003c-__schedule\n migratio-6       0...2 41778233us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778235us+: rcu_sched_qs \u003c-rcu_note_context_switch\n migratio-6       0d..2 41778236us+: rcu_preempt_qs \u003c-rcu_note_context_switch\n migratio-6       0...2 41778238us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778239us+: debug_lockdep_rcu_enabled \u003c-__schedule\n\ndefault format:\n\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n      migration/0-6     [000]    50.025810: rcu_note_context_switch \u003c-__schedule\n      migration/0-6     [000]    50.025812: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025813: rcu_sched_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025815: rcu_preempt_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025817: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025818: debug_lockdep_rcu_enabled \u003c-__schedule\n      migration/0-6     [000]    50.025820: debug_lockdep_rcu_enabled \u003c-__schedule\n\nThe latency format header has latency information that is pretty meaningless\nfor most tracers. Although some of the header is useful, and we can add that\nlater to the default format as well.\n\nWhat is really useful with the latency format is the irqs-off, need-resched\nhard/softirq context and the preempt count.\n\nThis commit adds the option irq-info which is on by default that adds this\ninformation:\n\n # tracer: nop\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] d..2    49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000] d..2    49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000] d..2    49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309315: need_resched \u003c-mwait_idle\n\nIf a user wants the old format, they can disable the \u0027irq-info\u0027 option:\n\n # tracer: nop\n #\n #           TASK-PID   CPU#      TIMESTAMP  FUNCTION\n #              | |       |          |         |\n           \u003cidle\u003e-0     [000]     49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000]     49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000]     49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000]     49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309315: need_resched \u003c-mwait_idle\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "efc96737bd82b508794d2b28061a12af4a3f7766",
      "tree": "e9fe4982967b74c0d25a35a2d7f7c62d8be98a47",
      "parents": [
        "1ec454baf1245df4fdb5dae728da3363630ce6de",
        "7e9a49ef542610609144d1afcd516dc3fafac4d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "7e9a49ef542610609144d1afcd516dc3fafac4d6",
      "tree": "a8b3748cbbb2ab61998d4c8e2f8c055e0edda104",
      "parents": [
        "d4d34b981a5327eec956c6cb4cce397ce6f57279"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Nov 07 16:08:49 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 13:48:35 2011 -0500"
      },
      "message": "tracing/latency: Fix header output for latency tracers\n\nIn case the the graph tracer (CONFIG_FUNCTION_GRAPH_TRACER) or even the\nfunction tracer (CONFIG_FUNCTION_TRACER) are not set, the latency tracers\ndo not display proper latency header.\n\nThe involved/fixed latency tracers are:\n        wakeup_rt\n        wakeup\n        preemptirqsoff\n        preemptoff\n        irqsoff\n\nThe patch adds proper handling of tracer configuration options for latency\ntracers, and displaying correct header info accordingly.\n\n* The current output (for wakeup tracer) with both graph and function\n  tracers disabled is:\n\n  # tracer: wakeup\n  #\n    \u003cidle\u003e-0       0d.h5    1us+:      0:120:R   + [000]     7:  0:R watchdog/0\n    \u003cidle\u003e-0       0d.h5    3us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n    ...\n\n* The fixed output is:\n\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 55 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: migration/0-6 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n       cat-1129    0d..4    1us :   1129:120:R   + [000]     6:  0:R migration/0\n       cat-1129    0d..4    2us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The current output (for wakeup tracer) with only function\n  tracer enabled is:\n\n  # tracer: wakeup\n  #\n       cat-1140    0d..4    1us+:   1140:120:R   + [000]     6:  0:R migration/0\n       cat-1140    0d..4    2us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The fixed output is:\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 207 us, #109/109, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: watchdog/1-12 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n    \u003cidle\u003e-0       1d.h5    1us+:      0:120:R   + [001]    12:  0:R watchdog/1\n    \u003cidle\u003e-0       1d.h5    3us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\nLink: http://lkml.kernel.org/r/20111107150849.GE1807@m.brq.redhat.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7115e3fcf45514db7525a05365b10454ff7f345e",
      "tree": "17450e6337d559cc35dae6a7a73abab01ac63f00",
      "parents": [
        "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)\n  perf symbols: Increase symbol KSYM_NAME_LEN size\n  perf hists browser: Refuse \u0027a\u0027 hotkey on non symbolic views\n  perf ui browser: Use libslang to read keys\n  perf tools: Fix tracing info recording\n  perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads\n  perf hists: Don\u0027t consider filtered entries when calculating column widths\n  perf hists: Don\u0027t decay total_period for filtered entries\n  perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}\n  perf hists browser: Do not exit on tab key with single event\n  perf annotate browser: Don\u0027t change selection line when returning from callq\n  perf tools: handle endianness of feature bitmap\n  perf tools: Add prelink suggestion to dso update message\n  perf script: Fix unknown feature comment\n  perf hists browser: Apply the dso and thread filters when merging new batches\n  perf hists: Move the dso and thread filters from hist_browser\n  perf ui browser: Honour the xterm colors\n  perf top tui: Give color hints just on the percentage, like on --stdio\n  perf ui browser: Make the colors configurable and change the defaults\n  perf tui: Remove unneeded call to newtCls on startup\n  perf hists: Don\u0027t format the percentage on hist_entry__snprintf\n  ...\n\nFix up conflicts in arch/x86/kernel/kprobes.c manually.\n\nIngo\u0027s tree did the insane \"add volatile to const array\", which just\ndoesn\u0027t make sense (\"volatile const\"?).  But we could remove the const\n*and* make the array volatile to make doubly sure that gcc doesn\u0027t\noptimize it away..\n\nAlso fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the\nreader_lock has been turned into a raw lock by the core locking merge,\nand there was a new user of it introduced in this perf core merge.  Make\nsure that new use also uses the raw accessor functions.\n"
    },
    {
      "commit": "436fc280261dcfce5af38f08b89287750dc91cd2",
      "tree": "5a57ba115f7f9d19c0185673fa1bfba9dfc292da",
      "parents": [
        "9b5f8b31af57a8ce9e9f77864d9143b5e3304815"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "message": "tracing: Fix returning of duplicate data after EOF in trace_pipe_raw\n\nThe trace_pipe_raw handler holds a cached page from the time the file\nis opened to the time it is closed. The cached page is used to handle\nthe case of the user space buffer being smaller than what was read from\nthe ring buffer. The left over buffer is held in the cache so that the\nnext read will continue where the data left off.\n\nAfter EOF is returned (no more data in the buffer), the index of\nthe cached page is set to zero. If a user app reads the page again\nafter EOF, the check in the buffer will see that the cached page\nis less than page size and will return the cached page again. This\nwill cause reading the trace_pipe_raw again after EOF to return\nduplicate data, making the output look like the time went backwards\nbut instead data is just repeated.\n\nThe fix is to not reset the index right after all data is read\nfrom the cache, but to reset it after all data is read and more\ndata exists in the ring buffer.\n\nCc: stable \u003cstable@kernel.org\u003e\nReported-by: Jeremy Eder \u003cjeder@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9b5f8b31af57a8ce9e9f77864d9143b5e3304815",
      "tree": "fad2ac950e2b326cec325014016c2135403b3bf2",
      "parents": [
        "910e94dd0cc5abacebf0bd5ffd859f61b9583857"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Fri Aug 12 14:30:22 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:41:33 2011 -0400"
      },
      "message": "ftrace: Fix README to state tracing_on to start/stop tracing\n\ntracing_enabled option is deprecated.\nTo start/stop tracing, write to /sys/kernel/debug/tracing/tracing_on\nwithout tracing_enabled. This patch is based on Linux 3.1.0-rc1\n\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nLink: http://lkml.kernel.org/r/1313127022-23830-1-git-send-email-leemgs1@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d696b58ca2c3ca76e784ef89a7e0453d9b7ab187",
      "tree": "e5f02a13dc8fdec22e9223189122e5938e9ce77e",
      "parents": [
        "e0a413f619ef8bc366dafc6f8221674993b8d85f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 11:50:27 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:53 2011 -0400"
      },
      "message": "tracing: Do not allocate buffer for trace_marker\n\nWhen doing intense tracing, the kmalloc inside trace_marker can\nintroduce side effects to what is being traced.\n\nAs trace_marker() is used by userspace to inject data into the\nkernel ring buffer, it needs to do so with the least amount\nof intrusion to the operations of the kernel or the user space\napplication.\n\nAs the ring buffer is designed to write directly into the buffer\nwithout the need to make a temporary buffer, and userspace already\nwent through the hassle of knowing how big the write will be,\nwe can simply pin the userspace pages and write the data directly\ninto the buffer. This improves the impact of tracing via trace_marker\ntremendously!\n\nThanks to Peter Zijlstra and Thomas Gleixner for pointing out the\nuse of get_user_pages_fast() and kmap_atomic().\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e0a413f619ef8bc366dafc6f8221674993b8d85f",
      "tree": "a6696b0e7ef5422490bdbcc28d385c031d3e4eb8",
      "parents": [
        "e36de1de4a5f95b7cb3e5c37d10e6bbb91833ef0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 29 21:26:16 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:25 2011 -0400"
      },
      "message": "tracing: Warn on output if the function tracer was found corrupted\n\nAs the function tracer is very intrusive, lots of self checks are\nperformed on the tracer and if something is found to be strange\nit will shut itself down keeping it from corrupting the rest of the\nkernel. This shutdown may still allow functions to be traced, as the\ntracing only stops new modifications from happening. Trying to stop\nthe function tracer itself can cause more harm as it requires code\nmodification.\n\nAlthough a WARN_ON() is executed, a user may not notice it. To help\nthe user see that something isn\u0027t right with the tracing of the system\na big warning is added to the output of the tracer that lets the user\nknow that their data may be incomplete.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6249687f76b69cc0b2ad34636f4a18d693ef3262",
      "tree": "9c007b85738eb86f113a9a6de1e35129532e5f54",
      "parents": [
        "c64e148a3be3cb786534ad38298c25c833116c26"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 19 11:35:58 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 19 11:35:58 2011 -0400"
      },
      "message": "tracing: Add a counter clock for those that do not trust clocks\n\nWhen debugging tight race conditions, it can be helpful to have a\nsynchronized tracing method. Although in most cases the global clock\nprovides this functionality, if timings is not the issue, it is more\ncomforting to know that the order of events really happened in a precise\norder.\n\nInstead of using a clock, add a \"counter\" that is simply an incrementing\natomic 64bit counter that orders the events as they are perceived to\nhappen.\n\nThe trace_clock_counter() is added from the attempt by Peter Zijlstra\ntrying to convert the trace_clock_global() to it. I took Peter\u0027s counter\ncode and made trace_clock_counter() instead, and added it to the choice\nof clocks. Just echo counter \u003e /debug/tracing/trace_clock to activate\nit.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nRequested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-By: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5389f6fad27019f2ba78f1b332f719ec05f12a42",
      "tree": "01b9511a75c147808f48a7f4408bf2e35b12623d",
      "parents": [
        "740969f91e950b64a18fdd0a25164cdee042abf0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 17:13:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:52 2011 +0200"
      },
      "message": "locking, tracing: Annotate tracing locks as raw\n\nThe tracing locks can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c64e148a3be3cb786534ad38298c25c833116c26",
      "tree": "e75fb98c0699858a32f8c713ccb3c701e01523f8",
      "parents": [
        "f81ab074c30234b07c8309c542cafd07bed721f7"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue Aug 16 14:46:16 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 30 12:27:45 2011 -0400"
      },
      "message": "trace: Add ring buffer stats to measure rate of events\n\nThe stats file under per_cpu folder provides the number of entries,\noverruns and other statistics about the CPU ring buffer. However, the\nnumbers do not provide any indication of how full the ring buffer is in\nbytes compared to the overall size in bytes. Also, it is helpful to know\nthe rate at which the cpu buffer is filling up.\n\nThis patch adds an entry \"bytes: \" in printed stats for per_cpu ring\nbuffer which provides the actual bytes consumed in the ring buffer. This\nfield includes the number of bytes used by recorded events and the\npadding bytes added when moving the tail pointer to next page.\n\nIt also adds the following time stamps:\n\"oldest event ts:\" - the oldest timestamp in the ring buffer\n\"now ts:\"  - the timestamp at the time of reading\n\nThe field \"now ts\" provides a consistent time snapshot to the userspace\nwhen being read. This is read from the same trace clock used by tracing\nevent timestamps.\n\nTogether, these values provide the rate at which the buffer is filling\nup, from the formula:\nbytes / (now_ts - oldest_event_ts)\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nLink: http://lkml.kernel.org/r/1313531179-9323-3-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f81ab074c30234b07c8309c542cafd07bed721f7",
      "tree": "58ec049e4f63d0f8a0b696195cf77da2b6d04b01",
      "parents": [
        "86b6ef21b80ac6565d172cdab4384404de007eea"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue Aug 16 14:46:15 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 30 12:27:44 2011 -0400"
      },
      "message": "trace: Add a new readonly entry to report total buffer size\n\nThe current file \"buffer_size_kb\" reports the size of per-cpu buffer and\nnot the overall memory allocated which could be misleading. A new file\n\"buffer_total_size_kb\" adds up all the enabled CPU buffer sizes and\nreports it. This is only a readonly entry.\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nLink: http://lkml.kernel.org/r/1313531179-9323-2-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4a9bd3f134decd6d16ead8d288342d57aad486be",
      "tree": "ca9eca5fcbe93dc8a433d839221505ad8fba5296",
      "parents": [
        "259032bfe379281bf7cba512b7705bdb4ce41db5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "message": "tracing: Have dynamic size event stack traces\n\nCurrently the stack trace per event in ftace is only 8 frames.\nThis can be quite limiting and sometimes useless. Especially when\nthe \"ignore frames\" is wrong and we also use up stack frames for\nthe event processing itself.\n\nChange this to be dynamic by adding a percpu buffer that we can\nwrite a large stack frame into and then copy into the ring buffer.\n\nFor interrupts and NMIs that come in while another event is being\nprocess, will only get to use the 8 frame stack. That should be enough\nas the task that it interrupted will have the full stack frame anyway.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1fd8df2c3970c9e7e4e262354154ee39e58bdd7c",
      "tree": "640fbc584af8870917ea6d1fab4da49d299038ad",
      "parents": [
        "c624d33f61cd05241e85b906311f0b712fdb0f32"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Wed Jun 08 16:09:34 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:48:53 2011 -0400"
      },
      "message": "tracing/kprobes: Fix kprobe-tracer to support stack trace\n\nFix to support kernel stack trace correctly on kprobe-tracer.\nSince the execution path of kprobe-based dynamic events is different\nfrom other tracepoint-based events, normal ftrace_trace_stack() doesn\u0027t\nwork correctly. To fix that, this introduces ftrace_trace_stack_regs()\nwhich traces stack via pt_regs instead of current stack register.\n\ne.g.\n\n # echo p schedule+4 \u003e /sys/kernel/debug/tracing/kprobe_events\n # echo 1 \u003e /sys/kernel/debug/tracing/options/stacktrace\n # echo 1 \u003e /sys/kernel/debug/tracing/events/kprobes/enable\n # head -n 20 /sys/kernel/debug/tracing/trace\n            bash-2968  [000] 10297.050245: p_schedule_4: (schedule+0x4/0x4ca)\n            bash-2968  [000] 10297.050247: \u003cstack trace\u003e\n \u003d\u003e schedule_timeout\n \u003d\u003e n_tty_read\n \u003d\u003e tty_read\n \u003d\u003e vfs_read\n \u003d\u003e sys_read\n \u003d\u003e system_call_fastpath\n     kworker/0:1-2940  [000] 10297.050265: p_schedule_4: (schedule+0x4/0x4ca)\n     kworker/0:1-2940  [000] 10297.050266: \u003cstack trace\u003e\n \u003d\u003e worker_thread\n \u003d\u003e kthread\n \u003d\u003e kernel_thread_helper\n            sshd-1132  [000] 10297.050365: p_schedule_4: (schedule+0x4/0x4ca)\n            sshd-1132  [000] 10297.050365: \u003cstack trace\u003e\n \u003d\u003e sysret_careful\n\nNote: Even with this fix, the first entry will be skipped\nif the probe is put on the function entry area before\nthe frame pointer is set up (usually, that is 4 bytes\n (push %bp; mov %sp %bp) on x86), because stack unwinder\ndepends on the frame pointer.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110608070934.17777.17116.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "22fe9b54d859e53bfbbbdc1a0a77a82bc453927c",
      "tree": "4aec2d069decbe0786ad5474908f5bbe49732ad4",
      "parents": [
        "749230b06a753a22f6ed96e5dd60815d6ab12865"
      ],
      "author": {
        "name": "Peter Huewe",
        "email": "peterhuewe@gmx.de",
        "time": "Tue Jun 07 21:58:27 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:48:50 2011 -0400"
      },
      "message": "tracing: Convert to kstrtoul_from_user\n\nThis patch replaces the code for getting an unsigned long from a\nuserspace buffer by a simple call to kstroul_from_user.\nThis makes it easier to read and less error prone.\n\nSigned-off-by: Peter Huewe \u003cpeterhuewe@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1307476707-14762-1-git-send-email-peterhuewe@gmx.de\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f56e7f8efb4ec200364f690a9902713410e24d47",
      "tree": "f8708b5a7f82be989b987fbf190a55054dd41c7b",
      "parents": [
        "ffeb80fc30acbf6bd51cb47a1815f621a9d017dc"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Jun 03 16:58:49 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:48:48 2011 -0400"
      },
      "message": "tracing, function: Fix trace header to follow context-info option\n\nThe header display of function tracer does not follow\nthe context-info option, so field names are displayed even\nif this option is off.\n\nAdded check for TRACE_ITER_CONTEXT_INFO trace_flags.\n\nWith following commands:\n\t# echo function \u003e ./current_tracer\n\t# echo 0 \u003e options/context-info\n\t# cat trace\n\nThis is what it looked like before:\n# tracer: function\n#\n#           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n#              | |       |          |         |\nadd_preempt_count \u003c-schedule\nrcu_note_context_switch \u003c-schedule\n...\n\nThis is what it looks like now:\n# tracer: function\n#\n_raw_spin_unlock_irqrestore \u003c-hrtimer_try_to_cancel\n...\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1307113131-10045-4-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cf30cf67d6c7592c670ec946d89fc15ee0deb0eb",
      "tree": "f86ca612b255ee8570e2fd6198e066ea8cf33fe0",
      "parents": [
        "4f271a2a60c748599b30bb4dafff30d770439b96"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 14 22:44:07 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:48:45 2011 -0400"
      },
      "message": "tracing: Add disable_on_free option\n\nAdd a trace option to disable tracing on free. When this option is\nset, a write into the free_buffer file will not only shrink the\nring buffer down to zero, but it will also disable tracing.\n\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4f271a2a60c748599b30bb4dafff30d770439b96",
      "tree": "4b6aa671e0fbe3e81a423a551ce5aa1032725e2b",
      "parents": [
        "7ea5906405a1f3fc1c0033dfd7e02f2cfd1de5e5"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Mon Jun 13 17:51:57 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:48:37 2011 -0400"
      },
      "message": "tracing: Add a proc file to stop tracing and free buffer\n\nThe proc file entry buffer_size_kb is used to set the size of tracing\nbuffer. The memory to expand the buffer size is kernel memory. Consider\na use case where tracing is handled by a user space utility, which acts\nas a gate keeper for tracing requests. In an OOM condition, tracing is\nconsidered a low priority task and if the utility gets killed the ring\nbuffer memory cannot be released back to the kernel.\n\nThis patch adds a proc file called \"free_buffer\" whose purpose is to\nstop tracing and free up the ring buffer when it is closed.\n\nThe user space process can then set the desired size in buffer_size_kb\nfile and open the fd to the \"free_buffer\" file. Under OOM condition, if\nthe process gets killed, the kernel closes the file descriptor. The\nrelease handler stops the tracing and releases the kernel memory\nautomatically.\n\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nLink: http://lkml.kernel.org/r/1308012717-11148-1-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7ea5906405a1f3fc1c0033dfd7e02f2cfd1de5e5",
      "tree": "f75e962db25ccd3efa81e1fc69ce3e60d228c7a6",
      "parents": [
        "e7e2ee89a9dbf48d70a922d5625cd7320a27cbff"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue May 03 17:56:42 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 22:04:39 2011 -0400"
      },
      "message": "tracing: Use NUMA allocation for per-cpu ring buffer pages\n\nThe tracing ring buffer is a group of per-cpu ring buffers where\nallocation and logging is done on a per-cpu basis. The events that are\ngenerated on a particular CPU are logged in the corresponding buffer.\nThis is to provide wait-free writes between CPUs and good NUMA node\nlocality while accessing the ring buffer.\n\nHowever, the allocation routines consider NUMA locality only for buffer\npage metadata and not for the actual buffer page. This causes the pages\nto be allocated on the NUMA node local to the CPU where the allocation\nroutine is running at the time.\n\nThis patch fixes the problem by using a NUMA node specific allocation\nroutine so that the pages are allocated from a NUMA node local to the\nlogging CPU.\n\nI tested with the getuid_microbench from autotest. It is a simple binary\nthat calls getuid() in a loop and measures the average time for the\nsyscall to complete. The following command was used to test:\n$ getuid_microbench 1000000\n\nCompared the numbers found on kernel with and without this patch and\nfound that logging latency decreases by 30-50 ns/call.\ntracing with non-NUMA allocation - 569 ns/call\ntracing with NUMA allocation     - 512 ns/call\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nLink: http://lkml.kernel.org/r/1304470602-20366-1-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e7e2ee89a9dbf48d70a922d5625cd7320a27cbff",
      "tree": "58a5d3387c7b0bf9a4f434867234c0771c22addb",
      "parents": [
        "b58f6b0dd3d677338b9065388cc2cc942b86338e"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue May 10 13:27:21 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 14 21:59:41 2011 -0400"
      },
      "message": "tracing: Schedule a delayed work to call wakeup()\n\nIn using syscall tracing by concurrent processes, the wakeup() that is\ncalled in the event commit function causes contention on the spin lock\nof the waitqueue. I enabled sys_enter_getuid and sys_exit_getuid\ntracepoints, and by running getuid_microbench from autotest in parallel\nI found that the contention causes exponential latency increase in the\ntracing path.\n\nThe autotest binary getuid_microbench calls getuid() in a tight loop for\nthe given number of iterations and measures the average time required to\ncomplete a single invocation of syscall.\n\nThe patch schedules a delayed work after 2 ms once an event commit calls\nto wake up the trace wait_queue. This removes the delay caused by\ncontention on spin lock in wakeup() and amortizes the wakeup() calls\nscheduled over the 2 ms period.\n\nIn the following example, the script enables the sys_enter_getuid and\nsys_exit_getuid tracepoints and runs the getuid_microbench in parallel\nwith the given number of processes. The output clearly shows the latency\nincrease caused by contentions.\n\n$ ~/getuid.sh 1\n1000000 calls in 0.720974253 s (720.974253 ns/call)\n\n$ ~/getuid.sh 2\n1000000 calls in 1.166457554 s (1166.457554 ns/call)\n1000000 calls in 1.168933765 s (1168.933765 ns/call)\n\n$ ~/getuid.sh 3\n1000000 calls in 1.783827516 s (1783.827516 ns/call)\n1000000 calls in 1.795553270 s (1795.553270 ns/call)\n1000000 calls in 1.796493376 s (1796.493376 ns/call)\n\n$ ~/getuid.sh 4\n1000000 calls in 4.483041796 s (4483.041796 ns/call)\n1000000 calls in 4.484165388 s (4484.165388 ns/call)\n1000000 calls in 4.484850762 s (4484.850762 ns/call)\n1000000 calls in 4.485643576 s (4485.643576 ns/call)\n\n$ ~/getuid.sh 5\n1000000 calls in 6.497521653 s (6497.521653 ns/call)\n1000000 calls in 6.502000236 s (6502.000236 ns/call)\n1000000 calls in 6.501709115 s (6501.709115 ns/call)\n1000000 calls in 6.502124100 s (6502.124100 ns/call)\n1000000 calls in 6.502936358 s (6502.936358 ns/call)\n\nAfter the patch, the latencies scale better.\n1000000 calls in 0.728720455 s (728.720455 ns/call)\n\n1000000 calls in 0.842782857 s (842.782857 ns/call)\n1000000 calls in 0.883803135 s (883.803135 ns/call)\n\n1000000 calls in 0.902077764 s (902.077764 ns/call)\n1000000 calls in 0.902838202 s (902.838202 ns/call)\n1000000 calls in 0.908896885 s (908.896885 ns/call)\n\n1000000 calls in 0.932523515 s (932.523515 ns/call)\n1000000 calls in 0.958009672 s (958.009672 ns/call)\n1000000 calls in 0.986188020 s (986.188020 ns/call)\n1000000 calls in 0.989771102 s (989.771102 ns/call)\n\n1000000 calls in 0.933518391 s (933.518391 ns/call)\n1000000 calls in 0.958897947 s (958.897947 ns/call)\n1000000 calls in 1.031038897 s (1031.038897 ns/call)\n1000000 calls in 1.089516025 s (1089.516025 ns/call)\n1000000 calls in 1.141998347 s (1141.998347 ns/call)\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1305059241-7629-1-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "932fed4e2e42c3d730c01bb63b1c4f812c533d5b",
      "tree": "11b1afac3a40d253cdb905c42901edfaae5e196e",
      "parents": [
        "57d524154ffe99d27fb55e0e30ddbad9f4c35806",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:24 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:45 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc7\u0027 into perf/core\n\nMerge reason: pull in the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a3a4a5acd3bd2f6f1e102e1f1b9d2e2bb320a7fd",
      "tree": "8ed40e1c0bb654d824e39e6b42d1619a2807e75d",
      "parents": [
        "e5e06985bec89414ce2b3f301c24d884f609b020"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu May 05 23:55:18 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 06 13:20:59 2011 -0700"
      },
      "message": "Regression: partial revert \"tracing: Remove lock_depth from event entry\"\n\nThis partially reverts commit e6e1e2593592a8f6f6380496655d8c6f67431266.\n\nThat commit changed the structure layout of the trace structure, which\nin turn broke PowerTOP (1.9x generation) quite badly.\n\nI appreciate not wanting to expose the variable in question, and\nPowerTOP was not using it, so I\u0027ve replaced the variable with just a\npadding field - that way if in the future a new field is needed it can\njust use this padding field.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "32673822e440eb92eb334631eb0a199d0c532d13"
}
