)]}'
{
  "log": [
    {
      "commit": "58e8eedf18577c7eac722d5d1f190507ea263d1b",
      "tree": "6a44f69cf8711a4853fc4e921e77cc64784fa9f9",
      "parents": [
        "f17a5194859a82afe4164e938b92035b86c55794"
      ],
      "author": {
        "name": "Yoshihiro YUNOMAE",
        "email": "yoshihiro.yunomae.ez@hitachi.com",
        "time": "Tue Apr 23 10:32:39 2013 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 11 13:58:46 2013 -0400"
      },
      "message": "tracing: Fix outputting formats of x86-tsc and counter when use trace_clock\n\nOutputting formats of x86-tsc and counter should be a raw format, but after\napplying the patch(2b6080f28c7cc3efc8625ab71495aae89aeb63a0), the format was\nchanged to nanosec. This is because the global variable trace_clock_id was used.\nWhen we use multiple buffers, clock_id of each sub-buffer should be used. Then,\nthis patch uses tr-\u003eclock_id instead of the global variable trace_clock_id.\n\n[ Basically, this fixes a regression where the multibuffer code changed the\n  trace_clock file to update tr-\u003eclock_id but the traces still use the old\n  global trace_clock_id variable, negating the file\u0027s effect. The global\n  trace_clock_id variable is obsolete and removed. - SR ]\n\nLink: http://lkml.kernel.org/r/20130423013239.22334.7394.stgit@yunodevel\n\nSigned-off-by: Yoshihiro YUNOMAE \u003cyoshihiro.yunomae.ez@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f17a5194859a82afe4164e938b92035b86c55794",
      "tree": "d900ce9c7a19c37bb2840942c495da81ea748114",
      "parents": [
        "0184d50f9fd17658c232d6ee6d465a87f989d706"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 30 21:10:37 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 06 12:35:30 2013 -0400"
      },
      "message": "tracing: Use current_uid() for critical time tracing\n\nThe irqsoff tracer records the max time that interrupts are disabled.\nThere are hooks in the assembly code that calls back into the tracer when\ninterrupts are disabled or enabled.\n\nWhen they are enabled, the tracer checks if the amount of time they\nwere disabled is larger than the previous recorded max interrupts off\ntime. If it is, it creates a snapshot of the currently running trace\nto store where the last largest interrupts off time was held and how\nit happened.\n\nDuring testing, this RCU lockdep dump appeared:\n\n[ 1257.829021] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1257.829021] [ INFO: suspicious RCU usage. ]\n[ 1257.829021] 3.10.0-rc1-test+ #171 Tainted: G        W\n[ 1257.829021] -------------------------------\n[ 1257.829021] /home/rostedt/work/git/linux-trace.git/include/linux/rcupdate.h:780 rcu_read_lock() used illegally while idle!\n[ 1257.829021]\n[ 1257.829021] other info that might help us debug this:\n[ 1257.829021]\n[ 1257.829021]\n[ 1257.829021] RCU used illegally from idle CPU!\n[ 1257.829021] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[ 1257.829021] RCU used illegally from extended quiescent state!\n[ 1257.829021] 2 locks held by trace-cmd/4831:\n[ 1257.829021]  #0:  (max_trace_lock){......}, at: [\u003cffffffff810e2b77\u003e] stop_critical_timing+0x1a3/0x209\n[ 1257.829021]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff810dae5a\u003e] __update_max_tr+0x88/0x1ee\n[ 1257.829021]\n[ 1257.829021] stack backtrace:\n[ 1257.829021] CPU: 3 PID: 4831 Comm: trace-cmd Tainted: G        W    3.10.0-rc1-test+ #171\n[ 1257.829021] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007\n[ 1257.829021]  0000000000000001 ffff880065f49da8 ffffffff8153dd2b ffff880065f49dd8\n[ 1257.829021]  ffffffff81092a00 ffff88006bd78680 ffff88007add7500 0000000000000003\n[ 1257.829021]  ffff88006bd78680 ffff880065f49e18 ffffffff810daebf ffffffff810dae5a\n[ 1257.829021] Call Trace:\n[ 1257.829021]  [\u003cffffffff8153dd2b\u003e] dump_stack+0x19/0x1b\n[ 1257.829021]  [\u003cffffffff81092a00\u003e] lockdep_rcu_suspicious+0x109/0x112\n[ 1257.829021]  [\u003cffffffff810daebf\u003e] __update_max_tr+0xed/0x1ee\n[ 1257.829021]  [\u003cffffffff810dae5a\u003e] ? __update_max_tr+0x88/0x1ee\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810dbf85\u003e] update_max_tr_single+0x11d/0x12d\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e2b15\u003e] stop_critical_timing+0x141/0x209\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] ? trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e3057\u003e] time_hardirqs_on+0x2a/0x2f\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff8109550c\u003e] trace_hardirqs_on_caller+0x16/0x197\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810029b4\u003e] do_notify_resume+0x92/0x97\n[ 1257.829021]  [\u003cffffffff8154bdca\u003e] int_signal+0x12/0x17\n\nWhat happened was entering into the user code, the interrupts were enabled\nand a max interrupts off was recorded. The trace buffer was saved along with\nvarious information about the task: comm, pid, uid, priority, etc.\n\nThe uid is recorded with task_uid(tsk). But this is a macro that uses rcu_read_lock()\nto retrieve the data, and this happened to happen where RCU is blind (user_enter).\n\nAs only the preempt and irqs off tracers can have this happen, and they both\nonly have the tsk \u003d\u003d current, if tsk \u003d\u003d current, use current_uid() instead of\ntask_uid(), as current_uid() does not use RCU as only current can change its uid.\n\nThis fixes the RCU suspicious splat.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ca1643186d3dce6171d8f171e516b02496360a9e",
      "tree": "35e8b4bacd61a022ca8d3259cc01606b924ab109",
      "parents": [
        "6ed0106667d76589cb648c27edb4f4ffbf9d59ca"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 23 11:51:10 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 23 11:57:25 2013 -0400"
      },
      "message": "tracing: Fix crash when ftrace\u003dnop on the kernel command line\n\nIf ftrace\u003d\u003ctracer\u003e is on the kernel command line, when that tracer is\nregistered, it will be initiated by tracing_set_tracer() to execute that\ntracer.\n\nThe nop tracer is just a stub tracer that is used to have no tracer\nenabled. It is assigned at early bootup as it is the default tracer.\n\nBut if ftrace\u003dnop is on the kernel command line, the registering of the\nnop tracer will call tracing_set_tracer() which will try to execute\nthe nop tracer. But it expects tr-\u003ecurrent_trace to be assigned something\nas it usually is assigned to the nop tracer. As it hasn\u0027t been assigned\nto anything yet, it causes the system to crash.\n\nThe simple fix is to move the tr-\u003ecurrent_trace \u003d nop before registering\nthe nop tracer. The functionality is still the same as the nop tracer\ndoesn\u0027t do anything anyway.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6c24499f40d96bf07a85b709fb1bee5cea611a1d",
      "tree": "7f6591997eeb5b8a74246acb22780b9189cc1d56",
      "parents": [
        "500fcbc4a9f91dfd011c9a6caec80a55e14fd338"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 29 20:08:14 2013 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:23:08 2013 -0700"
      },
      "message": "tracing: Fix small merge bug\n\nDuring the 3.10 merge, a conflict happened and the resolution was\nalmost, but not quite, correct. An if statement was reversed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ Duh. That was just silly of me  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e8529afc4518f4e5d610001545ebc97e1333c79",
      "tree": "26e1aa2cbb50f3f511cfa7d8e39e6b7bd9221b68",
      "parents": [
        "ec25e246b94a3233ab064994ef05a170bdba0e7c",
        "4c69e6ea415a35eb7f0fc8ee9390c8f7436492a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 13:55:38 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 13:55:38 2013 -0700"
      },
      "message": "Merge tag \u0027trace-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace\n\nPull tracing updates from Steven Rostedt:\n \"Along with the usual minor fixes and clean ups there are a few major\n  changes with this pull request.\n\n   1) Multiple buffers for the ftrace facility\n\n  This feature has been requested by many people over the last few\n  years.  I even heard that Google was about to implement it themselves.\n  I finally had time and cleaned up the code such that you can now\n  create multiple instances of the ftrace buffer and have different\n  events go to different buffers.  This way, a low frequency event will\n  not be lost in the noise of a high frequency event.\n\n  Note, currently only events can go to different buffers, the tracers\n  (ie function, function_graph and the latency tracers) still can only\n  be written to the main buffer.\n\n   2) The function tracer triggers have now been extended.\n\n  The function tracer had two triggers.  One to enable tracing when a\n  function is hit, and one to disable tracing.  Now you can record a\n  stack trace on a single (or many) function(s), take a snapshot of the\n  buffer (copy it to the snapshot buffer), and you can enable or disable\n  an event to be traced when a function is hit.\n\n   3) A perf clock has been added.\n\n  A \"perf\" clock can be chosen to be used when tracing.  This will cause\n  ftrace to use the same clock as perf uses, and hopefully this will\n  make it easier to interleave the perf and ftrace data for analysis.\"\n\n* tag \u0027trace-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (82 commits)\n  tracepoints: Prevent null probe from being added\n  tracing: Compare to 1 instead of zero for is_signed_type()\n  tracing: Remove obsolete macro guard _TRACE_PROFILE_INIT\n  ftrace: Get rid of ftrace_profile_bits\n  tracing: Check return value of tracing_init_dentry()\n  tracing: Get rid of unneeded key calculation in ftrace_hash_move()\n  tracing: Reset ftrace_graph_filter_enabled if count is zero\n  tracing: Fix off-by-one on allocating stat-\u003epages\n  kernel: tracing: Use strlcpy instead of strncpy\n  tracing: Update debugfs README file\n  tracing: Fix ftrace_dump()\n  tracing: Rename trace_event_mutex to trace_event_sem\n  tracing: Fix comment about prefix in arch_syscall_match_sym_name()\n  tracing: Convert trace_destroy_fields() to static\n  tracing: Move find_event_field() into trace_events.c\n  tracing: Use TRACE_MAX_PRINT instead of constant\n  tracing: Use pr_warn_once instead of open coded implementation\n  ring-buffer: Add ring buffer startup selftest\n  tracing: Bring Documentation/trace/ftrace.txt up to date\n  tracing: Add \"perf\" trace_clock\n  ...\n\nConflicts:\n\tkernel/trace/ftrace.c\n\tkernel/trace/trace.c\n"
    },
    {
      "commit": "ae9f4939bad09767c0532f76ccc48cec0ff3ea4e",
      "tree": "7574e26436530fc3c10c848e0b740f05bb02930c",
      "parents": [
        "93263e5283d5c2bc447bc42956f4fa58a3a0a63a",
        "c481420248c6730246d2a1b1773d5d7007ae0835"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 14 11:10:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 14 11:10:44 2013 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"Misc fixlets\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix error return code\n  ftrace: Fix strncpy() use, use strlcpy() instead of strncpy()\n  perf: Fix strncpy() use, use strlcpy() instead of strncpy()\n  perf: Fix strncpy() use, always make sure it\u0027s NUL terminated\n  perf: Fix ring_buffer perf_output_space() boundary calculation\n  perf/x86: Fix uninitialized pt_regs in intel_pmu_drain_bts_buffer()\n"
    },
    {
      "commit": "ed6f1c996bfe4b6e520cf7a74b51cd6988d84420",
      "tree": "1d9da2d98d5e94cd9b6606cbf8f721925c53164e",
      "parents": [
        "f1943977e6648c1d42a78eda4ba4429a2bc0b786"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Wed Apr 10 09:18:12 2013 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 12 23:02:32 2013 -0400"
      },
      "message": "tracing: Check return value of tracing_init_dentry()\n\nCheck return value and bail out if it\u0027s NULL.\n\nLink: http://lkml.kernel.org/r/1365553093-10180-2-git-send-email-namhyung@kernel.org\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9607a869ee59594f3f7b9f3ac43a11d92bf3f960",
      "tree": "18dcec81e889275f3003535f9f2e96cdb7f50298",
      "parents": [
        "22f45649ce08642ad7df238d5c25fa5c86bfdd31"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Mon Apr 08 12:06:44 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 09 11:25:08 2013 -0400"
      },
      "message": "kernel: tracing: Use strlcpy instead of strncpy\n\nUse strlcpy() instead of strncpy() as it will always add a \u0027\\0\u0027\nto the end of the string even if the buffer is smaller than what\nis being copied.\n\nLink: http://lkml.kernel.org/r/51624254.30301@asianux.com\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2930e04d00e113ae24bb2b7c2b58de7b648a62c7",
      "tree": "60dc173d8370ec69d48f04f074ca78fb152d0c1f",
      "parents": [
        "fd4a5aef002bb57e8a35ed34d8a878034b9bde94"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 26 17:33:00 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@rostedt.homelinux.com",
        "time": "Mon Apr 08 12:24:22 2013 -0400"
      },
      "message": "tracing: Fix race with update_max_tr_single and changing tracers\n\nThe commit 34600f0e9 \"tracing: Fix race with max_tr and changing tracers\"\nfixed the updating of the main buffers with the race of changing\ntracers, but left out the fix to the updating of just a per cpu buffer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "67012ab1d2ce871afea4ee55408f233f97d09d07",
      "tree": "3f44d6c02233abb51848bfa991d571e86397b431",
      "parents": [
        "c97847d2f0eb77c806e650e04d9bbcf79fa05730"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Mon Apr 08 12:06:44 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 08 13:26:56 2013 +0200"
      },
      "message": "perf: Fix strncpy() use, use strlcpy() instead of strncpy()\n\nFor NUL terminated string we always need to set \u0027\\0\u0027 at the end.\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: rostedt@goodmis.org\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/51624254.30301@asianux.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "22f45649ce08642ad7df238d5c25fa5c86bfdd31",
      "tree": "f67c377dabc78fa54b3b815716751ccae4e0927c",
      "parents": [
        "7fe70b579c9e3daba71635e31b6189394e7b79d3"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 17:23:20 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 20 21:55:02 2013 -0400"
      },
      "message": "tracing: Update debugfs README file\n\nUpdate the README file in debugfs/tracing to something more useful.\nWhat\u0027s currently in the file is very old and what it shows doesn\u0027t\nhave much use. Heck, it tells you how to mount debugfs! But to read\nthis file you would have already needed to mount it.\n\nReplace the file with current up-to-date information. It\u0027s rather\nlimited, but what do you expect from a pseudo README file.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7fe70b579c9e3daba71635e31b6189394e7b79d3",
      "tree": "742f410da0aa17257e7d2c4aebe538729e27338f",
      "parents": [
        "52f6ad6dc3f4c6de598fe7cc9b629888d624aa52"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 13:10:35 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 19:24:56 2013 -0400"
      },
      "message": "tracing: Fix ftrace_dump()\n\nftrace_dump() had a lot of issues. What ftrace_dump() does, is when\nftrace_dump_on_oops is set (via a kernel parameter or sysctl), it\nwill dump out the ftrace buffers to the console when either a oops,\npanic, or a sysrq-z occurs.\n\nThis was written a long time ago when ftrace was fragile to recursion.\nBut it wasn\u0027t written well even for that.\n\nThere\u0027s a possible deadlock that can occur if a ftrace_dump() is happening\nand an NMI triggers another dump. This is because it grabs a lock\nbefore checking if the dump ran.\n\nIt also totally disables ftrace, and tracing for no good reasons.\n\nAs the ring_buffer now checks if it is read via a oops or NMI, where\nthere\u0027s a chance that the buffer gets corrupted, it will disable\nitself. No need to have ftrace_dump() do the same.\n\nftrace_dump() is now cleaned up where it uses an atomic counter to\nmake sure only one dump happens at a time. A simple atomic_inc_return()\nis enough that is needed for both other CPUs and NMIs. No need for\na spinlock, as if one CPU is running the dump, no other CPU needs\nto do it too.\n\nThe tracing_on variable is turned off and not turned on. The original\ncode did this, but it wasn\u0027t pretty. By just disabling this variable\nwe get the result of not seeing traces that happen between crashes.\n\nFor sysrq-z, it doesn\u0027t get turned on, but the user can always write\na \u00271\u0027 to the tracing_on file. If they are using sysrq-z, then they should\nknow about tracing_on.\n\nThe new code is much easier to read and less error prone. No more\ndeadlock possibility when an NMI triggers here.\n\nReported-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: stable@vger.kernel.org\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bd6df18716fa45bc4aa9587aca033de909e5382b",
      "tree": "843a8da1a65e05067621eef60bf87cb50b1e5a35",
      "parents": [
        "687c878afb526a0c3117dbc408ca76ad80d689f7"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Mon Mar 11 15:13:37 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 13:22:06 2013 -0400"
      },
      "message": "tracing: Use TRACE_MAX_PRINT instead of constant\n\nTRACE_MAX_PRINT macro is defined, but is not used.\n\nLink: http://lkml.kernel.org/r/513D8421.4070404@huawei.com\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "687c878afb526a0c3117dbc408ca76ad80d689f7",
      "tree": "235c0d1a9e293dfecde5d28dc42ff51e9452df62",
      "parents": [
        "6c43e554a2a5c1f2caf1733d46719bc58de3e37b"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Mon Mar 11 15:13:29 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 13:22:05 2013 -0400"
      },
      "message": "tracing: Use pr_warn_once instead of open coded implementation\n\nUse pr_warn_once, instead of making an open coded implementation.\n\nLink: http://lkml.kernel.org/r/513D8419.20400@huawei.com\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "76f119179b8ce3188a8c61d2486d37810a416655",
      "tree": "aa8e25756c29af47625d53b37896bca859408b63",
      "parents": [
        "8aacf017b065a805d27467843490c976835eb4a5"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 17:53:25 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:10 2013 -0400"
      },
      "message": "tracing: Add \"perf\" trace_clock\n\nThe function trace_clock() calls \"local_clock()\" which is exactly\nthe same clock that perf uses. I\u0027m not sure why perf doesn\u0027t call\ntrace_clock(), as trace_clock() doesn\u0027t have any users.\n\nBut now it does. As trace_clock() calls local_clock() like perf does,\nI added the trace_clock \"perf\" option that uses trace_clock().\n\nNow the ftrace buffers can use the same clock as perf uses. This\nwill be useful when perf starts reading the ftrace buffers, and will\nbe able to interleave them with the same clock data.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8aacf017b065a805d27467843490c976835eb4a5",
      "tree": "3e3ee23502cf2cc6d02baa1f7625b1ef16611eda",
      "parents": [
        "328df4759c03e2c3e7429cc6cb0e180c38f32063"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 13:13:45 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:09 2013 -0400"
      },
      "message": "tracing: Add \"uptime\" trace clock that uses jiffies\n\nAdd a simple trace clock called \"uptime\" for those that are\ninterested in the uptime of the trace. It uses jiffies as that\u0027s\nthe safest method, as other uptime clocks grab seq locks, which could\ncause a deadlock if taken from an event or function tracer.\n\nRequested-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "328df4759c03e2c3e7429cc6cb0e180c38f32063",
      "tree": "874c0aa7642cfe8ce1e4512464eae1d33e99391b",
      "parents": [
        "4df297129f622bdc18935c856f42b9ddd18f9f28"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 12:10:40 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:08 2013 -0400"
      },
      "message": "tracing: Add function-trace option to disable function tracing of latency tracers\n\nCurrently, the only way to stop the latency tracers from doing function\ntracing is to fully disable the function tracer from the proc file\nsystem:\n\n  echo 0 \u003e /proc/sys/kernel/ftrace_enabled\n\nThis is a big hammer approach as it disables function tracing for\nall users. This includes kprobes, perf, stack tracer, etc.\n\nInstead, create a function-trace option that the latency tracers can\ncheck to determine if it should enable function tracing or not.\nThis option can be set or cleared even while the tracer is active\nand the tracers will disable or enable function tracing depending\non how the option was set.\n\nInstead of using the proc file, disable latency function tracing with\n\n  echo 0 \u003e /debug/tracing/options/function-trace\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c142be8ebe0b7bf73c8a0063925623f3e4b980c0",
      "tree": "b4f05278ba776036475efe7bba7273568fd6c1bf",
      "parents": [
        "3cd715de261182413b3487abfffe1b6af41b81b3"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 13 09:55:57 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:05 2013 -0400"
      },
      "message": "tracing: Add skip argument to trace_dump_stack()\n\nAltough the trace_dump_stack() already skips three functions in\nthe call to stack trace, which gets the stack trace to start\nat the caller of the function, the caller may want to skip some\nmore too (as it may have helper functions).\n\nAdd a skip argument to the trace_dump_stack() that lets the caller\nskip back tracing functions that it doesn\u0027t care about.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "77fd5c15e3216b901be69047ca43b05ae9099951",
      "tree": "1790b9bacd1d371cf03902efaf99cdc9d08abdec",
      "parents": [
        "3209cff4490bee55fd2bc1d087cb8ecf2a686a88"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 12 11:49:18 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:01 2013 -0400"
      },
      "message": "tracing: Add snapshot trigger to function probes\n\n echo \u0027schedule:snapshot:1\u0027 \u003e /debug/tracing/set_ftrace_filter\n\nThis will cause the scheduler to trigger a snapshot the next time\nit\u0027s called (you can use any function that\u0027s not called by NMI).\n\nEven though it triggers only once, you still need to remove it with:\n\n echo \u0027!schedule:snapshot:0\u0027 \u003e /debug/tracing/set_ftrace_filter\n\nThe :1 can be left off for the first command:\n\n echo \u0027schedule:snapshot\u0027 \u003e /debug/tracing/set_ftrace_filter\n\nBut this will cause all calls to schedule to trigger a snapshot.\nThis must be removed without the \u0027:0\u0027\n\n echo \u0027!schedule:snapshot\u0027 \u003e /debug/tracing/set_ftrace_filter\n\nAs adding a \"count\" is a different operation (internally).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3209cff4490bee55fd2bc1d087cb8ecf2a686a88",
      "tree": "0fd63cd5faa888c44b5d2a20ffd5048fcbd8dccf",
      "parents": [
        "e1df4cb682ab2c3c2981c8efa4aec044e61f4e06"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 12 11:17:54 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:36:00 2013 -0400"
      },
      "message": "tracing: Add alloc/free_snapshot() to replace duplicate code\n\nAdd alloc_snapshot() and free_snapshot() to allocate and free the\nsnapshot buffer respectively, and use these to remove duplicate\ncode.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1b22e382ab40b0e3ee5abb3e310dffb16fee22aa",
      "tree": "2e6ca7c130fb6420ba955072275218c7ec287511",
      "parents": [
        "ca268da6e415448a43138e1abc5d5f057af319d7"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Sat Mar 09 00:56:08 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:57 2013 -0400"
      },
      "message": "tracing: Let tracing_snapshot() be used by modules but not NMI\n\nAdd EXPORT_SYMBOL_GPL() to let the tracing_snapshot() functions be\ncalled from modules.\n\nAlso add a test to see if the snapshot was called from NMI context\nand just warn in the tracing buffer if so, and return.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ca268da6e415448a43138e1abc5d5f057af319d7",
      "tree": "33fcaf68989e12fca96ad86bdece7eaac16d1545",
      "parents": [
        "9d3c752c062e3266f1051ba0825276ea1e2777da"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Sat Mar 09 00:40:58 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:56 2013 -0400"
      },
      "message": "tracing: Add internal ftrace trace_puts() for ftrace to use\n\nThere\u0027s a few places that ftrace uses trace_printk() for internal\nuse, but this requires context (normal, softirq, irq, NMI) buffers\nto keep things lockless. But the trace_puts() does not, as it can\nwrite the string directly into the ring buffer. Make a internal helper\nfor trace_puts() and have the internal functions use that.\n\nThis way the extra context buffers are not used.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "09ae72348eccb60e304cf8ce94653f4a78fcd407",
      "tree": "28c48644f71df4752556d9f5b15efb889e57af56",
      "parents": [
        "153e8ed913b022d2003866a848af9fadc041403f"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 08 21:02:34 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:55 2013 -0400"
      },
      "message": "tracing: Add trace_puts() for even faster trace_printk() tracing\n\nThe trace_printk() is extremely fast and is very handy as it can be\nused in any context (including NMIs!). But it still requires scanning\nthe fmt string for parsing the args. Even the trace_bprintk() requires\na scan to know what args will be saved, although it doesn\u0027t copy the\nformat string itself.\n\nSeveral times trace_printk() has no args, and wastes cpu cycles scanning\nthe fmt string.\n\nAdding trace_puts() allows the developer to use an even faster\ntracing method that only saves the pointer to the string in the\nring buffer without doing any format parsing at all. This will\nhelp remove even more of the \"Heisenbug\" effect, when debugging.\n\nAlso fixed up the F_printk()s for the ftrace internal bprint and print events.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "55034cd6e648155393b0d665eef76b38d49ad6bf",
      "tree": "3d51bc6a1f8c7bdf7f728113b3853f4c20441be9",
      "parents": [
        "f4e781c0a89d5810729772290441ac7d61f321ec"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 07 22:48:09 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:53 2013 -0400"
      },
      "message": "tracing: Add alloc_snapshot kernel command line parameter\n\nIf debugging the kernel, and the developer wants to use\ntracing_snapshot() in places where tracing_snapshot_alloc() may\nbe difficult (or more likely, the developer is lazy and doesn\u0027t\nwant to bother with tracing_snapshot_alloc() at all), then adding\n\n  alloc_snapshot\n\nto the kernel command line parameter will tell ftrace to allocate\nthe snapshot buffer (if configured) when it allocates the main\ntracing buffer.\n\nI also noticed that ring_buffer_expanded and tracing_selftest_disabled\nhad inconsistent use of boolean \"true\" and \"false\" with \"0\" and \"1\".\nI cleaned that up too.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f4e781c0a89d5810729772290441ac7d61f321ec",
      "tree": "bdfdb25b9ebc63ed0f552bc579f04d217f011370",
      "parents": [
        "f5eb5588262cab7232ed1d77cf612b327db50767"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 07 11:10:56 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:53 2013 -0400"
      },
      "message": "tracing: Move the tracing selftest code into its own function\n\nMove the tracing startup selftest code into its own function and\nwhen not enabled, always have that function succeed.\n\nThis makes the register_tracer() function much more readable.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad909e21bbe69f1d39055d346540abd827190eca",
      "tree": "0bb6dc03e46ab15d3fef884029bf1c4c8b3c172a",
      "parents": [
        "a695cb5816228f86576f5f5c6809fdf8ed382ece"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 06 21:45:37 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:51 2013 -0400"
      },
      "message": "tracing: Add internal tracing_snapshot() functions\n\nThe new snapshot feature is quite handy. It\u0027s a way for the user\nto take advantage of the spare buffer that, until then, only\nthe latency tracers used to \"snapshot\" the buffer when it hit\na max latency. Now users can trigger a \"snapshot\" manually when\nsome condition is hit in a program. But a snapshot currently can\nnot be triggered by a condition inside the kernel.\n\nWith the addition of tracing_snapshot() and tracing_snapshot_alloc(),\nsnapshots can now be taking when a condition is hit, and the\ndeveloper wants to snapshot the case without stopping the trace.\n\nNote, any snapshot will overwrite the old one, so take care\nin how this is done.\n\nThese new functions are to be used like tracing_on(), tracing_off()\nand trace_printk() are. That is, they should never be called\nin the mainline Linux kernel. They are solely for the purpose\nof debugging.\n\nThe tracing_snapshot() will not allocate a buffer, but it is\nsafe to be called from any context (except NMIs). But if a\nsnapshot buffer isn\u0027t allocated when it is called, it will write\nto the live buffer, complaining about the lack of a snapshot\nbuffer, and then stop tracing (giving you the \"permanent snapshot\").\n\ntracing_snapshot_alloc() will allocate the snapshot buffer if\nit was not already allocated and then take the snapshot. This routine\n*may sleep*, and must be called from context that can sleep.\nThe allocation is done with GFP_KERNEL and not atomic.\n\nIf you need a snapshot in an atomic context, say in early boot,\nthen it is best to call the tracing_snapshot_alloc() before then,\nwhere it will allocate the buffer, and then you can use the\ntracing_snapshot() anywhere you want and still get snapshots.\n\nCc: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a695cb5816228f86576f5f5c6809fdf8ed382ece",
      "tree": "922f12a1a2fab1efa16f74216d6883deeefd1b74",
      "parents": [
        "121aaee7b0a82605d33af200c7e9ebab6fd6e444"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 06 15:27:24 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:51 2013 -0400"
      },
      "message": "tracing: Prevent deleting instances when they are being read\n\nAdd a ref count to the trace_array structure and prevent removal\nof instances that have open descriptors.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "121aaee7b0a82605d33af200c7e9ebab6fd6e444",
      "tree": "aae2624780787bf1f2cf0c35a22b08fab0cf4f4a",
      "parents": [
        "ce9bae55972b228cf7bac34350c4d2caf8ea0d0b"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 21:52:25 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:50 2013 -0400"
      },
      "message": "tracing: Add per_cpu directory into tracing instances\n\nAdd the per_cpu directory to the created tracing instances:\n\n  cd /sys/kernel/debug/tracing/instances\n  mkdir foo\n  ls foo/per_cpu/cpu0\nbuffer_size_kb\tsnapshot_raw  trace\t  trace_pipe_raw\nsnapshot\tstats\t      trace_pipe\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ce9bae55972b228cf7bac34350c4d2caf8ea0d0b",
      "tree": "637ef0eb957989c40ae4749c090764cff640014d",
      "parents": [
        "737223fbca3b1c91feb947c7f571b35749b743b6"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 21:23:55 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:49 2013 -0400"
      },
      "message": "tracing: Add snapshot feature to instances\n\nAdd the \"snapshot\" file to the the multi-buffer instances.\n\n  cd /sys/kernel/debug/tracing/instances\n  mkdir foo\n  ls foo\nbuffer_size_kb  buffer_total_size_kb  events  free_buffer  set_event\nsnapshot  trace  trace_clock  trace_marker  trace_options  trace_pipe\ntracing_on\n  cat foo/snapshot\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\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "737223fbca3b1c91feb947c7f571b35749b743b6",
      "tree": "ff7a4e73785e909c5dd27584f6bfa5aab21a7153",
      "parents": [
        "45ad21ca5530efdca6a19e4a5ac5e7bd6e24f996"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 21:13:47 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:49 2013 -0400"
      },
      "message": "tracing: Consolidate buffer allocation code\n\nThere\u0027s a bit of duplicate code in creating the trace buffers for\nthe normal trace buffer and the max trace buffer among the instances\nand the main global_trace. This code can be consolidated and cleaned\nup a bit making the code cleaner and more readable as well as less\nduplication.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "45ad21ca5530efdca6a19e4a5ac5e7bd6e24f996",
      "tree": "7bc01dd23c577dae038281be2f644ef3e3e1354e",
      "parents": [
        "6de58e6269cd0568ca5fbae14423914eff0f7811"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 18:25:02 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:48 2013 -0400"
      },
      "message": "tracing: Have trace_array keep track if snapshot buffer is allocated\n\nThe snapshot buffer belongs to the trace array not the tracer that is\nrunning. The trace array should be the data structure that keeps track\nof whether or not the snapshot buffer is allocated, not the tracer\ndesciptor. Having the trace array keep track of it makes modifications\nso much easier.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6de58e6269cd0568ca5fbae14423914eff0f7811",
      "tree": "3ce4d96d1549925a2724ed713d76cf2f9683ff72",
      "parents": [
        "0b85ffc293044393623059eda9904a7d5b644e36"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 16:18:16 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:47 2013 -0400"
      },
      "message": "tracing: Add snapshot_raw to extract the raw data from snapshot\n\nAdd a \u0027snapshot_raw\u0027 per_cpu file that allows tools to read the raw\nbinary data of the snapshot buffer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f1affcaaa861f27752a769f889bf1486ebd301fe",
      "tree": "3ee782313a9c9d51be5d5e98ed9f93df8a08cfbc",
      "parents": [
        "12883efb670c28dff57dcd7f4f995a1ffe153b2d"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 14:35:11 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:46 2013 -0400"
      },
      "message": "tracing: Add snapshot in the per_cpu trace directories\n\nAdd the snapshot file into the per_cpu tracing directories to allow\nthem to be read for an individual cpu. This also allows to clear\nan individual cpu from the snapshot buffer.\n\nIf the kernel allows it (CONFIG_RING_BUFFER_ALLOW_SWAP is set), then\nechoing in \u00271\u0027 into one of the per_cpu snapshot files will do an\nindividual cpu buffer swap instead of the entire file.\n\nCc: Hiraku Toyooka \u003chiraku.toyooka.gu@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "12883efb670c28dff57dcd7f4f995a1ffe153b2d",
      "tree": "36dcb1c14aaf7afb6515ce9230a75d0602c7fab1",
      "parents": [
        "22cffc2bb4a50d8c56f03c56f9f19dea85b78e30"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 05 09:24:35 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:35:40 2013 -0400"
      },
      "message": "tracing: Consolidate max_tr into main trace_array structure\n\nCurrently, the way the latency tracers and snapshot feature works\nis to have a separate trace_array called \"max_tr\" that holds the\nsnapshot buffer. For latency tracers, this snapshot buffer is used\nto swap the running buffer with this buffer to save the current max\nlatency.\n\nThe only items needed for the max_tr is really just a copy of the buffer\nitself, the per_cpu data pointers, the time_start timestamp that states\nwhen the max latency was triggered, and the cpu that the max latency\nwas triggered on. All other fields in trace_array are unused by the\nmax_tr, making the max_tr mostly bloat.\n\nThis change removes the max_tr completely, and adds a new structure\ncalled trace_buffer, that holds the buffer pointer, the per_cpu data\npointers, the time_start timestamp, and the cpu where the latency occurred.\n\nThe trace_array, now has two trace_buffers, one for the normal trace and\none for the max trace or snapshot. By doing this, not only do we remove\nthe bloat from the max_trace but the instances of traces can now use\ntheir own snapshot feature and not have just the top level global_trace have\nthe snapshot feature and latency tracers for itself.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "873c642f5964b260480850040dec21e42d0ae4e4",
      "tree": "f240e11becc378584fe3892394d735e6bb865ac7",
      "parents": [
        "575380da8b46969a2c6a7e14a51056a63b30fe2e"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 04 23:26:06 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:57 2013 -0400"
      },
      "message": "tracing: Clear all trace buffers when unloaded module event was used\n\nCurrently we do not know what buffer a module event was enabled in.\nOn unload, it is safest to clear all buffer instances, not just the\ntop level buffer.\n\nTodo: Clear only the buffer that the event was used in. The\ninfrastructure is there to do this, but it makes the code a bit\nmore complex. Lets get the current code vetted before we add that.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
      "tree": "9ce7c378ec85134b84852b474e301e135187c0c0",
      "parents": [
        "b627344fef0c38fa4e3050348e168e46db87c905"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 28 19:59:17 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:50 2013 -0400"
      },
      "message": "tracing/ring-buffer: Move poll wake ups into ring buffer code\n\nMove the logic to wake up on ring buffer data into the ring buffer\ncode itself. This simplifies the tracing code a lot and also has the\nadded benefit that waiters on one of the instance buffers can be woken\nonly when data is added to that instance instead of data added to\nany instance.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b627344fef0c38fa4e3050348e168e46db87c905",
      "tree": "d828a640959fcb39667cbc56cd7cf8e75f34636f",
      "parents": [
        "cc60cdc952be09bca5b0bff9fefc7aa6185c3049"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 28 13:44:11 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:49 2013 -0400"
      },
      "message": "tracing: Fix read blocking on trace_pipe_raw\n\nIf the ring buffer is empty, a read to trace_pipe_raw wont block.\nThe tracing code has the infrastructure to wake up waiting readers,\nbut the trace_pipe_raw doesn\u0027t take advantage of that.\n\nWhen a read is done to trace_pipe_raw without the O_NONBLOCK flag\nset, have the read block until there\u0027s data in the requested buffer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cc60cdc952be09bca5b0bff9fefc7aa6185c3049",
      "tree": "d16c601f5848b556b3f02487a74af0835ede82fa",
      "parents": [
        "189e5784f6c5e001a84127b83f03bc76a8bfb1ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 28 09:17:16 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:49 2013 -0400"
      },
      "message": "tracing: Fix polling on trace_pipe_raw\n\nThe trace_pipe_raw never implemented polling and this was casing\nissues for several utilities. This is now implemented.\n\nBlocked reads still are on the TODO list.\n\nReported-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nTested-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "189e5784f6c5e001a84127b83f03bc76a8bfb1ec",
      "tree": "56aa2f0cc1d00fbc74f70b84b1c5f2eabe53cb19",
      "parents": [
        "92edca073c374f66b8eee20ec6426fb0cdb6c4d5"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 28 20:03:06 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:48 2013 -0400"
      },
      "message": "tracing: Do not block on splice if either file or splice NONBLOCK flag is set\n\nCurrently only the splice NONBLOCK flag is checked to determine if\nthe splice read should block or not. But the file descriptor NONBLOCK\nflag also needs to be checked.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0c8916c34203734d3b05953ebace52d7c2969f16",
      "tree": "f975bab6327e974b9f6a274b2e104b6ddd692f0c",
      "parents": [
        "277ba04461c2746cf935353474c0961161951b68"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Aug 07 16:14:16 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:45 2013 -0400"
      },
      "message": "tracing: Add rmdir to remove multibuffer instances\n\nAdd a method to the hijacked dentry descriptor of the\n\"instances\" directory to allow for rmdir to remove an\ninstance of a multibuffer.\n\nExample:\n\n  cd /debug/tracing/instances\n  mkdir hello\n  ls\nhello/\n  rmdir hello\n  ls\n\nLike the mkdir method, the i_mutex is dropped for the instances\ndirectory. The instances directory is created at boot up and can\nnot be renamed or removed. The trace_types_lock mutex is used to\nsynchronize adding and removing of instances.\n\nI\u0027ve run several stress tests with different threads trying to\ncreate and delete directories of the same name, and it has stood\nup fine.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "277ba04461c2746cf935353474c0961161951b68",
      "tree": "df2b8eb157c6725e606605f6acf40acbd4f13dd6",
      "parents": [
        "12ab74ee00d154bc05ea2fc659b7ce6519e5d5a6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Aug 03 16:10:49 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:44 2013 -0400"
      },
      "message": "tracing: Add interface to allow multiple trace buffers\n\nAdd the interface (\"instances\" directory) to add multiple buffers\nto ftrace. To create a new instance, simply do a mkdir in the\ninstances directory:\n\nThis will create a directory with the following:\n\n # cd instances\n # mkdir foo\n # ls foo\nbuffer_size_kb        free_buffer  trace_clock    trace_pipe\nbuffer_total_size_kb  set_event    trace_marker   tracing_enabled\nevents/               trace        trace_options  tracing_on\n\nCurrently only events are able to be set, and there isn\u0027t a way\nto delete a buffer when one is created (yet).\n\nNote, the i_mutex lock is dropped from the parent \"instances\"\ndirectory during the mkdir operation. As the \"instances\" directory\ncan not be renamed or deleted (created on boot), I do not see\nany harm in dropping the lock. The creation of the sub directories\nis protected by trace_types_lock mutex, which only lets one\ninstance get into the code path at a time. If two tasks try to\ncreate or delete directories of the same name, only one will occur\nand the other will fail with -EEXIST.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a7603ff4b5f7e26e67af82a4c3d05eeeb8d7b160",
      "tree": "2d348aeb190cf6c7ba43f97419b291251d6e04c5",
      "parents": [
        "ccb469a198cffac94a7eea0b69f715f06e2ddf15"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 06 16:24:11 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:43 2013 -0400"
      },
      "message": "tracing: Replace the static global per_cpu arrays with allocated per_cpu\n\nThe global and max-tr currently use static per_cpu arrays for the CPU data\ndescriptors. But in order to get new allocated trace_arrays, they need to\nbe allocated per_cpu arrays. Instead of using the static arrays, switch\nthe global and max-tr to use allocated data.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ccb469a198cffac94a7eea0b69f715f06e2ddf15",
      "tree": "a4de18987f64f115373a22379eef17d6d30ce9b8",
      "parents": [
        "2b6080f28c7cc3efc8625ab71495aae89aeb63a0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Aug 02 10:32:10 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:42 2013 -0400"
      },
      "message": "tracing: Pass the ftrace_file to the buffer lock reserve code\n\nPass the struct ftrace_event_file *ftrace_file to the\ntrace_event_buffer_lock_reserve() (new function that replaces the\ntrace_current_buffer_lock_reserver()).\n\nThe ftrace_file holds a pointer to the trace_array that is in use.\nIn the case of multiple buffers with different trace_arrays, this\nallows different events to be recorded into different buffers.\n\nAlso fixed some of the stale comments in include/trace/ftrace.h\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2b6080f28c7cc3efc8625ab71495aae89aeb63a0",
      "tree": "f3fe3b8a7ce99dda0da01f097255cae596083c88",
      "parents": [
        "ae3b5093ad6004b52e2825f3db1ad8200a2724d8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 11 13:29:49 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:42 2013 -0400"
      },
      "message": "tracing: Encapsulate global_trace and remove dependencies on global vars\n\nThe global_trace variable in kernel/trace/trace.c has been kept \u0027static\u0027 and\nlocal to that file so that it would not be used too much outside of that\nfile. This has paid off, even though there were lots of changes to make\nthe trace_array structure more generic (not depending on global_trace).\n\nRemoval of a lot of direct usages of global_trace is needed to be able to\ncreate more trace_arrays such that we can add multiple buffers.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ae3b5093ad6004b52e2825f3db1ad8200a2724d8",
      "tree": "fb4918a6300a3d3016cf06da2de192a58514ee71",
      "parents": [
        "ae63b31e4d0e2ec09c569306ea46f664508ef717"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 23 15:22:59 2013 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:41 2013 -0400"
      },
      "message": "tracing: Use RING_BUFFER_ALL_CPUS for TRACE_PIPE_ALL_CPU\n\nBoth RING_BUFFER_ALL_CPUS and TRACE_PIPE_ALL_CPU are defined as\n-1 and used to say that all the ring buffers are to be modified\nor read (instead of just a single cpu, which would be \u003e\u003d 0).\n\nThere\u0027s no reason to keep TRACE_PIPE_ALL_CPU as it is also started\nto be used for more than what it was created for, and now that\nthe ring buffer code added a generic RING_BUFFER_ALL_CPUS define,\nwe can clean up the trace code to use that instead and remove\nthe TRACE_PIPE_ALL_CPU macro.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ae63b31e4d0e2ec09c569306ea46f664508ef717",
      "tree": "0d40e8fddca53d1776254cd92fc73bc4413ee1f5",
      "parents": [
        "613f04a0f51e6e68ac6fe571ab79da3c0a5eb4da"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 03 23:09:03 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 00:34:40 2013 -0400"
      },
      "message": "tracing: Separate out trace events from global variables\n\nThe trace events for ftrace are all defined via global variables.\nThe arrays of events and event systems are linked to a global list.\nThis prevents multiple users of the event system (what to enable and\nwhat not to).\n\nBy adding descriptors to represent the event/file relation, as well\nas to which trace_array descriptor they are associated with, allows\nfor more than one set of events to be defined. Once the trace events\nfiles have a link between the trace event and the trace_array they\nare associated with, we can create multiple trace_arrays that can\nrecord separate events in separate buffers.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "613f04a0f51e6e68ac6fe571ab79da3c0a5eb4da",
      "tree": "2bc6da65edff6669f68010a22595861af26fe44d",
      "parents": [
        "80902822658aab18330569587cdb69ac1dfdcea8"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 15:03:53 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 23:40:21 2013 -0400"
      },
      "message": "tracing: Prevent buffer overwrite disabled for latency tracers\n\nThe latency tracers require the buffers to be in overwrite mode,\notherwise they get screwed up. Force the buffers to stay in overwrite\nmode when latency tracers are enabled.\n\nAdded a flag_changed() method to the tracer structure to allow\nthe tracers to see what flags are being changed, and also be able\nto prevent the change from happing.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "80902822658aab18330569587cdb69ac1dfdcea8",
      "tree": "552d06bf6a7dfcc6c392d7103cfc84e725545c75",
      "parents": [
        "69d34da2984c95b33ea21518227e1f9470f11d95"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 14:20:54 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 23:40:15 2013 -0400"
      },
      "message": "tracing: Keep overwrite in sync between regular and snapshot buffers\n\nChanging the overwrite mode for the ring buffer via the trace\noption only sets the normal buffer. But the snapshot buffer could\nswap with it, and then the snapshot would be in non overwrite mode\nand the normal buffer would be in overwrite mode, even though the\noption flag states otherwise.\n\nKeep the two buffers overwrite modes in sync.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "69d34da2984c95b33ea21518227e1f9470f11d95",
      "tree": "d7e414084fd0d64d6e7dd87f7d2e42961c323764",
      "parents": [
        "740466bc89ad8bd5afcc8de220f715f62b21e365"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 13:50:56 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 13:50:56 2013 -0400"
      },
      "message": "tracing: Protect tracer flags with trace_types_lock\n\nSeems that the tracer flags have never been protected from\nsynchronous writes. Luckily, admins don\u0027t usually modify the\ntracing flags via two different tasks. But if scripts were to\nbe used to modify them, then they could get corrupted.\n\nMove the trace_types_lock that protects against tracers changing\nto also protect the flags being set.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2721e72dd10f71a3ba90f59781becf02638aa0d9",
      "tree": "ce9ce816859204d843fff6917f19d16585ab3782",
      "parents": [
        "1abccd7419de9829bcdf9ab1f81d5f6cf74d55d3"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 12 11:32:32 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 12 11:56:33 2013 -0400"
      },
      "message": "tracing: Fix race in snapshot swapping\n\nAlthough the swap is wrapped with a spin_lock, the assignment\nof the temp buffer used to swap is not within that lock.\nIt needs to be moved into that lock, otherwise two swaps\nhappening on two different CPUs, can end up using the wrong\ntemp buffer to assign in the swap.\n\nLuckily, all current callers of the swap function appear to have\ntheir own locks. But in case something is added that allows two\ndifferent callers to call the swap, then there\u0027s a chance that\nthis race can trigger and corrupt the buffers.\n\nNew code is coming soon that will allow for this race to trigger.\n\nI\u0027ve Cc\u0027d stable, so this bug will not show up if someone backports\none of the changes that can trigger this bug.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "6d158a813efcd09661c23f16ddf7e2ff834cb20c"
}
