)]}'
{
  "log": [
    {
      "commit": "b21c07040304b8716e38a4a0e4ab60f386357e61",
      "tree": "eb2cf03ec35b9a5090c0adaab659a766e02c3b10",
      "parents": [
        "4e58fb7305449cf8c5a86dd97dfc1812221be77c",
        "fb7ae981cb9fe8665b9da97e8734745e030c151d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:52:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:52:01 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 sign fields in ftrace_define_fields_##call()\n  tracing/syscalls: Fix typo in SYSCALL_DEFINE0\n  tracing/kprobe: Show sign of fields in trace_kprobe format files\n  ksym_tracer: Remove trace_stat\n  ksym_tracer: Fix race when incrementing count\n  ksym_tracer: Fix to allow writing newline to ksym_trace_filter\n  ksym_tracer: Fix to make the tracer work\n  tracing: Kconfig spelling fixes and cleanups\n  tracing: Fix setting tracer specific options\n  Documentation: Update ftrace-design.txt\n  Documentation: Update tracepoint-analysis.txt\n  Documentation: Update mmiotrace.txt\n"
    },
    {
      "commit": "c757bea93bea4b77ebd181cc6dca60c15e3b1a2c",
      "tree": "f1a4ddfea72acf13864f543648bf3f79924cbdc3",
      "parents": [
        "7e25f44cbf8d95a9748fdfd19c06145f19fd10e3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 21 22:35:16 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 21 22:35:16 2009 -0500"
      },
      "message": "tracing: Fix setting tracer specific options\n\nThe function __set_tracer_option() takes as its last parameter a\n\"neg\" value. If set it should negate the value of the option.\n\nThe trace_options_write() passed the value written to the file\nwhich is what the new value needs to be set as. But since this\nis not the negative, it never sets the value.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a865c0606eb44d5d12cabb429751c83712183de",
      "tree": "726d6eaf3b20f30900304bd0cbb6339b423a071f",
      "parents": [
        "331d9d5958277de27e6ce42247e1cbec54fd1c7e",
        "46e75f66677f5094bb51e91f9473128c4e907c7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 07:23:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 07:23:42 2009 -0800"
      },
      "message": "Merge branch \u0027for-33\u0027 of git://repo.or.cz/linux-kbuild\n\n* \u0027for-33\u0027 of git://repo.or.cz/linux-kbuild: (29 commits)\n  net: fix for utsrelease.h moving to generated\n  gen_init_cpio: fixed fwrite warning\n  kbuild: fix make clean after mismerge\n  kbuild: generate modules.builtin\n  genksyms: properly consider  EXPORT_UNUSED_SYMBOL{,_GPL}()\n  score: add asm/asm-offsets.h wrapper\n  unifdef: update to upstream revision 1.190\n  kbuild: specify absolute paths for cscope\n  kbuild: create include/generated in silentoldconfig\n  scripts/package: deb-pkg: use fakeroot if available\n  scripts/package: add KBUILD_PKG_ROOTCMD variable\n  scripts/package: tar-pkg: use tar --owner\u003droot\n  Kbuild: clean up marker\n  net: add net_tstamp.h to headers_install\n  kbuild: move utsrelease.h to include/generated\n  kbuild: move autoconf.h to include/generated\n  drop explicit include of autoconf.h\n  kbuild: move compile.h to include/generated\n  kbuild: drop include/asm\n  kbuild: do not check for include/asm-$ARCH\n  ...\n\nFixed non-conflicting clean merge of modpost.c as per comments from\nStephen Rothwell (modpost.c had grown an include of linux/autoconf.h\nthat needed to be changed to generated/autoconf.h)\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": "28dfef8febe48f59cf1e7596e1992a6a1893ca24",
      "tree": "eb2df6dd75e72db066062950f91c9ab2e8215280",
      "parents": [
        "5116fa2b3a0a3ec625a10445ae45667f094c125b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:46:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:05 2009 -0800"
      },
      "message": "const: constify remaining pipe_buf_operations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e36c54582c6f14adc9e10473e2aec2cc4f0acc03",
      "tree": "057c54ccfd431152486fd781070713ad0e34bb01",
      "parents": [
        "0087aabd6a3744c28114240776918f5d15e46b98"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 14 15:58:33 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 08:36:11 2009 +0100"
      },
      "message": "tracing: Fix return of trace_dump_stack()\n\nThe trace_dump_stack() returned a value for a void function.\n\nAlso, added the missing stub for trace_dump_stack() when tracing is\nnot configured.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20091214162713.GA31060@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62",
      "tree": "e371d17bd73d64332349debbf45962ec67e7269d",
      "parents": [
        "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:01:25 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert __raw_spin* functions to arch_spin*\n\nName space cleanup. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26",
      "tree": "a4fac9d24d243d3296fc36a2371db2a56d363e1a",
      "parents": [
        "445c89514be242b1b0080056d50bdc1b72adeb5c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 12:38:57 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED\n\nFurther name space cleanup. No functional change\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "445c89514be242b1b0080056d50bdc1b72adeb5c",
      "tree": "96ed062794ad0fb6a649713c83f009eea382e8b2",
      "parents": [
        "6b6b4792f89346e47437682c7ba3438e6681c0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 19:49:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_spinlock to arch_spinlock\n\nThe raw_spin* namespace was taken by lockdep for the architecture\nspecific implementations. raw_spin_* would be the ideal name space for\nthe spinlocks which are not converted to sleeping locks in preempt-rt.\n\nLinus suggested to convert the raw_ to arch_ locks and cleanup the\nname space instead of using an artifical name like core_spin,\natomic_spin or whatever\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\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": "0087aabd6a3744c28114240776918f5d15e46b98",
      "tree": "8bf3ba7b3395490441722360d2872480f64cd694",
      "parents": [
        "cc0104e877fff32865a67b256d3a9ce52ff15790",
        "cc51a0fca66658ea710db566ba17e80e3f7d4957"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:12:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:12:37 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "8d18eaaff5acaa58369be342c86e607643ce10c7",
      "tree": "ff5d275165cd224468a9930f94ac80a53bfc55c7",
      "parents": [
        "2cbafd68b826f8e0471875cf33cdfb8a1478aef1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:17:06 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:28 2009 +0100"
      },
      "message": "tracing: Simplify trace_option_write()\n\n- remove duplicate code inside trace_options_write()\n- extract duplicate code in trace_options_write() and set_tracer_option()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC532.9010802@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\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": "13f16d209161c95e92aef40e350cc6cf56ac440b",
      "tree": "a8e3bc78c7b07f5dab8776d91642d29ea1783fb8",
      "parents": [
        "fdb372ed4cadbfe9dbba0e932a77d0523682e690"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:16:11 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Use seq file for trace_clock\n\nThe buffer for the output is as small as 64 bytes, so it\u0027ll\noverflow if we add more clock type. Use seq file instead.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC4FB.5030407@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "fdb372ed4cadbfe9dbba0e932a77d0523682e690",
      "tree": "fe58239da27070baac9c0dc3c692f7535cfcfa15",
      "parents": [
        "91baf6285be7282cfa487de92f836c50749dffb9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:15:59 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Use seq file for trace_options\n\nCode simplification for reading trace_options.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-reference: \u003c4B1DC4EF.3090106@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "273b281fa22c293963ee3e6eec418f5dda2dbc83",
      "tree": "1503005f5b106c0293a5eba1fb9ff90a9c91e4c9",
      "parents": [
        "264a26838056fc2d759f58bec2e720e01fcb1bdb"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Oct 18 00:52:28 2009 +0200"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Sat Dec 12 13:08:15 2009 +0100"
      },
      "message": "kbuild: move utsrelease.h to include/generated\n\nFix up all users of utsrelease.h\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "03889384cee7a198a79447c1ea6aca2c8e54d155",
      "tree": "66794ab12e3196c4bee4d8d020f451e8cc8a1f6d",
      "parents": [
        "dd7f59435782a02ceb6d16b9ce823dd3345d75ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 11 09:48:22 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 11 10:38:47 2009 -0500"
      },
      "message": "tracing: Add trace_dump_stack()\n\nI\u0027ve been asked a few times about how to find out what is calling\nsome location in the kernel. One way is to use dynamic function tracing\nand implement the func_stack_trace. But this only finds out who is\ncalling a particular function. It does not tell you who is calling\nthat function and entering a specific if conditional.\n\nI have myself implemented a quick version of trace_dump_stack() for\nthis purpose a few times, and just needed it now. This is when I realized\nthat this would be a good tool to have in the kernel like trace_printk().\n\nUsing trace_dump_stack() is similar to dump_stack() except that it\nwrites to the trace buffer instead and can be used in critical locations.\n\nFor example:\n\n@@ -5485,8 +5485,12 @@ need_resched_nonpreemptible:\n \tif (prev-\u003estate \u0026\u0026 !(preempt_count() \u0026 PREEMPT_ACTIVE)) {\n \t\tif (unlikely(signal_pending_state(prev-\u003estate, prev)))\n \t\t\tprev-\u003estate \u003d TASK_RUNNING;\n-\t\telse\n+\t\telse {\n \t\t\tdeactivate_task(rq, prev, 1);\n+\t\t\ttrace_printk(\"Deactivating task %s:%d\\n\",\n+\t\t\t\t     prev-\u003ecomm, prev-\u003epid);\n+\t\t\ttrace_dump_stack();\n+\t\t}\n \t\tswitch_count \u003d \u0026prev-\u003envcsw;\n \t}\n\nProduces:\n\n           \u003c...\u003e-3249  [001]   296.105269: schedule: Deactivating task ntpd:3249\n           \u003c...\u003e-3249  [001]   296.105270: \u003cstack trace\u003e\n \u003d\u003e schedule\n \u003d\u003e schedule_hrtimeout_range\n \u003d\u003e poll_schedule_timeout\n \u003d\u003e do_select\n \u003d\u003e core_sys_select\n \u003d\u003e sys_select\n \u003d\u003e system_call_fastpath\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f2942487ffb0c0a80b2312f667ea30dd55a24bb0",
      "tree": "8e6e4c8ae8230f2648142c863e8482b7656e6614",
      "parents": [
        "be1eca39319689aed7d3aedb9c3bece9469fe10f"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Sun Dec 06 14:02:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 14:20:08 2009 -0500"
      },
      "message": "tracing: Remove comparing of NULL to va_list in trace_array_vprintk()\n\nOlof Johansson stated the following:\n\n  Comparing a va_list with NULL is bogus. It\u0027s supposed to be treated like\n  an opaque type and only be manipulated with va_* accessors.\n\nOlof noticed that this code broke the ARM builds:\n\n    kernel/trace/trace.c: In function \u0027trace_array_vprintk\u0027:\n    kernel/trace/trace.c:1364: error: invalid operands to binary \u003d\u003d (have \u0027va_list\u0027 and \u0027void *\u0027)\n    kernel/trace/trace.c: In function \u0027tracing_mark_write\u0027:\n    kernel/trace/trace.c:3349: error: incompatible type for argument 3 of \u0027trace_vprintk\u0027\n\nThis patch partly reverts c13d2f7c3231e873f30db92b96c8caa48f100f33 and\nre-installs the original mark_printk() mechanism.\n\nReported-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B1BAB74.104@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a63ce5b306855bccdacba95c03bfc293316c8ae3",
      "tree": "b6d91266e9333a9cf74d6171bbee0acc0e18096b",
      "parents": [
        "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 07 09:11:39 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 13:55:26 2009 -0500"
      },
      "message": "tracing: Buffer the output of seq_file in case of filled buffer\n\nIf the seq_read fills the buffer it will call s_start again on the next\nitertation with the same position. This causes a problem with the\nfunction_graph tracer because it consumes the iteration in order to\ndetermine leaf functions.\n\nWhat happens is that the iterator stores the entry, and the function\ngraph plugin will look at the next entry. If that next entry is a return\nof the same function and task, then the function is a leaf and the\nfunction_graph plugin calls ring_buffer_read which moves the ring buffer\niterator forward (the trace iterator still points to the function start\nentry).\n\nThe copying of the trace_seq to the seq_file buffer will fail if the\nseq_file buffer is full. The seq_read will not show this entry.\nThe next read by userspace will cause seq_read to again call s_start\nwhich will reuse the trace iterator entry (the function start entry).\nBut the function return entry was already consumed. The function graph\nplugin will think that this entry is a nested function and not a leaf.\n\nTo solve this, the trace code now checks the return status of the\nseq_printf (trace_print_seq). If the writing to the seq_file buffer\nfails, we set a flag in the iterator (leftover) and we do not reset\nthe trace_seq buffer. On the next call to s_start, we check the leftover\nflag, and if it is set, we just reuse the trace_seq buffer and do not\ncall into the plugin print functions.\n\nBefore this patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)               |          __fsnotify_parent() {\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\nAfter the patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)   0.548 us    |          __fsnotify_parent();\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\n[\n  Updated the patch to fix a missing return 0 from the trace_print_seq()\n  stub when CONFIG_TRACING is disabled.\n\n  Reported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n]\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458",
      "tree": "42a93ba9e1e7d0fb7b1f46382dba9a5245768629",
      "parents": [
        "c521efd1700a8c0f7ce26f011f5eaecca17fabfa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 09 12:37:43 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 12:47:35 2009 -0500"
      },
      "message": "tracing: Only call pipe_close if pipe_close is defined\n\nThis fixes a cut and paste error that had pipe_close get called\nif pipe_open was defined (not pipe_close).\n\nReported-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLKML-Reference: \u003c20091209153204.F4CD.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "c13d2f7c3231e873f30db92b96c8caa48f100f33",
      "tree": "b849f99094e847f31f89e2e1a8944c9ff7f0ad30",
      "parents": [
        "811cb50baf63461ce0bdb234927046131fc7fa8b"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Mon Nov 16 20:56:13 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 09:19:06 2009 -0500"
      },
      "message": "tracing: Fix trace_marker output\n\nWhen a string was written to \u003cdebugfs\u003e/tracing/trace_marker, some\nstrange characters appeared in the trace output instead of the\nstring, since a vprint function erroneously called a vararg print\nfunction with a va_list argument. This patch fixes the problem and\nsimplifies the related code.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B01AE5D.1010801@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a646365cc330b5aaf4452c91f61b1e0d1acf68d0",
      "tree": "a1fda53758eb90e93d4a03efd21b2a35f3b283e0",
      "parents": [
        "ed146b25942b428f8e8056587b7638ce76573c2f"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Nov 11 22:26:35 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 11 21:26:55 2009 -0500"
      },
      "message": "tracing: Fix return value of tracing_stats_read()\n\nThe function tracing_stats_read() mistakenly returns ENOMEM instead\nof the negative value -ENOMEM.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nLKML-Reference: \u003c4AFB2C0B.50605@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9705f69ed0a5ef593f45e618bcb3cbfdbf391f64",
      "tree": "18db802e8a985d6f7427e0949aea2e08f53ff2a8",
      "parents": [
        "1871e52c76dd95895caeb772f845a1718dcbcd75"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols in tracer unique\n\nThis patch updates percpu related symbols in kernel tracer such that\npercpu symbols are unique and don\u0027t clash with local symbols.  This\nserves two purposes of decreasing the possibility of global percpu\nsymbol collision and allowing dropping per_cpu__ prefix from percpu\nsymbols.\n\n* kernel/trace/trace.c: s/max_data/max_tr_data/\n* kernel/trace/trace_hw_branches: s/tracer/hwb_tracer/, s/buffer/hwb_buffer/\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "9de09ace8d518141a4375e1d216ab64db4377799",
      "tree": "da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16",
      "parents": [
        "1beee96bae0daf7f491356777c3080cc436950f5",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:20 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up fixes and move base from -rc1 to -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8517cf905b5cd31d5790250b9ac39f7cb8aa53",
      "tree": "22796f676ce955ec204ece1485dac6e93d1aeb3e",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:16 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:49 2009 +0200"
      },
      "message": "tracing: Update *ppos instead of filp-\u003ef_pos\n\nInstead of directly updating filp-\u003ef_pos we should update the *ppos\nargument. The filp-\u003ef_pos gets updated within the file_pos_write()\nfunction called from sys_write().\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.399670810@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1beee96bae0daf7f491356777c3080cc436950f5",
      "tree": "08aa1380fce845680b15f6911100776439246954",
      "parents": [
        "06f43d66ec36388056f5c697bf1e67c0e0a1645c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:50:32 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:55:55 2009 +0200"
      },
      "message": "ftrace: Rename set_bootup_ftrace into set_cmdline_ftrace\n\nset_cmdline_ftrace is a better match against what does this function:\napply a tracer name from the kernel command line.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "1bac0497ef9af8d933860672223e38bd6ac4934a",
      "tree": "8e569b0e7ed977a4659002632362855cc245990f",
      "parents": [
        "2c96c142e941041973faab20ca3b82d57f435c5e",
        "bf7c5b43a12614847b83f507fb169ad30640e406"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core\n"
    },
    {
      "commit": "aef6f81b55f462082699c06e8e67e6eb5630ed45",
      "tree": "f5d0bf2b89b0b3e91d23f9eb3dea5ebb0e6f39cc",
      "parents": [
        "369bc18f9a6c4e2686204c1d7476ab684a720968"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 12 22:23:24 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 13 09:32:57 2009 +0200"
      },
      "message": "tracing: Rename set_ftrace to set_bootup_ftrace\n\nDo this rename because set_ftrace is too much generic and not enough\nself-explainable as a name.\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": "a813a159766ee9d36aa1fc717c60d63325a6d077",
      "tree": "a895e702adea43c61f2890424c800d1f99a24f5c",
      "parents": [
        "8f6e8a314ab37cadd72da5ace9027f2d04aba854"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "message": "tracing: fix trace_vprintk call\n\nThe addition of trace_array_{v}printk used the wrong function for\ntrace_vprintk to call. This broke trace_marker and trace_vprintk\nitself. Although trace_printk may not have been affected by those\nthat end up calling trace_vbprintk.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4187e7e9f1294afdcb3be5d00aa74412a1c2ded8",
      "tree": "1d4b3447cb2a7407d97e51ee5c48069d6b92c9e3",
      "parents": [
        "5bb241b325d7d91bc4ec0b394f31dffb17fe7978",
        "115e8a288252ef748f34f8b7c1115c563d702eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "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  modules, tracing: Remove stale struct marker signature from module_layout()\n  tracing/workqueue: Use %pf in workqueue trace events\n  tracing: Fix a comment and a trivial format issue in tracepoint.h\n  tracing: Fix failure path in ftrace_regex_open()\n  tracing: Fix failure path in ftrace_graph_write()\n  tracing: Check the return value of trace_get_user()\n  tracing: Fix off-by-one in trace_get_user()\n"
    },
    {
      "commit": "79f5599772ac2f138d7a75b8f3f06a93f09c75f7",
      "tree": "092c9f6e3f7c49d8f5bb9f3d39752ae7cfb9415a",
      "parents": [
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 15 14:58:26 2009 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:24 2009 +0930"
      },
      "message": "cpumask: use zalloc_cpumask_var() where possible\n\nRemove open-coded zalloc_cpumask_var() and zalloc_cpumask_var_node().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c235a337e205da0f614e456be72881483dcde6e",
      "tree": "73dee892e0cf269793c2193e235d9701fa9a3115",
      "parents": [
        "b8c7f1dc5ca4e0d10709182233cdab932cef593d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Sep 22 13:51:54 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 10:28:53 2009 +0200"
      },
      "message": "tracing: Fix off-by-one in trace_get_user()\n\nLeave the last slot for the tailing \u0027\\0\u0027.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4AB865FA.5080801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e4bc3dd2ca07d77882eba73cea240aba95a1854",
      "tree": "da105cd2c4f51c78c401c00d8b399572914694ed",
      "parents": [
        "bd4c3a3441144cd46d1f544046523724c5bc6e94",
        "0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Simplify sys_sched_rr_get_interval() system call\n  sched: Fix potential NULL derference of doms_cur\n  sched: Fix raciness in runqueue_is_locked()\n  sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()\n  sched: Remove unneeded indentation in sched_fair.c::place_entity()\n"
    },
    {
      "commit": "89f19f04dc72363d912fd007a399cb10310eff6e",
      "tree": "daa64e5de98a668eed4a2ceeb6ca95c478be4053",
      "parents": [
        "3f04e8cd5b24727a2500f8ab8f3de730ba47b02c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Sep 19 11:55:44 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 20 20:00:32 2009 +0200"
      },
      "message": "sched: Fix raciness in runqueue_is_locked()\n\nrunqueue_is_locked() is unavoidably racy due to a poor interface design.\nIt does\n\n\tcpu \u003d get_cpu()\n\tret \u003d some_perpcu_thing(cpu);\n\tput_cpu(cpu);\n\treturn ret;\n\nIts return value is unreliable.\n\nFix.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c200909191855.n8JItiko022148@imap1.linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee6c2c1bd15e60a442d1861b66285f112ce4f25c",
      "tree": "7ba74a6e1483de3a7a415e06cc7768dfea4a999c",
      "parents": [
        "a4ec5e0c2681b8cf99ddabf118705847f7460f19"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Sep 18 14:06:47 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 19 11:28:19 2009 -0400"
      },
      "message": "tracing: remove max_tracer_type_len\n\nLimit the length of a tracer\u0027s name within 100 chars, and then we\ndon\u0027t have to play with max_tracer_type_len.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AB32377.9020601@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "60ba77022712c7cda0eda286154bae160446b24a",
      "tree": "3cd975b44ac716e079fdfcb1d4b9cd3efc815500",
      "parents": [
        "51df5fcbc1296a84cf1c093c6cb56d40ca3e697e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Sep 12 23:34:04 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 12 23:34:04 2009 -0400"
      },
      "message": "tracing: add filter event logic to special, mmiotrace and boot tracers\n\nNow that the pluging tracers use macros to create the structures and\nautomate the exporting of their formats to the format files, they also\nautomatically get a filter file.\n\nThis patch adds the code to implement the filter logic in the trace\nrecordings.\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": "637e7e864103a7a68c1ce43ada27dfc25c0d113f",
      "tree": "7ef0eadf41d79b07bc19f62b1355f7c824d781fd",
      "parents": [
        "48659d31195bb76d688e99dabd816c5472fb1656"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 11 13:55:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 11 13:55:35 2009 -0400"
      },
      "message": "tracing: add lock depth to entries\n\nThis patch adds the lock depth of the big kernel lock to the generic\nentry header. This way we can see the depth of the lock and help\nin removing the BKL.\n\nExample:\n\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /_--\u003d\u003e lock-depth\n #                |||||/     delay\n #  cmd     pid   |||||| time  |   caller\n #     \\   /      ||||||   \\   |   /\n   \u003cidle\u003e-0       2.N..3 5902255250us+: lock_acquire: read rcu_read_lock\n   \u003cidle\u003e-0       2.N..3 5902255253us+: lock_release: rcu_read_lock\n   \u003cidle\u003e-0       2dN..3 5902255257us+: lock_acquire: xtime_lock\n   \u003cidle\u003e-0       2dN..4 5902255259us : lock_acquire: clocksource_lock\n   \u003cidle\u003e-0       2dN..4 5902255261us+: lock_release: clocksource_lock\n\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": "ed011b22ce567eabefa9ea571d3721c10ecd0553",
      "tree": "c7aee6684613075c772388a99a9137014549434e",
      "parents": [
        "85bac32c4a52c592b857f2c360cc5ec93a097d70",
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:42 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc9\u0027 into tracing/core\n\nMerge reason: move from -rc5 to -rc9.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8165dbb03ed04d798163ee512074b9a9466a9c8",
      "tree": "a9e640253a8ce14bada6a83fe1d85ecd74968695",
      "parents": [
        "659372d3e42a3e17a2e042d38a8bcdb94bfbe797"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 03 19:13:05 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 19:22:41 2009 -0400"
      },
      "message": "tracing: report error in trace if we fail to swap latency buffer\n\nThe irqsoff tracer will fail to swap the cpu buffer with the max\nbuffer if it preempts a commit. Instead of ignoring this, this patch\nmakes the tracer report it if the last max latency failed due to preempting\na current commit.\n\nThe output of the latency tracer will look like this:\n\n # tracer: irqsoff\n #\n # irqsoff latency trace v1.1.5 on 2.6.31-rc5\n # --------------------------------------------------------------------\n # latency: 112 us, #1/1, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: -4281 (uid:0 nice:0 policy:0 rt_prio:0)\n #    -----------------\n #  \u003d\u003e started at: save_args\n #  \u003d\u003e ended at:   __do_softirq\n #\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /\n #                |||||     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||   \\   |   /\n    bash-4281    1d.s6  265us : update_max_tr_single: Failed to swap buffers due to commit in progress\n\nNote the latency time and the functions that disabled the irqs or preemption\nwill still be listed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "f633903af2ceb0cec07d45e499a072b6593d0ed1",
      "tree": "9a484fa299142a00d0dbb5a97e1108031db96e70",
      "parents": [
        "2f26ebd549b9ab55ac756b836ec759c11fe93f81"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 04 12:35:16 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 18:46:51 2009 -0400"
      },
      "message": "tracing: make tracing_reset safe for external use\n\nReseting the trace buffer without first disabling the buffer and\nwaiting for any writers to complete, can corrupt the ring buffer.\n\nThis patch makes the external version of tracing_reset safe from\ncorruption by disabling the ring buffer and calling synchronize_sched.\n\nThis version can no longer be called from interrupt context. But all those\ncallers have been removed.\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": "76f0d07376388f32698ba51b6090a26b90c1342f",
      "tree": "ea3a2576e7d2ae85d610aa088cb05986a13f03b1",
      "parents": [
        "621968cdb2563b667d6ecb484ba91ef4c3a797b3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 04 12:12:39 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 12:12:39 2009 -0400"
      },
      "message": "tracing: remove users of tracing_reset\n\nThe function tracing_reset is deprecated for outside use of trace.c.\n\nThe new function to reset the the buffers is tracing_reset_online_cpus.\n\nThe reason for this is that resetting the buffers while the event\ntrace points are active can corrupt the buffers, because they may\nbe writing at the time of reset. The tracing_reset_online_cpus disables\nwrites and waits for current writers to finish.\n\nThis patch replaces all users of tracing_reset except for the latency\ntracers. Those changes require more work and will be removed in the\nfollowing patches.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "621968cdb2563b667d6ecb484ba91ef4c3a797b3",
      "tree": "a4b8e3ba1f55d6b725b37a4e42c2f376d6150cdc",
      "parents": [
        "b8de7bd168fa54d059b16d3057b2f8a32cc5bdc3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 04 12:02:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 12:02:35 2009 -0400"
      },
      "message": "tracing: disable buffers and synchronize_sched before resetting\n\nResetting the ring buffers while traces are happening can corrupt\nthe ring buffer and disable it (no kernel crash to worry about).\n\nThe safest thing to do is disable the ring buffers, call synchronize_sched()\nto wait for all current writers to finish and then reset the buffer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b8de7bd168fa54d059b16d3057b2f8a32cc5bdc3",
      "tree": "3455ec59050f7f6d466a8c08275567079914d1b1",
      "parents": [
        "8248ac052dfd1eb41819fbc0ca5c7a1667e7e70c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 31 22:32:27 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 11:52:24 2009 -0400"
      },
      "message": "tracing: disable update max tracer while reading trace\n\nWhen reading the tracer from the trace file, updating the max latency\nmay corrupt the output. This patch disables the tracing of the max\nlatency while reading the trace file.\n\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": "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": "f2d84b65b9778e8a35dd904f7d3993f0a60c9756",
      "tree": "472a349bcc647cdf99c55f832156492478734f99",
      "parents": [
        "df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Aug 07 18:55:48 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 18 02:07:04 2009 +0200"
      },
      "message": "ftrace: Unify effect of writing to trace_options and option/*\n\n\"echo noglobal-clock \u003e trace_options\" can be used to change trace\nclock but \"echo 0 \u003e options/global-clock\" can\u0027t. The flag toggling\nwill be silently accepted without actually changing the clock callback.\n\nWe can fix it by using set_tracer_flags() in\ntrace_options_core_write().\n\nChangelog:\nv1-\u003ev2: Simplified switch() after Li Zefan \u003clizf@cn.fujitsu.com\u003e\u0027s\n        suggestion\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "7770841e63730d62928b0879498064e9614b2ce0",
      "tree": "6bc12618ec2cdbc6e5294e6b967652eaf7c3c9d6",
      "parents": [
        "89034bc2c7b839702c00a704e79d112737f98be0"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Aug 07 18:53:21 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 11 20:35:25 2009 +0200"
      },
      "message": "tracing: Rename set_tracer_flags()\u0027s local variable trace_flags\n\nset_tracer_flags() have a local variable named trace_flags which has\nthe same name than a global one in the same scope.\nThis leads to confusion, using tracer_flags should be better by its\nmeaning.\n\nChangelog:\nv1-\u003ev2: Simplified another patch in this patchset, no change in this\n        patch.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.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": "82e04af498a85ba425efe77580b7ba08234411df",
      "tree": "3683fb5e68cd96b518eb72d76b608205613feb24",
      "parents": [
        "c0a0d0d3f65284c71115a9bb1ed801ee33eeb552"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 29 18:00:29 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 06 07:28:06 2009 +0200"
      },
      "message": "tracing: Move sched event insertion helpers in the sched switch tracer file\n\nThe sched events helpers which insert the sched switch and wakeup\nevents 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 sched switch tracer file.\n\nThen move them to trace_functions.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": "e16852cfc5580b88cb327413ab8c89375f380592",
      "tree": "67e7d5b84e2602986f2da689625e5a25d7af7bb4",
      "parents": [
        "bdff78707f3ce47e891f3201c9666122a70556ce",
        "74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 13:58:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 13:58:28 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent\n"
    },
    {
      "commit": "74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf",
      "tree": "5bbe7b9f239f1e7b0a688b521f5dca8b9ea99ef4",
      "parents": [
        "38ceb592fcac9110c6b3c87ea0a27bff68c43486"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Jul 28 20:17:22 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 28 23:17:23 2009 +0200"
      },
      "message": "tracing: Fix missing function_graph events when we splice_read from trace_pipe\n\nAbout a half events are missing when we splice_read\nfrom trace_pipe. They are unexpectedly consumed because we ignore\nthe TRACE_TYPE_NO_CONSUME return value used by the function graph\ntracer when it needs to consume the events by itself to walk on\nthe ring buffer.\n\nThe same problem appears with ftrace_dump()\n\nExample of an output before this patch:\n\n1)               |      ktime_get_real() {\n1)   2.846 us    |          read_hpet();\n1)   4.558 us    |        }\n1)   6.195 us    |      }\n\nAfter this patch:\n\n0)               |      ktime_get_real() {\n0)               |        getnstimeofday() {\n0)   1.960 us    |          read_hpet();\n0)   3.597 us    |        }\n0)   5.196 us    |      }\n\nThe fix also applies on 2.6.30\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4A6EEC52.90704@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "8650ae32ef7045e763825dee6256dde7f331bb85",
      "tree": "546a07e4c5b6fc731b48604769392a671c1fb18e",
      "parents": [
        "4c739ff043e5787d97c9691d62cabf7a29e75a9d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 22 23:29:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 10:07:18 2009 -0400"
      },
      "message": "tracing: only truncate ftrace files when O_TRUNC is set\n\nThe current code will truncate the ftrace files contents if O_APPEND\nis not set and the file is opened in write mode. This is incorrect.\nIt should only truncate the file if O_TRUNC is set. Otherwise\nif one of these files is opened by a C program with fopen \"r+\",\nit will incorrectly truncate the file.\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ff4e9da2330beb8d64498a513d3f9694e941b01a",
      "tree": "c45a1d50d1f9a015af9497afe8f17b6025200efd",
      "parents": [
        "7d536cb3fb9993bdcd5a2fbaa6b0670ded4e101c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Jun 22 10:33:07 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 20 12:02:09 2009 -0400"
      },
      "message": "tracing: cleanup for tracing_trace_options_read()\n\n\u0027\\n\u0027 is already appended, and what we need is just an extra\nspace for the \u0027\\0\u0027.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A3EED63.3090908@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "566b0aaf798a0dddfc455d1a5b05c424c6686c65",
      "tree": "ce8e8bfb62986ba4e5ba1b1d7d729c83aeb74387",
      "parents": [
        "45bceffc3013bda7d2ebc7802e9b153b674e2d44"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 16 21:44:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:21:16 2009 +0200"
      },
      "message": "tracing: Remove unused fields/variables\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c1247773468-11594-2-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45bceffc3013bda7d2ebc7802e9b153b674e2d44",
      "tree": "222d7dd8fd300925cbf12cdc0fba5bee2528997e",
      "parents": [
        "6f2f3cf00ee32f75ba007a46bab88a54d68a5deb",
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:19:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:20:01 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: tracing/core was on an older, pre-rc1 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ae365eca895061c8bf2b2e3ae1d9ea62869739",
      "tree": "fc808698a4f2869b45ef4e8c958cbab183a7ad37",
      "parents": [
        "3adc54fa82a68be1cd1ac82ad786ee362796e50a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 27 11:00:29 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 07 18:36:12 2009 -0400"
      },
      "message": "ring-buffer: make lockless\n\nThis patch converts the ring buffers into a completely lockless\nbuffer recording system. The read side still takes locks since\nwe still serialize readers. But the writers are the ones that\nmust be lockless (those can happen in NMIs).\n\nThe main change is to the \"head_page\" pointer. We write to the\ntail, and read from the head. The \"head_page\" pointer in the cpu\nbuffer is now just a reference to where to look. The real head\npage is now kept in the head_page-\u003elist-\u003eprev-\u003enext pointer.\nThat is, in the list head of the previous page we set flags.\n\nThe list pages are allocated to be aligned such that the lowest\nsignificant bits are always zero pointing to the list. This gives\nus play to put in flags to their pointers.\n\nbit 0: set when the page is a head page\nbit 1: set when the writer is moving the page (for overwrite mode)\n\ncmpxchg is used to update the pointer.\n\nWhen the writer wraps the buffer and the tail meets the head,\nin overwrite mode, the writer must move the head page forward.\nIt first uses cmpxchg to change the pointer flag from 1 to 2.\nOnce this is done, the reader on another CPU will not take the\npage from the buffer.\n\nThe writers need to protect against interrupts (we don\u0027t bother with\ndisabling interrupts because NMIs are allowed to write too).\n\nAfter the writer sets the pointer flag to 2, it takes care to\nmanage interrupts coming in. This is discribed in detail within the\ncomments of the code.\n\n Changes in version 2:\n  - Let reader reset entries value of header page.\n  - Fix tail page passing commit page on reader page test.\n  - Always increment entries and write counter in rb_tail_page_update\n  - Add safety check in rb_set_commit_to_write to break out of infinite loop\n  - add mask in rb_is_reader_page\n\n[ Impact: lock free writing to the ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\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": "9d612beff5089b89a295a2331883a8ce3fff08c1",
      "tree": "6f742b3997c5aa6096d4a844c08019fe4d669f55",
      "parents": [
        "d82d62444f87e5993af2fa82ed636b2206e052ea"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 24 17:33:15 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:41:12 2009 +0200"
      },
      "message": "tracing: Fix trace_buf_size boot option\n\nWe should be able to specify [KMG] when setting trace_buf_size\nboot option, as documented in kernel-parameters.txt\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: \u003c4A41F2DB.4020102@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f129e965bef40c6153e4fe505f1e408286213424",
      "tree": "bd198daa61a79a52e1a6e06ff338c815b1516405",
      "parents": [
        "2961bf345fd1b736c3db46cad0f69855f67fbe9c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 24 09:53:44 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:02:51 2009 +0200"
      },
      "message": "tracing: Reset iterator in t_start()\n\nThe iterator is m-\u003eprivate, but it\u0027s not reset to trace_types in\nt_start(). If the output is larger than PAGE_SIZE and t_start()\nis called the 2nd time, things will go wrong.\n\nReviewed-by: Liming Wang \u003climing.wang@windriver.com\u003e\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: \u003c4A418728.5020506@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0b7065b64fe517b4a50915a1555e8ee98890d64",
      "tree": "950e7735585a83f5b4efe7a9473b5b42d5ca4f57",
      "parents": [
        "38df92b8cee936334f686c06df0e5fbb92e252df",
        "d4c4038343510d83727ea922de4435996c26c0c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 2009 -0700"
      },
      "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: (24 commits)\n  tracing/urgent: warn in case of ftrace_start_up inbalance\n  tracing/urgent: fix unbalanced ftrace_start_up\n  function-graph: add stack frame test\n  function-graph: disable when both x86_32 and optimize for size are configured\n  ring-buffer: have benchmark test print to trace buffer\n  ring-buffer: do not grab locks in nmi\n  ring-buffer: add locks around rb_per_cpu_empty\n  ring-buffer: check for less than two in size allocation\n  ring-buffer: remove useless compile check for buffer_page size\n  ring-buffer: remove useless warn on check\n  ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index\n  tracing: update sample event documentation\n  tracing/filters: fix race between filter setting and module unload\n  tracing/filters: free filter_string in destroy_preds()\n  ring-buffer: use commit counters for commit pointer accounting\n  ring-buffer: remove unused variable\n  ring-buffer: have benchmark test handle discarded events\n  ring-buffer: prevent adding write in discarded area\n  tracing/filters: strloc should be unsigned short\n  tracing/filters: operand can be negative\n  ...\n\nFix up kmemcheck-induced conflict in kernel/trace/ring_buffer.c manually\n"
    },
    {
      "commit": "156f5a7801195fa2ce44aeeb62d6cf8468f3332a",
      "tree": "dd506816ca6f14bb650189aa364eb0a2f51ad5cc",
      "parents": [
        "1b713e00500c6f03317742981674e89a21629399"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Tue Jun 02 15:01:37 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:28 2009 -0700"
      },
      "message": "debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n\nMany developers use \"/debug/\" or \"/debugfs/\" or \"/sys/kernel/debug/\"\ndirectory name to mount debugfs filesystem for ftrace according to\n./Documentation/tracers/ftrace.txt file.\n\nAnd, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is\nexisted in kernel source like ftrace, DRM, Wireless, Documentation,\nNetwork[sky2]files to mount debugfs filesystem.\n\ndebugfs means debug filesystem for debugging easy to use by greg kroah\nhartman. \"/sys/kernel/debug/\" name is suitable as directory name\nof debugfs filesystem.\n- debugfs related reference: http://lwn.net/Articles/334546/\n\nFix inconsistency of directory name to mount debugfs filesystem.\n\n* From Steven Rostedt\n  - find_debugfs() and tracing_files() in this patch.\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by     : Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nReviewed-by  : Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by  : James Smart \u003cjames.smart@emulex.com\u003e\nCC: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCC: David Airlie \u003cairlied@linux.ie\u003e\nCC: Peter Osterlund \u003cpetero2@telia.com\u003e\nCC: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCC: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCC: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e4f2d10f479d18198ebafcb5e124cc3dd8b8817a",
      "tree": "73d0797b9a4f285891284e0e39ceb328d254ed23",
      "parents": [
        "215368e8e59023d6a0abdda896923018d74fdf7f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 15 10:57:28 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 15 11:37:14 2009 -0400"
      },
      "message": "tracing: replace a GFP_ATOMIC with GFP_KERNEL allocation\n\nAtomic allocation is not needed here.\n\n[ Impact: clean up of memory alloction type ]\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A35B898.2050607@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "215368e8e59023d6a0abdda896923018d74fdf7f",
      "tree": "904bef6f1f3895843c5fbf288fd487713b78ed2c",
      "parents": [
        "78be6914cb5c6d648617c51bb99bf81f28471d89"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 15 10:56:42 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 15 11:37:12 2009 -0400"
      },
      "message": "tracing: fix a typo in tracing_cpumask_write()\n\nIt\u0027s tracing_cpumask_new that should be kfree()ed.\n\nThis causes tracing_cpumask to be freed due to the typo:\n\n # echo z \u003e tracing_cpumask\n bash: echo: write error: Invalid argument\n\nAnd subsequent reads/writes to tracing_cpuamsk will access this\nalready-freed tracing_cpumask, thus may lead to crash.\n\n[ Impact: fix leak and crash when writing invalid val to tracing_cpumask ]\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A35B86A.7070608@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "862366118026a358882eefc70238dbcc3db37aac",
      "tree": "4eb62bc10327a5afac064a95a091ea05ecd2acc1",
      "parents": [
        "57eee9ae7bbcfb692dc96c739a5184adb6349733",
        "511b01bdf64ad8a38414096eab283c7784aebfc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)\n  Revert \"x86, bts: reenable ptrace branch trace support\"\n  tracing: do not translate event helper macros in print format\n  ftrace/documentation: fix typo in function grapher name\n  tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK\n  tracing: add protection around module events unload\n  tracing: add trace_seq_vprint interface\n  tracing: fix the block trace points print size\n  tracing/events: convert block trace points to TRACE_EVENT()\n  ring-buffer: fix ret in rb_add_time_stamp\n  ring-buffer: pass in lockdep class key for reader_lock\n  tracing: add annotation to what type of stack trace is recorded\n  tracing: fix multiple use of __print_flags and __print_symbolic\n  tracing/events: fix output format of user stack\n  tracing/events: fix output format of kernel stack\n  tracing/trace_stack: fix the number of entries in the header\n  ring-buffer: discard timestamps that are at the start of the buffer\n  ring-buffer: try to discard unneeded timestamps\n  ring-buffer: fix bug in ring_buffer_discard_commit\n  ftrace: do not profile functions when disabled\n  tracing: make trace pipe recognize latency format flag\n  ...\n"
    },
    {
      "commit": "112f38a7e36e9d688b389507136bf3af3e6d159b",
      "tree": "e63fd02a143c57b5a786351e4f2643f2104e2346",
      "parents": [
        "1d080d6c3141623c92caaebe20e847cb99ccbb60"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 01 15:16:05 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:26:02 2009 -0400"
      },
      "message": "tracing: make trace pipe recognize latency format flag\n\nThe trace_pipe did not recognize the latency format flag and would produce\ndifferent output than the trace file. The problem was partly due that\nthe trace flags in the iterator was not set as well as the trace_pipe\nzeros out part of the iterator (including the flags) to be able to use\nthe same routines as the trace file. trace_flags of the iterator should\nnot cause any problems when not zeroed out by for trace_pipe.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b6045a906f48d37591365c5dcdd6d1d146bfd4a",
      "tree": "33a7b9513c84e442eda0159ee294a02f33589f55",
      "parents": [
        "c2adae0970ca1db8adb92fb56ae3bcabd916e8bd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue May 26 17:28:02 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 28 01:21:03 2009 +0200"
      },
      "message": "trace: disable preemption before taking raw spinlocks\n\ns390 code uses smp_processor_id() in __raw_spin_lock() code which\nreveals that a (raw) spinlock is taken without preemption disabled.\nThis can potentially deadlock.\n\nTo fix this explicitly disable and enable preemption.\n\nBUG: using smp_processor_id() in preemptible [00000000] code: cat/2278\ncaller is trace_find_cmdline+0x40/0xfc\nCPU: 0 Not tainted 2.6.30-rc7-dirty #39\nProcess cat (pid: 2278, task: 000000003faedb68, ksp: 000000003b33b988)\n000000003b33b988 000000003b33bae0 0000000000000002 0000000000000000\n       000000003b33bb80 000000003b33baf8 000000003b33baf8 00000000000175d6\n       0000000000000001 000000003b33b988 000000003f9b0000 000000000000000b\n       000000000000000c 000000003b33bb40 000000003b33bae0 0000000000000000\n       0000000000000000 00000000000175d6 000000003b33bae0 000000003b33bb28\nCall Trace:\n([\u003c00000000000174b2\u003e] show_trace+0x112/0x170)\n [\u003c0000000000017582\u003e] show_stack+0x72/0x100\n [\u003c0000000000441538\u003e] dump_stack+0xc8/0xd8\n [\u003c000000000025c350\u003e] debug_smp_processor_id+0x114/0x130\n [\u003c00000000000bf0e4\u003e] trace_find_cmdline+0x40/0xfc\n [\u003c00000000000c35d4\u003e] trace_print_context+0x58/0xac\n [\u003c00000000000bb676\u003e] print_trace_line+0x416/0x470\n [\u003c00000000000bc8fe\u003e] s_show+0x4e/0x428\n [\u003c000000000013834e\u003e] seq_read+0x36a/0x5d4\n [\u003c0000000000112a78\u003e] vfs_read+0xc8/0x174\n [\u003c0000000000112c58\u003e] SyS_read+0x74/0xc4\n [\u003c000000000002c7ae\u003e] sysc_noemu+0x10/0x16\n [\u003c000002000012436c\u003e] 0x2000012436c\n1 lock held by cat/2278:\n #0:  (\u0026p-\u003elock){+.+.+.}, at: [\u003c0000000000138056\u003e] seq_read+0x72/0x5d4\n\n[ Impact: fix preempt-unsafe raw spinlock ]\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "4f5359685af6de7dca101393dc606620adbe963f",
      "tree": "1f9dc3fb9299008daa6a5fb6f03945008ea4a4f9",
      "parents": [
        "5537937696c55530447c20aa27daccb8d0d29b33"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon May 18 19:35:34 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon May 25 23:53:41 2009 +0200"
      },
      "message": "tracing: add trace_event_read_lock()\n\nI found that there is nothing to protect event_hash in\nftrace_find_event(). Rcu protects the event hashlist\nbut not the event itself while we use it after its extraction\nthrough ftrace_find_event().\n\nThis lack of a proper locking in this spot opens a race\nwindow between any event dereferencing and module removal.\n\nEg:\n\n--Task A--\n\nprint_trace_line(trace) {\n  event \u003d find_ftrace_event(trace)\n\n--Task B--\n\ntrace_module_remove_events(mod) {\n  list_trace_events_module(ev, mod) {\n    unregister_ftrace_event(ev-\u003eevent) {\n      hlist_del(ev-\u003eevent-\u003enode)\n        list_del(....)\n    }\n  }\n}\n|--\u003e module removed, the event has been dropped\n\n--Task A--\n\n  event-\u003eprint(trace); // Dereferencing freed memory\n\nIf the event retrieved belongs to a module and this module\nis concurrently removed, we may end up dereferencing a data\nfrom a freed module.\n\nRCU could solve this, but it would add latency to the kernel and\nforbid tracers output callbacks to call any sleepable code.\nSo this fix converts \u0027trace_event_mutex\u0027 to a read/write semaphore,\nand adds trace_event_read_lock() to protect ftrace_find_event().\n\n[ Impact: fix possible freed memory dereference in ftrace ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A114806.7090302@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "88fc86c283d9c3854e67e4155808027bc2519eb6",
      "tree": "2652b1a9d0299e1cc4d71573b2ac5e18ecae01c8",
      "parents": [
        "aa512a27e9e8ed32f31b15eec67ab1ceca33839b"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Thu May 14 17:23:38 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 19:43:22 2009 +0200"
      },
      "message": "tracing: Append prompt in /debug/tracing/README file\n\nappend prompt in /debug/tracing/README file.\n\nThis is trivial issue. Fix typo Mini Howto file(README) for ftrace.\n\n[ Impact: cleanup ]\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: williams \u003cwilliams@redhat.com\u003e\nLKML-Reference: \u003c1242289418.31161.45.camel@centos51\u003e\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": "94487d6d53af5acae10cf9fd52f74498994d46b1",
      "tree": "4aac17393ab74d234d1f7da064758d6ebf047120",
      "parents": [
        "31b6e76e21b2ffd3cb2f6fe4149790a9fdadce2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 19:22:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 19:22:53 2009 -0400"
      },
      "message": "tracing: use proper export symbol for tracing api\n\nWhen adding the EXPORT_SYMBOL to some of the tracing API, I accidently\nused EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. This patch fixes\nthat mistake.\n\n[ Impact: export the tracing code only for GPL modules ]\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c8d771835e18c938dae8690611d65fe98ad30f58",
      "tree": "6c8ba52ab340e574c21418866bd985d55ab771e9",
      "parents": [
        "f0d2c681ac0a85142fc8abe65fc33fcad35cb9b7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 18:03:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 13:52:02 2009 -0400"
      },
      "message": "tracing: export stats of ring buffers to userspace\n\nThis patch adds stats to the ftrace ring buffers:\n\n # cat /debugfs/tracing/per_cpu/cpu0/stats\n entries: 42360\n overrun: 30509326\n commit overrun: 0\n nmi dropped: 0\n\nWhere entries are the total number of data entries in the buffer.\n\noverrun is the number of entries not consumed and were overwritten by\nthe writer.\n\ncommit overrun is the number of entries dropped due to nested writers\nwrapping the buffer before the initial writer finished the commit.\n\nnmi dropped is the number of entries dropped due to the ring buffer\nlock being held when an nmi was going to write to the ring buffer.\nNote, this field will be meaningless and will go away when the ring\nbuffer becomes lockless.\n\n[ Impact: let userspace know what is happening in the ring buffers ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7267fa6819467669f5cc2ba81a615dcc88158b4b",
      "tree": "281e3c2b9765c24364280f02fd9f9aa387c8aa6f",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 08:02:44 2009 +0200"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2957f1f196b0217644a17c1379855a118a37d72",
      "tree": "f033fac7d01e029f1b3fb5c39f37a80a5e861c4d",
      "parents": [
        "93459c6cb9816c52200993d29dd18cea1daee335"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:26:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:26:30 2009 -0400"
      },
      "message": "tracing: have splice only copy full pages\n\nSplice works with pages, it is much more effecient to use an entire\npage than to copy bits over several pages.\n\nUsing logdev to trace the internals of the splice mechanism, I was\nable to see that splice can be very aggressive. When tracing is\noccurring, and the reader caught up to the writer, and the writer\nis on the reader page, the reader will copy what is there into the\nsplice page. Splice may iterate over several pages and if the\nwriter is still writing to the page, the reader will keep copying\nbits to new pages to pass to userspace.\n\nThis patch changes it to only pass data to userspace if the page\nis full (the writer has left the page). This has a small side effect\nthat splice can not read a partial page, and must wait for the\npage to fill. This should not be an issue. If tracing has stopped,\nthen a use of \"read\" will still read all of the page.\n\n[ Impact: better performance for ring buffer splice code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "93459c6cb9816c52200993d29dd18cea1daee335",
      "tree": "9ee6a4e9fda5d77d0d05b7855cd2de59fb62d8a0",
      "parents": [
        "5beae6efd1004b44c3e257dc96087978e4c763c1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:23:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:23:13 2009 -0400"
      },
      "message": "tracing: only add splice page if entries exist\n\nThe splice code allocates a page even when the ring buffer is empty.\nIt detects the ring buffer being empty when it it fails to copy\nanything from the ring buffer into the page.\n\nThis patch adds a check to see if there is anything in the ring buffer\nbefore allocating a page.\n\nThanks to logdev for letting me trace the tracer to find this.\n\n[ Impact: speed up due to removing unnecessary allocation ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5beae6efd1004b44c3e257dc96087978e4c763c1",
      "tree": "8d3e4bb6cc11387197cbd10518201b375cd84fce",
      "parents": [
        "cd891ae0305601bdb4d2e7e85282961c4ff256cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cd891ae0305601bdb4d2e7e85282961c4ff256cd",
      "tree": "b425f3c4eba7bd80eb0566d3b233503a9f76cc9d",
      "parents": [
        "701970b3a83cc639c1ec8fc6f40a7871cb99426f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 28 11:39:34 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 28 11:39:34 2009 -0400"
      },
      "message": "tracing: convert ftrace_dump spinlocks to raw\n\nftrace_dump is used for printing out the contents of the ftrace ring buffer\nto the console on failure. Currently it uses a spinlock to synchronize\nthe output from multiple failures on different CPUs. This spin lock\ncurrently is a normal spinlock and can cause issues with lockdep and\nlock tracing.\n\nThis patch converts it to raw since it is for error handling only.\nThe lock is local to the ftrace_dump and is not used by any other\ninfrastructure.\n\n[ Impact: prevent ftrace_dump from locking up by internal tracing ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "3189cdb31622f4e40688ce5a6fc5d940b42bc805",
      "tree": "89f370c0079281c55f37230c17951514c1b508c9",
      "parents": [
        "261842b7c9099f56de2eb969c8ad65402d68e00e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 17 16:13:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 17 16:21:35 2009 -0400"
      },
      "message": "tracing: protect trace_printk from recursion\n\ntrace_printk can be called from any context, including NMIs.\nIf this happens, then we must test for for recursion before\ngrabbing any spinlocks.\n\nThis patch prevents trace_printk from being called recursively.\n\n[ Impact: prevent hard lockup in lockdep event tracer ]\n\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "12acd473d45cf2e40de3782cb2de712e5cd4d715",
      "tree": "96606659bd0d981ca1c97c4753388e0b594a5eb1",
      "parents": [
        "b0afdc126d0515e76890f0a5f26b28501cfa298e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 17 16:01:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 17 16:21:28 2009 -0400"
      },
      "message": "tracing: add EXPORT_SYMBOL_GPL for trace commits\n\nNot all the necessary symbols were exported to allow for tracing\nby modules. This patch adds them in.\n\n[ Impact: allow modules to commit data to the ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "339ae5d3c3fc2025e3657637921495fd600027c7",
      "tree": "7749cf0d5c2d4a0cfd9029038d55b94478b9b56c",
      "parents": [
        "76aa81118ddfbb3dc31533030cf3ec329dd067a6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 17 10:34:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:04:36 2009 +0200"
      },
      "message": "tracing: fix file mode of trace and README\n\ntrace is read-write and README is read-only.\n\n[ Impact: fix /debug/tracing/ file permissions. ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E7EAB6.4070605@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69abe6a5d18a9394baa325bab8f57748b037c517",
      "tree": "4432c60f73d14af510ab13b9b474e174fd2454c5",
      "parents": [
        "d1b182a8d49ed6416325b4e0a1cb0f17cd4e702a"
      ],
      "author": {
        "name": "Avadh Patel",
        "email": "avadh4all@gmail.com",
        "time": "Fri Apr 10 16:04:48 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 17:04:12 2009 +0200"
      },
      "message": "tracing: add saved_cmdlines file to show cached task comms\n\nExport the cached task comms to userspace. This allows user apps to translate\nthe pids from a trace into their respective task command lines.\n\n[ Impact: let userspace apps reading binary buffer know comm\u0027s of pids ]\n\nSigned-off-by: Avadh Patel \u003cavadh4all@gmail.com\u003e\n[ added error checking and use of buf pointer to index file_buf ]\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "17c873ec280a03894bc718af817f7f24fa787ae1",
      "tree": "3acdcd41c2b80c207932625cc5e132056954d803",
      "parents": [
        "a59fd6027218bd7c994e39d14afe0242f895144f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 18:12:50 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:58:01 2009 -0400"
      },
      "message": "tracing/events: add export symbols for trace events in modules\n\nImpact: let modules add trace events\n\nThe trace event code requires some functions to be exported to allow\nmodules to use TRACE_EVENT. This patch adds EXPORT_SYMBOL_GPL to the\nnecessary functions.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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"
    }
  ],
  "next": "e45f2e2bd298e1ff687448e5fd15a3588b5807ec"
}
