)]}'
{
  "log": [
    {
      "commit": "751e9983ee276cb150e8812b1d995f6035a63878",
      "tree": "7f9abfa2ea11bcc2ccfa9922af17811d5020fa69",
      "parents": [
        "b82a4045f7962483a78a874343dc6e31b79c96c1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 14 10:53:02 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 14 22:38:03 2010 -0500"
      },
      "message": "ftrace: Fix MATCH_END_ONLY function filter\n\nFor \u0027*foo\u0027 pattern, we should allow any string ending with\n\u0027foo\u0027, but ftrace filter incorrectly disallows strings\nlike bar_foo_foo:\n\n  # echo \u0027*io\u0027 \u003e set_ftrace_filter\n  # cat set_ftrace_filter | grep \u0027req_bio_endio\u0027\n  # cat available_filter_functions | grep \u0027req_bio_endio\u0027\n  req_bio_endio\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B4E870E.6060607@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "91baf6285be7282cfa487de92f836c50749dffb9",
      "tree": "766544ebcc24fecf177eba5bd8be475cf3516eef",
      "parents": [
        "313254a9400d388b46150c0f355e216418a2f598"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:15:45 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:26 2009 +0100"
      },
      "message": "function-graph: Allow writing the same val to set_graph_function\n\n# echo \u0027do_open\u0027 \u003e set_graph_function\n # echo \u0027do_open\u0027 \u003e\u003e set_graph_function\n bash: echo: write error: Invalid argument\n\nMake it valid to write the same value to set_graph_function,\nwhich is consistent with set_ftrace_filter interface.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-reference: \u003c4B1DC4E1.1060303@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "313254a9400d388b46150c0f355e216418a2f598",
      "tree": "190c360ad60b27763e2f95dc5cf8fa9068d3d71e",
      "parents": [
        "311d16da575f53c3367099579736c1d233efe0dc"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:15:30 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:26 2009 +0100"
      },
      "message": "ftrace: Call trace_parser_clear() properly\n\nI found a weird behavior:\n\n  # echo \u0027fuse:*\u0027 \u003e set_ftrace_filter\n  bash: echo: write error: Invalid argument\n  # cat set_ftrace_filter\n  fuse_dev_fasync\n  fuse_dev_poll\n  fuse_copy_do\n\nWe should call trace_parser_clear() no matter ftrace_process_regex()\nreturns 0 or -errno, otherwise we will actually take the unaccepted\nrecords from ftrace_regex_release().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC4D2.3000406@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "311d16da575f53c3367099579736c1d233efe0dc",
      "tree": "6fea069fc00f50afac428021989d037f0bb0162f",
      "parents": [
        "3b8e4273814a7f9e9a74ece517d9206fea919aaa"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:15:11 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:25 2009 +0100"
      },
      "message": "ftrace: Return EINVAL when writing invalid val to set_ftrace_filter\n\nCurrently it doesn\u0027t warn user on invald value:\n\n # echo nonexist_symbol \u003e set_ftrace_filter\nor:\n # echo \u0027nonexist_symbol:mod:fuse\u0027 \u003e set_ftrace_filter\n\nBetter make it return failure.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC4BF.2070003@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "457dc928f586f3f4b930206965e6db270034e97e",
      "tree": "db1ff1d43058451cc42f6499f495e68d1a37e335",
      "parents": [
        "98e4833ba3c314c99dc364012fba6ac894230ad0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:03:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:04:07 2009 +0100"
      },
      "message": "tracing, function tracer: Clean up strstrip() usage\n\nClean up strstrip() usage - which also addresses this build warning:\n\n  kernel/trace/ftrace.c: In function \u0027ftrace_pid_write\u0027:\n  kernel/trace/ftrace.c:3004: warning: ignoring return value of \u0027strstrip\u0027, declared with attribute warn_unused_result\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6060f46819f313d34a8c8151390cda509c23389",
      "tree": "96ec1c80695498d73172b3c2ef7df585b9d28e4f",
      "parents": [
        "5a50e33cc916f6a81cb96f0f24f6a88c9ab78b79"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Nov 05 11:16:17 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 11:05:49 2009 -0500"
      },
      "message": "tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n\nPrevent build warning when CONFIG_FUNCTION_GRAPH_TRACER is not set.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AF24381.5060307@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ed146b25942b428f8e8056587b7638ce76573c2f",
      "tree": "36b3355b5d53057accb92000ee5b3986d5a05a8b",
      "parents": [
        "f7112949f6a4cd6883d66c882d568c2197321de6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 03 08:55:38 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 04 01:42:10 2009 -0500"
      },
      "message": "ftrace: Fix unmatched locking in ftrace_regex_write()\n\nWhen a command is passed to the set_ftrace_filter, then\nthe ftrace_regex_lock is still held going back to user space.\n\n # echo \u0027do_open : foo\u0027 \u003e set_ftrace_filter\n (still holding ftrace_regex_lock when returning to user space!)\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AEF7F8A.3080300@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9de09ace8d518141a4375e1d216ab64db4377799",
      "tree": "da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16",
      "parents": [
        "1beee96bae0daf7f491356777c3080cc436950f5",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:20 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up fixes and move base from -rc1 to -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8517cf905b5cd31d5790250b9ac39f7cb8aa53",
      "tree": "22796f676ce955ec204ece1485dac6e93d1aeb3e",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:16 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:49 2009 +0200"
      },
      "message": "tracing: Update *ppos instead of filp-\u003ef_pos\n\nInstead of directly updating filp-\u003ef_pos we should update the *ppos\nargument. The filp-\u003ef_pos gets updated within the file_pos_write()\nfunction called from sys_write().\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.399670810@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06f43d66ec36388056f5c697bf1e67c0e0a1645c",
      "tree": "04b8735f670570d146c0c12bb403effc94e14346",
      "parents": [
        "459c6d15a0c52bae43842ff2cd0dd41aa7de9b7f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:43:39 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:43:39 2009 +0200"
      },
      "message": "ftrace: Copy ftrace_graph_filter boot param using strlcpy\n\nWe are using strncpy in the wrong way to copy the ftrace_graph_filter\nboot param because we pass the buffer size instead of the max string\nsize it can contain (buffer size - 1). The end result might not be\nNULL terminated as we are abusing the max string size.\n\nLets use strlcpy() instead.\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5cb084bb1f3fd4dcdaf7e4cf564994346ec8f783",
      "tree": "0faf55a8a91ff69ae7cd0dff349dc5fbe27a53da",
      "parents": [
        "756d17ee7ee4fbc8238bdf97100af63e6ac441ef"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Oct 13 16:33:53 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 08:13:54 2009 +0200"
      },
      "message": "tracing: Enable records during the module load\n\nI was debuging some module using \"function\" and \"function_graph\"\ntracers and noticed, that if you load module after you enabled\ntracing, the module\u0027s hooks will convert only to NOP instructions.\n\nThe attached patch enables modules\u0027 hooks if there\u0027s function trace\nallready on, thus allowing to trace module functions.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20091013203425.896285120@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "756d17ee7ee4fbc8238bdf97100af63e6ac441ef",
      "tree": "d0b794f4964be5689fc1bd64302969405000e18b",
      "parents": [
        "194ec34184869f0de1cf255c924fc5299e1b3d27"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Tue Oct 13 16:33:52 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 08:13:53 2009 +0200"
      },
      "message": "tracing: Support multiple pids in set_pid_ftrace file\n\nAdding the possibility to set more than 1 pid in the set_pid_ftrace\nfile, thus allowing to trace more than 1 independent processes.\n\nUsage:\n\n sh-4.0# echo 284 \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n 284\n sh-4.0# echo 1 \u003e\u003e ./set_ftrace_pid\n sh-4.0# echo 0 \u003e\u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n swapper tasks\n 1\n 284\n sh-4.0# echo 4 \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n 4\n sh-4.0# echo \u003e ./set_ftrace_pid\n sh-4.0# cat ./set_ftrace_pid\n no pid\n sh-4.0#\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091013203425.565454612@goodmis.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1bac0497ef9af8d933860672223e38bd6ac4934a",
      "tree": "8e569b0e7ed977a4659002632362855cc245990f",
      "parents": [
        "2c96c142e941041973faab20ca3b82d57f435c5e",
        "bf7c5b43a12614847b83f507fb169ad30640e406"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core\n"
    },
    {
      "commit": "2c96c142e941041973faab20ca3b82d57f435c5e",
      "tree": "45188f0ecb3f4bb7408a7219f8fcd041d500235a",
      "parents": [
        "3c355863fb32070a2800f41106519c5c3038623a",
        "8ad807318fcd62aba0e18c7c7fbfcc1af3fcdbab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 09:24:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 09:24:59 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up tracing/filters fix from the urgent queue,\n              we will queue up dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "369bc18f9a6c4e2686204c1d7476ab684a720968",
      "tree": "84606ab4244907d10b60fb091f2d2e23024ebbae",
      "parents": [
        "3c355863fb32070a2800f41106519c5c3038623a"
      ],
      "author": {
        "name": "Stefan Assmann",
        "email": "sassmann@redhat.com",
        "time": "Mon Oct 12 22:17:21 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 12 22:17:21 2009 +0200"
      },
      "message": "ftrace: add kernel command line graph function filtering\n\nAdd a command line parameter to allow limiting the function graphs\nthat are traced on boot up from the given top-level callers , when\nftrace\u003dfunction_graph is specified.\n\nThis patch adds the following command line option:\nftrace_graph_filter\u003dfunction-list\n\nWhere function-list is a comma separated list of functions to filter.\n\n[fweisbec@gmail.com: picked the documentation changes from the v2 patch]\n\nSigned-off-by: Stefan Assmann \u003csassmann@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4AD2DEB9.2@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "f17f36bb1c006818441b84cf65a6decf3e59942b",
      "tree": "865b308feea81c3c399669e9ec191a4cdad3265b",
      "parents": [
        "b924f9599dfd4a604761e84b1e920e480fb57f66",
        "8f6e8a314ab37cadd72da5ace9027f2d04aba854"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:06:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:06:09 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: user local buffer variable for trace branch tracer\n  tracing: fix warning on kernel/trace/trace_branch.c andtrace_hw_branches.c\n  ftrace: check for failure for all conversions\n  tracing: correct module boundaries for ftrace_release\n  tracing: fix transposed numbers of lock_depth and preempt_count\n  trace: Fix missing assignment in trace_ctxwake_*\n  tracing: Use free_percpu instead of kfree\n  tracing: Check total refcount before releasing bufs in profile_enable failure\n"
    },
    {
      "commit": "3279ba37db5d65c4ab0dcdee3b211ccb85bb563f",
      "tree": "e0051b9110b15187c4aaaa980749ab829f2e8427",
      "parents": [
        "e7247a15ff3bbdab0a8b402dffa1171e5c05a8e0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Oct 07 16:57:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 17:22:24 2009 -0400"
      },
      "message": "ftrace: check for failure for all conversions\n\nDue to legacy code from back when the dynamic tracer used a daemon,\nonly core kernel code was checking for failures. This is no longer\nthe case. We must check for failures any time we perform text modifications.\n\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e7247a15ff3bbdab0a8b402dffa1171e5c05a8e0",
      "tree": "139c26b2abd8ea5dd55ee6a4d43622bb24a0ee6a",
      "parents": [
        "829b876dfc94ea8be3a47e200d06f1f217bb104f"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Wed Oct 07 19:00:35 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 15:52:09 2009 -0400"
      },
      "message": "tracing: correct module boundaries for ftrace_release\n\nWhen the module is about the unload we release its call records.\nThe ftrace_release function was given wrong values representing\nthe module core boundaries, thus not releasing its call records.\n\nPlus making ftrace_release function module specific.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1254934835-363-3-git-send-email-jolsa@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0aa73ba1c4e1ad1d51a29e0df95ccd9f746918b6",
      "tree": "f0714ddcd02812b4fbe3b5405df9e4068f5587e2",
      "parents": [
        "925936ebf35a95c290e010b784c962164e6728f3",
        "33974093c024f08caadd2fc71a83bd811ed1831d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:20:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:20:48 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up latest fixes and update to latest upstream.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "33974093c024f08caadd2fc71a83bd811ed1831d",
      "tree": "412ce703796e403697ea00a0d29296b21068f4b0",
      "parents": [
        "84d88d5d4efc37dfb8a93a4a58d8a227ee86ffa4"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matthew.fleming@imgtec.com",
        "time": "Mon Sep 28 16:43:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 08:19:24 2009 +0200"
      },
      "message": "tracing: Fix infinite recursion in ftrace_update_pid_func()\n\nWhen CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST is enabled\n__ftrace_trace_function contains the current trace function, not\nftrace_trace_function.\n\nIn ftrace_update_pid_func() we currently incorrectly assign the\nvalue of ftrace_trace_function to __ftrace_trace_funcion before\nreturning.\n\nWithout this patch it is possible to execute an infinite recursion\nwhereby ftrace_test_stop_func() calls __ftrace_trace_function,\nwhich was assigned ftrace_test_stop_func() in\nftrace_update_pid_func().\n\nSigned-off-by: Matt Fleming \u003cmatthew.fleming@imgtec.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1254152581-18347-1-git-send-email-matt@console-pimps.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4187e7e9f1294afdcb3be5d00aa74412a1c2ded8",
      "tree": "1d4b3447cb2a7407d97e51ee5c48069d6b92c9e3",
      "parents": [
        "5bb241b325d7d91bc4ec0b394f31dffb17fe7978",
        "115e8a288252ef748f34f8b7c1115c563d702eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  modules, tracing: Remove stale struct marker signature from module_layout()\n  tracing/workqueue: Use %pf in workqueue trace events\n  tracing: Fix a comment and a trivial format issue in tracepoint.h\n  tracing: Fix failure path in ftrace_regex_open()\n  tracing: Fix failure path in ftrace_graph_write()\n  tracing: Check the return value of trace_get_user()\n  tracing: Fix off-by-one in trace_get_user()\n"
    },
    {
      "commit": "3f6fe06dbf67b46d36fedec502300e04dffeb67a",
      "tree": "3879fe89257ded94190ad8f1835f0320eb19f610",
      "parents": [
        "1889d20922d14a97b2099fa4d47587217c0ba48b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:31:51 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 24 21:40:13 2009 +0200"
      },
      "message": "tracing/filters: Unify the regex parsing helpers\n\nThe filter code has stolen the regex parsing function from ftrace to\nget the regex support.\nWe have duplicated this code, so factorize it in the filter area and\nmake it generally available, as the filter code is the most suited to\nhost this feature.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79fe249c8368be35c9ca05982e80c68e959505e1",
      "tree": "cfb0b12a3d189fde435db4cab817b740c14517f3",
      "parents": [
        "1eb90f138b3fb4cc15f3acec94aa788e846269f7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Sep 22 13:54:28 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 10:28:57 2009 +0200"
      },
      "message": "tracing: Fix failure path in ftrace_regex_open()\n\nDon\u0027t forget to free trace_parser if seq_open() returned failure.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4AB86694.4040803@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1eb90f138b3fb4cc15f3acec94aa788e846269f7",
      "tree": "d5e361214065598094d9b4ec71b3591edeaa74e5",
      "parents": [
        "4ba7978e98a3ff92cebfb0f31a02c309e3ffa1fe"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Sep 22 13:52:57 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 10:28:56 2009 +0200"
      },
      "message": "tracing: Fix failure path in ftrace_graph_write()\n\nDon\u0027t call trace_parser_put() on uninitialized trace_parser.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4AB86639.3000003@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ba7978e98a3ff92cebfb0f31a02c309e3ffa1fe",
      "tree": "47d8b3b0927a7413fabcc634023b45350f344d89",
      "parents": [
        "3c235a337e205da0f614e456be72881483dcde6e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Sep 22 13:52:20 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 10:28:55 2009 +0200"
      },
      "message": "tracing: Check the return value of trace_get_user()\n\nReturn immediately if trace_get_user() returned failure.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4AB86614.7020803@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4ec5e0c2681b8cf99ddabf118705847f7460f19",
      "tree": "d345e9d6037d7652184b780f49f31e19eba61061",
      "parents": [
        "0efb4d20723d58edbad29d1ff98a86b631adb5e6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Sep 18 14:06:28 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 19 11:26:54 2009 -0400"
      },
      "message": "function-graph: use ftrace_graph_funcs directly\n\nNo need to store ftrace_graph_funcs in file-\u003eprivate.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AB32364.7020602@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b375a11a239e9e1cac40c7f3ff28b343d9f7ac51",
      "tree": "c69d29112ac9eb3689ddac166df65d06b268ad6d",
      "parents": [
        "91adcd2c4b104a8ce2973e6e84b01fd48735ffc6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 17 00:05:58 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 17 15:53:40 2009 -0400"
      },
      "message": "tracing: switch function prints from %pf to %ps\n\nFor direct function pointers (like what mcount provides) PowerPC64\nrequires the use of %ps, otherwise nothing is printed.\n\nThis patch converts all prints of functions retrieved through mcount\nto use the %ps format from the %pf.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b36461da2a0389149d7f88f3cbc05a30d1db9faa",
      "tree": "c9a4a6414185474e106d538705089a3fa3506a45",
      "parents": [
        "fe832a3a48737b24f95fab202b1c67fb588b071d"
      ],
      "author": {
        "name": "Atsushi Tsuji",
        "email": "a-tsuji@bk.jp.nec.com",
        "time": "Tue Sep 15 19:06:30 2009 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 16 09:08:54 2009 -0400"
      },
      "message": "tracing: Fix minor bugs for __unregister_ftrace_function_probe\n\nFix the condition of strcmp for \"*\".\nAlso fix NULL pointer dereference when glob is NULL.\n\nSigned-off-by: Atsushi Tsuji \u003ca-tsuji@bk.jp.nec.com\u003e\nLKML-Reference: \u003c4AAF6726.5090905@bk.jp.nec.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "689fd8b65d669b96d612ccc37d6fb87bf7ed6907",
      "tree": "d94d478c2f52440a048244a1fc7ee6beec25e88c",
      "parents": [
        "489663644c35d50a20f58d468a7cbc705e6a29ce"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Fri Sep 11 17:29:29 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 11 15:20:18 2009 -0400"
      },
      "message": "tracing: trace parser support for function and graph\n\nConvert the writing to \u0027set_graph_function\u0027, \u0027set_ftrace_filter\u0027\nand \u0027set_ftrace_notrace\u0027 to use the generic trace_parser\n\u0027trace_get_user\u0027 function.\n\nRemoved FTRACE_ITER_CONT flag, since it\u0027s not needed after this change.\n\nMinor fix in set_graph_function display - g_show function.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1252682969-3366-4-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ed011b22ce567eabefa9ea571d3721c10ecd0553",
      "tree": "c7aee6684613075c772388a99a9137014549434e",
      "parents": [
        "85bac32c4a52c592b857f2c360cc5ec93a097d70",
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:42 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc9\u0027 into tracing/core\n\nMerge reason: move from -rc5 to -rc9.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eda1e328556565e211b7450250e40d6de751563a",
      "tree": "a0d4d6c056f3c4452a9a7d0e4b9af52e7a2d089d",
      "parents": [
        "f2d84b65b9778e8a35dd904f7d3993f0a60c9756"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Aug 11 17:29:04 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 18 20:39:48 2009 -0400"
      },
      "message": "tracing: handle broken names in ftrace filter\n\nIf one filter item (for set_ftrace_filter and set_ftrace_notrace) is being\nsetup by more than 1 consecutive writes (FTRACE_ITER_CONT flag), it won\u0027t\nbe handled corretly.\n\nI used following program to test/verify:\n\n[snip]\n#include \u003cstdio.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstring.h\u003e\n\nint main(int argc, char **argv)\n{\n        int fd, i;\n        char *file \u003d argv[1];\n\n        if (-1 \u003d\u003d (fd \u003d open(file, O_WRONLY))) {\n                perror(\"open failed\");\n                return -1;\n        }\n\n        for(i \u003d 0; i \u003c (argc - 2); i++) {\n                int len \u003d strlen(argv[2+i]);\n                int cnt, off \u003d 0;\n\n                while(len) {\n                        cnt \u003d write(fd, argv[2+i] + off, len);\n                        len -\u003d cnt;\n                        off +\u003d cnt;\n                }\n        }\n\n        close(fd);\n        return 0;\n}\n[snip]\n\nbefore change:\nsh-4.0# echo \u003e ./set_ftrace_filter\nsh-4.0# /test ./set_ftrace_filter \"sys\" \"_open \"\nsh-4.0# cat ./set_ftrace_filter\n#### all functions enabled ####\nsh-4.0#\n\nafter change:\nsh-4.0# echo \u003e ./set_ftrace_notrace\nsh-4.0# test ./set_ftrace_notrace \"sys\" \"_open \"\nsh-4.0# cat ./set_ftrace_notrace\nsys_open\nsh-4.0#\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c20090811152904.GA26065@jolsa.lab.eng.brq.redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3be04b471b95b870bd129a138463756629e86f3f",
      "tree": "056a6f2ecf5be83c0441ebe9357f16bc1f91cd0c",
      "parents": [
        "2fc5f0cff4cf1c4cd336d0f61f11bca6eeee1d84"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Aug 17 16:54:03 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 17 11:25:10 2009 +0200"
      },
      "message": "ftrace: Simplify seqfile code\n\nUse seq_release_private().\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\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A891AAB.8090701@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "89034bc2c7b839702c00a704e79d112737f98be0",
      "tree": "e65b1f3d4c751baa840efc81bc4734f089379eb3",
      "parents": [
        "fb82ad719831db58e9baa4c67015aae3fe27e7e3",
        "85dfd81dc57e8183a277ddd7a56aa65c96f3f487"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/trace_events_filter.c\n\nWe use the tracing/core version.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "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": "87827111a5538633b18e5c641ced673c4c2bb6ce",
      "tree": "46249db51a7f94e31948f48b07efbbbc5de3e7c3",
      "parents": [
        "d8cc1ab793993c886c62abf77c93287df33ffd8b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 23 11:29:11 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 09:53:23 2009 -0400"
      },
      "message": "function-graph: Fix seqfile memory leak\n\nEvery time we cat set_graph_function, we leak memory allocated\nby seq_open().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A67D907.2010500@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "566b0aaf798a0dddfc455d1a5b05c424c6686c65",
      "tree": "ce8e8bfb62986ba4e5ba1b1d7d729c83aeb74387",
      "parents": [
        "45bceffc3013bda7d2ebc7802e9b153b674e2d44"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 16 21:44:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:21:16 2009 +0200"
      },
      "message": "tracing: Remove unused fields/variables\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c1247773468-11594-2-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45bceffc3013bda7d2ebc7802e9b153b674e2d44",
      "tree": "222d7dd8fd300925cbf12cdc0fba5bee2528997e",
      "parents": [
        "6f2f3cf00ee32f75ba007a46bab88a54d68a5deb",
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:19:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:20:01 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: tracing/core was on an older, pre-rc1 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f2f3cf00ee32f75ba007a46bab88a54d68a5deb",
      "tree": "89aaab40d502c84e135b7e9e72b20bb7d498bc8c",
      "parents": [
        "79173bf556417a737e9d2e096e0788452ec30a61"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 16 14:21:08 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 17 01:45:51 2009 -0400"
      },
      "message": "tracing/function: Cleanup for function tracer\n\nWe can directly use %pf input format instead of kallsyms_lookup()\nand %s input format\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "64fbcd162819bddaf0d99e78b16371b655aa5dee",
      "tree": "abc34dd23386f13675502455d99d868b9b63173e",
      "parents": [
        "da706d8bc833e7153622435560422e653bdb2e94"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jul 15 12:32:15 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 17 00:37:53 2009 -0400"
      },
      "message": "tracing/function: Simplify __ftrace_replace_code()\n\nRewrite the __ftrace_replace_code() function, simplify it, but don\u0027t\nchange the code\u0027s logic.\n\nFirst, we get the state we want to set, if the record has the same\nstate, then do nothing, otherwise enable/disable it.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2",
      "tree": "dc5cd05361845a431c1388f83f913e4610a2dfca",
      "parents": [
        "d0b6e04a4cd8360e3c9c419f7c30a3081a0c142a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 04 00:55:45 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 13 11:01:10 2009 +0200"
      },
      "message": "tracing/function-profiler: do not free per cpu variable stat\n\nThe per cpu variable stat is freeded if we fail to allocate a name\non start up. This was due to stat at first being allocated in the\ninitial design. But since then, it has become a static per cpu variable\nbut the free on error was not removed.\n\nAlso added __init annotation to the function that this is in.\n\n[ Impact: prevent possible memory corruption on low mem at boot up ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a32c7765e2796395aec49f699bd25c407155e9c5",
      "tree": "6d46f223a177ada92c6f47c36ba2e51cd6041037",
      "parents": [
        "0296e4254f3318e0dcad9706fa1daf8e5addc1e9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jun 26 16:55:51 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 26 20:48:39 2009 +0200"
      },
      "message": "tracing: Fix stack tracer sysctl handling\n\nThis made my machine completely frozen:\n\n  # echo 1 \u003e /proc/sys/kernel/stack_tracer_enabled\n  # echo 2 \u003e /proc/sys/kernel/stack_tracer_enabled\n\nThe cause is register_ftrace_function() was called twice.\n\nAlso fix ftrace_enabled sysctl, though seems nothing bad happened\nas I tested it.\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: \u003c4A448D17.9010305@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0296e4254f3318e0dcad9706fa1daf8e5addc1e9",
      "tree": "7568f2372564b45fa79bbcdd36273999cae0de8c",
      "parents": [
        "1155de47cd66d0c496d5a6fb2223e980ef1285b2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jun 26 11:15:37 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 26 09:25:42 2009 +0200"
      },
      "message": "ftrace: Fix the output of profile\n\nThe first entry of the ftrace profile was always skipped when\nreading trace_stat/functionX.\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: \u003c4A443D59.4080307@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d82d62444f87e5993af2fa82ed636b2206e052ea",
      "tree": "701f28de7def6c58d80db72a462171cab013b514",
      "parents": [
        "694ce0a544fba37a60025a6803ee6265be8a2a22"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 24 09:54:54 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:02:53 2009 +0200"
      },
      "message": "ftrace: Fix t_hash_start()\n\nWhen the output of set_ftrace_filter is larger than PAGE_SIZE,\nt_hash_start() will be called the 2nd time, and then we start\nfrom the head of a hlist, which is wrong and causes some entries\nto be outputed twice.\n\nThe worse is, if the hlist is large enough, reading set_ftrace_filter\nwon\u0027t stop but in a dead loop.\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: \u003c4A41876E.2060407@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "694ce0a544fba37a60025a6803ee6265be8a2a22",
      "tree": "a6debd92de0dcf7b42dc129402ca793c540091ae",
      "parents": [
        "85951842a1020669f0a9eb0f0d1853b41341f097"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 24 09:54:19 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:02:53 2009 +0200"
      },
      "message": "ftrace: Don\u0027t manipulate @pos in t_start()\n\nIt\u0027s rather confusing that in t_start(), in some cases @pos is\nincremented, and in some cases it\u0027s decremented and then incremented.\n\nThis patch rewrites t_start() in a much more general way.\n\nThus we fix a bug that if ftrace_filtered \u003d\u003d 1, functions have tracer\nhooks won\u0027t be printed, because the branch is always unreachable:\n\nstatic void *t_start(...)\n{\n\t...\n\tif (!p)\n\t\treturn t_hash_start(m, pos);\n\treturn p;\n}\n\nBefore:\n  # echo \u0027sys_open\u0027 \u003e /mnt/tracing/set_ftrace_filter\n  # echo \u0027sys_write:traceon:4\u0027 \u003e\u003e /mnt/tracing/set_ftrace_filter\n  sys_open\n\nAfter:\n  # echo \u0027sys_open\u0027 \u003e /mnt/tracing/set_ftrace_filter\n  # echo \u0027sys_write:traceon:4\u0027 \u003e\u003e /mnt/tracing/set_ftrace_filter\n  sys_open\n  sys_write:traceon:count\u003d4\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: \u003c4A41874B.4090507@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85951842a1020669f0a9eb0f0d1853b41341f097",
      "tree": "799bba3e78b7424761901dacf3290ce05b9cb9ed",
      "parents": [
        "f129e965bef40c6153e4fe505f1e408286213424"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 24 09:54:00 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:02:52 2009 +0200"
      },
      "message": "ftrace: Don\u0027t increment @pos in g_start()\n\nIt\u0027s wrong to increment @pos in g_start(). It causes some entries\nlost when reading set_graph_function, if the output of the file\nis larger than PAGE_SIZE.\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: \u003c4A418738.7090401@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ea1a153a4fb435c22e9988784bb476671286112",
      "tree": "0f13f65f1bb8edae5a2906d22a209ff013e283ec",
      "parents": [
        "c85a17e22695969aa24a7ffa40cf26d6e6fcfd50"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jun 20 06:52:21 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jun 20 06:52:21 2009 +0200"
      },
      "message": "tracing/urgent: warn in case of ftrace_start_up inbalance\n\nPrevent from further ftrace_start_up inbalances so that we avoid\nfuture nop patching omissions with dynamic ftrace.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d",
      "tree": "50b5f4e2b9f138da57f76eca44fdcc80a2fcd428",
      "parents": [
        "862366118026a358882eefc70238dbcc3db37aac",
        "84047e360af0394ac5861d433f26bbcf30f77dd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:58:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:58:10 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  function-graph: always initialize task ret_stack\n  function-graph: move initialization of new tasks up in fork\n  function-graph: add memory barriers for accessing task\u0027s ret_stack\n  function-graph: enable the stack after initialization of other variables\n  function-graph: only allocate init tasks if it was not already done\n\nManually fix trivial conflict in kernel/trace/ftrace.c\n"
    },
    {
      "commit": "84047e360af0394ac5861d433f26bbcf30f77dd1",
      "tree": "55848e2ca4856a64b348a57ecca495c2f065aa0f",
      "parents": [
        "f7e8b616ed1cc6f790b82324bce8a2a60295e5c2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 16:51:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 16:51:55 2009 -0400"
      },
      "message": "function-graph: always initialize task ret_stack\n\nOn creating a new task while running the function graph tracer, if\nwe fail to allocate the ret_stack, and then fail the fork, the\ncode will free the parent ret_stack. This is because the child\nduplicated the parent and currently points to the parent\u0027s ret_stack.\n\nThis patch always initializes the task\u0027s ret_stack to NULL.\n\n[ Impact: prevent crash of parent on low memory during fork ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "26c01624a2a40f8a4ddf6449b65c9b1c418d0e72",
      "tree": "eeff81aa0fa56ba1f2c180d4ec6e64cb31af898e",
      "parents": [
        "82310a3272d5a2a7652f5649ad8a55f58c8f74d9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 14:01:19 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 14:42:17 2009 -0400"
      },
      "message": "function-graph: add memory barriers for accessing task\u0027s ret_stack\n\nThe code that handles the tasks ret_stack allocation for every task\nassumes that only an interrupt can cause issues (even though interrupts\nare disabled).\n\nIn reality, the code is allocating the ret_stack for tasks that may be\nrunning on other CPUs and there are not efficient memory barriers to\nhandle this case.\n\n[ Impact: prevent crash due to using of uninitialized ret_stack variables ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "82310a3272d5a2a7652f5649ad8a55f58c8f74d9",
      "tree": "c909c7a3f1fd3430f64be1d4aa8aff84fdf45b04",
      "parents": [
        "179c498ae2998461fe436437a74dc29036fc7dcc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 12:26:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 14:41:50 2009 -0400"
      },
      "message": "function-graph: enable the stack after initialization of other variables\n\nThe function graph tracer checks if the task_struct has ret_stack defined\nto know if it is OK or not to use it. The initialization is done for\nall tasks by one process, but the idle tasks use the same initialization\nused by new tasks.\n\nIf an interrupt happens on an idle task that just had the ret_stack\ncreated, but before the rest of the initialization took place, then\nwe can corrupt the return address of the functions.\n\nThis patch moves the setting of the task_struct\u0027s ret_stack to after\nthe other variables have been initialized.\n\n[ Impact: prevent kernel panic on idle task when starting function graph ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "179c498ae2998461fe436437a74dc29036fc7dcc",
      "tree": "7794227a9cc45c2ec22d3e3b3062a96d34e8b0b9",
      "parents": [
        "88fc86c283d9c3854e67e4155808027bc2519eb6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 12:03:19 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 12:03:19 2009 -0400"
      },
      "message": "function-graph: only allocate init tasks if it was not already done\n\nWhen the function graph tracer is enabled, it calls the initialization\nneeded for the init tasks that would be called on all created tasks.\n\nThe problem is that this is called every time the function graph tracer\nis enabled, and the ret_stack is allocated for the idle tasks each time.\nThus, the old ret_stack is lost and a memory leak is created.\n\nThis is also dangerous because if an interrupt happened on another CPU\nwith the init task and the ret_stack is replaced, we then lose all the\nreturn pointers for the interrupt, and a crash would take place.\n\n[ Impact: fix memory leak and possible crash due to race ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0f6ce3de4ef6ff940308087c49760d068851c1a7",
      "tree": "26a732ee4dd5b0f5612f0385893ec483c6ba4ab3",
      "parents": [
        "112f38a7e36e9d688b389507136bf3af3e6d159b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 01 21:51:28 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:26:23 2009 -0400"
      },
      "message": "ftrace: do not profile functions when disabled\n\nA race was found that if one were to enable and disable the function\nprofiler repeatedly, then the system can panic. This was because a profiled\nfunction may be preempted just before disabling interrupts. While\nthe profiler is disabled and then reenabled, the preempted function\ncould start again, and access the hash as it is being initialized.\n\nThis just adds a check in the irq disabled part to check if the profiler\nis enabled, and if it is not then it will just exit.\n\nWhen the system is disabled, the profile_enabled variable is cleared\nbefore calling the unregistering of the function profiler. This\nunregistering calls stop machine which also acts as a synchronize schedule.\n\n[ Impact: fix panic in enabling/disabling function profiler ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2af15d6a44b871ad4c2a651302374cde8f335480",
      "tree": "39f06d511e3e1d1970fe4571128549c1c26230c1",
      "parents": [
        "f2aebaee653a35b01c3665de2cbb1e31456b8ea8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 13:37:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:10 2009 -0400"
      },
      "message": "ftrace: add kernel command line function filtering\n\nWhen using ftrace\u003dfunction on the command line to trace functions\non boot up, one can not filter out functions that are commonly called.\n\nThis patch adds two new ftrace command line commands.\n\n  ftrace_notrace\u003dfunction-list\n  ftrace_filter\u003dfunction-list\n\nWhere function-list is a comma separated list of functions to filter.\nThe ftrace_notrace will make the functions listed not be included\nin the function tracing, and ftrace_filter will only trace the functions\nlisted.\n\nThese two act the same as the debugfs/tracing/set_ftrace_notrace and\ndebugfs/tracing/set_ftrace_filter respectively.\n\nThe simple glob expressions that are allowed by the filter files can also\nbe used by the command line interface.\n\n\tftrace_notrace\u003drcu*,*lock,*spin*\n\nWill not trace any function that starts with rcu, ends with lock, or has\nthe word spin in it.\n\nNote, if the self tests are enabled, they may interfere with the filtering\nset by the command lines.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "24ed0c4bfc7d2d7507bb9d50f7f3bbdcd85d76dd",
      "tree": "954ff0ff7f4249ec7a2e9e9233bb4d8e0670f9ce",
      "parents": [
        "1079cac0f4eb7d968395378b1625979d4c818dd6"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun May 17 15:31:38 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 10:24:13 2009 +0200"
      },
      "message": "tracing: fix check for return value of register_module_notifier\n\nreturn zero should be correct, so fix it.\n\n[ Impact: eliminate incorrect syslog message ]\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c1242545498-7285-1-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93eb677d74a4f7d3edfb678c94f6c0544d9fbad2",
      "tree": "8bbc46895be623a78316230362e94969dbb02135",
      "parents": [
        "f3948f8857ef5de239f28a61dddb1554a0ae4c2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 15 13:24:06 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 16:59:15 2009 +0200"
      },
      "message": "ftrace: use module notifier for function tracer\n\nThe hooks in the module code for the function tracer must be called\nbefore any of that module code runs. The function tracer hooks\nmodify the module (replacing calls to mcount to nops). If the code\nis executed while the change occurs, then the CPU can take a GPF.\n\nTo handle the above with a bit of paranoia, I originally implemented\nthe hooks as calls directly from the module code.\n\nAfter examining the notifier calls, it looks as though the start up\nnotify is called before any of the module\u0027s code is executed. This makes\nthe use of the notify safe with ftrace.\n\nOnly the startup notify is required to be \"safe\". The shutdown simply\nremoves the entries from the ftrace function list, and does not modify\nany code.\n\nThis change has another benefit. It removes a issue with a reverse dependency\nin the mutexes of ftrace_lock and module_mutex.\n\n[ Impact: fix lock dependency bug, cleanup ]\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad8d75fff811a6a230f7f43b05a6483099349533",
      "tree": "764f75c0785b29067b141719b6e8000f005da7fd",
      "parents": [
        "ecda8ae02a08ef065ff387f5cb2a2d4999da2408"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 14 19:39:12 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 22:05:43 2009 -0400"
      },
      "message": "tracing/events: move trace point headers into include/trace/events\n\nImpact: clean up\n\nCreate a sub directory in include/trace called events to keep the\ntrace point headers in their own separate directory. Only headers that\ndeclare trace points should be defined in this directory.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "597af81537654097b67fd7a0c92775e66d4a86fe",
      "tree": "e258b2ce6e6027609a3aa488b697e189872d9cf7",
      "parents": [
        "5452af664f6fba26b80eb2c8c4ceae2999d5cf56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 03 15:24:12 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:43:08 2009 +0200"
      },
      "message": "function-graph: use int instead of atomic for ftrace_graph_active\n\nImpact: cleanup\n\nThe variable ftrace_graph_active is only modified under the\nftrace_lock mutex, thus an atomic is not necessary for modification.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "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": "2aad1b76e6b0cc5a2e5d9b95a9f356ddddbfa8a9",
      "tree": "80ac6be0f1502079a50f8b1b4ffcc5e0586791e8",
      "parents": [
        "8b54e45b0005875f59cb8b1c44d429a161d5f245"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 30 11:11:28 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 14:47:42 2009 +0200"
      },
      "message": "function-graph: allow unregistering twice\n\nImpact: fix to permanent disabling of function graph tracer\n\nThere should be nothing to prevent a tracer from unregistering a\nfunction graph callback more than once. This can simplify error paths.\n\nBut currently, the counter does not account for mulitple unregistering\nof the function graph callback. If it happens, the function graph\ntracer will be permanently disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34886c8bc590f078d4c0b88f50d061326639198d",
      "tree": "5119877f332b554bb0c777cdb926e6a49f866d9b",
      "parents": [
        "318e0a73c9e41b9a17241829bcd0605a39b87cb9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 21:00:47 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 21:03:36 2009 -0400"
      },
      "message": "tracing: add average time in function to function profiler\n\nShow the average time in the function (Time / Hit)\n\n  Function                               Hit    Time            Avg\n  --------                               ---    ----            ---\n  mwait_idle                              51    140326.6 us     2751.503 us\n  smp_apic_timer_interrupt                47    3517.735 us     74.845 us\n  schedule                                10    2738.754 us     273.875 us\n  __schedule                              10    2732.857 us     273.285 us\n  hrtimer_interrupt                       47    1896.104 us     40.342 us\n  irq_exit                                56    1711.833 us     30.568 us\n  __run_hrtimer                           47    1315.589 us     27.991 us\n  tick_sched_timer                        47    1138.690 us     24.227 us\n  do_softirq                              56    1116.829 us     19.943 us\n  __do_softirq                            56    1066.932 us     19.052 us\n  do_IRQ                                   9    926.153 us      102.905 us\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "318e0a73c9e41b9a17241829bcd0605a39b87cb9",
      "tree": "230bd849953f60d12003fd5b9fecfd151ebb468b",
      "parents": [
        "fb9fb015e92123fa3a8e0c2e2fff491d4a56b470"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 20:06:34 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 21:03:17 2009 -0400"
      },
      "message": "tracing: remove on the fly allocator from function profiler\n\nImpact: safer code\n\nThe on the fly allocator for the function profiler was to save\nmemory. But at the expense of stability. Although it survived several\ntests, allocating from the function tracer is just too risky, just\nto save space.\n\nThis patch removes the allocator and simply allocates enough entries\nat start up.\n\nEach function gets a profiling structure of 40 bytes. With an average\nof 20K functions, and this is for each CPU, we have 800K per online\nCPU. This is not too bad, at least for non-embedded.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2a4efa42450762cbfa5c5712aa4cc9f06924c9fd",
      "tree": "70af0a079541af99dec634fc89ce317dee2f1a33",
      "parents": [
        "759ee0915dd713361e72facb78b66600b5712d65"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Wed Mar 25 12:06:05 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 17:45:36 2009 -0400"
      },
      "message": "ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n\n \"Because when we call ftrace_free_rec we change the rec-\u003eip to point to the\n  next record in the chain. Something is very wrong if rec-\u003eip \u003e\u003d s \u0026\u0026\n  rec-\u003eip \u003c e and the record is already free.\"\n\n \"Note, use FTRACE_WARN_ON() macro. This way it shuts down ftrace if it is\n  hit and helps to avoid further damage later.\"\n                   -- Steven Rostedt \u003crostedt@goodmis.org\u003e\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "fb9fb015e92123fa3a8e0c2e2fff491d4a56b470",
      "tree": "8fb33ea3001a1450fbd260c6928df22c543c614a",
      "parents": [
        "a2a16d6a3156ef7309ca7328a20c35df9418e670"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 13:26:41 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 25 13:26:41 2009 -0400"
      },
      "message": "tracing: clean up tracing profiler\n\nIngo Molnar suggested clean ups for the profiling code. This patch\nmakes those updates.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\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": "cafb168a1c92e4c9e1731fe3d666c39611762c49",
      "tree": "536d4bb6d33499d746ffb674126d2983e5d6e361",
      "parents": [
        "0706f1c48ca8a7ab478090b4e38f2e578ae2bfe0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 20:50:39 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:41:10 2009 -0400"
      },
      "message": "tracing: make the function profiler per cpu\n\nImpact: speed enhancement\n\nBy making the function profiler record in per cpu data we not only\nget better readings, avoid races, we also do not have to take any\nlocks.\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": "493762fc534c71d11d489f872c4b4a2c61173668",
      "tree": "90f308853f26ad5334717d53b18680957aab5ff4",
      "parents": [
        "bac429f037f1a51a74d62bad6d1518c3be065df3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 23 17:12:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:41:06 2009 -0400"
      },
      "message": "tracing: move function profiler data out of function struct\n\nImpact: reduce size of memory in function profiler\n\nThe function profiler originally introduces its counters into the\nfunction records itself. There is 20 thousand different functions on\na normal system, and that is adding 20 thousand counters for profiling\nevent when not needed.\n\nA normal run of the profiler yields only a couple of thousand functions\nexecuted, depending on what is being profiled. This means we have around\n18 thousand useless counters.\n\nThis patch rectifies this by moving the data out of the function\nrecords used by dynamic ftrace. Data is preallocated to hold the functions\nwhen the profiling begins. Checks are made during profiling to see if\nmore recorcds should be allocated, and they are allocated if it is safe\nto do so.\n\nThis also removes the dependency from using dynamic ftrace, and also\nremoves the overhead by having it enabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "bac429f037f1a51a74d62bad6d1518c3be065df3",
      "tree": "40c3dbdd0f6c097c3c9a1087d219dd8632bd7b74",
      "parents": [
        "425480081e936d8725f0d44b8829d699bf088c6b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 20 12:50:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:40:00 2009 -0400"
      },
      "message": "tracing: add function profiler\n\nImpact: new profiling feature\n\nThis patch adds a function profiler. In debugfs/tracing/ two new\nfiles are created.\n\n  function_profile_enabled  - to enable or disable profiling\n\n  trace_stat/functions   - the profiled functions.\n\nFor example:\n\n  echo 1 \u003e /debugfs/tracing/function_profile_enabled\n  ./hackbench 50\n  echo 0 \u003e /debugfs/tracing/function_profile_enabled\n\nyields:\n\n  cat /debugfs/tracing/trace_stat/functions\n\n  Function                               Hit\n  --------                               ---\n  _spin_lock                        10106442\n  _spin_unlock                      10097492\n  kfree                              6013704\n  _spin_unlock_irqrestore            4423941\n  _spin_lock_irqsave                 4406825\n  __phys_addr                        4181686\n  __slab_free                        4038222\n  dput                               4030130\n  path_put                           4023387\n  unroll_tree_refs                   4019532\n[...]\n\nThe most hit functions are listed first. Functions that are not\nhit are not listed.\n\nThis feature depends on and uses dynamic function tracing. When the\nfunction profiling is disabled, no overhead occurs. But it still\ntakes up around 300KB to hold the data, thus it is not recomended\nto keep it enabled for systems low on memory.\n\nWhen a \u00271\u0027 is echoed into the function_profile_enabled file, the\ncounters for is function is reset back to zero. Thus you can see what\nfunctions are hit most by different programs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ee000b7f9fe429d2470c674ccec8d344f6789e0d",
      "tree": "35b480a5e5fb90d5a414d942bcb541e7887334d6",
      "parents": [
        "cc59c9e8d0165c632fd056c4a23e36f917507fb4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 24 13:38:06 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 16:43:12 2009 +0100"
      },
      "message": "tracing: use union for multi-usages field\n\nImpact: cleanup\n\nstruct dyn_ftrace::ip has different usages in his lifecycle,\nwe use union for it. And also for struct dyn_ftrace::flags.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49C871BE.3080405@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc59c9e8d0165c632fd056c4a23e36f917507fb4",
      "tree": "8ca2b92345345d53ce3b5585cf87d72afddda43c",
      "parents": [
        "be6f164a02f394675e2ac2077dd354cebef5b4c0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 24 11:03:01 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 16:42:49 2009 +0100"
      },
      "message": "ftrace: show virtual PID\n\nImpact: fix PID output under namespaces\n\nWhen current namespace is not the global namespace,\npid read from set_ftrace_pid is no correct.\n\n # ~/newpid_namespace_run bash\n # echo $$\n 1\n # echo 1 \u003e set_ftrace_pid\n # cat set_ftrace_pid\n 3756\n\nSince we write virtual PID to set_ftrace_pid, we need get\nvirtual PID when we read it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49C84D65.9050606@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "8aef2d2856158a36c295a8d1288281e4839bff13",
      "tree": "eef85397dedcad001982724e0be2da6dc089b39f",
      "parents": [
        "05ce5818adee8f8efd0a5ca0d900a6789012516b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 01:10:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 09:33:30 2009 -0400"
      },
      "message": "function-graph: ignore times across schedule\n\nImpact: more accurate timings\n\nThe current method of function graph tracing does not take into\naccount the time spent when a task is not running. This shows functions\nthat call schedule have increased costs:\n\n 3) + 18.664 us   |      }\n ------------------------------------------\n 3)    \u003cidle\u003e-0    \u003d\u003e  kblockd-123\n ------------------------------------------\n\n 3)               |      finish_task_switch() {\n 3)   1.441 us    |        _spin_unlock_irq();\n 3)   3.966 us    |      }\n 3) ! 2959.433 us |    }\n 3) ! 2961.465 us |  }\n\nThis patch uses the tracepoint in the scheduling context switch to\naccount for time that has elapsed while a task is scheduled out.\nNow we see:\n\n ------------------------------------------\n 3)    \u003cidle\u003e-0    \u003d\u003e  edac-po-1067\n ------------------------------------------\n\n 3)               |      finish_task_switch() {\n 3)   0.685 us    |        _spin_unlock_irq();\n 3)   2.331 us    |      }\n 3) + 41.439 us   |    }\n 3) + 42.663 us   |  }\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "05ce5818adee8f8efd0a5ca0d900a6789012516b",
      "tree": "81c90288dd1da4291b5e3ee154756b2d7745c248",
      "parents": [
        "5d1a03dc541dc6672e60e57249ed22f40654ca47"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 00:18:31 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 09:32:52 2009 -0400"
      },
      "message": "function-graph: prevent more than one tracer registering\n\nImpact: prevent crash due to multiple function graph tracers\n\nThe function graph tracer can currently only handle a single tracer\nbeing registered. If another tracer registers with the function\ngraph tracer it can crash the system.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "03303549b1695dc024d4a653cc16bd79f78f9750",
      "tree": "aa731b33460908038a50fb72850b873638a768aa",
      "parents": [
        "b478b782e110fdb4135caa3062b6d687e989d994"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 16 22:41:00 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 22:15:36 2009 -0400"
      },
      "message": "tracing/ftrace: fix the check on nopped sites\n\nImpact: fix a dynamic tracing failure\n\nRecently, the function and function graph tracers failed to use dynamic\ntracing after the following commit:\n\nfa9d13cf135efbd454453a53b6299976bea245a9\n(ftrace: don\u0027t try to __ftrace_replace_code on !FTRACE_FL_CONVERTED rec)\n\nThe patch is right except a mistake on the check for the FTRACE_FL_CONVERTED\nflag. The code patching is aborted in case of successfully nopped sites.\nWhat we want is the opposite: ignore the callsites that haven\u0027t been nopped.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e94142a67f8bad494c593f0a07c9fc2fbec98c0e",
      "tree": "75419622606aa186da5592302c91cb93471bec26",
      "parents": [
        "850a80cfaa5aec3e626eb3736eff890a80e4fa77"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 13 17:51:27 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 11:36:20 2009 +0100"
      },
      "message": "ftrace: remove struct list_head from struct dyn_ftrace\n\nImpact: save memory\n\nThe struct dyn_ftrace table is very large, this patch will save\nabout 50%.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49BA2C9F.8020009@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "850a80cfaa5aec3e626eb3736eff890a80e4fa77",
      "tree": "777195c11a34eee8a63a5d2ccc3cf0ccd2855491",
      "parents": [
        "fa9d13cf135efbd454453a53b6299976bea245a9"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 13 17:47:23 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 11:35:31 2009 +0100"
      },
      "message": "ftrace: use seq_read\n\nImpact: cleanup\n\nVFS layer has tested the file mode, we do not need test it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49BA2BAB.6010608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa9d13cf135efbd454453a53b6299976bea245a9",
      "tree": "240d46a90984f3c84f336535269e97559e891104",
      "parents": [
        "b00f0b6dc1773b4c8f538503247da050b5ea631b"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Mar 13 17:16:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 10:25:06 2009 +0100"
      },
      "message": "ftrace: don\u0027t try to __ftrace_replace_code on !FTRACE_FL_CONVERTED rec\n\nDo __ftrace_replace_code for !FTRACE_FL_CONVERTED rec will always\nfail, we should ignore this rec.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: \"Steven Rostedt ;\" \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49BA2472.4060206@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b00f0b6dc1773b4c8f538503247da050b5ea631b",
      "tree": "94c81517cb3d1def0c0f9ccb33c48fb03c0f1c75",
      "parents": [
        "62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Mar 13 17:14:01 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 10:25:06 2009 +0100"
      },
      "message": "ftrace: avoid double-free of dyn_ftrace\n\nIf dyn_ftrace is freed before ftrace_release(), ftrace_release()\nwill free it again and make ftrace_free_records wrong.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: \"Steven Rostedt ;\" \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49BA23D9.1050900@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10dd3ebe213c31bff14b4dae3c5d32a76b1fad7c",
      "tree": "251609d532ccbb4c157a2c5c3d7a5b8176eeab8c",
      "parents": [
        "422d3c7a577b15e1384c9d4e72a9540896b685fa"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 06 15:29:04 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 12:07:38 2009 +0100"
      },
      "message": "tracing: fix deadlock when setting set_ftrace_pid\n\nImpact: fix deadlock while using set_ftrace_pid\n\nReproducer:\n\n\t# cd /sys/kernel/debug/tracing\n\t# echo $$ \u003e set_ftrace_pid\n\n\tthen, console becomes hung.\n\nDetails:\n\nwhen writing set_ftracepid, kernel callstack is following\n\n\tftrace_pid_write()\n\t\tmutex_lock(\u0026ftrace_lock);\n\t\tftrace_update_pid_func()\n\t\t\tmutex_lock(\u0026ftrace_lock);\n\t\t\tmutex_unlock(\u0026ftrace_lock);\n\t\tmutex_unlock(\u0026ftrace_lock);\n\nthen, system always deadlocks when ftrace_pid_write() is called.\n\nIn past days, ftrace_pid_write() used ftrace_start_lock, but\ncommit e6ea44e9b4c12325337cd1c06103cd515a1c02b2 consolidated\nftrace_start_lock to ftrace_lock.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c20090306151155.0778.A69D9226@jp.fujitsu.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": "c478f8786973d6d7552c652ddad3f6fd86b5af28",
      "tree": "39967f4bb9a35d626584bd46f1acd916c6b5278d",
      "parents": [
        "843adf2379c18ed9a1b7493ee208bfd5512732e0",
        "4377245aa93b65b6597e4b7bb460fb9abc48b56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 18:12:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 18:12:01 2009 +0100"
      },
      "message": "Merge branch \u0027tip/x86/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/trace/ftrace.c\n"
    },
    {
      "commit": "4377245aa93b65b6597e4b7bb460fb9abc48b56b",
      "tree": "00eae2cbdd12e855bbde2f6cd6d1a6e6fd659a11",
      "parents": [
        "90c7ac49aa819feb9433b5310089fca6399881c0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 19 13:41:27 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 20 14:30:20 2009 -0500"
      },
      "message": "ftrace: break out modify loop immediately on detection of error\n\nImpact: added precaution on failure detection\n\nBreak out of the modifying loop as soon as a failure is detected.\nThis is just an added precaution found by code review and was not\nfound by any bug chasing.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "000ab691172db3921efa3cb7f17fc79235a1de7f",
      "tree": "5670e20fe203488b408977d5d5634fc9ddf418e1",
      "parents": [
        "07a66d7c53a538e1a9759954a82bb6c07365eff9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 13:35:06 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 20 13:16:18 2009 -0500"
      },
      "message": "ftrace: allow archs to preform pre and post process for code modification\n\nThis patch creates the weak functions: ftrace_arch_code_modify_prepare\nand ftrace_arch_code_modify_post_process that are called before and\nafter the stop machine is called to modify the kernel text.\n\nIf the arch needs to do pre or post processing, it only needs to define\nthese functions.\n\n[ Update: Ingo Molnar suggested using the name ftrace_arch_code_modify_*\n          over using ftrace_arch_modify_* ]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f9349a8f978929a0c71d2c42ae299f7d462c239d",
      "tree": "e5d010a27078993709fd286f358122886cbbc3bc",
      "parents": [
        "64b36ca7f408e0bd45487c8c28f168f11f3b6dcd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Feb 19 21:13:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 20 11:36:24 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: make set_graph_function file support ftrace regex\n\nImpact: trace only functions matching a pattern\n\nThe set_graph_function file let one to trace only one or several\nchosen functions and follow all their code flow.\n\nCurrently, only a constant function name is allowed so this patch\nallows the ftrace_regex functions:\n\n- matches all functions that end with \"name\":\n  echo *name \u003e set_graph_function\n\n- matches all functions that begin with \"name\":\n  echo name* \u003e set_graph_function\n\n- matches all functions that contains \"name\":\n  echo *name* \u003e set_graph_function\n\nExample:\n\necho mutex* \u003e set_graph_function\n\n 0)               |  mutex_lock_nested() {\n 0)   0.563 us    |    __might_sleep();\n 0)   2.072 us    |  }\n 0)               |  mutex_unlock() {\n 0)   1.036 us    |    __mutex_unlock_slowpath();\n 0)   2.433 us    |  }\n 0)               |  mutex_unlock() {\n 0)   0.691 us    |    __mutex_unlock_slowpath();\n 0)   1.787 us    |  }\n 0)               |  mutex_lock_interruptible_nested() {\n 0)   0.548 us    |    __might_sleep();\n 0)   1.945 us    |  }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac07bcaa8259841905ead3f8cd60b1923ca6c0e5",
      "tree": "162def1cd53ef477adca17fe06c33a484f6b2e87",
      "parents": [
        "37bd824a35a60abc73e5fa8816bd5f50c913d69b",
        "35ebf1caa4854ad5ba25f3a72967acc064147994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:09:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:09:07 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": "37bd824a35a60abc73e5fa8816bd5f50c913d69b",
      "tree": "e6f718191893ccb713f854fc8bf4a5866a41fe2b",
      "parents": [
        "73d3fd96e77745742f3750b7b19ee42204adc210",
        "5b058bcde961bf28678a70e44c079107313543b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:08:13 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:08:13 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "5b058bcde961bf28678a70e44c079107313543b6",
      "tree": "077a1bd366399544a84f61b07ae2f7bd894fae47",
      "parents": [
        "f9aa28adfc6a4b01268ebb6d88566cca8627905f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 17 18:35:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 19:20:17 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: trace the idle tasks\n\nWhen the function graph tracer is activated, it iterates over the task_list\nto allocate a stack to store the return addresses.\n\nBut the per cpu idle tasks are not iterated by using\ndo_each_thread / while_each_thread.\n\nSo we have to iterate on them manually.\n\nThis fixes somes weirdness in the traces and many losses of traces.\nExamples on two cpus:\n\n 0)   Xorg-4287    |   2.906 us    |              }\n 0)   Xorg-4287    |   3.965 us    |            }\n 0)   Xorg-4287    |   5.302 us    |          }\n ------------------------------------------\n 0)   Xorg-4287    \u003d\u003e    \u003cidle\u003e-0\n ------------------------------------------\n\n 0)    \u003cidle\u003e-0    |   2.861 us    |                        }\n 0)    \u003cidle\u003e-0    |   0.526 us    |                        set_normalized_timespec();\n 0)    \u003cidle\u003e-0    |   7.201 us    |                      }\n 0)    \u003cidle\u003e-0    |   8.214 us    |                    }\n 0)    \u003cidle\u003e-0    |               |                    clockevents_program_event() {\n 0)    \u003cidle\u003e-0    |               |                      lapic_next_event() {\n 0)    \u003cidle\u003e-0    |   0.510 us    |                        native_apic_mem_write();\n 0)    \u003cidle\u003e-0    |   1.546 us    |                      }\n 0)    \u003cidle\u003e-0    |   2.583 us    |                    }\n 0)    \u003cidle\u003e-0    | + 12.435 us   |                  }\n 0)    \u003cidle\u003e-0    | + 13.470 us   |                }\n 0)    \u003cidle\u003e-0    |   0.608 us    |                _spin_unlock_irqrestore();\n 0)    \u003cidle\u003e-0    | + 23.270 us   |              }\n 0)    \u003cidle\u003e-0    | + 24.336 us   |            }\n 0)    \u003cidle\u003e-0    | + 25.417 us   |          }\n 0)    \u003cidle\u003e-0    |   0.593 us    |          _spin_unlock();\n 0)    \u003cidle\u003e-0    | + 41.869 us   |        }\n 0)    \u003cidle\u003e-0    | + 42.906 us   |      }\n 0)    \u003cidle\u003e-0    | + 95.035 us   |    }\n 0)    \u003cidle\u003e-0    |   0.540 us    |    menu_reflect();\n 0)    \u003cidle\u003e-0    | ! 100.404 us  |  }\n 0)    \u003cidle\u003e-0    |   0.564 us    |  mce_idle_callback();\n 0)    \u003cidle\u003e-0    |               |  enter_idle() {\n 0)    \u003cidle\u003e-0    |   0.526 us    |    mce_idle_callback();\n 0)    \u003cidle\u003e-0    |   1.757 us    |  }\n 0)    \u003cidle\u003e-0    |               |  cpuidle_idle_call() {\n 0)    \u003cidle\u003e-0    |               |    menu_select() {\n 0)    \u003cidle\u003e-0    |   0.525 us    |      pm_qos_requirement();\n 0)    \u003cidle\u003e-0    |   0.518 us    |      tick_nohz_get_sleep_length();\n 0)    \u003cidle\u003e-0    |   2.621 us    |    }\n[...]\n 1)    \u003cidle\u003e-0    |   0.518 us    |              touch_softlockup_watchdog();\n 1)    \u003cidle\u003e-0    | + 14.355 us   |            }\n 1)    \u003cidle\u003e-0    | + 22.840 us   |          }\n 1)    \u003cidle\u003e-0    | + 25.949 us   |        }\n 1)    \u003cidle\u003e-0    |               |        handle_irq() {\n 1)    \u003cidle\u003e-0    |   0.511 us    |          irq_to_desc();\n 1)    \u003cidle\u003e-0    |               |          handle_edge_irq() {\n 1)    \u003cidle\u003e-0    |   0.638 us    |            _spin_lock();\n 1)    \u003cidle\u003e-0    |               |            ack_apic_edge() {\n 1)    \u003cidle\u003e-0    |   0.510 us    |              irq_to_desc();\n 1)    \u003cidle\u003e-0    |               |              move_native_irq() {\n 1)    \u003cidle\u003e-0    |   0.510 us    |                irq_to_desc();\n 1)    \u003cidle\u003e-0    |   1.532 us    |              }\n 1)    \u003cidle\u003e-0    |   0.511 us    |              native_apic_mem_write();\n ------------------------------------------\n 1)    \u003cidle\u003e-0    \u003d\u003e    cat-5073\n ------------------------------------------\n\n 1)    cat-5073    |   3.731 us    |                    }\n 1)    cat-5073    |               |                    run_local_timers() {\n 1)    cat-5073    |   0.533 us    |                      hrtimer_run_queues();\n 1)    cat-5073    |               |                      raise_softirq() {\n 1)    cat-5073    |               |                        __raise_softirq_irqoff() {\n 1)    cat-5073    |               |                          /* nr: 1 */\n 1)    cat-5073    |   2.718 us    |                        }\n 1)    cat-5073    |   3.814 us    |                      }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6887d7916e44c1d8913084fb6aa5004d9473f1a",
      "tree": "3446baa5592ce9ce17abb51ffdf3d89e6b52ef9b",
      "parents": [
        "6a24a244cd3a02d5b290293c32fcf2c6e92b4235"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 12:32:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 12:32:04 2009 -0500"
      },
      "message": "ftrace: rename _hook to _probe\n\nImpact: clean up\n\nIngo Molnar did not like the _hook naming convention used by the\nselect function tracer. Luis Claudio R. Goncalves suggested using\nthe \"_probe\" extension. This patch implements the change of\ncalling the functions and variables \"_hook\" and replacing them\nwith \"_probe\".\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "6a24a244cd3a02d5b290293c32fcf2c6e92b4235",
      "tree": "8328e5e7da792a07a338f20974eaea4f80bb59ac",
      "parents": [
        "73d3fd96e77745742f3750b7b19ee42204adc210"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 11:20:26 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 11:20:26 2009 -0500"
      },
      "message": "ftrace: clean up coding style\n\nIngo Molnar pointed out some coding style issues with the recent ftrace\nupdates. This patch cleans them up.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "73d3fd96e77745742f3750b7b19ee42204adc210",
      "tree": "02eb978e04288883d7f7709e87d8906687c29ba7",
      "parents": [
        "97d0bb8dcd8c2812e1927cdb51d7b1f9c98352b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 11:48:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 11:50:42 2009 +0100"
      },
      "message": "ftrace: fix !CONFIG_DYNAMIC_FTRACE ftrace_swapper_pid definition\n\nImpact: build fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "809dcf29ce4e1723709910878e050bd187617e0e",
      "tree": "4747ede5ad0678d6ae88176f403a2c26f277182e",
      "parents": [
        "8fc0c701c5b6c0c3e242758c3acef6f9047940a9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 23:06:01 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 23:06:01 2009 -0500"
      },
      "message": "ftrace: add pretty print to selected fuction traces\n\nThis patch adds a call back for the tracers that have hooks to\nselected functions. This allows the tracer to show better output\nin the set_ftrace_filter file.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "8fc0c701c5b6c0c3e242758c3acef6f9047940a9",
      "tree": "aa9c495fc2d898b39873e1ce9f154bed64b33f8e",
      "parents": [
        "23b4ff3aa479c9e3bb23cb6b2d0a97878399784a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 15:28:00 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 22:50:06 2009 -0500"
      },
      "message": "ftrace: show selected functions in set_ftrace_filter\n\nThis patch adds output to show what functions have tracer hooks\nattached to them.\n\n  # echo \u0027sys_open:traceon:4\u0027 \u003e /debug/tracing/set_ftrace_filter\n  # cat set_ftrace_filter\n\n #### all functions enabled ####\n sys_open:ftrace_traceon:0000000000000004\n\n  # echo \u0027do_fork:traceoff:\u0027 \u003e set_ftrace_filter\n  # cat set_ftrace_filter\n\n #### all functions enabled ####\n sys_open:ftrace_traceon:0000000000000002\n do_fork:ftrace_traceoff:ffffffffffffffff\n\nNote the 4 changed to a 2. This is because The code was executed twice\nsince the traceoff was added. If a cat is done again:\n\n #### all functions enabled ####\n sys_open:ftrace_traceon\n do_fork:ftrace_traceoff:ffffffffffffffff\n\nThe number disappears. That is because it will not print a NULL.\n\nCallbacks to allow the tracer to pretty print will be implemented soon.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "59df055f1991c9fc0c71a9230663c39188f6972f",
      "tree": "e1799897a8c8da924a3e933f539e8869e8725cb6",
      "parents": [
        "e6ea44e9b4c12325337cd1c06103cd515a1c02b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 14 15:29:06 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 22:44:09 2009 -0500"
      },
      "message": "ftrace: trace different functions with a different tracer\n\nImpact: new feature\n\nCurrently, the function tracer only gives you an ability to hook\na tracer to all functions being traced. The dynamic function trace\nallows you to pick and choose which of those functions will be\ntraced, but all functions being traced will call all tracers that\nregistered with the function tracer.\n\nThis patch adds a new feature that allows a tracer to hook to specific\nfunctions, even when all functions are being traced. It allows for\ndifferent functions to call different tracer hooks.\n\nThe way this is accomplished is by a special function that will hook\nto the function tracer and will set up a hash table knowing which\ntracer hook to call with which function. This is the most general\nand easiest method to accomplish this. Later, an arch may choose\nto supply their own method in changing the mcount call of a function\nto call a different tracer. But that will be an exercise for the\nfuture.\n\nTo register a function:\n\n struct ftrace_hook_ops {\n\tvoid\t\t\t(*func)(unsigned long ip,\n\t\t\t\t\tunsigned long parent_ip,\n\t\t\t\t\tvoid **data);\n\tint\t\t\t(*callback)(unsigned long ip, void **data);\n\tvoid\t\t\t(*free)(void **data);\n };\n\n int register_ftrace_function_hook(char *glob, struct ftrace_hook_ops *ops,\n\t\t\t\t  void *data);\n\nglob is a simple glob to search for the functions to hook.\nops is a pointer to the operations (listed below)\ndata is the default data to be passed to the hook functions when traced\n\nops:\n func is the hook function to call when the functions are traced\n callback is a callback function that is called when setting up the hash.\n   That is, if the tracer needs to do something special for each\n   function, that is being traced, and wants to give each function\n   its own data. The address of the entry data is passed to this\n   callback, so that the callback may wish to update the entry to\n   whatever it would like.\n free is a callback for when the entry is freed. In case the tracer\n   allocated any data, it is give the chance to free it.\n\nTo unregister we have three functions:\n\n  void\n  unregister_ftrace_function_hook(char *glob, struct ftrace_hook_ops *ops,\n\t\t\t\tvoid *data)\n\nThis will unregister all hooks that match glob, point to ops, and\nhave its data matching data. (note, if glob is NULL, blank or \u0027*\u0027,\nall functions will be tested).\n\n  void\n  unregister_ftrace_function_hook_func(char *glob,\n\t\t\t\t struct ftrace_hook_ops *ops)\n\nThis will unregister all functions matching glob that has an entry\npointing to ops.\n\n  void unregister_ftrace_function_hook_all(char *glob)\n\nThis simply unregisters all funcs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e6ea44e9b4c12325337cd1c06103cd515a1c02b2",
      "tree": "01d13cb3dfb6031c220b42cedc7df7c84dc116b4",
      "parents": [
        "52baf11922db7377b580dd5448a07f71c6a35611"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 14 01:42:44 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 18:15:31 2009 -0500"
      },
      "message": "ftrace: consolidate mutexes\n\nImpact: clean up\n\nNow that ftrace_lock is a mutex, there is no reason to have three\ndifferent mutexes protecting similar data. All the mutex paths\nare not in hot paths, so having a mutex to cover more data is\nnot a problem.\n\nThis patch removes the ftrace_sysctl_lock and ftrace_start_lock\nand uses the ftrace_lock to protect the locations that were protected\nby these locks. By doing so, this change also removes some of\nthe lock nesting that was taking place.\n\nThere are still more mutexes in ftrace.c that can probably be\nconsolidated, but they can be dealt with later. We need to be careful\nabout the way the locks are nested, and by consolidating, we can cause\na recursive deadlock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "52baf11922db7377b580dd5448a07f71c6a35611",
      "tree": "8fe8a5346da71f63d627ff3824e065efff88889b",
      "parents": [
        "f6180773d90595650e11de0118bb112018290915"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 14 01:15:39 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 17:33:14 2009 -0500"
      },
      "message": "ftrace: convert ftrace_lock from a spinlock to mutex\n\nImpact: clean up\n\nThe older versions of ftrace required doing the ftrace list\nsearch under atomic context. Now all the calls are in non-atomic\ncontext. There is no reason to keep the ftrace_lock as a spinlock.\n\nThis patch converts it to a mutex.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f6180773d90595650e11de0118bb112018290915",
      "tree": "ccf8642d7ac584f73e7820fae64fc4daf4546f6b",
      "parents": [
        "e68746a271eb3393a2183840be9e903caddf765b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 14 00:40:25 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 16 17:06:02 2009 -0500"
      },
      "message": "ftrace: add command interface for function selection\n\nAllow for other tracers to add their own commands for function\nselection. This interface gives a trace the ability to name a\ncommand for function selection. Right now it is pretty limited\nin what it offers, but this is a building step for more features.\n\nThe :mod: command is converted to this interface and also serves\nas a template for other implementations.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    }
  ],
  "next": "e68746a271eb3393a2183840be9e903caddf765b"
}
