)]}'
{
  "log": [
    {
      "commit": "0a772620a2e21fb55a02f70fe38d4b5c3a5fbbbf",
      "tree": "f868daa13783b0dc99f43c53c2a53c2dfa92b85e",
      "parents": [
        "a9d61173dc1cb63e660ae89e874e51ba4fd2f991"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Sep 23 14:00:52 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 18 10:53:28 2010 -0400"
      },
      "message": "tracing: Make graph related irqs/preemptsoff functions global\n\nMove trace_graph_function() and print_graph_headers_flags() functions\nto the trace_function_graph.c to be globaly available.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1285243253-7372-3-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9",
      "tree": "1f69733e5daab4915a76a41de0e4d1dc61e12cfb",
      "parents": [
        "3a3527b6461b1298cc53ce72f336346739297ac8",
        "fc9ea5a1e53ee54f681e226d735008e2a6f8f470"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:30:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:30:52 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)\n  tracing/kprobes: unregister_trace_probe needs to be called under mutex\n  perf: expose event__process function\n  perf events: Fix mmap offset determination\n  perf, powerpc: fsl_emb: Restore setting perf_sample_data.period\n  perf, powerpc: Convert the FSL driver to use local64_t\n  perf tools: Don\u0027t keep unreferenced maps when unmaps are detected\n  perf session: Invalidate last_match when removing threads from rb_tree\n  perf session: Free the ref_reloc_sym memory at the right place\n  x86,mmiotrace: Add support for tracing STOS instruction\n  perf, sched migration: Librarize task states and event headers helpers\n  perf, sched migration: Librarize the GUI class\n  perf, sched migration: Make the GUI class client agnostic\n  perf, sched migration: Make it vertically scrollable\n  perf, sched migration: Parameterize cpu height and spacing\n  perf, sched migration: Fix key bindings\n  perf, sched migration: Ignore unhandled task states\n  perf, sched migration: Handle ignored migrate out events\n  perf: New migration tool overview\n  tracing: Drop cpparg() macro\n  perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call\n  ...\n\nFix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c\n"
    },
    {
      "commit": "955b61e597984745fb7d34c75708f6503b6aaeab",
      "tree": "c928ca54a8231b0432e729d8b675e473a5db9104",
      "parents": [
        "3f0a55e3579a500ce9f5cdab70a5741f99769118"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:23 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:23 2010 -0500"
      },
      "message": "ftrace,kdb: Extend kdb to be able to dump the ftrace buffer\n\nAdd in a helper function to allow the kdb shell to dump the ftrace\nbuffer.\n\nModify trace.c to expose the capability to iterate over the ftrace\nbuffer in a read only capacity.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "3a01736e70a7d629140695ba46a901266b4460cc",
      "tree": "49ff8ce1e7c6a267f0ce84b5daddbe6666bc4253",
      "parents": [
        "4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb",
        "24a461d537f49f9da6533d83100999ea08c6c755"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "ef710e100c1068d3dd5774d2b34c5485219e06ce",
      "tree": "ed295053a31de472d4ed4338679c00ac8e8437c7",
      "parents": [
        "bc289ae98b75d93228d24f521ef02a076e506e94"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Jul 01 14:34:35 2010 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 21 10:20:17 2010 -0400"
      },
      "message": "tracing: Shrink max latency ringbuffer if unnecessary\n\nDocumentation/trace/ftrace.txt says\n\n  buffer_size_kb:\n\n        This sets or displays the number of kilobytes each CPU\n        buffer can hold. The tracer buffers are the same size\n        for each CPU. The displayed number is the size of the\n        CPU buffer and not total size of all buffers. The\n        trace buffers are allocated in pages (blocks of memory\n        that the kernel uses for allocation, usually 4 KB in size).\n        If the last page allocated has room for more bytes\n        than requested, the rest of the page will be used,\n        making the actual allocation bigger than requested.\n        ( Note, the size may not be a multiple of the page size\n          due to buffer management overhead. )\n\n        This can only be updated when the current_tracer\n        is set to \"nop\".\n\nBut it\u0027s incorrect. currently total memory consumption is\n\u0027buffer_size_kb x CPUs x 2\u0027.\n\nWhy two times difference is there? because ftrace implicitly allocate\nthe buffer for max latency too.\n\nThat makes sad result when admin want to use large buffer. (If admin\nwant full logging and makes detail analysis). example, If admin\nhave 24 CPUs machine and write 200MB to buffer_size_kb, the system\nconsume ~10GB memory (200MB x 24 x 2). umm.. 5GB memory waste is\nusually unacceptable.\n\nFortunatelly, almost all users don\u0027t use max latency feature.\nThe max latency buffer can be disabled easily.\n\nThis patch shrink buffer size of the max latency buffer if\nunnecessary.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLKML-Reference: \u003c20100701104554.DA2D.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e870e9a1240bcef1157ffaaf71dac63362e71904",
      "tree": "b8f57a68ff45b35dab8cdfa474e17622d275bdc6",
      "parents": [
        "cc5edb0eb9ce892b530e34a5d110382483587942"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 02 11:07:32 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 20 21:52:33 2010 -0400"
      },
      "message": "tracing: Allow to disable cmdline recording\n\nWe found that even enabling a single trace event that will rarely be\ntriggered can add big overhead to context switch.\n\n(lmbench context switch test)\n -------------------------------------------------\n 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K\n ctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw\n------ ------ ------ ------ ------ ------- -------\n  2.19   2.3   2.21   2.56   2.13     2.54    2.07\n  2.39   2.51  2.35   2.75   2.27     2.81    2.24\n\nThe overhead is 6% ~ 11%.\n\nIt\u0027s because when a trace event is enabled 3 tracepoints (sched_switch,\nsched_wakeup, sched_wakeup_new) will be activated to map pid to cmdname.\n\nWe\u0027d like to avoid this overhead, so add a trace option \u0027(no)record-cmd\u0027\nto allow to disable cmdline recording.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4C2D57F4.2050204@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eb7beb5c09af75494234ea6acd09d0a647cf7338",
      "tree": "ab76cb3a6c1f1ea9befbbc72d0f997c03423dd57",
      "parents": [
        "f376bf5ffbad863d4bc3b2586b7e34cdf756ad17"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 16 00:50:03 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 14:31:07 2010 +0200"
      },
      "message": "tracing: Remove special traces\n\nSpecial traces type was only used by sysprof. Lets remove it now\nthat sysprof ftrace plugin has been dropped.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Soeren Sandmann \u003csandmann@daimi.au.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "f376bf5ffbad863d4bc3b2586b7e34cdf756ad17",
      "tree": "712a78b2b455995ceb4e12b5ae02df76dc07f01e",
      "parents": [
        "cc5edb0eb9ce892b530e34a5d110382483587942"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 16 00:26:26 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 14:29:46 2010 +0200"
      },
      "message": "tracing: Remove sysprof ftrace plugin\n\nThe sysprof ftrace plugin doesn\u0027t seem to be seriously used\nsomewhere. There is a branch in the sysprof tree that makes\nan interface to it, but the real sysprof tool uses either its\nown module or perf events.\n\nDrop the sysprof ftrace plugin then, as it\u0027s mostly useless.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Soeren Sandmann \u003csandmann@daimi.au.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "5d550467b9770042e9699690907babc32104a8d4",
      "tree": "eda923f5976f5d6f881719998207696147cffa41",
      "parents": [
        "86a8c63f75a4582c44465e2bf71bc2df175cee77"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 15 23:27:35 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 15 23:59:33 2010 +0200"
      },
      "message": "tracing: Remove ksym tracer\n\nThe ksym (breakpoint) ftrace plugin has been superseded by perf\ntools that are much more poweful to use the cpu breakpoints.\nThis tracer doesn\u0027t bring more feature. It has been deprecated\nfor a while now, lets remove it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8728fe501ed562c1b46dde3c195eadec77bca033",
      "tree": "c911b4a6af85817ba6bdf3342cbae4838c14b1bb",
      "parents": [
        "c9642c49aae1272d7c24008a40ae614470b957a6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 24 16:22:49 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 28 17:12:46 2010 -0400"
      },
      "message": "tracing: Don\u0027t allocate common fields for every trace events\n\nEvery event has the same common fields, so it\u0027s a big waste of\nmemory to have a copy of those fields for every event.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BFA3759.30105@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8",
      "tree": "3f44aa013d31d34951e9610e79ff14c1148ad6ac",
      "parents": [
        "7be7923633a142402266d642ccebf74f556a649b",
        "018378c55b03f88ff513aba4e0e93b8d4a9cf241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:57 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "039ca4e74a1cf60bd7487324a564ecf5c981f254",
      "tree": "61c6fa8409961d2e22ef9d04ac54442734ebd41a",
      "parents": [
        "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 26 17:22:17 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 09 17:31:22 2010 +0200"
      },
      "message": "tracing: Remove kmemtrace ftrace plugin\n\nWe have been resisting new ftrace plugins and removing existing\nones, and kmemtrace has been superseded by kmem trace events\nand perf-kmem, so we remove it.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ remove kmemtrace from the makefile, handle slob too ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e",
      "tree": "b28f8232756e0de57ded858d6584724317b405ef",
      "parents": [
        "b0f82b81fe6bbcf78d478071f33e44554726bc81"
      ],
      "author": {
        "name": "Américo Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed May 26 18:57:53 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:31:28 2010 +0200"
      },
      "message": "tracing: Remove boot tracer\n\nThe boot tracer is useless. It simply logs the initcalls\nbut in fact these initcalls are also logged through printk\nwhile using the initcall_debug kernel parameter.\n\nNobody seem to be using it so far. Then just remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c20100526105753.GA5677@cr0.nay.redhat.com\u003e\n[ remove the hooks in main.c, and the headers ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "5168ae50a66e3ff7184c2b16d661bd6d70367e50",
      "tree": "2fb21fc3bd346e4f589605d940dfb1bacac30bf5",
      "parents": [
        "d1f74e20b5b064a130cd0743a256c2d3cfe84010"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 03 09:36:50 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 03 19:32:38 2010 -0400"
      },
      "message": "tracing: Remove ftrace_preempt_disable/enable\n\nThe ftrace_preempt_disable/enable functions were to address a\nrecursive race caused by the function tracer. The function tracer\ntraces all functions which makes it easily susceptible to recursion.\nOne area was preempt_enable(). This would call the scheduler and\nthe schedulre would call the function tracer and loop.\n(So was it thought).\n\nThe ftrace_preempt_disable/enable was made to protect against recursion\ninside the scheduler by storing the NEED_RESCHED flag. If it was\nset before the ftrace_preempt_disable() it would not call schedule\non ftrace_preempt_enable(), thinking that if it was set before then\nit would have already scheduled unless it was already in the scheduler.\n\nThis worked fine except in the case of SMP, where another task would set\nthe NEED_RESCHED flag for a task on another CPU, and then kick off an\nIPI to trigger it. This could cause the NEED_RESCHED to be saved at\nftrace_preempt_disable() but the IPI to arrive in the the preempt\ndisabled section. The ftrace_preempt_enable() would not call the scheduler\nbecause the flag was already set before entring the section.\n\nThis bug would cause a missed preemption check and cause lower latencies.\n\nInvestigating further, I found that the recusion caused by the function\ntracer was not due to schedule(), but due to preempt_schedule(). Now\nthat preempt_schedule is completely annotated with notrace, the recusion\nno longer is an issue.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f0218b3e9974f06014b61be8987159f4a20e011e",
      "tree": "29a593c4d71ab18cb0c450a34e79bf6bea66877e",
      "parents": [
        "1eaa4787a774c4896518c81f24e8bccaa2244924",
        "9d192e118a094087494997ea1c8a2faf39af38c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 17 22:26:53 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 18 00:35:23 2010 -0400"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-6\n\nConflicts:\n\tinclude/trace/ftrace.h\n\tkernel/trace/trace_kprobe.c\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e1f7992e015ae1373d66c8068d0a45e4111a0aed",
      "tree": "8d4ce98a0039a5ab13e72f1c1862a595be1d9987",
      "parents": [
        "553552ce1796c32cf4e3d4f45cd5b537de91dd1d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 10 11:23:00 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:24 2010 -0400"
      },
      "message": "tracing: Fix function declarations if !CONFIG_STACKTRACE\n\nftrace_trace_stack() and frace_trace_userstacke() take a\nstruct ring_buffer argument, not struct trace_array. Commit\ne77405ad(\"tracing: pass around ring buffer instead of tracer\")\nmade this change.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BE77C14.5010806@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "553552ce1796c32cf4e3d4f45cd5b537de91dd1d",
      "tree": "a65defc1055bcc3e9f34327d2cc59704e536948b",
      "parents": [
        "32c0edaeaad74a7883e736ae0f3798784cfc2a80"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:22 2010 -0400"
      },
      "message": "tracing: Combine event filter_active and enable into single flags field\n\nThe filter_active and enable both use an int (4 bytes each) to\nset a single flag. We can save 4 bytes per event by combining the\ntwo into a single integer.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4894944\t1018052\t 861512\t6774508\t 675eec\tvmlinux.id\n4894871\t1012292\t 861512\t6768675\t 674823\tvmlinux.flags\n\nThis gives us another 5K in savings.\n\nThe modification of both the enable and filter fields are done\nunder the event_mutex, so it is still safe to combine the two.\n\nNote: Although Mathieu gave his Acked-by, he would like it documented\n that the reads of flags are not protected by the mutex. The way the\n code works, these reads will not break anything, but will have a\n residual effect. Since this behavior is the same even before this\n patch, describing this situation is left to another patch, as this\n patch does not change the behavior, but just brought it to Mathieu\u0027s\n attention.\n\nv2: Updated the event trace self test to for this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2e33af029556cb8bd22bf4f86f42d540249177ea",
      "tree": "8a479d21300c7692d61093846054f626e3e71ed5",
      "parents": [
        "2239291aeb0379fe47980b0e560e0eb9fd7e82ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 10:35:55 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:23 2010 -0400"
      },
      "message": "tracing: Move fields from event to class structure\n\nMove the defined fields from the event to the class structure.\nSince the fields of the event are defined by the class they belong\nto, it makes sense to have the class hold the information instead\nof the individual events. The events of the same class would just\nhold duplicate information.\n\nAfter this change the size of the kernel dropped another 3K:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900252\t1057412\t 861512\t6819176\t 680d68\tvmlinux.regs\n4900375\t1053380\t 861512\t6815267\t 67fe23\tvmlinux.fields\n\nAlthough the text increased, this was mainly due to the C files\nhaving to adapt to the change. This is a constant increase, where\nnew tracepoints will not increase the Text. But the big drop is\nin the data size (as well as needed allocations to hold the fields).\nThis will give even more savings as more tracepoints are created.\n\nNote, if just TRACE_EVENT()s are used and not DECLARE_EVENT_CLASS()\nwith several DEFINE_EVENT()s, then the savings will be lost. But\nwe are pushing developers to consolidate events with DEFINE_EVENT()\nso this should not be an issue.\n\nThe kprobes define a unique class to every new event, but are dynamic\nso it should not be a issue.\n\nThe syscalls however have a single class but the fields for the individual\nevents are different. The syscalls use a metadata to define the\nfields. I moved the fields list from the event to the metadata and\nadded a \"get_fields()\" function to the class. This function is used\nto find the fields. For normal events and kprobes, get_fields() just\nreturns a pointer to the fields list_head in the class. For syscall\nevents, it returns the fields list_head in the metadata for the event.\n\nv2:  Fixed the syscall fields. The syscall metadata needs a list\n     of fields for both enter and exit.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "62b915f1060996a8e1f69be50e3b8e9e43b710cb",
      "tree": "26741f065b30b67022d680c3bc2afbda319638e1",
      "parents": [
        "d7a8d9e907cc294ec7a4a7046d1886375fbcc82e"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Apr 02 19:01:22 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 27 12:36:53 2010 -0400"
      },
      "message": "tracing: Add graph output support for irqsoff tracer\n\nAdd function graph output to irqsoff tracer.\n\nThe graph output is enabled by setting new \u0027display-graph\u0027 trace option.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1270227683-14631-4-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d7a8d9e907cc294ec7a4a7046d1886375fbcc82e",
      "tree": "5487e297eafdf978a7355ff11f337c98ddf98f74",
      "parents": [
        "9106b69382912ddc403a307b69bf894a6f3004e4"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Apr 02 19:01:21 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 26 17:30:18 2010 -0400"
      },
      "message": "tracing: Have graph flags passed in to ouput functions\n\nLet the function graph tracer have custom flags passed to its\noutput functions.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1270227683-14631-3-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "93ccae7a2227466a0d071fe52c51319f2f34c365",
      "tree": "ad98a4db74fff834ce79b83f21192713cc3665bc",
      "parents": [
        "df0faf4be02996135bc3a06b4f34360449c78084"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 12 13:17:08 2010 -0400"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 14 17:26:28 2010 -0300"
      },
      "message": "tracing/kprobes: Support basic types on dynamic events\n\nSupport basic types of integer (u8, u16, u32, u64, s8, s16, s32, s64) in\nkprobe tracer. With this patch, users can specify above basic types on\neach arguments after \u0027:\u0027. If omitted, the argument type is set as\nunsigned long (u32 or u64, arch-dependent).\n\n e.g.\n  echo \u0027p account_system_time+0 hardirq_offset\u003d%si:s32\u0027 \u003e kprobe_events\n\n  adds a probe recording hardirq_offset in signed-32bits value on the\n  entry of account_system_time.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20100412171708.3790.18599.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "faa4602e47690fb11221e00f9b9697c8dc0d4b19",
      "tree": "af667d1cdff7dc63b6893ee3f27a1f2503229ed1",
      "parents": [
        "7c5ecaf7666617889f337296c610815b519abfa9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 25 14:51:50 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 26 11:33:55 2010 +0100"
      },
      "message": "x86, perf, bts, mm: Delete the never used BTS-ptrace code\n\nSupport for the PMU\u0027s BTS features has been upstreamed in\nv2.6.32, but we still have the old and disabled ptrace-BTS,\nas Linus noticed it not so long ago.\n\nIt\u0027s buggy: TIF_DEBUGCTLMSR is trampling all over that MSR without\nregard for other uses (perf) and doesn\u0027t provide the flexibility\nneeded for perf either.\n\nIts users are ptrace-block-step and ptrace-bts, since ptrace-bts\nwas never used and ptrace-block-step can be implemented using a\nmuch simpler approach.\n\nSo axe all 3000 lines of it. That includes the *locked_memory*()\nAPIs in mm/mlock.c as well.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20100325135413.938004390@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
      "tree": "711b6da2a665e26940c59b9db493c59d879f6cc6",
      "parents": [
        "461d208cfbd1f0af26027b2c35ded515e54b1ee6",
        "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Do not record user stack trace from NMI context\n  tracing: Disable buffer switching when starting or stopping trace\n  tracing: Use same local variable when resetting the ring buffer\n  function-graph: Init curr_ret_stack with ret_stack\n  ring-buffer: Move disabled check into preempt disable section\n  function-graph: Add tracing_thresh support to function_graph tracer\n  tracing: Update the comm field in the right variable in update_max_tr\n  function-graph: Use comment notation for func names of dangling \u0027}\u0027\n  function-graph: Fix unused reference to ftrace_set_func()\n  tracing: Fix warning in s_next of trace file ops\n  tracing: Include irqflags headers from trace clock\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "0e95017355dcf43031da6d0e360a748717e56df1",
      "tree": "829989bfb494e8d2d773d9dc1bc014b7f28d3bed",
      "parents": [
        "1acaa1b2d9b5904c9cce06122990a2d71046ce16"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu Feb 25 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:20:57 2010 -0500"
      },
      "message": "function-graph: Add tracing_thresh support to function_graph tracer\n\nAdd support for tracing_thresh to the function_graph tracer.  This\nversion of this feature isolates the checks into new entry and\nreturn functions, to avoid adding more conditional code into the\nmain function_graph paths.\n\nWhen the tracing_thresh is set and the function graph tracer is\nenabled, only the functions that took longer than the time in\nmicroseconds that was set in tracing_thresh are recorded. To do this\nefficiently, only the function exits are recorded:\n\n [tracing]# echo 100 \u003e tracing_thresh\n [tracing]# echo function_graph \u003e current_tracer\n [tracing]# cat trace\n # tracer: function_graph\n #\n # CPU  DURATION                  FUNCTION CALLS\n # |     |   |                     |   |   |   |\n  1) ! 119.214 us  |  } /* smp_apic_timer_interrupt */\n  1)   \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d |\n  0) ! 101.527 us  |              } /* __rcu_process_callbacks */\n  0) ! 126.461 us  |            } /* rcu_process_callbacks */\n  0) ! 145.111 us  |          } /* __do_softirq */\n  0) ! 149.667 us  |        } /* do_softirq */\n  0) ! 168.817 us  |      } /* irq_exit */\n  0) ! 248.254 us  |    } /* smp_apic_timer_interrupt */\n\nAlso, add support for specifying tracing_thresh on the kernel\ncommand line.  When used like so: \"tracing_thresh\u003d200 ftrace\u003dfunction_graph\"\nthis can be used to analyse system startup.  It is important to disable\ntracing soon after boot, in order to avoid losing the trace data.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nLKML-Reference: \u003c4B87098B.4040308@am.sony.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "86c38a31aa7f2dd6e74a262710bf8ebf7455acc5",
      "tree": "167d2c46917233373e597cc5f82d3f9132170e65",
      "parents": [
        "0c54dd341fb701928b8e5dca91ced1870c55b05b"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Feb 24 13:59:23 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 25 09:38:11 2010 -0500"
      },
      "message": "tracing: Fix ftrace_event_call alignment for use with gcc 4.5\n\nGCC 4.5 introduces behavior that forces the alignment of structures to\n use the largest possible value. The default value is 32 bytes, so if\n some structures are defined with a 4-byte alignment and others aren\u0027t\n declared with an alignment constraint at all - it will align at 32-bytes.\n\n For things like the ftrace events, this results in a non-standard array.\n When initializing the ftrace subsystem, we traverse the _ftrace_events\n section and call the initialization callback for each event. When the\n structures are misaligned, we could be treating another part of the\n structure (or the zeroed out space between them) as a function pointer.\n\n This patch forces the alignment for all the ftrace_event_call structures\n to 4 bytes.\n\n Without this patch, the kernel fails to boot very early when built with\n gcc 4.5.\n\n It\u0027s trivial to check the alignment of the members of the array, so it\n might be worthwhile to add something to the build system to do that\n automatically. Unfortunately, that only covers this case. I\u0027ve asked one\n of the gcc developers about adding a warning when this condition is seen.\n\nCc: stable@kernel.org\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nLKML-Reference: \u003c4B85770B.6010901@suse.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7c6b1fe9f942c1a30585ec2210a09dfff238506",
      "tree": "de7780b1b6cff9c8f33c9de1240a0b19bea9aa94",
      "parents": [
        "ede55c9d78101fef0d8e620940a5163f14b02f29"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 10 15:43:04 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 11 14:32:38 2010 -0500"
      },
      "message": "ftrace: Allow to remove a single function from function graph filter\n\nI don\u0027t see why we can only clear all functions from the filter.\n\nAfter patching:\n\n  # echo sys_open \u003e set_graph_function\n  # echo sys_close \u003e\u003e set_graph_function\n  # cat set_graph_function\n  sys_open\n  sys_close\n  # echo \u0027!sys_close\u0027 \u003e\u003e set_graph_function\n  # cat set_graph_function\n  sys_open\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B726388.2000408@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1537a3638cbf741d3826c1002026cce487a6bee0",
      "tree": "ccb28bc0cbad64686c7cff704a6e7ee898aff35f",
      "parents": [
        "b5218a87cbe0f01d551b2dae90b54cad8ded72df"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Fri Jan 29 15:57:49 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:45 2010 +0100"
      },
      "message": "tree-wide: fix \u0027lenght\u0027 typo in comments and code\n\nSome misspelled occurences of \u0027octet\u0027 and some comments were also fixed\nas I was on it.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ea2c68a08fedb5053ba312d661e47df9f4d72411",
      "tree": "76e5e61b8377aac6283670481171bf899905052b",
      "parents": [
        "24a53652e361321b09df5040711e69387344ce09"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 13 19:38:30 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jan 29 01:05:12 2010 +0100"
      },
      "message": "tracing: Simplify test for function_graph tracing start point\n\nIn the function graph tracer, a calling function is to be traced\nonly when it is enabled through the set_graph_function file,\nor when it is nested in an enabled function.\n\nCurrent code uses TSK_TRACE_FL_GRAPH to test whether it is nested\nor not. Looking at the code, we can get this:\n(trace-\u003edepth \u003e 0) \u003c\u003d\u003d\u003e (TSK_TRACE_FL_GRAPH is set)\n\ntrace-\u003edepth is more explicit to tell that it is nested.\nSo we use trace-\u003edepth directly and simplify the code.\n\nNo functionality is changed.\nTSK_TRACE_FL_GRAPH is not removed yet, it is left for future usage.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B4DB0B6.7040607@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "da184a8064efe2a78d8542877970f7c6bb62775a",
      "tree": "d10193bb583f60333e243fe46386cab31f591e0c",
      "parents": [
        "525995d77ca08dfc2ba6f8e606f93694271dbd66",
        "e36c54582c6f14adc9e10473e2aec2cc4f0acc03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:02:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:02:25 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix return of trace_dump_stack()\n  ksym_tracer: Fix bad cast\n  tracing/power: Remove two exports\n  tracing: Change event-\u003eprofile_count to be int type\n  tracing: Simplify trace_option_write()\n  tracing: Remove useless trace option\n  tracing: Use seq file for trace_clock\n  tracing: Use seq file for trace_options\n  function-graph: Allow writing the same val to set_graph_function\n  ftrace: Call trace_parser_clear() properly\n  ftrace: Return EINVAL when writing invalid val to set_ftrace_filter\n  tracing: Move a printk out of ftrace_raw_reg_event_foo()\n  tracing: Pull up calls to trace_define_common_fields()\n  tracing: Extract duplicate ftrace_raw_init_event_foo()\n  ftrace.h: Use common pr_info fmt string\n  tracing: Add stack trace to irqsoff tracer\n  tracing: Add trace_dump_stack()\n  ring-buffer: Move resize integrity check under reader lock\n  ring-buffer: Use sync sched protection on ring buffer resizing\n  tracing: Fix wrong usage of strstrip in trace_ksyms\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "2cbafd68b826f8e0471875cf33cdfb8a1478aef1",
      "tree": "27bf54c8f0803fc3ed854140eee01d7ac5104c6a",
      "parents": [
        "13f16d209161c95e92aef40e350cc6cf56ac440b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:16:26 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Remove useless trace option\n\nSince commit 4d9493c90f8e6e1b164aede3814010a290161abb\n(\"ftrace: remove add-hoc code\"), option \"sched-tree\"\nhas become useless.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC50A.7040402@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "c521efd1700a8c0f7ce26f011f5eaecca17fabfa",
      "tree": "8dd9f8171222e856aafa5db1c1a150098327d409",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 07 09:06:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 07 12:01:35 2009 -0500"
      },
      "message": "tracing: Add pipe_close interface\n\nAn ftrace plugin can add a pipe_open interface when the user opens\ntrace_pipe. But if the plugin allocates something within the pipe_open\nit can not free it because there exists no pipe_close. The hook to\nthe trace file open has a corresponding close. The closing of the\ntrace_pipe file should also have a corresponding close.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "99df5a6a215f026e62287083de2b44b22edd3623",
      "tree": "e7c25a7c94a5507c51b66f2f1336294116f26c11",
      "parents": [
        "0d0bea5ea4a0e91feff22ac5e32e14ff3a682247"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Wed Nov 25 01:14:59 2009 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 25 09:06:10 2009 +0100"
      },
      "message": "trace/syscalls: Change ret param in struct syscall_trace_exit to long\n\nCommit ee949a86b3aef15845ea677aa60231008de62672 (\"tracing/syscalls:\nUse long for syscall ret format and field definitions\") changed the\nsyscall exit return type to long, but forgot to change it in the\nstruct.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1259133299-23594-3-git-send-email-tzanussi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96200591a34f8ecb98481c626125df43a2463b55",
      "tree": "314c376b01f254d04f9aaf449b1f9147ad177fa6",
      "parents": [
        "7031281e02bf951a2259849217193fb9d75a9762",
        "68efa37df779b3e04280598e8b5b3a1919b65fee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/hw-breakpoints\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/kprobes.c\n\tkernel/trace/Makefile\n\nMerge reason: hw-breakpoints perf integration is looking\n              good in testing and in reviews, plus conflicts\n              are mounting up - so merge \u0026 resolve.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30ff21e31fe5c8b7b1b7d30cc41e32bc4ee9f175",
      "tree": "c3006eaa8f51ca2401c0f5f3600e17cfe6a55148",
      "parents": [
        "ba1c813a6b9a0ef14d7112daf51270eff326f037"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Sep 10 09:35:20 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 08 16:21:01 2009 +0100"
      },
      "message": "ksym_tracer: Remove KSYM_SELFTEST_ENTRY\n\nThe macro used to be used in both trace_selftest.c and\ntrace_ksym.c, but no longer, so remove it from header file.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "24f1e32c60c45c89a997c73395b69c8af6f0a84e",
      "tree": "4f30f16e18cb4abbcf96b3b331e6a3f01bfa26e6",
      "parents": [
        "2da3e160cb3d226d87b907fab26850d838ed8d7c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 09 19:22:48 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 08 15:34:42 2009 +0100"
      },
      "message": "hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events\n\nThis patch rebase the implementation of the breakpoints API on top of\nperf events instances.\n\nEach breakpoints are now perf events that handle the\nregister scheduling, thread/cpu attachment, etc..\n\nThe new layering is now made as follows:\n\n       ptrace       kgdb      ftrace   perf syscall\n          \\          |          /         /\n           \\         |         /         /\n                                        /\n            Core breakpoint API        /\n                                      /\n                     |               /\n                     |              /\n\n              Breakpoints perf events\n\n                     |\n                     |\n\n               Breakpoints PMU ---- Debug Register constraints handling\n                                    (Part of core breakpoint API)\n                     |\n                     |\n\n             Hardware debug registers\n\nReasons of this rewrite:\n\n- Use the centralized/optimized pmu registers scheduling,\n  implying an easier arch integration\n- More powerful register handling: perf attributes (pinned/flexible\n  events, exclusive/non-exclusive, tunable period, etc...)\n\nImpact:\n\n- New perf ABI: the hardware breakpoints counters\n- Ptrace breakpoints setting remains tricky and still needs some per\n  thread breakpoints references.\n\nTodo (in the order):\n\n- Support breakpoints perf counter events for perf tools (ie: implement\n  perf_bpcounter_event())\n- Support from perf tools\n\nChanges in v2:\n\n- Follow the perf \"event \" rename\n- The ptrace regression have been fixed (ptrace breakpoint perf events\n  weren\u0027t released when a task ended)\n- Drop the struct hw_breakpoint and store generic fields in\n  perf_event_attr.\n- Separate core and arch specific headers, drop\n  asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h\n- Use new generic len/type for breakpoint\n- Handle off case: when breakpoints api is not supported by an arch\n\nChanges in v3:\n\n- Fix broken CONFIG_KVM, we need to propagate the breakpoint api\n  changes to kvm when we exit the guest and restore the bp registers\n  to the host.\n\nChanges in v4:\n\n- Drop the hw_breakpoint_restore() stub as it is only used by KVM\n- EXPORT_SYMBOL_GPL hw_breakpoint_restore() as KVM can be built as a\n  module\n- Restore the breakpoints unconditionally on kvm guest exit:\n  TIF_DEBUG_THREAD doesn\u0027t anymore cover every cases of running\n  breakpoints and vcpu-\u003earch.switch_db_regs might not always be\n  set when the guest used debug registers.\n  (Waiting for a reliable optimization)\n\nChanges in v5:\n\n- Split-up the asm-generic/hw-breakpoint.h moving to\n  linux/hw_breakpoint.h into a separate patch\n- Optimize the breakpoints restoring while switching from kvm guest\n  to host. We only want to restore the state if we have active\n  breakpoints to the host, otherwise we don\u0027t care about messed-up\n  address registers.\n- Add asm/hw_breakpoint.h to Kbuild\n- Fix bad breakpoint type in trace_selftest.c\n\nChanges in v6:\n\n- Fix wrong header inclusion in trace.h (triggered a build\n  error with CONFIG_FTRACE_SELFTEST\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "43315956509ca6913764861ac7dec128b91eb1ec",
      "tree": "60fd5647f150a46e63093a41417c2eef3e776b3d",
      "parents": [
        "9bf4e7fba8006d19846fec877b6da0616b2772de",
        "6beba7adbe092e63dfe8d09fbd1e3ec140474a13"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 08:23:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 08:23:20 2009 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 into perf/probes\n\nConflicts:\n\ttools/perf/Makefile\n\nMerge reason:\n\n - fix the conflict\n - pick up the pr_*() infrastructure to queue up dependent patch\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f8f86c7bdd1c954fbe153af437a0d91a6c5721a",
      "tree": "94a8d419a470a4f9852ca397bb9bbe48db92ff5c",
      "parents": [
        "dca2d6ac09d9ef59ff46820d4f0c94b08a671202",
        "f39cdf25bf77219676ec5360980ac40b1a7e144a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:09:09 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:12:33 2009 +0200"
      },
      "message": "Merge commit \u0027perf/core\u0027 into perf/hw-breakpoint\n\nConflicts:\n\tkernel/Makefile\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tsamples/Makefile\n\nMerge reason: We need to be uptodate with the perf events development\nbranch because we plan to rewrite the breakpoints API on top of\nperf events.\n"
    },
    {
      "commit": "6fb2915df7f0747d9044da9dbff5b46dc2e20830",
      "tree": "b4c5d7d913362ae6161c2859a7a385263330e965",
      "parents": [
        "b0f1a59a98d7ac2102e7e4f22904c26d564a5628"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Oct 15 11:21:42 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:35:23 2009 +0200"
      },
      "message": "tracing/profile: Add filter support\n\n- Add an ioctl to allocate a filter for a perf event.\n\n- Free the filter when the associated perf event is to be freed.\n\n- Do the filtering in perf_swevent_match().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4AD69546.8050401@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0f1a59a98d7ac2102e7e4f22904c26d564a5628",
      "tree": "63ee120d7fa1eda7e6c11db3530021634d3ba59b",
      "parents": [
        "fce29d15b59245597f7f320db4a9f2be0f5fb512"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Oct 15 11:21:12 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:35:22 2009 +0200"
      },
      "message": "tracing/filters: Use a different op for glob match\n\n\"\u003d\u003d\" will always do a full match, and \"~\" will do a glob match.\n\nIn the future, we may add \"\u003d~\" for regex match.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4AD69528.3050309@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fce29d15b59245597f7f320db4a9f2be0f5fb512",
      "tree": "f854f32b7c85b02935e9d04ee35957fb7bc7c4bb",
      "parents": [
        "713490e02eed242b4c1c672b3c0c8b708f8b6f1d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Oct 15 11:20:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:35:22 2009 +0200"
      },
      "message": "tracing/filters: Refactor subsystem filter code\n\nChange:\n\tfor_each_pred\n\t\tfor_each_subsystem\nTo:\n\tfor_each_subsystem\n\t\tfor_each_pred\n\nThis change also prepares for later patches.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4AD69502.8060903@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "756d17ee7ee4fbc8238bdf97100af63e6ac441ef",
      "tree": "d0b794f4964be5689fc1bd64302969405000e18b",
      "parents": [
        "194ec34184869f0de1cf255c924fc5299e1b3d27"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Tue Oct 13 16:33:52 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 08:13:53 2009 +0200"
      },
      "message": "tracing: Support multiple pids in set_pid_ftrace file\n\nAdding the possibility to set more than 1 pid in the set_pid_ftrace\nfile, thus allowing to trace more than 1 independent processes.\n\nUsage:\n\n sh-4.0# echo 284 \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n 284\n sh-4.0# echo 1 \u003e\u003e ./set_ftrace_pid\n sh-4.0# echo 0 \u003e\u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n swapper tasks\n 1\n 284\n sh-4.0# echo 4 \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n 4\n sh-4.0# echo \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n no pid\n sh-4.0#\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091013203425.565454612@goodmis.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf7c5b43a12614847b83f507fb169ad30640e406",
      "tree": "4867b7419f52fa2cc2d6268ed1a8fd7def9f9932",
      "parents": [
        "aef6f81b55f462082699c06e8e67e6eb5630ed45"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 12 22:31:32 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 13 09:33:40 2009 +0200"
      },
      "message": "tracing: Remove unused ftrace_trace_addr helper\n\nRemove the ftrace_trace_addr() function as only its off-case is\nimplemented and there are no users of it currently.\n\nBut we keep ftrace_graph_addr() off-case, in case someone come to use\nthe function graph tracer to profit from top-level callers filtering.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "9288f99aa52d90a5b82573c4b769c97c55af2f56",
      "tree": "34d484799f1d779d7244e373be7cd5d7d2e684af",
      "parents": [
        "494f6a9e12f5137d355d3ce3f5789ef148b642bc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Wed Oct 07 19:17:45 2009 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 12 19:51:49 2009 +0900"
      },
      "message": "this_cpu: Use this_cpu_xx for ftrace\n\nthis_cpu_xx can reduce the instruction count here and also\navoid address arithmetic.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0aa73ba1c4e1ad1d51a29e0df95ccd9f746918b6",
      "tree": "f0714ddcd02812b4fbe3b5405df9e4068f5587e2",
      "parents": [
        "925936ebf35a95c290e010b784c962164e6728f3",
        "33974093c024f08caadd2fc71a83bd811ed1831d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:20:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:20:48 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up latest fixes and update to latest upstream.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f6fe06dbf67b46d36fedec502300e04dffeb67a",
      "tree": "3879fe89257ded94190ad8f1835f0320eb19f610",
      "parents": [
        "1889d20922d14a97b2099fa4d47587217c0ba48b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:31:51 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:40:13 2009 +0200"
      },
      "message": "tracing/filters: Unify the regex parsing helpers\n\nThe filter code has stolen the regex parsing function from ftrace to\nget the regex support.\nWe have duplicated this code, so factorize it in the filter area and\nmake it generally available, as the filter code is the most suited to\nhost this feature.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "1889d20922d14a97b2099fa4d47587217c0ba48b",
      "tree": "5980f8473f3482aff577ad262e00d06d0745dcf1",
      "parents": [
        "f3f3f0092477d0165f3f1bf0fd518550b2abd097"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:10:44 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:39:27 2009 +0200"
      },
      "message": "tracing/filters: Provide basic regex support\n\nThis patch provides basic support for regular expressions in filters.\n\nIt supports the following types of regexp:\n\n- *match_beginning\n- *match_middle*\n- match_end*\n- !don\u0027t match\n\nExample:\n\tcd /debug/tracing/events/bkl/lock_kernel\n\techo \u0027file \u003d\u003d \"*reiserfs*\"\u0027 \u003e filter\n\techo 1 \u003e enable\n\n           gedit-4941  [000]   457.735437: lock_kernel: depth: 0, fs/reiserfs/namei.c:334 reiserfs_lookup()\n     sync_supers-227   [001]   461.379985: lock_kernel: depth: 0, fs/reiserfs/super.c:69 reiserfs_sync_fs()\n     sync_supers-227   [000]   461.383096: lock_kernel: depth: 0, fs/reiserfs/journal.c:1069 flush_commit_list()\n      reiserfs/1-1369  [001]   461.479885: lock_kernel: depth: 0, fs/reiserfs/journal.c:3509 flush_async_commits()\n\nEvery string is now handled as a regexp in the filter framework, which\nhelps to factorize the code for handling both simple strings and\nregexp comparisons.\n\n(The regexp parsing code has been wildly cherry picked from ftrace.c\nwritten by Steve.)\n\nv2: Simplify the whole and drop the filter_regex file\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "d7a4b414eed51f1653bb05ebe84122bf9a7ae18b",
      "tree": "bd6603a0c27de4c138a1767871897e9cd3e1a1d2",
      "parents": [
        "1f0ab40976460bc4673fa204ce917a725185d8f2",
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tkernel/trace/trace_event_types.h\n\tkernel/trace/trace_export.c\n\nMerge reason:\n\tSync with latest significant tracing core changes.\n"
    },
    {
      "commit": "6161352142d5fed4cd753b32e5ccde66e705b14e",
      "tree": "d64d0e3e6c44440181ddb5d1bc6884067fee0749",
      "parents": [
        "fd39e055c4fefa4553efc9030f9903afdc6ee323"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Sep 17 16:11:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:42:12 2009 +0200"
      },
      "message": "tracing, perf: Convert the power tracer into an event tracer\n\nThis patch converts the existing power tracer into an event tracer,\nso that power events (C states and frequency changes) can be\ntracked via \"perf\".\n\nThis also removes the perl script that was used to demo the tracer;\nits functionality is being replaced entirely with timechart.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20090912130542.6d314860@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4e5292ea1ac0c2939e815e6c44fad3d8696ea281",
      "tree": "f97dbe73d38b893ee5a2458a1d97490789e6ccb0",
      "parents": [
        "d73150943cf47b6cabcb4f4e52dd25975e820ae2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Sep 12 19:26:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 12 23:08:10 2009 -0400"
      },
      "message": "tracing: use the new trace_entries.h to create format files\n\nThis patch changes the way the format files in\n\n  debugfs/tracing/events/ftrace/*/format\n\nare created. It uses the new trace_entries.h file to automate the\ncreation of the format files to ensure that they are always in sync\nwith the actual structures. This is the same methodology used to\ncreate the format files for the TRACE_EVENT macro.\n\nThis also updates the filter creation that was built on the creation\nof the format files.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d73150943cf47b6cabcb4f4e52dd25975e820ae2",
      "tree": "ba711d32aacb2c5627d2acd636e82b819598120c",
      "parents": [
        "0a1c49db8d91c538f104f8d70e560c6fdd589bd4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Sep 12 19:22:23 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 12 23:08:07 2009 -0400"
      },
      "message": "tracing: show details of structures within the ftrace structures\n\nSome of the internal ftrace structures use structures within. The\noutput of a field saying it is just a structure is useless for a format\nfile. A binary reader of the ring buffer needs to know more about\nhow the fields are broken up.\n\nThis patch adds to the ftrace structure macros new fields to\ndescribe the structures inside a structure.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a1c49db8d91c538f104f8d70e560c6fdd589bd4",
      "tree": "41cf96b9c7bd351702526c6313cef9944c741954",
      "parents": [
        "16bb8eb1b73bf940d30ff88cae622bfcd3790f61"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Sep 12 19:17:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 12 23:08:06 2009 -0400"
      },
      "message": "tracing: use macros to create internal ftrace entry ring buffer structures\n\nThe entries used by ftrace internal code (plugins) currently have their\nformats manually exported to userspace. That is, the format files in\ndebugfs/tracing/events/ftrace/*/format are currently created by hand.\nThis is a maintenance nightmare, and can easily become out of sync\nwith what is actually shown.\n\nThis patch uses the methodology of the TRACE_EVENT macros to build\nthe structures so that their formats can be automated and this\nwill keep the structures in sync with what users can see.\n\nThis patch only changes the way the structures are created. Further\npatches will build off of this to automate the format files.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b5130b1e7d3717d03ab1916b198bf0d49fa0a619",
      "tree": "67ee3282f6b6aa2e37864b938f67fd7e02b04394",
      "parents": [
        "41dfba4367109b92d92ec6e059be6950497d932f"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Sun Sep 13 01:43:07 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 12 21:45:17 2009 -0400"
      },
      "message": "tracing: do not update tracing_max_latency when tracer is stopped\n\nThe state of the function pair tracing_stop()/tracing_start() is\ncorrectly considered when tracer data are updated. However, the global\nand externally accessible variable tracing_max_latency is always updated\n- even when tracing is stopped.\n\nThe update should only occur, if tracing was not stopped.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b63f39ea50330f836e301ddda21c6a93dcf0d6a3",
      "tree": "3fb5a88ca19da6417a52b83eff585b9413bfb9c9",
      "parents": [
        "f81c972d27c36729e65d4a815e3d7b782a540bad"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Fri Sep 11 17:29:27 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 11 14:46:55 2009 -0400"
      },
      "message": "tracing: create generic trace parser\n\nCreate a \"trace_parser\" that can parse the user space input for\nseparate words.\n\nstruct trace_parser is the descriptor.\n\nGeneric \"trace_get_user\" function that can be a helper to read multiple\nwords passed in by user space.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1252682969-3366-2-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "48659d31195bb76d688e99dabd816c5472fb1656",
      "tree": "9d7d7f9ac50a6de1be1bfe28a31ee13e369fc04b",
      "parents": [
        "49ff590390a22c49e9063dcdec4cd5903127526b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 11 11:36:23 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 11 11:36:23 2009 -0400"
      },
      "message": "tracing: move tgid out of generic entry and into userstack\n\nThe userstack trace required the recording of the tgid entry.\nUnfortunately, it was added to the generic entry where it wasted\n4 bytes of every entry and was only used by one entry.\n\nThis patch moves it out of the generic field and moves it into the\nonly user (userstack_entry).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8f8ffe2485bcaa890800681451d380779cea06af",
      "tree": "1d2ef3a27f1cab9a2b9014f4b75886a96a1ae8db",
      "parents": [
        "70069577323e6f72b845166724f34b9858134437",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 01:09:23 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 01:09:23 2009 +0200"
      },
      "message": "Merge commit \u0027tracing/core\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/trace_export.c\n\tkernel/trace/trace_kprobe.c\n\nMerge reason: This topic branch lacks an important\nbuild fix in tracing/core:\n\n\t0dd7b74787eaf7858c6c573353a83c3e2766e674:\n\ttracing: Fix double CPP substitution in TRACE_EVENT_FN\n\nthat prevents from multiple tracepoint headers inclusion crashes.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "197e2eabc90c203d1086916b7f66694ba5fbb937",
      "tree": "80734d0e96ac0f4ffc1bcac4198d537804dae037",
      "parents": [
        "a5921c6c37d51ee2079ca3c69ea6f7b7384f5d87"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Sep 10 09:34:19 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 09 23:54:11 2009 -0400"
      },
      "message": "tracing: move PRED macros to trace_events_filter.c\n\nMove DEFINE_COMPARISON_PRED() and DEFINE_EQUALITY_PRED()\n  to kernel/trace/trace_events_filter.c\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AA8579B.4020706@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a5921c6c37d51ee2079ca3c69ea6f7b7384f5d87",
      "tree": "f6ce2b8885f36a4aaac37aab1d370479513dcde6",
      "parents": [
        "bd9cfca9cb71200dd82b320bba12540dc078f4e0"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Sep 10 09:34:19 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 09 23:54:09 2009 -0400"
      },
      "message": "tracing: remove stats from struct tracer\n\nRemove unused field @stats from struct tracer.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AA8579B.4020706@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bd9cfca9cb71200dd82b320bba12540dc078f4e0",
      "tree": "6a86f5982103623a007a0f99db5a42dc4c962348",
      "parents": [
        "e0ab5f2daee1c7a6a387591bf37f0bad4e407112"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Sep 10 09:34:19 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 09 23:54:07 2009 -0400"
      },
      "message": "tracing: format clean ups\n\nFix white-space formatting.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AA8579B.4020706@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e0ab5f2daee1c7a6a387591bf37f0bad4e407112",
      "tree": "15daf95b939c6ed7e65e67b2acbbb740c2c145f9",
      "parents": [
        "478142c39c8c2f5f63038e5f2224e6729406e587"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Sep 10 09:34:19 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 09 23:54:06 2009 -0400"
      },
      "message": "tracing: remove dead code\n\nRemoves unreachable code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AA8579B.4020706@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a1922ed661ab2c1637d0b10cde933bd9cd33d965",
      "tree": "0f1777542b385ebefd30b3586d830fd8ed6fda5b",
      "parents": [
        "75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 08:19:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 08:19:51 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core\u0027 into tracing/hw-breakpoints\n\nConflicts:\n\tarch/Kconfig\n\tkernel/trace/trace.h\n\nMerge reason: resolve the conflicts, plus adopt to the new\n              ring-buffer APIs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "659372d3e42a3e17a2e042d38a8bcdb94bfbe797",
      "tree": "4c6195eb5e96569f902695f33babbea37e00bd41",
      "parents": [
        "e77405ad80f53966524b5c31244e13fbbbecbd84"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 03 19:11:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 19:13:53 2009 -0400"
      },
      "message": "tracing: add trace_array_printk for internal tracers to use\n\nThis patch adds a trace_array_printk to allow a tracer to use the\ntrace_printk on its own trace array.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e77405ad80f53966524b5c31244e13fbbbecbd84",
      "tree": "65c05f9e1573e9958e52bb72655e00c8592aacd2",
      "parents": [
        "f633903af2ceb0cec07d45e499a072b6593d0ed1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Sep 02 14:17:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 18:59:39 2009 -0400"
      },
      "message": "tracing: pass around ring buffer instead of tracer\n\nThe latency tracers (irqsoff and wakeup) can swap trace buffers\non the fly. If an event is happening and has reserved data on one of\nthe buffers, and the latency tracer swaps the global buffer with the\nmax buffer, the result is that the event may commit the data to the\nwrong buffer.\n\nThis patch changes the API to the trace recording to be recieve the\nbuffer that was used to reserve a commit. Then this buffer can be passed\nin to the commit.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2f26ebd549b9ab55ac756b836ec759c11fe93f81",
      "tree": "0f6fb154e2b5e9233a683b3267e5efe862a846f4",
      "parents": [
        "76f0d07376388f32698ba51b6090a26b90c1342f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Sep 01 11:06:29 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 18:44:22 2009 -0400"
      },
      "message": "tracing: use timestamp to determine start of latency traces\n\nCurrently the latency tracers reset the ring buffer. Unfortunately\nif a commit is in process (due to a trace event), this can corrupt\nthe ring buffer. When this happens, the ring buffer will detect\nthe corruption and then permanently disable the ring buffer.\n\nThe bug does not crash the system, but it does prevent further tracing\nafter the bug is hit.\n\nInstead of reseting the trace buffers, the timestamp of the start of\nthe trace is used instead. The buffers will still contain the previous\ndata, but the output will not count any data that is before the\ntimestamp of the trace.\n\nNote, this only affects the static trace output (trace) and not the\nruntime trace output (trace_pipe). The runtime trace output does not\nmake sense for the latency tracers anyway.\n\nReported-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8248ac052dfd1eb41819fbc0ca5c7a1667e7e70c",
      "tree": "d979964a23112b6266d26da19a572057e5060367",
      "parents": [
        "077c5407cd3231cf13472623995f0dfdda510d62"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Sep 02 12:27:41 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 11:48:12 2009 -0400"
      },
      "message": "tracing: print out start and stop in latency traces\n\nDuring development of the tracer, we would copy information from\nthe live tracer to the max tracer with one memcpy. Since then we\nadded a generic ring buffer and we handle the copies differently now.\nUnfortunately, we never copied the critical section information, and\nwe lost the output:\n\n #  \u003d\u003e started at: kmem_cache_alloc\n #  \u003d\u003e ended at:   kmem_cache_alloc\n\nThis patch adds back the critical start and end copying as well as\nremoves the unused \"trace_idx\" and \"overrun\" fields of the\ntrace_array_cpu structure.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5d4a9dba2d7fbab69f00dedd430d1788834a055a",
      "tree": "a57ec209fc1ac86d7acbd67164b068ecdadd6317",
      "parents": [
        "c0729be99cb2b9d9749256254f1c40a801835896"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Aug 27 16:52:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 27 16:58:05 2009 -0400"
      },
      "message": "tracing: only show tracing_max_latency when latency tracer configured\n\nThe tracing_max_latency file should only be present when one of the\nlatency tracers ({preempt|irqs}off, wakeup*) are enabled.\n\nThis patch also removes tracing_thresh when latency tracers are not\nenabled, as well as compiles out code that is only used for latency\ntracers.\n\nReported-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ff50d99136c3315513ef3b2921e77f35ab04d081",
      "tree": "133f4dc7b9b310a1d9b959c0c013d8fce30a2917",
      "parents": [
        "4263565d491145b57621a761714f2ca6f1293a45"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Aug 13 16:35:34 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 27 02:32:33 2009 +0200"
      },
      "message": "tracing: Kprobe tracer assigns new event ids for each event\n\nAssign new event ids for each kprobes event. This doesn\u0027t clear\nring_buffer when unregistering each kprobe event. Thus, if you mind\n\u0027Unknown event\u0027 messages, clear the buffer manually after changing\nkprobe events.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Przemysław Pawełczyk \u003cprzemyslaw@pawelczyk.it\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nLKML-Reference: \u003c20090813203534.31965.49105.stgit@localhost.localdomain\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "413d37d1eb69c1765b9ace0a612dac9b6c990e66",
      "tree": "6f483714046c388ab9f57b33f17f365cd4e57446",
      "parents": [
        "d93f12f3f417e49a175800da85c6fcb2a5096e03"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Aug 13 16:35:11 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 27 02:31:54 2009 +0200"
      },
      "message": "tracing: Add kprobe-based event tracer\n\nAdd kprobes-based event tracer on ftrace.\n\nThis tracer is similar to the events tracer which is based on Tracepoint\ninfrastructure. Instead of Tracepoint, this tracer is based on kprobes\n(kprobe and kretprobe). It probes anywhere where kprobes can probe(this\n means, all functions body except for __kprobes functions).\n\nSimilar to the events tracer, this tracer doesn\u0027t need to be activated\nvia current_tracer, instead of that, just set probe points via\n/sys/kernel/debug/tracing/kprobe_events. And you can set filters on each\nprobe events via /sys/kernel/debug/tracing/events/kprobes/\u003cEVENT\u003e/filter.\n\nThis tracer supports following probe arguments for each probe.\n\n  %REG  : Fetch register REG\n  sN    : Fetch Nth entry of stack (N \u003e\u003d 0)\n  sa    : Fetch stack address.\n  @ADDR : Fetch memory at ADDR (ADDR should be in kernel)\n  @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol)\n  aN    : Fetch function argument. (N \u003e\u003d 0)\n  rv    : Fetch return value.\n  ra    : Fetch return address.\n  +|-offs(FETCHARG) : fetch memory at FETCHARG +|- offs address.\n\nSee Documentation/trace/kprobetrace.txt in the next patch for details.\n\nChanges from v13:\n - Support \u0027sa\u0027 for stack address.\n - Use call-\u003edata instead of container_of() macro.\n\n[fweisbec@gmail.com: Fixed conflict against latest tracing/core]\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Przemysław Pawełczyk \u003cprzemyslaw@pawelczyk.it\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nLKML-Reference: \u003c20090813203510.31965.29123.stgit@localhost.localdomain\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "5079f3261ffd7fe4a537679af695f2328943a245",
      "tree": "1f9ab5128f37c3628979496610bc862b4a321cd6",
      "parents": [
        "87a342f5db69d53ea70493bb1ec69c9047677038"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Tue Aug 25 16:12:56 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 26 00:32:08 2009 -0400"
      },
      "message": "ftrace: Move setting of clock-source out of options\n\nThere are many clock sources for the tracing system but we can only\nenable/disable one at a time with the trace/options file.\nWe can move the setting of clock-source out of options and add a separate\nfile for it:\n # cat trace_clock\n [local] global\n # echo global \u003e trace_clock\n # cat trace_clock\n local [global]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A939D08.6050604@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "aa38e9fc3ea804290efd3a39316d7f7e6c945800",
      "tree": "8f9766b20c9006c1373f11c927fb46441e01df0f",
      "parents": [
        "6591b493871cf9b17de2ba272edb8ab529a8058b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Aug 07 10:33:02 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 26 00:32:06 2009 -0400"
      },
      "message": "tracing/filters: Add filter_type to struct ftrace_event_field\n\nThe type of a field is stored as a string in @type, and here\nwe add @filter_type which is an enum value.\n\nThis prepares for later patches, so we can specifically assign\ndifferent @filter_type for the same @type.\n\nFor example normally a \"char *\" field is treated as a ptr,\nbut we may want it to be treated as a string when doing filting.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A7B925E.9030605@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "64c12e0444fcc6b75eb49144ba46d43dbdc6bc8f",
      "tree": "8fe7b546fe787061fca8f97ed2051f40f9b16a57",
      "parents": [
        "fb34a08c3469b2be9eae626ccb96476b4687b810"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Mon Aug 10 16:52:53 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 11 20:35:28 2009 +0200"
      },
      "message": "tracing: Add individual syscalls tracepoint id support\n\nThe current state of syscalls tracepoints generates only one event id\nfor every syscall events.\n\nThis patch associates an id with each syscall trace event, so that we\ncan identify each syscall trace event using the \u0027perf\u0027 tool.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Jiaying Zhang \u003cjiayingz@google.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "89034bc2c7b839702c00a704e79d112737f98be0",
      "tree": "e65b1f3d4c751baa840efc81bc4734f089379eb3",
      "parents": [
        "fb82ad719831db58e9baa4c67015aae3fe27e7e3",
        "85dfd81dc57e8183a277ddd7a56aa65c96f3f487"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/trace_events_filter.c\n\nWe use the tracing/core version.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75",
      "tree": "08a9621cb1318f73a37faeed14c4e728408551ad",
      "parents": [
        "3a6593050fbd8bbcaed3a44d01c31d907315c86c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 07 01:25:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:53:48 2009 +0200"
      },
      "message": "perf_counter: Fix/complete ftrace event records sampling\n\nThis patch implements the kernel side support for ftrace event\nrecord sampling.\n\nA new counter sampling attribute is added:\n\n   PERF_SAMPLE_TP_RECORD\n\nwhich requests ftrace events record sampling. In this case\nif a PERF_TYPE_TRACEPOINT counter is active and a tracepoint\nfires, we emit the tracepoint binary record to the\nperfcounter event buffer, as a sample.\n\nResult, after setting PERF_SAMPLE_TP_RECORD attribute from perf\nrecord:\n\n perf record -f -F 1 -a -e workqueue:workqueue_execution\n perf report -D\n\n 0x21e18 [0x48]: event: 9\n .\n . ... raw event: size 72 bytes\n .  0000:  09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff  ......H........\n .  0010:  0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00  ........!......\n .  0020:  2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e  +...........eve\n .  0030:  74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00  ts/1...........\n .  0040:  e0 b1 31 81 ff ff ff ff                          .......\n.\n0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33\n\nThe raw ftrace binary record starts at offset 0020.\n\nTranslation:\n\n struct trace_entry {\n\ttype\t\t\u003d 0x2b \u003d 43;\n\tflags\t\t\u003d 1;\n\tpreempt_count\t\u003d 2;\n\tpid\t\t\u003d 0xa \u003d 10;\n\ttgid\t\t\u003d 0xa \u003d 10;\n }\n\n thread_comm \u003d \"events/1\"\n thread_pid  \u003d 0xa \u003d 10;\n func\t    \u003d 0xffffffff8131b1e0 \u003d flush_to_ldisc()\n\nWhat will come next?\n\n - Userspace support (\u0027perf trace\u0027), \u0027flight data recorder\u0027 mode\n   for perf trace, etc.\n\n - The unconditional copy from the profiling callback brings\n   some costs however if someone wants no such sampling to\n   occur, and needs to be fixed in the future. For that we need\n   to have an instant access to the perf counter attribute.\n   This is a matter of a flag to add in the struct ftrace_event.\n\n - Take care of the events recursivity! Don\u0027t ever try to record\n   a lock event for example, it seems some locking is used in\n   the profiling fast path and lead to a tracing recursivity.\n   That will be fixed using raw spinlock or recursivity\n   protection.\n\n - [...]\n\n - Profit! :-)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a0799a8fef5acc6503f9c5e79b2cd003317826c",
      "tree": "8aec6e623981cd8505de53752234d9f6b5d94843",
      "parents": [
        "82e04af498a85ba425efe77580b7ba08234411df"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 29 18:59:58 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 06 07:28:06 2009 +0200"
      },
      "message": "tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file\n\nThe function graph events helpers which insert the function entry and\nreturn events into the ring buffer currently reside in trace.c\nBut this file is quite overloaded and the right place for these helpers\nis in the function graph tracer file.\n\nThen move them to trace_functions_graph.c\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c0a0d0d3f65284c71115a9bb1ed801ee33eeb552",
      "tree": "ac4c74e18c73f368abc8721f8f04c9101069fcaf",
      "parents": [
        "5e5bf483986ad86ad25f25eec5299c86eb2d1c57"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 29 17:51:13 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 06 07:28:05 2009 +0200"
      },
      "message": "tracing/core: Make the stack entry helpers global\n\nMake the stacktrace event insertion helpers globals.\nThis has two effects:\n\n- Prepare for moving the sched events insertion helpers to\n  the sched switch tracer file.\n- Move some ifdef outside function definitions\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5e5bf483986ad86ad25f25eec5299c86eb2d1c57",
      "tree": "51ca52240afe82bab1366b1677d9f8a55bbee6fb",
      "parents": [
        "07868b086cca784f4b532fc2ab574ec3a73b468a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 29 17:11:12 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 06 07:28:05 2009 +0200"
      },
      "message": "tracing/core: Turn ftrace_cpu_disabled into a global var\n\nIn order to prepare the moving of the function graph tracer insertion\nhelpers from trace.c to trace_functions_graph.c, we need to export the\nftrace_cpu_disabled variable.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1f9963cbb0280e0cd554161e00f1a0eeddbf1ae1",
      "tree": "80e27aa2cf5401fc04f7dbb806ad7e0ec04b6e8c",
      "parents": [
        "ff4e9da2330beb8d64498a513d3f9694e941b01a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jul 20 10:20:53 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 20 13:29:19 2009 -0400"
      },
      "message": "tracing/filters: improve subsystem filter\n\nCurrently a subsystem filter should be applicable to all events\nunder the subsystem, and if it failed, all the event filters\nwill be cleared. Those behaviors make subsys filter much less\nuseful:\n\n  # echo \u0027vec \u003d\u003d 1\u0027 \u003e irq/softirq_entry/filter\n  # echo \u0027irq \u003d\u003d 5\u0027 \u003e irq/filter\n  bash: echo: write error: Invalid argument\n  # cat irq/softirq_entry/filter\n  none\n\nI\u0027d expect it set the filter for irq_handler_entry/exit, and\nnot touch softirq_entry/exit.\n\nThe basic idea is, try to see if the filter can be applied\nto which events, and then just apply to the those events:\n\n  # echo \u0027vec \u003d\u003d 1\u0027 \u003e softirq_entry/filter\n  # echo \u0027irq \u003d\u003d 5\u0027 \u003e filter\n  # cat irq_handler_entry/filter\n  irq \u003d\u003d 5\n  # cat softirq_entry/filter\n  vec \u003d\u003d 1\n\nChangelog for v2:\n- do some cleanups to address Frederic\u0027s comments.\n\nInspired-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A63D485.7030703@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db59504d89db1462a5281fb55b1d962cb74a398f",
      "tree": "b33fcbee2ee8103c15f6e19ab3039af46fc62219",
      "parents": [
        "9d22b536609abf0d64648f99518676ea58245e3b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 07 13:52:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 11:59:40 2009 +0200"
      },
      "message": "ksym_tracer: Extract trace entry from struct trace_ksym\n\nstruct trace_ksym is used as an entry in hbp list, and is also\nused as trace_entry stored in ring buffer.\n\nThis is not necessary and is a waste of memory in ring buffer.\n\nThere is also a bug that dereferencing field-\u003eksym_hbp in\nksym_trace_output() can be invalid.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"K.Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A52E2A4.4050007@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc82ec98a4727fd51b77e92d05fe7d2db3dcc11c",
      "tree": "c66955e01458db480185c963304a60b6fd77c72c",
      "parents": [
        "c5cb183608167c744cb28bbd85884be5a4ce875d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 09 16:22:22 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 11:55:28 2009 +0200"
      },
      "message": "tracing/filter: Remove empty subsystem and its directory\n\nRemove empty subsystem and its directory when module unload.\n\nBefore patch:\n # rmmod trace-events-sample.ko\n # ls sample\n enable  filter\n\nAfter patch:\n # rmmod trace-events-sample.ko\n # ls sample\n ls: cannot access sample: No such file or directory\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A55A8BE.9010707@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "020e5f85cb087a40572c8b8b2dd06292a14fa212",
      "tree": "d1bd09885693dd9d5e9db995cb0f7f58aa0e1bb8",
      "parents": [
        "c5cb5a2d8d7dc872cf1504091ad0e59fe5ff7cb5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jul 01 10:47:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 15:44:24 2009 +0200"
      },
      "message": "tracing/events: Add trace_event boot option\n\nWe already have ftrace\u003d boot option, and this adds a similar\nboot option for trace events, so allow trace events to be\nenabled at boot, for boot debugging purpose.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A4ACE29.3010407@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1155de47cd66d0c496d5a6fb2223e980ef1285b2",
      "tree": "0ee762d6b1215a37fe89acc174de8cbbf476d218",
      "parents": [
        "00e54d087afb3867b0b461aef6c1ff433d0df564"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 25 14:30:12 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 10:31:30 2009 +0200"
      },
      "message": "ring-buffer: Make it generally available\n\nIn hunting down the cause for the hwlat_detector ring buffer spew in\nmy failed -next builds it became obvious that folks are now treating\nring_buffer as something that is generic independent of tracing and thus,\nsuitable for public driver consumption.\n\nGiven that there are only a few minor areas in ring_buffer that have any\nreliance on CONFIG_TRACING or CONFIG_FUNCTION_TRACER, provide stubs for\nthose and make it generally available.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jon Masters \u003cjcm@jonmasters.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20090625053012.GB19944@linux-sh.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0722db015c246204044299eae3b02d18d3ca4faf",
      "tree": "cc9a6b21961d62e1788ee2b9cbd0ae23b43f11a0",
      "parents": [
        "432039933a16b8227b7b267f46ac1c1b9b3adf14"
      ],
      "author": {
        "name": "K.Prasad",
        "email": "prasad@linux.vnet.ibm.com",
        "time": "Mon Jun 01 23:46:40 2009 +0530"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 22:47:00 2009 +0200"
      },
      "message": "hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces\n\nThis patch adds an ftrace plugin to detect and profile memory access over kernel\nvariables. It uses HW Breakpoint interfaces to \u0027watch memory addresses.\n\nSigned-off-by: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "0ad5d703c6c0fcd385d956555460df95dff7eb7e",
      "tree": "4b777100f9be4fe90ca4bd043b9f98df672b5b3b",
      "parents": [
        "44347d947f628060b92449702071bfe1d31dfb75",
        "1cb81b143fa8f0e4629f10690862e2e52ca792ff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:18:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 13:36:22 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/hw-branch-tracing\u0027 into tracing/core\n\nMerge reason: this topic is ready for upstream now. It passed\n              Oleg\u0027s review and Andrew had no further mm/*\n              objections/observations either.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea",
      "tree": "9e6e97199f63c786a79966a5938873a98591e10c",
      "parents": [
        "71e1c8ac42ae4038ddb1367cce7097ab868dc532"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 21:54:09 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 23:11:41 2009 -0400"
      },
      "message": "tracing: reset ring buffer when removing modules with events\n\nLi Zefan found that there\u0027s a race using the event ids of events and\nmodules. When a module is loaded, an event id is incremented. We only\nhave 16 bits for event ids (65536) and there is a possible (but highly\nunlikely) race that we could load and unload a module that registers\nevents so many times that the event id counter overflows.\n\nWhen it overflows, it then restarts and goes looking for available\nids. An id is available if it was added by a module and released.\n\nThe race is if you have one module add an id, and then is removed.\nAnother module loaded can use that same event id. But if the old module\nstill had events in the ring buffer, the new module\u0027s call back would\nget bogus data.  At best (and most likely) the output would just be\ngarbage. But if the module for some reason used pointers (not recommended)\nthen this could potentially crash.\n\nThe safest thing to do is just reset the ring buffer if a module that\nregistered events is removed.\n\n[ Impact: prevent unpredictable results of event id overflows ]\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c49FEAFD0.30106@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "20c8928abe70e204bd077ab6cfe23002d7788983",
      "tree": "e161656f99c814ebdd69df8b5a79dab58f80065e",
      "parents": [
        "2df75e415709ad12862028916c772c1f377f6a7c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 06 10:33:45 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 10:38:19 2009 +0200"
      },
      "message": "tracing/events: fix concurrent access to ftrace_events list\n\nA module will add/remove its trace events when it gets loaded/unloaded, so\nthe ftrace_events list is not \"const\", and concurrent access needs to be\nprotected.\n\nThis patch thus fixes races between loading/unloding modules and read\n\u0027available_events\u0027 or read/write \u0027set_event\u0027, etc.\n\nBelow shows how to reproduce the race:\n\n # for ((; ;)) { cat /mnt/tracing/available_events; } \u003e /dev/null \u0026\n # for ((; ;)) { insmod trace-events-sample.ko; rmmod sample; } \u0026\n\nAfter a while:\n\nBUG: unable to handle kernel paging request at 0010011c\nIP: [\u003cc1080f27\u003e] t_next+0x1b/0x2d\n...\nCall Trace:\n [\u003cc10c90e6\u003e] ? seq_read+0x217/0x30d\n [\u003cc10c8ecf\u003e] ? seq_read+0x0/0x30d\n [\u003cc10b4c19\u003e] ? vfs_read+0x8f/0x136\n [\u003cc10b4fc3\u003e] ? sys_read+0x40/0x65\n [\u003cc1002a68\u003e] ? sysenter_do_call+0x12/0x36\n\n[ Impact: fix races when concurrent accessing ftrace_events list ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4A00F709.3080800@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b3725621074040d380664964ffbc40610aef8c6",
      "tree": "3a78292a08cc9c87653be2e42d084a7d7f5989bf",
      "parents": [
        "a118e4d1402f1349fe3d953493e4168a300a752d"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:59 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:06:11 2009 +0200"
      },
      "message": "tracing/filters: a better event parser\n\nReplace the current event parser hack with a better one.  Filters are\nno longer specified predicate by predicate, but all at once and can\nuse parens and any of the following operators:\n\nnumeric fields:\n\n\u003d\u003d, !\u003d, \u003c, \u003c\u003d, \u003e, \u003e\u003d\n\nstring fields:\n\n\u003d\u003d, !\u003d\n\npredicates can be combined with the logical operators:\n\n\u0026\u0026, ||\n\nexamples:\n\n\"common_preempt_count \u003e 4\" \u003e filter\n\n\"((sig \u003e\u003d 10 \u0026\u0026 sig \u003c 15) || sig \u003d\u003d 17) \u0026\u0026 comm !\u003d bash\" \u003e filter\n\nIf there was an error, the erroneous string along with an error\nmessage can be seen by looking at the filter e.g.:\n\n((sig \u003e\u003d 10 \u0026\u0026 sig \u003c 15) || dsig \u003d\u003d 17) \u0026\u0026 comm !\u003d bash\n^\nparse_error: Field not found\n\nCurrently the caret for an error always appears at the beginning of\nthe filter; a real position should be used, but the error message\nshould be useful even without it.\n\nTo clear a filter, \u00270\u0027 can be written to the filter file.\n\nFilters can also be set or cleared for a complete subsystem by writing\nthe same filter as would be written to an individual event to the\nfilter file at the root of the subsytem.  Note however, that if any\nevent in the subsystem lacks a field specified in the filter being\nset, the set will fail and all filters in the subsytem are\nautomatically cleared.  This change from the previous version was made\nbecause using only the fields that happen to exist for a given event\nwould most likely result in a meaningless filter.\n\nBecause the logical operators are now implemented as predicates, the\nmaximum number of predicates in a filter was increased from 8 to 16.\n\n[ Impact: add new, extended trace-filter implementation ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905899.6416.121.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a118e4d1402f1349fe3d953493e4168a300a752d",
      "tree": "bd4c2fccee4528bf7d1536e33218516953904740",
      "parents": [
        "30e673b230f9d556eb81ef68a7b1a08c8b3b142c"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:53 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:06:03 2009 +0200"
      },
      "message": "tracing/filters: distinguish between signed and unsigned fields\n\nThe new filter comparison ops need to be able to distinguish between\nsigned and unsigned field types, so add an is_signed flag/param to the\nevent field struct/trace_define_fields().  Also define a simple macro,\nis_signed_type() to determine the signedness at compile time, used in the\ntrace macros.  If the is_signed_type() macro won\u0027t work with a specific\ntype, a new slightly modified version of TRACE_FIELD() called\nTRACE_FIELD_SIGN(), allows the signedness to be set explicitly.\n\n[ Impact: extend trace-filter code for new feature ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905893.6416.120.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30e673b230f9d556eb81ef68a7b1a08c8b3b142c",
      "tree": "219bb8cfce0b36f05e3c21ab10a29f8f56d47d7e",
      "parents": [
        "0f9a623dd6c9b5b4dd00c232f29525bfc7a8ecf2"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:47 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:05:54 2009 +0200"
      },
      "message": "tracing/filters: move preds into event_filter object\n\nCreate a new event_filter object, and move the pred-related members\nout of the call and subsystem objects and into the filter object - the\ndetails of the filter implementation don\u0027t need to be exposed in the\ncall and subsystem in any case, and it will also help make the new\nparser implementation a little cleaner.\n\n[ Impact: refactor trace-filter code to prepare for new features ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905887.6416.119.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "416dfdcdb894432547ead4fcb9fa6a36b396059e",
      "tree": "8033fdda07397a59c5fa98c88927040906ce6c1a",
      "parents": [
        "56449f437add737a1e5e1cb7e00f63ac8ead1938",
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 24 10:11:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 24 10:11:23 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc3\u0027 into tracing/hw-branch-tracing\n\nConflicts:\n\tarch/x86/kernel/ptrace.c\n\nMerge reason: fix the conflict above, and also pick up the CONFIG_BROKEN\n              dependency change from upstream so that we can remove it\n\t      here.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a4f453b6d7379a7c380825949977c5a838aa012",
      "tree": "9f5450c7a1abc865b998885affe964d4670a08bc",
      "parents": [
        "3554228d4289098a8fe5cfd87512ec32a19bbe5a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 22 16:53:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 22 11:36:38 2009 +0200"
      },
      "message": "tracing/events: make struct trace_entry-\u003etype to be int type\n\nstruct trace_entry-\u003etype is unsigned char, while trace event\u0027s id is\nint type, thus for a event with id \u003e\u003d 256, it\u0027s entry-\u003etype is cast\nto (id % 256), and then we can\u0027t see the trace output of this event.\n\n # insmod trace-events-sample.ko\n # echo foo_bar \u003e /mnt/tracing/set_event\n # cat /debug/tracing/events/trace-events-sample/foo_bar/id\n 256\n # cat /mnt/tracing/trace_pipe\n           \u003c...\u003e-3548  [001]   215.091142: Unknown type 0\n           \u003c...\u003e-3548  [001]   216.089207: Unknown type 0\n           \u003c...\u003e-3548  [001]   217.087271: Unknown type 0\n           \u003c...\u003e-3548  [001]   218.085332: Unknown type 0\n\n[ Impact: fix output for trace events with id \u003e\u003d 256 ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c49EEDB0E.5070207@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac1adc55fc71c7515caa2eb0e63e49b3d1c6a47c",
      "tree": "7a97cf9512572c53d0802725f8e0ad6a2d4b2204",
      "parents": [
        "46de405f25f1d9fa73b657ffbb752aa0cc87a91d"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Fri Apr 17 00:27:08 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:28:27 2009 +0200"
      },
      "message": "tracing/filters: add filter_mutex to protect filter predicates\n\nThis patch adds a filter_mutex to prevent the filter predicates from\nbeing accessed concurrently by various external functions.\n\nIt\u0027s based on a previous patch by Li Zefan:\n        \"[PATCH 7/7] tracing/filters: make filter preds RCU safe\"\n\nv2 changes:\n\n- fixed wrong value returned in a add_subsystem_pred() failure case\n  noticed by Li Zefan.\n\n[ Impact: fix trace filter corruption/crashes on parallel access ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1239946028.6639.13.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a59fd6027218bd7c994e39d14afe0242f895144f",
      "tree": "c22e6ff2924726319eac84c480eca72066bad660",
      "parents": [
        "f42c85e74faa422cf0bc747ed808681145448f88"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 13:52:20 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:58:00 2009 -0400"
      },
      "message": "tracing/events: convert event call sites to use a link list\n\nImpact: makes it possible to define events in modules\n\nThe events are created by reading down the section that they are linked\nin by the macros. But this is not scalable to modules. This patch converts\nthe manipulations to use a global link list, and on boot up it adds\nthe items in the section to the list.\n\nThis change will allow modules to add their tracing events to the list as\nwell.\n\nNote, this change alone does not permit modules to use the TRACE_EVENT macros,\nbut the change is needed for them to eventually do so.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "97f2025153499faa17267a0d4e18c7afaf73f39d",
      "tree": "cd3ea51a93093ea5250ef38b4b5bf6c2aa3f9ed5",
      "parents": [
        "9504504cbab29ecb694186b1c5b15d3579c43c51"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 13 11:20:49 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:58 2009 -0400"
      },
      "message": "tracing/events: move declarations from trace directory to core include\n\nIn preparation to allowing trace events to happen in modules, we need\nto move some of the local declarations in the kernel/trace directory\ninto include/linux.\n\nThis patch simply moves the declarations and performs no context changes.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9504504cbab29ecb694186b1c5b15d3579c43c51",
      "tree": "fd91bec634dfff191699616523812a3d4ffe6348",
      "parents": [
        "a8d154b009168337494fbf345671bab74d3e4b8b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Apr 11 12:59:57 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:57 2009 -0400"
      },
      "message": "tracing: make trace_seq operations available for core kernel\n\nIn the process to make TRACE_EVENT macro work for modules, the trace_seq\noperations must be available for core kernel code.\n\nThese operations are quite useful and can be used for other implementations.\n\nThe main idea is that we create a trace_seq handle that acts very much\nlike the seq_file handle.\n\n\tstruct trace_seq *s \u003d kmalloc(sizeof(*s, GFP_KERNEL);\n\n\ttrace_seq_init(s);\n\ttrace_seq_printf(s, \"some data %d\\n\", variable);\n\n\tprintk(\"%s\", s-\u003ebuffer);\n\nThe main use is to allow a top level function call several other functions\nthat may store printf like data into the buffer. Then at the end, the top\nlevel function can process all the data with any method it would like to.\nIt could be passed to userspace, output via printk or even use seq_file:\n\n\ttrace_seq_to_user(s, ubuf, cnt);\n\tseq_puts(m, s-\u003ebuffer);\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d",
      "tree": "1089246a64f65b2b3c2ba29182ed4f9ce9ad375e",
      "parents": [
        "b5c851a88a369854c04e511cefb84ea2d0cfa209"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Mon Apr 13 03:17:50 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:03:55 2009 +0200"
      },
      "message": "tracing/filters: allow on-the-fly filter switching\n\nThis patch allows event filters to be safely removed or switched\non-the-fly while avoiding the use of rcu or the suspension of tracing of\nprevious versions.\n\nIt does it by adding a new filter_pred_none() predicate function which\ndoes nothing and by never deallocating either the predicates or any of\nthe filter_pred members used in matching; the predicate lists are\nallocated and initialized during ftrace_event_calls initialization.\n\nWhenever a filter is removed or replaced, the filter_pred_* functions\ncurrently in use by the affected ftrace_event_call are immediately\nswitched over to to the filter_pred_none() function, while the rest of\nthe filter_pred members are left intact, allowing any currently\nexecuting filter_pred_* functions to finish up, using the values they\u0027re\ncurrently using.\n\nIn the case of filter replacement, the new predicate values are copied\ninto the old predicates after the above step, and the filter_pred_none()\nfunctions are replaced by the filter_pred_* functions for the new\nfilter.  In this case, it is possible though very unlikely that a\nprevious filter_pred_* is still running even after the\nfilter_pred_none() switch and the switch to the new filter_pred_*.  In\nthat case, however, because nothing has been deallocated in the\nfilter_pred, the worst that can happen is that the old filter_pred_*\nfunction sees the new values and as a result produces either a false\npositive or a false negative, depending on the values it finds.\n\nSo one downside to this method is that rarely, it can produce a bad\nmatch during the filter switch, but it should be possible to live with\nthat, IMHO.\n\nThe other downside is that at least in this patch the predicate lists\nare always pre-allocated, taking up memory from the start.  They could\nprobably be allocated on first-use, and de-allocated when tracing is\ncompletely stopped - if this patch makes sense, I could create another\none to do that later on.\n\nOh, and it also places a restriction on the size of __arrays in events,\ncurrently set to 128, since they can\u0027t be larger than the now embedded\nstr_val arrays in the filter_pred struct.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1239610670.6660.49.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb02ce017dd83985041a7e54c6449f92d53b026f",
      "tree": "7f52a3e92bf3dae1f3c7754a58ab76fb2eceb2e1",
      "parents": [
        "5f77a88b3f8268b11940b51d2e03d26a663ceb90"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Wed Apr 08 03:15:54 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:56 2009 +0200"
      },
      "message": "tracing/filters: use ring_buffer_discard_commit() in filter_check_discard()\n\nThis patch changes filter_check_discard() to make use of the new\nring_buffer_discard_commit() function and modifies the current users to\ncall the old commit function in the non-discard case.\n\nIt also introduces a version of filter_check_discard() that uses the\nglobal trace buffer (filter_current_check_discard()) for those cases.\n\nv2 changes:\n\n- fix compile error noticed by Ingo Molnar\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1239178554.10295.36.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77d9f465d46fd67cdb82ee5e1ab99dd57a17c486",
      "tree": "c21063ae5dff55522593f29e952c8a05958c6ce6",
      "parents": [
        "fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 02 01:16:59 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:54 2009 +0200"
      },
      "message": "tracing/filters: use ring_buffer_discard_commit for discarded events\n\nThe ring_buffer_discard_commit makes better usage of the ring_buffer\nwhen an event has been discarded. It tries to remove it completely if\npossible.\n\nThis patch converts the trace event filtering to use\nring_buffer_discard_commit instead of the ring_buffer_event_discard.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e45f2e2bd298e1ff687448e5fd15a3588b5807ec",
      "tree": "353f132d53ecb3e991cf59c3d43a7664cb87b743",
      "parents": [
        "e1112b4d96859367a93468027c9635e2ac04eb3f"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:49:16 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:51 2009 +0200"
      },
      "message": "tracing/filters: add TRACE_EVENT_FORMAT_NOFILTER event macro\n\nFrederic Weisbecker suggested that the trace_special event shouldn\u0027t be\nfilterable; this patch adds a TRACE_EVENT_FORMAT_NOFILTER event macro\nthat allows an event format to be exported without having a filter\nattached, and removes filtering from the trace_special event.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1112b4d96859367a93468027c9635e2ac04eb3f",
      "tree": "5170980ea71ee4bb5d0196880b58dbc997211b65",
      "parents": [
        "66de7792c02693b49671afe58c771fde3b092fc7"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:48:49 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:50 2009 +0200"
      },
      "message": "tracing/filters: add run-time field descriptions to TRACE_EVENT_FORMAT events\n\nThis patch adds run-time field descriptions to all the event formats\nexported using TRACE_EVENT_FORMAT.  It also hooks up all the tracers\nthat use them (i.e. the tracers in the \u0027ftrace subsystem\u0027) so they can\nalso have their output filtered by the event-filtering mechanism.\n\nWhen I was testing this, there were a couple of things that fooled me\ninto thinking the filters weren\u0027t working, when actually they were -\nI\u0027ll mention them here so others don\u0027t make the same mistakes (and file\nbug reports. ;-)\n\nOne is that some of the tracers trace multiple events e.g. the\nsched_switch tracer uses the context_switch and wakeup events, and if\nyou don\u0027t set filters on all of the traced events, the unfiltered output\nfrom the events without filters on them can make it look like the\nfiltering as a whole isn\u0027t working properly, when actually it is doing\nwhat it was asked to do - it just wasn\u0027t asked to do the right thing.\n\nThe other is that for the really high-volume tracers e.g. the function\ntracer, the volume of filtered events can be so high that it pushes the\nunfiltered events out of the ring buffer before they can be read so e.g.\ncat\u0027ing the trace file repeatedly shows either no output, or once in\nawhile some output but that isn\u0027t there the next time you read the\ntrace, which isn\u0027t what you normally expect when reading the trace file.\nIf you read from the trace_pipe file though, you can catch them before\nthey disappear.\n\nChanges from v1:\n\nAs suggested by Frederic Weisbecker:\n\n- get rid of externs in functions\n- added unlikely() to filter_check_discard()\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "02af61bb50f5d5f0322dbe5ab2a0d75808d25c7b"
}
