)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "e45f2e2bd298e1ff687448e5fd15a3588b5807ec",
      "tree": "353f132d53ecb3e991cf59c3d43a7664cb87b743",
      "parents": [
        "e1112b4d96859367a93468027c9635e2ac04eb3f"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:49:16 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:51 2009 +0200"
      },
      "message": "tracing/filters: add TRACE_EVENT_FORMAT_NOFILTER event macro\n\nFrederic Weisbecker suggested that the trace_special event shouldn\u0027t be\nfilterable; this patch adds a TRACE_EVENT_FORMAT_NOFILTER event macro\nthat allows an event format to be exported without having a filter\nattached, and removes filtering from the trace_special event.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1112b4d96859367a93468027c9635e2ac04eb3f",
      "tree": "5170980ea71ee4bb5d0196880b58dbc997211b65",
      "parents": [
        "66de7792c02693b49671afe58c771fde3b092fc7"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:48:49 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:50 2009 +0200"
      },
      "message": "tracing/filters: add run-time field descriptions to TRACE_EVENT_FORMAT events\n\nThis patch adds run-time field descriptions to all the event formats\nexported using TRACE_EVENT_FORMAT.  It also hooks up all the tracers\nthat use them (i.e. the tracers in the \u0027ftrace subsystem\u0027) so they can\nalso have their output filtered by the event-filtering mechanism.\n\nWhen I was testing this, there were a couple of things that fooled me\ninto thinking the filters weren\u0027t working, when actually they were -\nI\u0027ll mention them here so others don\u0027t make the same mistakes (and file\nbug reports. ;-)\n\nOne is that some of the tracers trace multiple events e.g. the\nsched_switch tracer uses the context_switch and wakeup events, and if\nyou don\u0027t set filters on all of the traced events, the unfiltered output\nfrom the events without filters on them can make it look like the\nfiltering as a whole isn\u0027t working properly, when actually it is doing\nwhat it was asked to do - it just wasn\u0027t asked to do the right thing.\n\nThe other is that for the really high-volume tracers e.g. the function\ntracer, the volume of filtered events can be so high that it pushes the\nunfiltered events out of the ring buffer before they can be read so e.g.\ncat\u0027ing the trace file repeatedly shows either no output, or once in\nawhile some output but that isn\u0027t there the next time you read the\ntrace, which isn\u0027t what you normally expect when reading the trace file.\nIf you read from the trace_pipe file though, you can catch them before\nthey disappear.\n\nChanges from v1:\n\nAs suggested by Frederic Weisbecker:\n\n- get rid of externs in functions\n- added unlikely() to filter_check_discard()\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3",
      "tree": "ec5af7a70f58ad27ad21fc27815ca164ccf92c36",
      "parents": [
        "dcef788eb9659b61a2110284fcce3ca6e63480d2",
        "93cfb3c9fd83d877a8f1ffad9ff862b617b32828"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:46:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:46:51 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: pick up both v2.6.30-rc1 [which includes tracing/urgent fixes]\n              and pick up the current lineup of tracing/urgent fixes as well\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93cfb3c9fd83d877a8f1ffad9ff862b617b32828",
      "tree": "a88753a44117b9dcfdd65bb0d0572eb5b945e961",
      "parents": [
        "c7625a555f55d7ae49236cde551786c88f5a5ce1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:46 2009 +0200"
      },
      "message": "tracing: fix splice return too large\n\nI got these from strace:\n\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 16384\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n\nI wanted to splice_read 4096 bytes, but it returns 8192 or larger.\n\nIt is because the return value of tracing_buffers_splice_read()\ndoes not include \"zero out any left over data\" bytes.\n\nBut tracing_buffers_read() includes these bytes, we make them\nconsistent.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46674.9030804@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7625a555f55d7ae49236cde551786c88f5a5ce1",
      "tree": "4cca942d46412d708945f574ef4c4b87adf92d1d",
      "parents": [
        "ddd538f3e6a1a4bec2f6942f83a753263e6577b4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:44 2009 +0200"
      },
      "message": "tracing: update file-\u003ef_pos when splice(2) it\n\nImpact: Cleanup\n\nThese two lines:\n\n\tif (unlikely(*ppos))\n\t\treturn -ESPIPE;\n\nin tracing_buffers_splice_read() are not needed, VFS layer\nhas disabled seek(2).\n\nWe remove these two lines, and then we can update file-\u003ef_pos.\n\nAnd tracing_buffers_read() updates file-\u003ef_pos, this fix\nmake tracing_buffers_splice_read() updates file-\u003ef_pos too.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46670.4010503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddd538f3e6a1a4bec2f6942f83a753263e6577b4",
      "tree": "b28047205b75d7e06ecf3eb0aca08c056ed4f51c",
      "parents": [
        "d1e7e02f30be672c6f6ee40908be83877a0d49d1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:59 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:43 2009 +0200"
      },
      "message": "tracing: allocate page when needed\n\nImpact: Cleanup\n\nSometimes, we open trace_pipe_raw, but we don\u0027t read(2) it,\nwe just splice(2) it, thus, the page is not used.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D4666B.4010608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1e7e02f30be672c6f6ee40908be83877a0d49d1",
      "tree": "24f958961d8de3ef0c1d16a407041d096fc1f098",
      "parents": [
        "62b8e680e61d3f48f2a12ee248ca03ea8f376926"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:42 2009 +0200"
      },
      "message": "tracing: disable seeking for trace_pipe_raw\n\nImpact: disable pread()\n\nWe set tracing_buffers_fops.llseek to no_llseek,\nbut we can still perform pread() to read this file.\n\nThat is not expected.\n\nThis fix uses nonseekable_open() to disable it.\n\ntracing_buffers_fops.llseek is still set to no_llseek,\nit mark this file is a \"non-seekable device\" and is used by\nsys_splice(). See also do_splice() or manual of splice(2):\n\nERRORS\n       EINVAL Target file system doesn\u0027t support  splicing;\n              neither  of the descriptors refers to a pipe;\n              or offset given for non-seekable device.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46668.8030806@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5452af664f6fba26b80eb2c8c4ceae2999d5cf56",
      "tree": "08fb64bfc3242ad96b65719a55424db729585f17",
      "parents": [
        "a5dec5573f3c7e63f2f9b5852b9759ea342a5ff9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 27 00:25:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:43:07 2009 +0200"
      },
      "message": "tracing/ftrace: factorize the tracing files creation\n\nImpact: cleanup\n\nMost of the tracing files creation follow the same pattern:\n\nret \u003d debugfs_create_file(...)\nif (!ret)\n\tpr_warning(\"Couldn\u0027t create ... entry\\n\")\n\nUnify it!\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1238109938-11840-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "86665c75da41889f92b774f31ea5a9a436f392a8",
      "tree": "94b003ab677a64b7d0a6dcca1f636bbbc2a187c9",
      "parents": [
        "93776a8ec746cf9d32c36e5a5b23d28d8be28826",
        "1bbe2a83ab68e5cf8c66c372c7cb3b51910c2cfe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:41:14 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:41:17 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "bc2b6871c17b3aff79fb14e1a1c06c5f5a187f76",
      "tree": "2be32adf56b100f5bc565bbf641651a8067f8608",
      "parents": [
        "b0dfa978c7a1699fb3506fbfcba0b6a5c4bd17ae"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Mon Mar 23 11:58:31 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:02:36 2009 +0200"
      },
      "message": "Update /debug/tracing/README\n\nSome of the tracers have been renamed, which was not updated in the in-kernel\nrun-time README file. Update it.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nLKML-Reference: \u003c200903231158.32151.knikanth@suse.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0dfa978c7a1699fb3506fbfcba0b6a5c4bd17ae",
      "tree": "4e52215e4d2f67c7063f813b9d788763d6f341a8",
      "parents": [
        "5ab8026a3016fbed5c73aa070d9f6989cf791099"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 01 22:53:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:02:03 2009 +0200"
      },
      "message": "tracing/ftrace: alloc the started cpumask for the trace file\n\nImpact: fix a crash while cat trace file\n\nCurrently we are using a cpumask to remind each cpu where a\ntrace occured. It lets us notice the user that a cpu just had\nits first trace.\n\nBut on latest -tip we have the following crash once we cat the trace\nfile:\n\nIP: [\u003cc0270c4a\u003e] print_trace_fmt+0x45/0xe7\n*pde \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nlast sysfs file: /sys/class/net/eth0/carrier\nPid: 3897, comm: cat Not tainted (2.6.29-tip-02825-g0f22972-dirty #81)\nEIP: 0060:[\u003cc0270c4a\u003e] EFLAGS: 00010297 CPU: 0\nEIP is at print_trace_fmt+0x45/0xe7\nEAX: 00000000 EBX: 00000000 ECX: c12d9e98 EDX: ccdb7010\nESI: d31f4000 EDI: 00322401 EBP: d31f3f10 ESP: d31f3efc\nDS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess cat (pid: 3897, ti\u003dd31f2000 task\u003dd3b3cf20 task.ti\u003dd31f2000)\nStack:\nd31f4080 ccdb7010 d31f4000 d691fe70 ccdb7010 d31f3f24 c0270e5c d31f4000\nd691fe70 d31f4000 d31f3f34 c02718e8 c12d9e98 d691fe70 d31f3f70 c02bfc33\n00001000 09130000 d3b46e00 d691fe98 00000000 00000079 00000001 00000000\nCall Trace:\n[\u003cc0270e5c\u003e] ? print_trace_line+0x170/0x17c\n[\u003cc02718e8\u003e] ? s_show+0xa7/0xbd\n[\u003cc02bfc33\u003e] ? seq_read+0x24a/0x327\n[\u003cc02bf9e9\u003e] ? seq_read+0x0/0x327\n[\u003cc02ab18b\u003e] ? vfs_read+0x86/0xe1\n[\u003cc02ab289\u003e] ? sys_read+0x40/0x65\n[\u003cc0202d8f\u003e] ? sysenter_do_call+0x12/0x3c\nCode: 00 00 00 89 45 ec f7 c7 00 20 00 00 89 55 f0 74 4e f6 86 98 10 00 00 02 74 45 8b 86 8c 10 00 00 8b 9e a8 10 00 00 e8 52 f3 ff ff \u003c0f\u003e a3 03 19 c0 85 c0 75 2b 8b 86 8c 10 00 00 8b 9e a8 10 00 00\nEIP: [\u003cc0270c4a\u003e] print_trace_fmt+0x45/0xe7 SS:ESP 0068:d31f3efc\nCR2: 0000000000000000\n---[ end trace aa9cf38e5ebed9dd ]---\n\nThis is because we alloc the iter-\u003estarted cpumask on tracing_pipe_open but\nnot on tracing_open.\n\nIt hadn\u0027t been noticed until now because we need to have ring buffer overruns\nto activate the starting of cpu buffer detection.\n\nAlso, we need a check to not print the messagge for the first trace on the file.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1238619188-6109-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f0c6c03c5fee91c02c696bc9bf4c0d41392abe7",
      "tree": "54d45e35314d28d835b85ed623a79c3b5501affa",
      "parents": [
        "cf8e3474654f20433aab9aa35826d43b5f245008"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 27 14:22:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:00:18 2009 +0200"
      },
      "message": "tracing/ftrace: fix missing include string.h\n\nBuilding a kernel with tracing can raise the following warning on\ntip/master:\n\nkernel/trace/trace.c:1249: error: implicit declaration of function \u0027vbin_printf\u0027\n\nWe are missing an include to string.h\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1238160130-7437-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8e3474654f20433aab9aa35826d43b5f245008",
      "tree": "bbb3e87ca324ae4192fd524c0777047ee075c5d9",
      "parents": [
        "301fd748e2c81e78e74edbc694a64caa7b95dda2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 30 13:48:00 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:59:23 2009 +0200"
      },
      "message": "tracing: fix incorrect return type of ns2usecs()\n\nImpact: fix time output bug in 32bits system\n\nns2usecs() returns \u0027long\u0027, it\u0027s incorrect.\n\n(In i386)\n...\n          \u003cidle\u003e-0     [000]   521.442100: _spin_lock \u003c-tick_do_update_jiffies64\n          \u003cidle\u003e-0     [000]   521.442101: do_timer \u003c-tick_do_update_jiffies64\n          \u003cidle\u003e-0     [000]   521.442102: update_wall_time \u003c-do_timer\n          \u003cidle\u003e-0     [000]   521.442102: update_xtime_cache \u003c-update_wall_time\n....\n(It always print the time less than 2200 seconds besides ...)\nBecause \u0027long\u0027 is 32bits in i386. ( (1\u003c\u003c31) useconds is about 2200 seconds)\n\n...\n          \u003cidle\u003e-0     [001] 4154502640.134759: rcu_bh_qsctr_inc \u003c-__do_softirq\n          \u003cidle\u003e-0     [001] 4154502640.134760: _local_bh_enable \u003c-__do_softirq\n          \u003cidle\u003e-0     [001] 4154502640.134761: idle_cpu \u003c-irq_exit\n...\n(very large value)\nBecause \u0027long\u0027 is a signed type and it is 32bits in i386.\n\nChanges in v2:\nreturn \u0027unsigned long long\u0027 instead of \u0027cycle_t\u0027\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c49D05D10.4030009@cn.fujitsu.com\u003e\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93776a8ec746cf9d32c36e5a5b23d28d8be28826",
      "tree": "6c472ae9f709246ee5268e1d71559d07839fb965",
      "parents": [
        "34886c8bc590f078d4c0b88f50d061326639198d",
        "d508afb437daee7cf07da085b635c44a4ebf9b38"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:47:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:47:45 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: update to upstream tracing facilities\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b54e45b0005875f59cb8b1c44d429a161d5f245",
      "tree": "0e7c98418384f3f773d2046eea50f529e89f1cba",
      "parents": [
        "0a5d649018b151cb9331c213a843ac4a3e7e44ab",
        "9a8118baaeb0eaa148913bed77bf9c6335f6ca63",
        "b14b70a6a4e394c9630bcde17e07d3bcdcbca27e",
        "fee039a1d05c6e0f71b0fe270d847742a02d56c4",
        "18cea4591a98817697017bcb056a848bae1205df",
        "548c316137901cc81dea35e26362a9d5ba0b89b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:46:40 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:46:40 2009 +0200"
      },
      "message": "Merge branches \u0027tracing/docs\u0027, \u0027tracing/filters\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/kprobes\u0027, \u0027tracing/blktrace-v2\u0027 and \u0027tracing/textedit\u0027 into tracing/core-v2\n"
    },
    {
      "commit": "a2a16d6a3156ef7309ca7328a20c35df9418e670",
      "tree": "8f21d9c56eb34f9bd1057929661c96d04329dd69",
      "parents": [
        "cafb168a1c92e4c9e1731fe3d666c39611762c49"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:17:58 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:41:11 2009 -0400"
      },
      "message": "function-graph: add option to calculate graph time or not\n\ngraph time is the time that a function is executing another function.\nThus if function A calls B, if graph-time is set, then the time for\nA includes B. This is the default behavior. But if graph-time is off,\nthen the time spent executing B is subtracted from A.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "0706f1c48ca8a7ab478090b4e38f2e578ae2bfe0",
      "tree": "26b79090f8e7e62796bb871ff089d04799919855",
      "parents": [
        "493762fc534c71d11d489f872c4b4a2c61173668"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 23 23:12:58 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:41:09 2009 -0400"
      },
      "message": "tracing: adding function timings to function profiler\n\nIf the function graph trace is enabled, the function profiler will\nuse it to take the timing of the functions.\n\n cat /debug/tracing/trace_stat/functions\n\n  Function                               Hit    Time\n  --------                               ---    ----\n  mwait_idle                             127    183028.4 us\n  schedule                                26    151997.7 us\n  __schedule                              31    151975.1 us\n  sys_wait4                                2    74080.53 us\n  do_wait                                  2    74077.80 us\n  sys_newlstat                           138    39929.16 us\n  do_path_lookup                         179    39845.79 us\n  vfs_lstat_fd                           138    39761.97 us\n  user_path_at                           153    39469.58 us\n  path_walk                              179    39435.76 us\n  __link_path_walk                       189    39143.73 us\n[...]\n\nNote the times are skewed due to the function graph tracer not taking\ninto account schedules.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "be6f164a02f394675e2ac2077dd354cebef5b4c0",
      "tree": "9805294731c00ddb61857a4e1e42019058eb1542",
      "parents": [
        "8aef2d2856158a36c295a8d1288281e4839bff13"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 11:06:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 11:06:24 2009 -0400"
      },
      "message": "function-graph: add option for include sleep times\n\nImpact: give user a choice to show times spent while sleeping\n\nThe user may want to see the time a function spent sleeping.\nThis patch adds the trace option \"sleep-time\" to allow that.\nThe \"sleep-time\" option is default on.\n\n echo sleep-time \u003e /debug/tracing/trace_options\n\nproduces:\n\n ------------------------------------------\n 2)  avahi-d-3428  \u003d\u003e    \u003cidle\u003e-0\n ------------------------------------------\n\n 2)               |      finish_task_switch() {\n 2)   0.621 us    |        _spin_unlock_irq();\n 2)   2.202 us    |      }\n 2) ! 1002.197 us |    }\n 2) ! 1003.521 us |  }\n\nwhere as,\n\n echo nosleep-time \u003e /debug/tracing/trace_options\n\nproduces:\n\n 0)    \u003cidle\u003e-0    \u003d\u003e  yum-upd-3416\n ------------------------------------------\n\n 0)               |              finish_task_switch() {\n 0)   0.643 us    |                _spin_unlock_irq();\n 0)   2.342 us    |              }\n 0) + 41.302 us   |            }\n 0) + 42.453 us   |          }\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1618536961d31f9b3f55767b22d4a897f4204c26",
      "tree": "f1396f4c869328dc5d6e677f6fdde571d2c6e4d7",
      "parents": [
        "c4cff064be678f1e8344d907499f2a81282edc19"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 23 22:17:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 23:25:32 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix functions call traces imbalance\n\nImpact: fix traces output\n\nSometimes one can observe an imbalance in the traces between function\ncalls and function return traces:\n\nfunc1() {\n    }\n}\n\nThe curly brace inside func1() is the return of another function nested\ninside func1. The return trace have been inserted in the buffer but not\nthe entry.\nWe are storing a return address on the function traces stack while we\nhaven\u0027t inserted its entry on the buffer, hence the imbalance on the\ntraces.\n\nThis is because the tracers doesn\u0027t check all failures that can happen\non buffer insertion.\n\nThis patch reports the tracing recursion failures and the ring buffer\nfailures. In such cases, we now restore the original return address for\nthe function, giving up its return trace.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237843021-11695-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e1f60b80cafcb5d7e8d3665b35962fbb8fb9efa",
      "tree": "80b07264a2599f494f9f8eebb7230ceead3ae645",
      "parents": [
        "c0f92ba99bdeaf35f9c580291b4e1a657c67fbd4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 23:10:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 16:25:47 2009 +0100"
      },
      "message": "tracing/ftrace: check if debugfs is registered before creating files\n\nImpact: fix a crash with ftrace\u003d{nop,boot} parameter\n\nIf the nop or initcall tracers are launched as boot tracers,\nthey will attempt to create their option directory and files.\nBut these tracers are registered very early and then assigned\nas \"boot tracers\" very early if asked to.\n\nSince they do this before debugfs has been registered (core initcall),\na crash is triggered.\n\nAnother early tracers could also come later. So we fix it by\nchecking if debugfs is initialized before creating the root\ntracing directory.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237759847-21025-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07edf7121374609709ef1b0889f6e7b8d6a62ec1",
      "tree": "ad1649c9546dc3ce23bb2f8609a7459a7ca2006e",
      "parents": [
        "9bd7d099ab3f10dd666da399c064999bae427cd9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 23:10:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 09:22:14 2009 +0100"
      },
      "message": "tracing/events: don\u0027t use wake up for events\n\nImpact: fix hard-lockup with sched switch events\n\nSome ftrace events, such as sched wakeup, can be traced\nwhile the runqueue lock is hold. Since they are using\ntrace_current_buffer_unlock_commit(), they call wake_up()\nwhich can try to grab the runqueue lock too, resulting in\na deadlock.\n\nNow for all event, we call a new helper:\ntrace_nowake_buffer_unlock_commit() which do pretty the same than\ntrace_current_buffer_unlock_commit() except than it doesn\u0027t call\ntrace_wake_up().\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237759847-21025-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b8b94265337f83b7db9c5f429b1769d463d7da8c",
      "tree": "231694bce8acda1204f95c1991f7f5b7ce5528bd",
      "parents": [
        "a524446fe82f7f38738403a5a080c4910af86a61"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@movial.com",
        "time": "Sun Mar 22 19:11:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 22 18:16:54 2009 +0100"
      },
      "message": "tracing: fix four sparse warnings\n\nImpact: cleanup.\n\nThis patch fixes the following sparse warnings:\n\n kernel/trace/trace.c:385:9: warning: symbol \u0027trace_seq_to_buffer\u0027 was\n not declared. Should it be static?\n\n kernel/trace/trace_clock.c:29:13: warning: symbol \u0027trace_clock_local\u0027\n was not declared. Should it be static?\n\n kernel/trace/trace_clock.c:54:13: warning: symbol \u0027trace_clock\u0027 was not\n declared. Should it be static?\n\n kernel/trace/trace_clock.c:74:13: warning: symbol \u0027trace_clock_global\u0027\n was not declared. Should it be static?\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@movial.com\u003e\nLKML-Reference: \u003c1237741871-5827-4-git-send-email-dmitri.vorobiev@movial.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf586b61f80229491127d3c57c06ed93c9f530d3",
      "tree": "3f5e0d9429f32b8ad4f53104a260c8dff349cd9b",
      "parents": [
        "ac199db0189c091f2863312061c0575937f68810"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 05:04:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 22 14:06:40 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: prevent hangs during self-tests\n\nImpact: detect tracing related hangs\n\nSometimes, with some configs, the function graph tracer can make\nthe timer interrupt too much slow, hanging the kernel in an endless\nloop of timer interrupts servicing.\n\nAs suggested by Ingo, this patch brings a watchdog which stops the\nselftest after a defined number of functions traced, definitely\ndisabling this tracer.\n\nFor those who want to debug the cause of the function graph trace\nhang, you can pass the ftrace_dump_on_oops kernel parameter to dump\nthe traces after this hang detection.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237694675-23509-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44fc6ee92356aa3be31798ced220ab5abd898781",
      "tree": "45acaa8fe5e620cbf734bdbeb5d48121daa65d0e",
      "parents": [
        "22de89b371a18086162eacd9f8c960299334ab01",
        "5087f8d2a2f2daff5a913d72d8ea3ad601948e10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:15:13 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:15:13 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "22de89b371a18086162eacd9f8c960299334ab01",
      "tree": "518227dde7ba892413163b32341c5d319da13949",
      "parents": [
        "3bf832ce1fe6988148d392599f34ca0c6a34427d",
        "f02b8624fedca39886b0eef770dca70c2f0749b3",
        "a635cf0497342978d417cae19d4a4823932977ff",
        "65c24491b4fef017c64e39ec64384fde5e05e0a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:14:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:14:53 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kprobes\u0027, \u0027tracing/tasks\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "40ce74f19c28077550646c76d96a075bf312e461",
      "tree": "bd58d38b6ac806be6f59276f16d1e0758376fa1d",
      "parents": [
        "2fbcdb35aca614f9529a0e7d340146cf0b71684f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 14:03:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 15:58:47 2009 -0400"
      },
      "message": "tracing: remove recording function depth from trace_printk\n\nThe function depth in trace_printk was to facilitate the function\ngraph output. Now that the function graph calculates the depth within\nthe trace output, we no longer need to record the depth when the\ntrace_printk is called.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5ef841f6f32dce0b752a4fa0622781ee67a0e874",
      "tree": "12c1ac0552f12b93662e2676137fb1286b50d4ee",
      "parents": [
        "ac5f6c96859e9a664ac05b04bc96ed1caad5fe29"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 12:20:38 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 15:57:55 2009 -0400"
      },
      "message": "tracing: make print_(b)printk_msg_only global\n\nThis patch makes print_printk_msg_only and print_bprintk_msg_only\nglobal for other functions to use. It also renames them by adding\na \"trace_\" to the beginning to avoid namespace collisions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4acd4d00f716873e27e7b60ae292cbdbfae674dd",
      "tree": "6728bed8b0cf8cc47ead79261c0fc8d2e9e5c093",
      "parents": [
        "490362003457f8d387f6f6e73e3a7efbf56c3314"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 18 10:40:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 18 10:52:47 2009 -0400"
      },
      "message": "tracing: give easy way to clear trace buffer\n\nThere is currently no easy way to clear the trace buffer. Currently\nthe only way is to change the current tracer.\n\nThis patch lets the user clear the trace buffer by simply writing\ninto the trace files.\n\n echo \u003e /debug/tracing/trace\n\nor to clear a single cpu (i.e. for CPU 1):\n\n echo \u003e /debug/tracing/per_cpu/cpu1/trace\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a635cf0497342978d417cae19d4a4823932977ff",
      "tree": "afacf84eb85388801a04996ed62e000cdfad3bc2",
      "parents": [
        "50d88758a3f9787cbdbdbc030560b815721eab4b"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Wed Mar 18 09:00:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:18 2009 +0100"
      },
      "message": "tracing: fix command line to pid reverse map\n\nImpact: fix command line to pid mapping\n\nmap_cmdline_to_pid[] is checked in trace_save_cmdline(), but never\nupdated. This results in stale pid to command line mappings and the\ntracer output will associate the wrong comm string.\n\nSigned-off-by: Carsten Emde \u003cCarsten.Emde@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50d88758a3f9787cbdbdbc030560b815721eab4b",
      "tree": "02e5c47c5c5bd05e578d1883ccaa1e3bc13c703a",
      "parents": [
        "2c7eea4c62ba090b7f4583c3d7337ea0019be900"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 08:58:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:17 2009 +0100"
      },
      "message": "tracing: fix trace_find_cmdline()\n\nImpact: prevent stale command line output\n\nIn case there is no valid command line mapping for a pid\ntrace_find_cmdline() returns without updating the comm buffer. The\ntrace dump keeps the previous entry which results in confusing trace\noutput:\n\n     \u003cidle\u003e-0     [000]   280.702056 ....\n     \u003cidle\u003e-23456 [000]   280.702080 ....\n\nUpdate the comm buffer with \"\u003c...\u003e\" when no mapping is found.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c7eea4c62ba090b7f4583c3d7337ea0019be900",
      "tree": "2a85739caeef13035316d47f61cab11f3a91660f",
      "parents": [
        "18aecd362a1c991fbf5f7919ae051a77532ba2f8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 09:03:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:17 2009 +0100"
      },
      "message": "tracing: replace the crude (unsigned) -1 hackery\n\nImpact: cleanup\n\nThe command line recorder uses (unsigned) -1 to mark non mapped\nentries in the pid to command line maps. The validity check is\ncompletely unintuitive: idx \u003e\u003d SAVED_CMDLINES\n\nThere is no need for such casting games. Use a constant to mark\nunmapped entries and check for that constant to make the code readable\nand understandable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18aecd362a1c991fbf5f7919ae051a77532ba2f8",
      "tree": "f19f11afa2b669a6acea5c98fda091b68993bc59",
      "parents": [
        "03418c7efaa429dc7647ac93e3862e3fe1816873"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 08:56:58 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:16 2009 +0100"
      },
      "message": "tracing: stop command line recording when tracing is disabled\n\nImpact: prevent overwrite of command line entries\n\nWhen the tracer is stopped the command line recording continues to\nrecord. The check for tracing_is_on() is not sufficient here as the\nringbuffer status is not affected by setting\ndebug/tracing/tracing_enabled to 0. On a non idle system this can\nresult in the loss of the command line information for the stopped\ntrace, which makes the trace harder to read and analyse.\n\nCheck tracer_enabled to allow further recording.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "327019b01e068d66dada6a8b2571180ab3674d20",
      "tree": "c81354a509d6962f6878145fcf3cdbe50a000a89",
      "parents": [
        "03418c7efaa429dc7647ac93e3862e3fe1816873",
        "62524d55e5b9ffe36e3bf3dd7a594114f150b449"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 06:59:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 06:59:56 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "af4617bdba34aa556272b34c3986b0a4d588f568",
      "tree": "c46a6b695724ee27c0113f6affcebeffcefbcf23",
      "parents": [
        "37886f6a9f62d22530ffee8d3f9215c8345b6969"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 18:09:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 23:10:35 2009 -0400"
      },
      "message": "tracing: add global-clock option to provide cross CPU clock to traces\n\nImpact: feature to allow better serialized clock\n\nThis patch adds an option called \"global-clock\" that will allow\nthe tracer to switch to a slower but more accurate (across CPUs)\nclock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "37886f6a9f62d22530ffee8d3f9215c8345b6969",
      "tree": "046c9086682145fd2808af7197af669f08be6d0a",
      "parents": [
        "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 17:22:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 23:06:31 2009 -0400"
      },
      "message": "ring-buffer: add api to allow a tracer to change clock source\n\nThis patch adds a new function called ring_buffer_set_clock that\nallows a tracer to assign its own clock source to the buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4176935b58eeb636917e65a2c388e4607e36cce6",
      "tree": "dac4e0005cda5a3a5a313dde35bbac2877d9bd93",
      "parents": [
        "c269fc8c537d761f36cb98e637ae934d9331a9d5",
        "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 10:37:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 10:37:37 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3",
      "tree": "2c1a122a9a13c8b2cae8f0c27368a67e33804deb",
      "parents": [
        "4ca530852346be239b7c19e7bec5d2b78855bebe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 21:57:17 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 23:31:15 2009 -0400"
      },
      "message": "tracing: stop comm recording on tracing off\n\nImpact: fix for losing comms in trace\n\nThe command lines of tasks are cached at sched switch to not need\nto record them at every trace point.  Disabling the tracing on stops\nthe recording of traces, but does not stop the caching of command lines.\nWhen the tracing is off the cache may overflow and cause the tracing\nto show incorrect tasks matching the PIDs.\n\nThis patch disables prevents updates to the comm cache when the ring buffer\nis off.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4ca530852346be239b7c19e7bec5d2b78855bebe",
      "tree": "96e5252faaf362115a96ed6df7c4e4f698a027dc",
      "parents": [
        "03303549b1695dc024d4a653cc16bd79f78f9750"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 19:20:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 23:27:06 2009 -0400"
      },
      "message": "tracing: protect reader of cmdline output\n\nImpact: fix to one cause of incorrect comm outputs in trace\n\nThe spinlock only protected the creation of a comm \u003c\u003d\u003e pid pair.\nBut it was possible that a reader could look up a pid, and get the\nwrong comm because it had no locking.\n\nThis also required changing trace_find_cmdline to copy the comm cache\nand not just send back a pointer to it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2fc1dfbe17e7705c55b7a99da995fa565e26f151",
      "tree": "8d7ecb57fdefdfac5bdff6ee3a82485e2ea4340a",
      "parents": [
        "ac1d52d0b85854958c7e78c8006e39aadb6ce4b8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 16 01:45:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 16 09:13:18 2009 +0100"
      },
      "message": "tracing/core: fix early free of cpumasks\n\nImpact: fix crashes when tracing cpumasks\n\nWhile ring-buffer allocation, the cpumasks are allocated too,\nincluding the tracing cpumask and the per-cpu file mask handler.\nBut these cpumasks are freed accidentally just after.\nFix it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1237164303-11476-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59f586db98919d7d9c43527b26c8de1cdf9ed912",
      "tree": "d77ae20815666a1c94dc177af974f88b8102fd38",
      "parents": [
        "0ea1c4156bf9e2eb370cc5c6fa6eb112bd844dec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 15 22:10:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 16 09:13:17 2009 +0100"
      },
      "message": "tracing/core: fix missing mutex unlock on tracing_set_tracer()\n\nImpact: fix possible locking imbalance\n\nIn case of ring buffer resize failure, tracing_set_tracer forgot to\nrelease trace_types_lock. Fix it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1237151439-6755-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f96f93f02b7637491a1637dee12dcdcd40b9802",
      "tree": "4756faebe7ada4eabb4ca985b3b26e09ecbfec14",
      "parents": [
        "bdc067582b8b71c7771bab076bbc51569c594fb4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 13 00:37:42 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 13 00:37:42 2009 -0400"
      },
      "message": "tracing: move binary buffers into per cpu directory\n\nThe binary_buffers directory in /debugfs/tracing held the files\nto read the trace buffers in a binary format. This held one file\nper CPU buffer. But we also have a per_cpu directory that holds\na way to read the pretty-print formats.\n\nThis patch moves the binary buffers into the per_cpu_directory:\n\n # ls /debug/tracing/per_cpu/cpu1/\ntrace  trace_pipe  trace_pipe_raw\n\nThe new name is called \"trace_pipe_raw\". The binary buffers always\nacted similar to trace_pipe, except that they produce raw data.\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "48ead02030f849d011259244bb4ea9b985479006",
      "tree": "4500f27dc7eb6567ca79dd03fa94fe9e56fbc316",
      "parents": [
        "db526ca329f855510e8ce672332eba3304aed590"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 12 18:24:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:15:00 2009 -0400"
      },
      "message": "tracing/core: bring back raw trace_printk for dynamic formats strings\n\nImpact: fix callsites with dynamic format strings\n\nSince its new binary implementation, trace_printk() internally uses static\ncontainers for the format strings on each callsites. But the value is\nassigned once at build time, which means that it can\u0027t take dynamic\nformats.\n\nSo this patch unearthes the raw trace_printk implementation for the callers\nthat will need trace_printk to be able to carry these dynamic format\nstrings. The trace_printk() macro will use the appropriate implementation\nfor each callsite. Most of the time however, the binary implementation will\nstill be used.\n\nThe other impact of this patch is that mmiotrace_printk() will use the old\nimplementation because it calls the low level trace_vprintk and we can\u0027t\nguess here whether the format passed in it is dynamic or not.\n\nSome parts of this patch have been written by Steven Rostedt (most notably\nthe part that chooses the appropriate implementation for each callsites).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "db526ca329f855510e8ce672332eba3304aed590",
      "tree": "d6bdd3384a063d7c58ae807a310ecc80cb91773b",
      "parents": [
        "8aabee573dff131a085c63de7667eacd94ba4ccb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 13:53:25 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:59 2009 -0400"
      },
      "message": "tracing: show that buffer size is not expanded\n\nImpact: do not confuse user on small trace buffer sizes\n\nWhen the system boots up, the trace buffer is small to conserve memory.\nIt is only two pages per online CPU. When the tracer is used, it expands\nto the default value.\n\nThis can confuse the user if they look at the buffer size and see only\n7, but then later they see 1408.\n\n # cat /debug/tracing/buffer_size_kb\n7\n\n # echo sched_switch \u003e /debug/tracing/current_tracer\n\n # cat /debug/tracing/buffer_size_kb\n1408\n\nThis patch tries to help remove this confustion by showing that the\nbuffer has not been expanded.\n\n # cat /debug/tracing/buffer_size_kb\n7 (expanded: 1408)\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1027fcb206a0fb8348e63aff078c74bdee1c2698",
      "tree": "05e858e410fdb30865a11c78e2bb9bb0a12f55ba",
      "parents": [
        "a123c52b46a1f84bcec3dc963351896c6d6afaf7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 11:33:20 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:58 2009 -0400"
      },
      "message": "tracing: protect ring_buffer_expanded with trace_types_lock\n\nImpact: prevent races with ring_buffer_expanded\n\nThis patch places the expanding of the tracing buffer under the\nprotection of the trace_types_lock mutex. It is highly unlikely\nthat there would be any contention, but better safe than sorry.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a123c52b46a1f84bcec3dc963351896c6d6afaf7",
      "tree": "bbfea12d2234930fd67644fa281d11c8ab850460",
      "parents": [
        "51b643b404827d8fde60d7953773a42d46ca87e0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 11:21:08 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:58 2009 -0400"
      },
      "message": "tracing: fix comments about trace buffer resizing\n\nImpact: cleanup\n\nSome of the comments about the trace buffer resizing is gobbledygook.\nAnd I wonder why people question if I\u0027m a native English speaker.\n\nThis patch makes the comments make a bit more sense.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "51b643b404827d8fde60d7953773a42d46ca87e0",
      "tree": "ae71fcbd8b3640b68fc11e1dca620a8ee96bac5f",
      "parents": [
        "554f786e284a6ce859d51f62240d615603944c8e",
        "480c93df5b99699390f93a7024c9f60d09da0e96"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:12:46 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:12:46 2009 -0400"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/ftrace-merge\n"
    },
    {
      "commit": "554f786e284a6ce859d51f62240d615603944c8e",
      "tree": "d3710f97dac93861b3ff1f389276e643798f9b2e",
      "parents": [
        "9aba60fe6eb20453de53a572143bef22fa929fba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:00:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:27 2009 -0400"
      },
      "message": "ring-buffer: only allocate buffers for online cpus\n\nImpact: save on memory\n\nCurrently, a ring buffer was allocated for each \"possible_cpus\". On\nsome systems, this is the same as NR_CPUS. Thus, if a system defined\nNR_CPUS \u003d 64 but it only had 1 CPU, we could have possibly 63 useless\nring buffers taking up space. With a default buffer of 3 megs, this\ncould be quite drastic.\n\nThis patch changes the ring buffer code to only allocate ring buffers\nfor online CPUs.  If a CPU goes off line, we do not free the buffer.\nThis is because the user may still have trace data in that buffer\nthat they would like to look at.\n\nPerhaps in the future we could add code to delete a ring buffer if\nthe CPU is offline and the ring buffer becomes empty.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "9aba60fe6eb20453de53a572143bef22fa929fba",
      "tree": "97df44bc298fe40719d6f08000d96532d3ecf27e",
      "parents": [
        "1852fcce181faa237c010a3dbedb473cf9d4555f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 19:52:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:25 2009 -0400"
      },
      "message": "tracing: fix trace_wait to know to wait on all cpus or just one\n\nImpact: fix to task live locking on reading trace_pipe on one CPU\n\nThe same code is used for both trace_pipe (all CPUS) and the per_cpu\ntrace_pipe file. When there is no data to read, it will check for\nsignals and wait on the trace wait queue.\n\nThe problem happens with the per_cpu wait. The trace_wait code checks\nall CPUs. Thus, if there\u0027s data in another CPU buffer, then it will\nexit the wait, without checking for signals or waiting on the wait queue.\n\nIt would then try to read the empty buffer, and since that will just\nreturn nothing, then it will try to wait again. Unfortunately, that will\nagain fail due to there still being data in the other buffers. This\nends up with a live lock for the task.\n\nThis patch fixes the trace_wait to be aware that the iterator may only\nbe waiting on a single buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1852fcce181faa237c010a3dbedb473cf9d4555f",
      "tree": "863cd12b573fd36436e7fb042f9bd96a73a9f725",
      "parents": [
        "73c5162aa362a543793f4a957c6c536dcbaa89ce"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 14:33:00 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:24 2009 -0400"
      },
      "message": "tracing: expand the ring buffers when an event is activated\n\nTo save memory, the tracer ring buffers are set to a minimum.\nThe activating of a trace expands the ring buffer size. This patch\nadds this expanding, when an event is activated.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "73c5162aa362a543793f4a957c6c536dcbaa89ce",
      "tree": "ca318ef3da72aac3f809583967185c0b34998c94",
      "parents": [
        "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 13:42:01 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:22 2009 -0400"
      },
      "message": "tracing: keep ring buffer to minimum size till used\n\nImpact: less memory impact on systems not using tracer\n\nWhen the kernel boots up that has tracing configured, it allocates\nthe default size of the ring buffer. This currently happens to be\n1.4Megs per possible CPU. This is quite a bit of wasted memory if\nthe system is never using the tracer.\n\nThe current solution is to keep the ring buffers to a minimum size\nuntil the user uses them. Once a tracer is piped into the current_tracer\nthe ring buffer will be expanded to the default size. If the user\nchanges the size of the ring buffer, it will take the size given\nby the user immediately.\n\nIf the user adds a \"ftrace\u003d\" to the kernel command line, then the ring\nbuffers will be set to the default size on initialization.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "aecfcde920da8d32949f6cbbc1fc051b4ef9e7be",
      "tree": "c332ce67ef065978b07a889109394fda421c0581",
      "parents": [
        "e2b8b2808538a91444e78c7db5a30519cadd09b2",
        "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 20:47:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 20:47:23 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "e2b8b2808538a91444e78c7db5a30519cadd09b2",
      "tree": "60c45581817db746bd61670f5c95b19c2661daa0",
      "parents": [
        "4dd163a0512eb91bbcf4e66d2f65b8e4042561b3",
        "ef18012b248b47ec9a12c3a83ca5e99782d39c5d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2",
      "tree": "2c1451f4a374d8b7a515fe39b4bb24bb6a323db9",
      "parents": [
        "ef18012b248b47ec9a12c3a83ca5e99782d39c5d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 17:16:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 17:16:35 2009 -0400"
      },
      "message": "tracing: use raw spinlocks for trace_vprintk\n\nImpact: prevent locking up by lockdep tracer\n\nThe lockdep tracer uses trace_vprintk and thus trace_vprintk can not\ncall back into lockdep without locking up.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ef18012b248b47ec9a12c3a83ca5e99782d39c5d",
      "tree": "8103b4d14c6b81a6a5ec39cd43e4ca7ffb51625d",
      "parents": [
        "0e3d0f0566f3fcf664782f597070bbc669d78454"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:10:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:13:14 2009 -0400"
      },
      "message": "tracing: remove funky whitespace in the trace code\n\nImpact: clean up\n\nThere existed a lot of \u003cspace\u003e\u003ctab\u003e\u0027s in the tracing code. This\npatch removes them.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "888b55dc314d26239d84c3b187dae555a81c1605",
      "tree": "bdf22d17648cf01f89009d37b9bbcdb1521fc636",
      "parents": [
        "dba58e39ced7af63f2748d12bbb2b4ac83c72391"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sun Mar 08 13:12:43 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 08 16:57:22 2009 +0100"
      },
      "message": "ftrace: tracing header should put \u0027#\u0027 at the beginning of a line\n\nIn a recent discussion, Andrew Morton pointed out that tracing header\nshould put \u0027#\u0027 at the beginning of a line.\n\nThen, we can easily filtered the header by following grep usage:\n\n  cat trace | grep -v \u0027^#\u0027\n\nWakeup trace also has the same header problem.\n\nComparison of headers displayed:\n\nbefore this patch:\n\n # tracer: wakeup\n #\n wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip\n --------------------------------------------------------------------\n  latency: 19059 us, #21277/21277, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)\n     -----------------\n     | task: kondemand/1-1644 (uid:0 nice:-5 policy:0 rt_prio:0)\n     -----------------\n\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /\n #                |||||     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||   \\   |   /\n irqbalan-1887    1d.s.    0us :   1887:120:R   + [001]  1644:115:S kondemand/1\n irqbalan-1887    1d.s.    1us : default_wake_function \u003c-autoremove_wake_function\n irqbalan-1887    1d.s.    2us : check_preempt_wakeup \u003c-try_to_wake_up\n\nafter this patch:\n\n # tracer: wakeup\n #\n # wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip\n # --------------------------------------------------------------------\n # latency: 529 us, #530/530, CPU#0 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: kondemand/0-1641 (uid:0 nice:-5 policy:0 rt_prio:0)\n #    -----------------\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /\n #                |||||     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||   \\   |   /\n     sshd-2496    0d.s.    0us :   2496:120:R   + [000]  1641:115:S kondemand/0\n     sshd-2496    0d.s.    1us : default_wake_function \u003c-autoremove_wake_function\n     sshd-2496    0d.s.    1us : check_preempt_wakeup \u003c-try_to_wake_up\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20090308124421.23C3.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "769b0441f438c4bb4872cb8560eb6fe51bcc09ee",
      "tree": "9908682dfd89e97c3097a7c3adcae35d821e1895",
      "parents": [
        "1ba28e02a18cbdbea123836f6c98efb09cbf59ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 06 17:21:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:12 2009 +0100"
      },
      "message": "tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()\n\nImpact: faster and lighter tracing\n\nNow that we have trace_bprintk() which is faster and consume lesser\nmemory than trace_printk() and has the same purpose, we can now drop\nthe old implementation in favour of the binary one from trace_bprintk(),\nwhich means we move all the implementation of trace_bprintk() to\ntrace_printk(), so the Api doesn\u0027t change except that we must now use\ntrace_seq_bprintk() to print the TRACE_PRINT entries.\n\nSome changes result of this:\n\n- Previously, trace_bprintk depended of a single tracer and couldn\u0027t\n  work without. This tracer has been dropped and the whole implementation\n  of trace_printk() (like the module formats management) is now integrated\n  in the tracing core (comes with CONFIG_TRACING), though we keep the file\n  trace_printk (previously trace_bprintk.c) where we can find the module\n  management. Thus we don\u0027t overflow trace.c\n\n- changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries.\n\n- change a bit trace_printk/trace_vprintk macros to support non-builtin formats\n  constants, and fix \u0027const\u0027 qualifiers warnings. But this is all transparent for\n  developers.\n\n- etc...\n\nV2:\n\n- Rebase against last changes\n- Fix mispell on the changelog\n\nV3:\n\n- Rebase against last changes (moving trace_printk() to kernel.h)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ba28e02a18cbdbea123836f6c98efb09cbf59ec",
      "tree": "41df06a06c702152902ffd7250f284a6efe9b0da",
      "parents": [
        "1427cdf0592368bdec57276edaf714040ee8744f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: add trace_bprintk()\n\nImpact: add a generic printk() for tracing, like trace_printk()\n\ntrace_bprintk() uses the infrastructure to record events on ring_buffer.\n\n[ fweisbec@gmail.com: ported to latest -tip, made it work if\n  !CONFIG_MODULES, never free the format strings from modules\n  because we can\u0027t keep track of them and conditionnaly create\n  the ftrace format strings section (reported by Steven Rostedt) ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1427cdf0592368bdec57276edaf714040ee8744f",
      "tree": "4b214ee49643db383328cf53a31959eb0627a167",
      "parents": [
        "546e5354a6e4ec760ac03ef1148e9a4762abb5f5"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: infrastructure for supporting binary record\n\nImpact: save on memory for tracing\n\nCurrent tracers are typically using a struct(like struct ftrace_entry,\nstruct ctx_switch_entry, struct special_entr etc...)to record a binary\nevent. These structs can only record a their own kind of events.\nA new kind of tracer need a new struct and a lot of code too handle it.\n\nSo we need a generic binary record for events. This infrastructure\nis for this purpose.\n\n[fweisbec@gmail.com: rebase against latest -tip, make it safe while sched\ntracing as reported by Steven Rostedt]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e2336a0d47c9661a40cc5ef85135ce1406af6e8",
      "tree": "6d977e4471f8e31245602a26e939368689d2383a",
      "parents": [
        "2002c258faaa8f89543df284fdbaa9e4b171547f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:44:55 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:46:40 2009 -0500"
      },
      "message": "tracing: make all file_operations const\n\nImpact: cleanup\n\nAll file_operations structures should be constant. No one is going to\nchange them.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5e1607a00bd082972629d3d68c95c8bcf902b55a",
      "tree": "2751baf5ee286cdec8f4b1afcb7332f4c1f5f454",
      "parents": [
        "53664738c122bfe8b0e489fddaf2ab265c9133c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "message": "tracing: rename ftrace_printk() \u003d\u003e trace_printk()\n\nImpact: cleanup\n\nUse a more generic name - this also allows the prototype to move\nto kernel.h and be generally available to kernel developers who\nwant to do some quick tracing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27d48be84477d2f0a2e2ac3738a3971dece631d5",
      "tree": "92d4b896df1102b0aaa3c01d71fdecd75faa601f",
      "parents": [
        "5fd73f862468280d4cbb5ba4321502f911f9f89a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "message": "tracing: consolidate print_lat_fmt and print_trace_fmt\n\nImpact: clean up\n\nBoth print_lat_fmt and print_trace_fmt do pretty much the same thing\nexcept for one different function call. This patch consolidates the\ntwo functions and adds an if statement to perform the difference.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5fd73f862468280d4cbb5ba4321502f911f9f89a",
      "tree": "3c96f61dea5280784560a8b9252fe13a84149421",
      "parents": [
        "c032ef64d680717e4e8ce3da65da6419a35f8a2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "message": "tracing: remove extra latency_trace method from trace structure\n\nImpact: clean up\n\nThe trace and latency_trace function pointers are identical for\nevery tracer but the function tracer. The differences in the function\ntracer are trivial (latency output puts paranthesis around parent).\n\nThis patch removes the latency_trace pointer and all prints will\nnow just use the trace output function pointer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "c032ef64d680717e4e8ce3da65da6419a35f8a2c",
      "tree": "f6d77c0033e9a33f22adac66d939338c55f06525",
      "parents": [
        "e74da5235cec6cb71eb338c987f876ecc793138b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "message": "tracing: add latency output format option\n\nWith the removal of the latency_trace file, we lost the ability\nto see some of the finer details in a trace. Like the state of\ninterrupts enabled, the preempt count, need resched, and if we\nare in an interrupt handler, softirq handler or not.\n\nThis patch simply creates an option to bring back the old format.\nThis also removes the warning about an unused variable that held\nthe latency_trace file operations.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e74da5235cec6cb71eb338c987f876ecc793138b",
      "tree": "ba7ba533d7056ba660763c33b5a44a1d61279c99",
      "parents": [
        "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "message": "tracing: fix seq read from trace files\n\nThe buffer used by trace_seq was updated incorrectly. Instead\nof consuming what was actually read, it consumed the rest of the\nbuffer on reads.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e",
      "tree": "fd1070a750b7f88e01527b3d808e73f7f9fcb45a",
      "parents": [
        "4f3640f8a358f2183a8c966f299eeb55ca523e06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "message": "tracing: do not return EFAULT if read copied anything\n\nImpact: fix trace read to conform to standards\n\nAndrew Morton, Theodore Tso and H. Peter Anvin brought to my attention\nthat a userspace read should not return -EFAULT if it succeeded in\ncopying anything. It should only return -EFAULT if it failed to copy\nat all.\n\nThis patch modifies the check of copy_from_user and updates the return\ncode appropriately.\n\nI also used H. Peter Anvin\u0027s short cut rule to just test ret \u003d\u003d count.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e543ad76914abec1acf6631604a4154cd7a2ca6b",
      "tree": "a2d093fe45ecb663fc1f977c0efc812ec06e1b99",
      "parents": [
        "efed792d6738964f399a508ef9e831cd60fa4657"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:20:36 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:32:28 2009 -0500"
      },
      "message": "tracing: add cpu_file intialization for ftrace_dump\n\nImpact: fix to ftrace_dump output corruption\n\nThe commit: b04cc6b1f6398b0e0b60d37e27ce51b4899672ec\n  tracing/core: introduce per cpu tracing files\n\nadded a new field to the iterator called cpu_file. This was a handle\nto differentiate between the per cpu trace output files and the\nall cpu \"trace\" file. The all cpu \"trace\" file required setting this\nto TRACE_PIPE_ALL_CPU.\n\nThe problem is that the ftrace_dump sets up its own iterator but was\nnot updated to handle this change. The result was only CPU 0 printing\nout on crash and a lot of \"\u003c0\u003e\"\u0027s also being printed.\n\nReported-by: Thomas Gleixner \u003ctglx@linuxtronix.de\u003e\nTested-by: Darren Hart \u003cdvhtc@us.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "efed792d6738964f399a508ef9e831cd60fa4657",
      "tree": "b4b5e472bafb3d5d0d8ea26680e1d8cc87365c30",
      "parents": [
        "28b1bd1cbc33cae95a309691d814399a69cf3070"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Mar 04 12:32:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:58 2009 +0100"
      },
      "message": "tracing: add lockdep tracepoints for lock acquire/release\n\nAugment the traces with lock names when lockdep is available:\n\n 1)               |  down_read_trylock() {\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   4.201 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   3.523 us    |    }\n 1)               |  /* lock_acquire: try read \u0026mm-\u003emmap_sem */\n 1) + 13.386 us   |  }\n 1)   1.635 us    |  find_vma();\n 1)               |  handle_mm_fault() {\n 1)               |    __do_fault() {\n 1)               |      filemap_fault() {\n 1)               |        find_lock_page() {\n 1)               |          find_get_page() {\n 1)               |            /* lock_acquire: read rcu_read_lock */\n 1)               |            /* lock_release: rcu_read_lock */\n 1)   5.697 us    |          }\n 1)   8.158 us    |        }\n 1) + 11.079 us   |      }\n 1)               |      _spin_lock() {\n 1)               |        /* lock_acquire: __pte_lockptr(page) */\n 1)   3.949 us    |      }\n 1)   1.460 us    |      page_add_file_rmap();\n 1)               |      _spin_unlock() {\n 1)               |        /* lock_release: __pte_lockptr(page) */\n 1)   3.115 us    |      }\n 1)               |      unlock_page() {\n 1)   1.421 us    |        page_waitqueue();\n 1)   1.220 us    |        __wake_up_bit();\n 1)   6.519 us    |      }\n 1) + 34.328 us   |    }\n 1) + 37.452 us   |  }\n 1)               |  up_read() {\n 1)               |  /* lock_release: \u0026mm-\u003emmap_sem */\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   3.865 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   8.562 us    |    }\n 1) + 17.370 us   |  }\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003d?ISO-8859-1?Q?T\u003dF6r\u003dF6k?\u003d Edwin \u003cedwintorok@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1236166375.5330.7209.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2cadf9135eb3b6d84b6427314be827ddd443c308",
      "tree": "919e201f615b8de6d0263ded5693bad326196671",
      "parents": [
        "474d32b68d6d842f3e710e9ae9fe2568c53339f8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 01 22:20:19 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 21:01:55 2009 -0500"
      },
      "message": "tracing: add binary buffer files for use with splice\n\nImpact: new feature\n\nThis patch creates a directory of files that correspond to the\nper CPU ring buffers. These are binary files and are made to\nbe used with splice. This is the fastest way to extract data from\nthe ftrace ring buffers.\n\nThanks to Jiaying Zhang for pushing me to get this code fixed,\n and to Eduard - Gabriel Munteanu for his splice code that helped\n me debug my code.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    }
  ],
  "next": "f9520750c4c9924c14325cd951efae5fae58104c"
}
