)]}'
{
  "log": [
    {
      "commit": "88fc86c283d9c3854e67e4155808027bc2519eb6",
      "tree": "2652b1a9d0299e1cc4d71573b2ac5e18ecae01c8",
      "parents": [
        "aa512a27e9e8ed32f31b15eec67ab1ceca33839b"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Thu May 14 17:23:38 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 19:43:22 2009 +0200"
      },
      "message": "tracing: Append prompt in /debug/tracing/README file\n\nappend prompt in /debug/tracing/README file.\n\nThis is trivial issue. Fix typo Mini Howto file(README) for ftrace.\n\n[ Impact: cleanup ]\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: williams \u003cwilliams@redhat.com\u003e\nLKML-Reference: \u003c1242289418.31161.45.camel@centos51\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7267fa6819467669f5cc2ba81a615dcc88158b4b",
      "tree": "281e3c2b9765c24364280f02fd9f9aa387c8aa6f",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 08:02:44 2009 +0200"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93cfb3c9fd83d877a8f1ffad9ff862b617b32828",
      "tree": "a88753a44117b9dcfdd65bb0d0572eb5b945e961",
      "parents": [
        "c7625a555f55d7ae49236cde551786c88f5a5ce1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:46 2009 +0200"
      },
      "message": "tracing: fix splice return too large\n\nI got these from strace:\n\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 16384\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n\nI wanted to splice_read 4096 bytes, but it returns 8192 or larger.\n\nIt is because the return value of tracing_buffers_splice_read()\ndoes not include \"zero out any left over data\" bytes.\n\nBut tracing_buffers_read() includes these bytes, we make them\nconsistent.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46674.9030804@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7625a555f55d7ae49236cde551786c88f5a5ce1",
      "tree": "4cca942d46412d708945f574ef4c4b87adf92d1d",
      "parents": [
        "ddd538f3e6a1a4bec2f6942f83a753263e6577b4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:44 2009 +0200"
      },
      "message": "tracing: update file-\u003ef_pos when splice(2) it\n\nImpact: Cleanup\n\nThese two lines:\n\n\tif (unlikely(*ppos))\n\t\treturn -ESPIPE;\n\nin tracing_buffers_splice_read() are not needed, VFS layer\nhas disabled seek(2).\n\nWe remove these two lines, and then we can update file-\u003ef_pos.\n\nAnd tracing_buffers_read() updates file-\u003ef_pos, this fix\nmake tracing_buffers_splice_read() updates file-\u003ef_pos too.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46670.4010503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddd538f3e6a1a4bec2f6942f83a753263e6577b4",
      "tree": "b28047205b75d7e06ecf3eb0aca08c056ed4f51c",
      "parents": [
        "d1e7e02f30be672c6f6ee40908be83877a0d49d1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:59 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:43 2009 +0200"
      },
      "message": "tracing: allocate page when needed\n\nImpact: Cleanup\n\nSometimes, we open trace_pipe_raw, but we don\u0027t read(2) it,\nwe just splice(2) it, thus, the page is not used.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D4666B.4010608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1e7e02f30be672c6f6ee40908be83877a0d49d1",
      "tree": "24f958961d8de3ef0c1d16a407041d096fc1f098",
      "parents": [
        "62b8e680e61d3f48f2a12ee248ca03ea8f376926"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:42 2009 +0200"
      },
      "message": "tracing: disable seeking for trace_pipe_raw\n\nImpact: disable pread()\n\nWe set tracing_buffers_fops.llseek to no_llseek,\nbut we can still perform pread() to read this file.\n\nThat is not expected.\n\nThis fix uses nonseekable_open() to disable it.\n\ntracing_buffers_fops.llseek is still set to no_llseek,\nit mark this file is a \"non-seekable device\" and is used by\nsys_splice(). See also do_splice() or manual of splice(2):\n\nERRORS\n       EINVAL Target file system doesn\u0027t support  splicing;\n              neither  of the descriptors refers to a pipe;\n              or offset given for non-seekable device.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46668.8030806@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc2b6871c17b3aff79fb14e1a1c06c5f5a187f76",
      "tree": "2be32adf56b100f5bc565bbf641651a8067f8608",
      "parents": [
        "b0dfa978c7a1699fb3506fbfcba0b6a5c4bd17ae"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Mon Mar 23 11:58:31 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:02:36 2009 +0200"
      },
      "message": "Update /debug/tracing/README\n\nSome of the tracers have been renamed, which was not updated in the in-kernel\nrun-time README file. Update it.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nLKML-Reference: \u003c200903231158.32151.knikanth@suse.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0dfa978c7a1699fb3506fbfcba0b6a5c4bd17ae",
      "tree": "4e52215e4d2f67c7063f813b9d788763d6f341a8",
      "parents": [
        "5ab8026a3016fbed5c73aa070d9f6989cf791099"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 01 22:53:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:02:03 2009 +0200"
      },
      "message": "tracing/ftrace: alloc the started cpumask for the trace file\n\nImpact: fix a crash while cat trace file\n\nCurrently we are using a cpumask to remind each cpu where a\ntrace occured. It lets us notice the user that a cpu just had\nits first trace.\n\nBut on latest -tip we have the following crash once we cat the trace\nfile:\n\nIP: [\u003cc0270c4a\u003e] print_trace_fmt+0x45/0xe7\n*pde \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nlast sysfs file: /sys/class/net/eth0/carrier\nPid: 3897, comm: cat Not tainted (2.6.29-tip-02825-g0f22972-dirty #81)\nEIP: 0060:[\u003cc0270c4a\u003e] EFLAGS: 00010297 CPU: 0\nEIP is at print_trace_fmt+0x45/0xe7\nEAX: 00000000 EBX: 00000000 ECX: c12d9e98 EDX: ccdb7010\nESI: d31f4000 EDI: 00322401 EBP: d31f3f10 ESP: d31f3efc\nDS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess cat (pid: 3897, ti\u003dd31f2000 task\u003dd3b3cf20 task.ti\u003dd31f2000)\nStack:\nd31f4080 ccdb7010 d31f4000 d691fe70 ccdb7010 d31f3f24 c0270e5c d31f4000\nd691fe70 d31f4000 d31f3f34 c02718e8 c12d9e98 d691fe70 d31f3f70 c02bfc33\n00001000 09130000 d3b46e00 d691fe98 00000000 00000079 00000001 00000000\nCall Trace:\n[\u003cc0270e5c\u003e] ? print_trace_line+0x170/0x17c\n[\u003cc02718e8\u003e] ? s_show+0xa7/0xbd\n[\u003cc02bfc33\u003e] ? seq_read+0x24a/0x327\n[\u003cc02bf9e9\u003e] ? seq_read+0x0/0x327\n[\u003cc02ab18b\u003e] ? vfs_read+0x86/0xe1\n[\u003cc02ab289\u003e] ? sys_read+0x40/0x65\n[\u003cc0202d8f\u003e] ? sysenter_do_call+0x12/0x3c\nCode: 00 00 00 89 45 ec f7 c7 00 20 00 00 89 55 f0 74 4e f6 86 98 10 00 00 02 74 45 8b 86 8c 10 00 00 8b 9e a8 10 00 00 e8 52 f3 ff ff \u003c0f\u003e a3 03 19 c0 85 c0 75 2b 8b 86 8c 10 00 00 8b 9e a8 10 00 00\nEIP: [\u003cc0270c4a\u003e] print_trace_fmt+0x45/0xe7 SS:ESP 0068:d31f3efc\nCR2: 0000000000000000\n---[ end trace aa9cf38e5ebed9dd ]---\n\nThis is because we alloc the iter-\u003estarted cpumask on tracing_pipe_open but\nnot on tracing_open.\n\nIt hadn\u0027t been noticed until now because we need to have ring buffer overruns\nto activate the starting of cpu buffer detection.\n\nAlso, we need a check to not print the messagge for the first trace on the file.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1238619188-6109-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f0c6c03c5fee91c02c696bc9bf4c0d41392abe7",
      "tree": "54d45e35314d28d835b85ed623a79c3b5501affa",
      "parents": [
        "cf8e3474654f20433aab9aa35826d43b5f245008"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 27 14:22:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 14:00:18 2009 +0200"
      },
      "message": "tracing/ftrace: fix missing include string.h\n\nBuilding a kernel with tracing can raise the following warning on\ntip/master:\n\nkernel/trace/trace.c:1249: error: implicit declaration of function \u0027vbin_printf\u0027\n\nWe are missing an include to string.h\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1238160130-7437-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8e3474654f20433aab9aa35826d43b5f245008",
      "tree": "bbb3e87ca324ae4192fd524c0777047ee075c5d9",
      "parents": [
        "301fd748e2c81e78e74edbc694a64caa7b95dda2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 30 13:48:00 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:59:23 2009 +0200"
      },
      "message": "tracing: fix incorrect return type of ns2usecs()\n\nImpact: fix time output bug in 32bits system\n\nns2usecs() returns \u0027long\u0027, it\u0027s incorrect.\n\n(In i386)\n...\n          \u003cidle\u003e-0     [000]   521.442100: _spin_lock \u003c-tick_do_update_jiffies64\n          \u003cidle\u003e-0     [000]   521.442101: do_timer \u003c-tick_do_update_jiffies64\n          \u003cidle\u003e-0     [000]   521.442102: update_wall_time \u003c-do_timer\n          \u003cidle\u003e-0     [000]   521.442102: update_xtime_cache \u003c-update_wall_time\n....\n(It always print the time less than 2200 seconds besides ...)\nBecause \u0027long\u0027 is 32bits in i386. ( (1\u003c\u003c31) useconds is about 2200 seconds)\n\n...\n          \u003cidle\u003e-0     [001] 4154502640.134759: rcu_bh_qsctr_inc \u003c-__do_softirq\n          \u003cidle\u003e-0     [001] 4154502640.134760: _local_bh_enable \u003c-__do_softirq\n          \u003cidle\u003e-0     [001] 4154502640.134761: idle_cpu \u003c-irq_exit\n...\n(very large value)\nBecause \u0027long\u0027 is a signed type and it is 32bits in i386.\n\nChanges in v2:\nreturn \u0027unsigned long long\u0027 instead of \u0027cycle_t\u0027\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c49D05D10.4030009@cn.fujitsu.com\u003e\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b54e45b0005875f59cb8b1c44d429a161d5f245",
      "tree": "0e7c98418384f3f773d2046eea50f529e89f1cba",
      "parents": [
        "0a5d649018b151cb9331c213a843ac4a3e7e44ab",
        "9a8118baaeb0eaa148913bed77bf9c6335f6ca63",
        "b14b70a6a4e394c9630bcde17e07d3bcdcbca27e",
        "fee039a1d05c6e0f71b0fe270d847742a02d56c4",
        "18cea4591a98817697017bcb056a848bae1205df",
        "548c316137901cc81dea35e26362a9d5ba0b89b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:46:40 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:46:40 2009 +0200"
      },
      "message": "Merge branches \u0027tracing/docs\u0027, \u0027tracing/filters\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/kprobes\u0027, \u0027tracing/blktrace-v2\u0027 and \u0027tracing/textedit\u0027 into tracing/core-v2\n"
    },
    {
      "commit": "be6f164a02f394675e2ac2077dd354cebef5b4c0",
      "tree": "9805294731c00ddb61857a4e1e42019058eb1542",
      "parents": [
        "8aef2d2856158a36c295a8d1288281e4839bff13"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 11:06:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 11:06:24 2009 -0400"
      },
      "message": "function-graph: add option for include sleep times\n\nImpact: give user a choice to show times spent while sleeping\n\nThe user may want to see the time a function spent sleeping.\nThis patch adds the trace option \"sleep-time\" to allow that.\nThe \"sleep-time\" option is default on.\n\n echo sleep-time \u003e /debug/tracing/trace_options\n\nproduces:\n\n ------------------------------------------\n 2)  avahi-d-3428  \u003d\u003e    \u003cidle\u003e-0\n ------------------------------------------\n\n 2)               |      finish_task_switch() {\n 2)   0.621 us    |        _spin_unlock_irq();\n 2)   2.202 us    |      }\n 2) ! 1002.197 us |    }\n 2) ! 1003.521 us |  }\n\nwhere as,\n\n echo nosleep-time \u003e /debug/tracing/trace_options\n\nproduces:\n\n 0)    \u003cidle\u003e-0    \u003d\u003e  yum-upd-3416\n ------------------------------------------\n\n 0)               |              finish_task_switch() {\n 0)   0.643 us    |                _spin_unlock_irq();\n 0)   2.342 us    |              }\n 0) + 41.302 us   |            }\n 0) + 42.453 us   |          }\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1618536961d31f9b3f55767b22d4a897f4204c26",
      "tree": "f1396f4c869328dc5d6e677f6fdde571d2c6e4d7",
      "parents": [
        "c4cff064be678f1e8344d907499f2a81282edc19"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 23 22:17:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 23:25:32 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix functions call traces imbalance\n\nImpact: fix traces output\n\nSometimes one can observe an imbalance in the traces between function\ncalls and function return traces:\n\nfunc1() {\n    }\n}\n\nThe curly brace inside func1() is the return of another function nested\ninside func1. The return trace have been inserted in the buffer but not\nthe entry.\nWe are storing a return address on the function traces stack while we\nhaven\u0027t inserted its entry on the buffer, hence the imbalance on the\ntraces.\n\nThis is because the tracers doesn\u0027t check all failures that can happen\non buffer insertion.\n\nThis patch reports the tracing recursion failures and the ring buffer\nfailures. In such cases, we now restore the original return address for\nthe function, giving up its return trace.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237843021-11695-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e1f60b80cafcb5d7e8d3665b35962fbb8fb9efa",
      "tree": "80b07264a2599f494f9f8eebb7230ceead3ae645",
      "parents": [
        "c0f92ba99bdeaf35f9c580291b4e1a657c67fbd4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 23:10:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 16:25:47 2009 +0100"
      },
      "message": "tracing/ftrace: check if debugfs is registered before creating files\n\nImpact: fix a crash with ftrace\u003d{nop,boot} parameter\n\nIf the nop or initcall tracers are launched as boot tracers,\nthey will attempt to create their option directory and files.\nBut these tracers are registered very early and then assigned\nas \"boot tracers\" very early if asked to.\n\nSince they do this before debugfs has been registered (core initcall),\na crash is triggered.\n\nAnother early tracers could also come later. So we fix it by\nchecking if debugfs is initialized before creating the root\ntracing directory.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237759847-21025-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07edf7121374609709ef1b0889f6e7b8d6a62ec1",
      "tree": "ad1649c9546dc3ce23bb2f8609a7459a7ca2006e",
      "parents": [
        "9bd7d099ab3f10dd666da399c064999bae427cd9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 23:10:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 09:22:14 2009 +0100"
      },
      "message": "tracing/events: don\u0027t use wake up for events\n\nImpact: fix hard-lockup with sched switch events\n\nSome ftrace events, such as sched wakeup, can be traced\nwhile the runqueue lock is hold. Since they are using\ntrace_current_buffer_unlock_commit(), they call wake_up()\nwhich can try to grab the runqueue lock too, resulting in\na deadlock.\n\nNow for all event, we call a new helper:\ntrace_nowake_buffer_unlock_commit() which do pretty the same than\ntrace_current_buffer_unlock_commit() except than it doesn\u0027t call\ntrace_wake_up().\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237759847-21025-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b8b94265337f83b7db9c5f429b1769d463d7da8c",
      "tree": "231694bce8acda1204f95c1991f7f5b7ce5528bd",
      "parents": [
        "a524446fe82f7f38738403a5a080c4910af86a61"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@movial.com",
        "time": "Sun Mar 22 19:11:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 22 18:16:54 2009 +0100"
      },
      "message": "tracing: fix four sparse warnings\n\nImpact: cleanup.\n\nThis patch fixes the following sparse warnings:\n\n kernel/trace/trace.c:385:9: warning: symbol \u0027trace_seq_to_buffer\u0027 was\n not declared. Should it be static?\n\n kernel/trace/trace_clock.c:29:13: warning: symbol \u0027trace_clock_local\u0027\n was not declared. Should it be static?\n\n kernel/trace/trace_clock.c:54:13: warning: symbol \u0027trace_clock\u0027 was not\n declared. Should it be static?\n\n kernel/trace/trace_clock.c:74:13: warning: symbol \u0027trace_clock_global\u0027\n was not declared. Should it be static?\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@movial.com\u003e\nLKML-Reference: \u003c1237741871-5827-4-git-send-email-dmitri.vorobiev@movial.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf586b61f80229491127d3c57c06ed93c9f530d3",
      "tree": "3f5e0d9429f32b8ad4f53104a260c8dff349cd9b",
      "parents": [
        "ac199db0189c091f2863312061c0575937f68810"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 22 05:04:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 22 14:06:40 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: prevent hangs during self-tests\n\nImpact: detect tracing related hangs\n\nSometimes, with some configs, the function graph tracer can make\nthe timer interrupt too much slow, hanging the kernel in an endless\nloop of timer interrupts servicing.\n\nAs suggested by Ingo, this patch brings a watchdog which stops the\nselftest after a defined number of functions traced, definitely\ndisabling this tracer.\n\nFor those who want to debug the cause of the function graph trace\nhang, you can pass the ftrace_dump_on_oops kernel parameter to dump\nthe traces after this hang detection.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1237694675-23509-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44fc6ee92356aa3be31798ced220ab5abd898781",
      "tree": "45acaa8fe5e620cbf734bdbeb5d48121daa65d0e",
      "parents": [
        "22de89b371a18086162eacd9f8c960299334ab01",
        "5087f8d2a2f2daff5a913d72d8ea3ad601948e10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:15:13 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:15:13 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "22de89b371a18086162eacd9f8c960299334ab01",
      "tree": "518227dde7ba892413163b32341c5d319da13949",
      "parents": [
        "3bf832ce1fe6988148d392599f34ca0c6a34427d",
        "f02b8624fedca39886b0eef770dca70c2f0749b3",
        "a635cf0497342978d417cae19d4a4823932977ff",
        "65c24491b4fef017c64e39ec64384fde5e05e0a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:14:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 20 10:14:53 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kprobes\u0027, \u0027tracing/tasks\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "40ce74f19c28077550646c76d96a075bf312e461",
      "tree": "bd58d38b6ac806be6f59276f16d1e0758376fa1d",
      "parents": [
        "2fbcdb35aca614f9529a0e7d340146cf0b71684f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 14:03:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 15:58:47 2009 -0400"
      },
      "message": "tracing: remove recording function depth from trace_printk\n\nThe function depth in trace_printk was to facilitate the function\ngraph output. Now that the function graph calculates the depth within\nthe trace output, we no longer need to record the depth when the\ntrace_printk is called.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5ef841f6f32dce0b752a4fa0622781ee67a0e874",
      "tree": "12c1ac0552f12b93662e2676137fb1286b50d4ee",
      "parents": [
        "ac5f6c96859e9a664ac05b04bc96ed1caad5fe29"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 12:20:38 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 19 15:57:55 2009 -0400"
      },
      "message": "tracing: make print_(b)printk_msg_only global\n\nThis patch makes print_printk_msg_only and print_bprintk_msg_only\nglobal for other functions to use. It also renames them by adding\na \"trace_\" to the beginning to avoid namespace collisions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4acd4d00f716873e27e7b60ae292cbdbfae674dd",
      "tree": "6728bed8b0cf8cc47ead79261c0fc8d2e9e5c093",
      "parents": [
        "490362003457f8d387f6f6e73e3a7efbf56c3314"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 18 10:40:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 18 10:52:47 2009 -0400"
      },
      "message": "tracing: give easy way to clear trace buffer\n\nThere is currently no easy way to clear the trace buffer. Currently\nthe only way is to change the current tracer.\n\nThis patch lets the user clear the trace buffer by simply writing\ninto the trace files.\n\n echo \u003e /debug/tracing/trace\n\nor to clear a single cpu (i.e. for CPU 1):\n\n echo \u003e /debug/tracing/per_cpu/cpu1/trace\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a635cf0497342978d417cae19d4a4823932977ff",
      "tree": "afacf84eb85388801a04996ed62e000cdfad3bc2",
      "parents": [
        "50d88758a3f9787cbdbdbc030560b815721eab4b"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Wed Mar 18 09:00:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:18 2009 +0100"
      },
      "message": "tracing: fix command line to pid reverse map\n\nImpact: fix command line to pid mapping\n\nmap_cmdline_to_pid[] is checked in trace_save_cmdline(), but never\nupdated. This results in stale pid to command line mappings and the\ntracer output will associate the wrong comm string.\n\nSigned-off-by: Carsten Emde \u003cCarsten.Emde@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50d88758a3f9787cbdbdbc030560b815721eab4b",
      "tree": "02e5c47c5c5bd05e578d1883ccaa1e3bc13c703a",
      "parents": [
        "2c7eea4c62ba090b7f4583c3d7337ea0019be900"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 08:58:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:17 2009 +0100"
      },
      "message": "tracing: fix trace_find_cmdline()\n\nImpact: prevent stale command line output\n\nIn case there is no valid command line mapping for a pid\ntrace_find_cmdline() returns without updating the comm buffer. The\ntrace dump keeps the previous entry which results in confusing trace\noutput:\n\n     \u003cidle\u003e-0     [000]   280.702056 ....\n     \u003cidle\u003e-23456 [000]   280.702080 ....\n\nUpdate the comm buffer with \"\u003c...\u003e\" when no mapping is found.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c7eea4c62ba090b7f4583c3d7337ea0019be900",
      "tree": "2a85739caeef13035316d47f61cab11f3a91660f",
      "parents": [
        "18aecd362a1c991fbf5f7919ae051a77532ba2f8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 09:03:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:17 2009 +0100"
      },
      "message": "tracing: replace the crude (unsigned) -1 hackery\n\nImpact: cleanup\n\nThe command line recorder uses (unsigned) -1 to mark non mapped\nentries in the pid to command line maps. The validity check is\ncompletely unintuitive: idx \u003e\u003d SAVED_CMDLINES\n\nThere is no need for such casting games. Use a constant to mark\nunmapped entries and check for that constant to make the code readable\nand understandable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18aecd362a1c991fbf5f7919ae051a77532ba2f8",
      "tree": "f19f11afa2b669a6acea5c98fda091b68993bc59",
      "parents": [
        "03418c7efaa429dc7647ac93e3862e3fe1816873"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 18 08:56:58 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 10:10:16 2009 +0100"
      },
      "message": "tracing: stop command line recording when tracing is disabled\n\nImpact: prevent overwrite of command line entries\n\nWhen the tracer is stopped the command line recording continues to\nrecord. The check for tracing_is_on() is not sufficient here as the\nringbuffer status is not affected by setting\ndebug/tracing/tracing_enabled to 0. On a non idle system this can\nresult in the loss of the command line information for the stopped\ntrace, which makes the trace harder to read and analyse.\n\nCheck tracer_enabled to allow further recording.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "327019b01e068d66dada6a8b2571180ab3674d20",
      "tree": "c81354a509d6962f6878145fcf3cdbe50a000a89",
      "parents": [
        "03418c7efaa429dc7647ac93e3862e3fe1816873",
        "62524d55e5b9ffe36e3bf3dd7a594114f150b449"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 06:59:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 06:59:56 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "af4617bdba34aa556272b34c3986b0a4d588f568",
      "tree": "c46a6b695724ee27c0113f6affcebeffcefbcf23",
      "parents": [
        "37886f6a9f62d22530ffee8d3f9215c8345b6969"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 18:09:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 23:10:35 2009 -0400"
      },
      "message": "tracing: add global-clock option to provide cross CPU clock to traces\n\nImpact: feature to allow better serialized clock\n\nThis patch adds an option called \"global-clock\" that will allow\nthe tracer to switch to a slower but more accurate (across CPUs)\nclock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "37886f6a9f62d22530ffee8d3f9215c8345b6969",
      "tree": "046c9086682145fd2808af7197af669f08be6d0a",
      "parents": [
        "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 17:22:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 23:06:31 2009 -0400"
      },
      "message": "ring-buffer: add api to allow a tracer to change clock source\n\nThis patch adds a new function called ring_buffer_set_clock that\nallows a tracer to assign its own clock source to the buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4176935b58eeb636917e65a2c388e4607e36cce6",
      "tree": "dac4e0005cda5a3a5a313dde35bbac2877d9bd93",
      "parents": [
        "c269fc8c537d761f36cb98e637ae934d9331a9d5",
        "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 10:37:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 10:37:37 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3",
      "tree": "2c1a122a9a13c8b2cae8f0c27368a67e33804deb",
      "parents": [
        "4ca530852346be239b7c19e7bec5d2b78855bebe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 21:57:17 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 23:31:15 2009 -0400"
      },
      "message": "tracing: stop comm recording on tracing off\n\nImpact: fix for losing comms in trace\n\nThe command lines of tasks are cached at sched switch to not need\nto record them at every trace point.  Disabling the tracing on stops\nthe recording of traces, but does not stop the caching of command lines.\nWhen the tracing is off the cache may overflow and cause the tracing\nto show incorrect tasks matching the PIDs.\n\nThis patch disables prevents updates to the comm cache when the ring buffer\nis off.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4ca530852346be239b7c19e7bec5d2b78855bebe",
      "tree": "96e5252faaf362115a96ed6df7c4e4f698a027dc",
      "parents": [
        "03303549b1695dc024d4a653cc16bd79f78f9750"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 19:20:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 23:27:06 2009 -0400"
      },
      "message": "tracing: protect reader of cmdline output\n\nImpact: fix to one cause of incorrect comm outputs in trace\n\nThe spinlock only protected the creation of a comm \u003c\u003d\u003e pid pair.\nBut it was possible that a reader could look up a pid, and get the\nwrong comm because it had no locking.\n\nThis also required changing trace_find_cmdline to copy the comm cache\nand not just send back a pointer to it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2fc1dfbe17e7705c55b7a99da995fa565e26f151",
      "tree": "8d7ecb57fdefdfac5bdff6ee3a82485e2ea4340a",
      "parents": [
        "ac1d52d0b85854958c7e78c8006e39aadb6ce4b8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 16 01:45:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 16 09:13:18 2009 +0100"
      },
      "message": "tracing/core: fix early free of cpumasks\n\nImpact: fix crashes when tracing cpumasks\n\nWhile ring-buffer allocation, the cpumasks are allocated too,\nincluding the tracing cpumask and the per-cpu file mask handler.\nBut these cpumasks are freed accidentally just after.\nFix it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1237164303-11476-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59f586db98919d7d9c43527b26c8de1cdf9ed912",
      "tree": "d77ae20815666a1c94dc177af974f88b8102fd38",
      "parents": [
        "0ea1c4156bf9e2eb370cc5c6fa6eb112bd844dec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 15 22:10:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 16 09:13:17 2009 +0100"
      },
      "message": "tracing/core: fix missing mutex unlock on tracing_set_tracer()\n\nImpact: fix possible locking imbalance\n\nIn case of ring buffer resize failure, tracing_set_tracer forgot to\nrelease trace_types_lock. Fix it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1237151439-6755-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f96f93f02b7637491a1637dee12dcdcd40b9802",
      "tree": "4756faebe7ada4eabb4ca985b3b26e09ecbfec14",
      "parents": [
        "bdc067582b8b71c7771bab076bbc51569c594fb4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 13 00:37:42 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 13 00:37:42 2009 -0400"
      },
      "message": "tracing: move binary buffers into per cpu directory\n\nThe binary_buffers directory in /debugfs/tracing held the files\nto read the trace buffers in a binary format. This held one file\nper CPU buffer. But we also have a per_cpu directory that holds\na way to read the pretty-print formats.\n\nThis patch moves the binary buffers into the per_cpu_directory:\n\n # ls /debug/tracing/per_cpu/cpu1/\ntrace  trace_pipe  trace_pipe_raw\n\nThe new name is called \"trace_pipe_raw\". The binary buffers always\nacted similar to trace_pipe, except that they produce raw data.\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "48ead02030f849d011259244bb4ea9b985479006",
      "tree": "4500f27dc7eb6567ca79dd03fa94fe9e56fbc316",
      "parents": [
        "db526ca329f855510e8ce672332eba3304aed590"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 12 18:24:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:15:00 2009 -0400"
      },
      "message": "tracing/core: bring back raw trace_printk for dynamic formats strings\n\nImpact: fix callsites with dynamic format strings\n\nSince its new binary implementation, trace_printk() internally uses static\ncontainers for the format strings on each callsites. But the value is\nassigned once at build time, which means that it can\u0027t take dynamic\nformats.\n\nSo this patch unearthes the raw trace_printk implementation for the callers\nthat will need trace_printk to be able to carry these dynamic format\nstrings. The trace_printk() macro will use the appropriate implementation\nfor each callsite. Most of the time however, the binary implementation will\nstill be used.\n\nThe other impact of this patch is that mmiotrace_printk() will use the old\nimplementation because it calls the low level trace_vprintk and we can\u0027t\nguess here whether the format passed in it is dynamic or not.\n\nSome parts of this patch have been written by Steven Rostedt (most notably\nthe part that chooses the appropriate implementation for each callsites).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "db526ca329f855510e8ce672332eba3304aed590",
      "tree": "d6bdd3384a063d7c58ae807a310ecc80cb91773b",
      "parents": [
        "8aabee573dff131a085c63de7667eacd94ba4ccb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 13:53:25 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:59 2009 -0400"
      },
      "message": "tracing: show that buffer size is not expanded\n\nImpact: do not confuse user on small trace buffer sizes\n\nWhen the system boots up, the trace buffer is small to conserve memory.\nIt is only two pages per online CPU. When the tracer is used, it expands\nto the default value.\n\nThis can confuse the user if they look at the buffer size and see only\n7, but then later they see 1408.\n\n # cat /debug/tracing/buffer_size_kb\n7\n\n # echo sched_switch \u003e /debug/tracing/current_tracer\n\n # cat /debug/tracing/buffer_size_kb\n1408\n\nThis patch tries to help remove this confustion by showing that the\nbuffer has not been expanded.\n\n # cat /debug/tracing/buffer_size_kb\n7 (expanded: 1408)\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1027fcb206a0fb8348e63aff078c74bdee1c2698",
      "tree": "05e858e410fdb30865a11c78e2bb9bb0a12f55ba",
      "parents": [
        "a123c52b46a1f84bcec3dc963351896c6d6afaf7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 11:33:20 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:58 2009 -0400"
      },
      "message": "tracing: protect ring_buffer_expanded with trace_types_lock\n\nImpact: prevent races with ring_buffer_expanded\n\nThis patch places the expanding of the tracing buffer under the\nprotection of the trace_types_lock mutex. It is highly unlikely\nthat there would be any contention, but better safe than sorry.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a123c52b46a1f84bcec3dc963351896c6d6afaf7",
      "tree": "bbfea12d2234930fd67644fa281d11c8ab850460",
      "parents": [
        "51b643b404827d8fde60d7953773a42d46ca87e0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 11:21:08 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:14:58 2009 -0400"
      },
      "message": "tracing: fix comments about trace buffer resizing\n\nImpact: cleanup\n\nSome of the comments about the trace buffer resizing is gobbledygook.\nAnd I wonder why people question if I\u0027m a native English speaker.\n\nThis patch makes the comments make a bit more sense.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "51b643b404827d8fde60d7953773a42d46ca87e0",
      "tree": "ae71fcbd8b3640b68fc11e1dca620a8ee96bac5f",
      "parents": [
        "554f786e284a6ce859d51f62240d615603944c8e",
        "480c93df5b99699390f93a7024c9f60d09da0e96"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:12:46 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 12 21:12:46 2009 -0400"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/ftrace-merge\n"
    },
    {
      "commit": "554f786e284a6ce859d51f62240d615603944c8e",
      "tree": "d3710f97dac93861b3ff1f389276e643798f9b2e",
      "parents": [
        "9aba60fe6eb20453de53a572143bef22fa929fba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:00:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:27 2009 -0400"
      },
      "message": "ring-buffer: only allocate buffers for online cpus\n\nImpact: save on memory\n\nCurrently, a ring buffer was allocated for each \"possible_cpus\". On\nsome systems, this is the same as NR_CPUS. Thus, if a system defined\nNR_CPUS \u003d 64 but it only had 1 CPU, we could have possibly 63 useless\nring buffers taking up space. With a default buffer of 3 megs, this\ncould be quite drastic.\n\nThis patch changes the ring buffer code to only allocate ring buffers\nfor online CPUs.  If a CPU goes off line, we do not free the buffer.\nThis is because the user may still have trace data in that buffer\nthat they would like to look at.\n\nPerhaps in the future we could add code to delete a ring buffer if\nthe CPU is offline and the ring buffer becomes empty.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "9aba60fe6eb20453de53a572143bef22fa929fba",
      "tree": "97df44bc298fe40719d6f08000d96532d3ecf27e",
      "parents": [
        "1852fcce181faa237c010a3dbedb473cf9d4555f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 19:52:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:25 2009 -0400"
      },
      "message": "tracing: fix trace_wait to know to wait on all cpus or just one\n\nImpact: fix to task live locking on reading trace_pipe on one CPU\n\nThe same code is used for both trace_pipe (all CPUS) and the per_cpu\ntrace_pipe file. When there is no data to read, it will check for\nsignals and wait on the trace wait queue.\n\nThe problem happens with the per_cpu wait. The trace_wait code checks\nall CPUs. Thus, if there\u0027s data in another CPU buffer, then it will\nexit the wait, without checking for signals or waiting on the wait queue.\n\nIt would then try to read the empty buffer, and since that will just\nreturn nothing, then it will try to wait again. Unfortunately, that will\nagain fail due to there still being data in the other buffers. This\nends up with a live lock for the task.\n\nThis patch fixes the trace_wait to be aware that the iterator may only\nbe waiting on a single buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "1852fcce181faa237c010a3dbedb473cf9d4555f",
      "tree": "863cd12b573fd36436e7fb042f9bd96a73a9f725",
      "parents": [
        "73c5162aa362a543793f4a957c6c536dcbaa89ce"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 14:33:00 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:24 2009 -0400"
      },
      "message": "tracing: expand the ring buffers when an event is activated\n\nTo save memory, the tracer ring buffers are set to a minimum.\nThe activating of a trace expands the ring buffer size. This patch\nadds this expanding, when an event is activated.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "73c5162aa362a543793f4a957c6c536dcbaa89ce",
      "tree": "ca318ef3da72aac3f809583967185c0b34998c94",
      "parents": [
        "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 13:42:01 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 11 22:15:22 2009 -0400"
      },
      "message": "tracing: keep ring buffer to minimum size till used\n\nImpact: less memory impact on systems not using tracer\n\nWhen the kernel boots up that has tracing configured, it allocates\nthe default size of the ring buffer. This currently happens to be\n1.4Megs per possible CPU. This is quite a bit of wasted memory if\nthe system is never using the tracer.\n\nThe current solution is to keep the ring buffers to a minimum size\nuntil the user uses them. Once a tracer is piped into the current_tracer\nthe ring buffer will be expanded to the default size. If the user\nchanges the size of the ring buffer, it will take the size given\nby the user immediately.\n\nIf the user adds a \"ftrace\u003d\" to the kernel command line, then the ring\nbuffers will be set to the default size on initialization.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "aecfcde920da8d32949f6cbbc1fc051b4ef9e7be",
      "tree": "c332ce67ef065978b07a889109394fda421c0581",
      "parents": [
        "e2b8b2808538a91444e78c7db5a30519cadd09b2",
        "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 20:47:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 20:47:23 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "e2b8b2808538a91444e78c7db5a30519cadd09b2",
      "tree": "60c45581817db746bd61670f5c95b19c2661daa0",
      "parents": [
        "4dd163a0512eb91bbcf4e66d2f65b8e4042561b3",
        "ef18012b248b47ec9a12c3a83ca5e99782d39c5d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "80370cb758e7ca2692cd9fb5e413d970b1f4b2b2",
      "tree": "2c1451f4a374d8b7a515fe39b4bb24bb6a323db9",
      "parents": [
        "ef18012b248b47ec9a12c3a83ca5e99782d39c5d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 17:16:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 17:16:35 2009 -0400"
      },
      "message": "tracing: use raw spinlocks for trace_vprintk\n\nImpact: prevent locking up by lockdep tracer\n\nThe lockdep tracer uses trace_vprintk and thus trace_vprintk can not\ncall back into lockdep without locking up.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ef18012b248b47ec9a12c3a83ca5e99782d39c5d",
      "tree": "8103b4d14c6b81a6a5ec39cd43e4ca7ffb51625d",
      "parents": [
        "0e3d0f0566f3fcf664782f597070bbc669d78454"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:10:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:13:14 2009 -0400"
      },
      "message": "tracing: remove funky whitespace in the trace code\n\nImpact: clean up\n\nThere existed a lot of \u003cspace\u003e\u003ctab\u003e\u0027s in the tracing code. This\npatch removes them.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "888b55dc314d26239d84c3b187dae555a81c1605",
      "tree": "bdf22d17648cf01f89009d37b9bbcdb1521fc636",
      "parents": [
        "dba58e39ced7af63f2748d12bbb2b4ac83c72391"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sun Mar 08 13:12:43 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 08 16:57:22 2009 +0100"
      },
      "message": "ftrace: tracing header should put \u0027#\u0027 at the beginning of a line\n\nIn a recent discussion, Andrew Morton pointed out that tracing header\nshould put \u0027#\u0027 at the beginning of a line.\n\nThen, we can easily filtered the header by following grep usage:\n\n  cat trace | grep -v \u0027^#\u0027\n\nWakeup trace also has the same header problem.\n\nComparison of headers displayed:\n\nbefore this patch:\n\n # tracer: wakeup\n #\n wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip\n --------------------------------------------------------------------\n  latency: 19059 us, #21277/21277, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)\n     -----------------\n     | task: kondemand/1-1644 (uid:0 nice:-5 policy:0 rt_prio:0)\n     -----------------\n\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /\n #                |||||     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||   \\   |   /\n irqbalan-1887    1d.s.    0us :   1887:120:R   + [001]  1644:115:S kondemand/1\n irqbalan-1887    1d.s.    1us : default_wake_function \u003c-autoremove_wake_function\n irqbalan-1887    1d.s.    2us : check_preempt_wakeup \u003c-try_to_wake_up\n\nafter this patch:\n\n # tracer: wakeup\n #\n # wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip\n # --------------------------------------------------------------------\n # latency: 529 us, #530/530, CPU#0 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: kondemand/0-1641 (uid:0 nice:-5 policy:0 rt_prio:0)\n #    -----------------\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /\n #                |||||     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||   \\   |   /\n     sshd-2496    0d.s.    0us :   2496:120:R   + [000]  1641:115:S kondemand/0\n     sshd-2496    0d.s.    1us : default_wake_function \u003c-autoremove_wake_function\n     sshd-2496    0d.s.    1us : check_preempt_wakeup \u003c-try_to_wake_up\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20090308124421.23C3.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "769b0441f438c4bb4872cb8560eb6fe51bcc09ee",
      "tree": "9908682dfd89e97c3097a7c3adcae35d821e1895",
      "parents": [
        "1ba28e02a18cbdbea123836f6c98efb09cbf59ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 06 17:21:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:12 2009 +0100"
      },
      "message": "tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()\n\nImpact: faster and lighter tracing\n\nNow that we have trace_bprintk() which is faster and consume lesser\nmemory than trace_printk() and has the same purpose, we can now drop\nthe old implementation in favour of the binary one from trace_bprintk(),\nwhich means we move all the implementation of trace_bprintk() to\ntrace_printk(), so the Api doesn\u0027t change except that we must now use\ntrace_seq_bprintk() to print the TRACE_PRINT entries.\n\nSome changes result of this:\n\n- Previously, trace_bprintk depended of a single tracer and couldn\u0027t\n  work without. This tracer has been dropped and the whole implementation\n  of trace_printk() (like the module formats management) is now integrated\n  in the tracing core (comes with CONFIG_TRACING), though we keep the file\n  trace_printk (previously trace_bprintk.c) where we can find the module\n  management. Thus we don\u0027t overflow trace.c\n\n- changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries.\n\n- change a bit trace_printk/trace_vprintk macros to support non-builtin formats\n  constants, and fix \u0027const\u0027 qualifiers warnings. But this is all transparent for\n  developers.\n\n- etc...\n\nV2:\n\n- Rebase against last changes\n- Fix mispell on the changelog\n\nV3:\n\n- Rebase against last changes (moving trace_printk() to kernel.h)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ba28e02a18cbdbea123836f6c98efb09cbf59ec",
      "tree": "41df06a06c702152902ffd7250f284a6efe9b0da",
      "parents": [
        "1427cdf0592368bdec57276edaf714040ee8744f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: add trace_bprintk()\n\nImpact: add a generic printk() for tracing, like trace_printk()\n\ntrace_bprintk() uses the infrastructure to record events on ring_buffer.\n\n[ fweisbec@gmail.com: ported to latest -tip, made it work if\n  !CONFIG_MODULES, never free the format strings from modules\n  because we can\u0027t keep track of them and conditionnaly create\n  the ftrace format strings section (reported by Steven Rostedt) ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1427cdf0592368bdec57276edaf714040ee8744f",
      "tree": "4b214ee49643db383328cf53a31959eb0627a167",
      "parents": [
        "546e5354a6e4ec760ac03ef1148e9a4762abb5f5"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: infrastructure for supporting binary record\n\nImpact: save on memory for tracing\n\nCurrent tracers are typically using a struct(like struct ftrace_entry,\nstruct ctx_switch_entry, struct special_entr etc...)to record a binary\nevent. These structs can only record a their own kind of events.\nA new kind of tracer need a new struct and a lot of code too handle it.\n\nSo we need a generic binary record for events. This infrastructure\nis for this purpose.\n\n[fweisbec@gmail.com: rebase against latest -tip, make it safe while sched\ntracing as reported by Steven Rostedt]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e2336a0d47c9661a40cc5ef85135ce1406af6e8",
      "tree": "6d977e4471f8e31245602a26e939368689d2383a",
      "parents": [
        "2002c258faaa8f89543df284fdbaa9e4b171547f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:44:55 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:46:40 2009 -0500"
      },
      "message": "tracing: make all file_operations const\n\nImpact: cleanup\n\nAll file_operations structures should be constant. No one is going to\nchange them.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5e1607a00bd082972629d3d68c95c8bcf902b55a",
      "tree": "2751baf5ee286cdec8f4b1afcb7332f4c1f5f454",
      "parents": [
        "53664738c122bfe8b0e489fddaf2ab265c9133c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "message": "tracing: rename ftrace_printk() \u003d\u003e trace_printk()\n\nImpact: cleanup\n\nUse a more generic name - this also allows the prototype to move\nto kernel.h and be generally available to kernel developers who\nwant to do some quick tracing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27d48be84477d2f0a2e2ac3738a3971dece631d5",
      "tree": "92d4b896df1102b0aaa3c01d71fdecd75faa601f",
      "parents": [
        "5fd73f862468280d4cbb5ba4321502f911f9f89a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "message": "tracing: consolidate print_lat_fmt and print_trace_fmt\n\nImpact: clean up\n\nBoth print_lat_fmt and print_trace_fmt do pretty much the same thing\nexcept for one different function call. This patch consolidates the\ntwo functions and adds an if statement to perform the difference.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5fd73f862468280d4cbb5ba4321502f911f9f89a",
      "tree": "3c96f61dea5280784560a8b9252fe13a84149421",
      "parents": [
        "c032ef64d680717e4e8ce3da65da6419a35f8a2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "message": "tracing: remove extra latency_trace method from trace structure\n\nImpact: clean up\n\nThe trace and latency_trace function pointers are identical for\nevery tracer but the function tracer. The differences in the function\ntracer are trivial (latency output puts paranthesis around parent).\n\nThis patch removes the latency_trace pointer and all prints will\nnow just use the trace output function pointer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "c032ef64d680717e4e8ce3da65da6419a35f8a2c",
      "tree": "f6d77c0033e9a33f22adac66d939338c55f06525",
      "parents": [
        "e74da5235cec6cb71eb338c987f876ecc793138b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "message": "tracing: add latency output format option\n\nWith the removal of the latency_trace file, we lost the ability\nto see some of the finer details in a trace. Like the state of\ninterrupts enabled, the preempt count, need resched, and if we\nare in an interrupt handler, softirq handler or not.\n\nThis patch simply creates an option to bring back the old format.\nThis also removes the warning about an unused variable that held\nthe latency_trace file operations.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e74da5235cec6cb71eb338c987f876ecc793138b",
      "tree": "ba7ba533d7056ba660763c33b5a44a1d61279c99",
      "parents": [
        "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "message": "tracing: fix seq read from trace files\n\nThe buffer used by trace_seq was updated incorrectly. Instead\nof consuming what was actually read, it consumed the rest of the\nbuffer on reads.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e",
      "tree": "fd1070a750b7f88e01527b3d808e73f7f9fcb45a",
      "parents": [
        "4f3640f8a358f2183a8c966f299eeb55ca523e06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "message": "tracing: do not return EFAULT if read copied anything\n\nImpact: fix trace read to conform to standards\n\nAndrew Morton, Theodore Tso and H. Peter Anvin brought to my attention\nthat a userspace read should not return -EFAULT if it succeeded in\ncopying anything. It should only return -EFAULT if it failed to copy\nat all.\n\nThis patch modifies the check of copy_from_user and updates the return\ncode appropriately.\n\nI also used H. Peter Anvin\u0027s short cut rule to just test ret \u003d\u003d count.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e543ad76914abec1acf6631604a4154cd7a2ca6b",
      "tree": "a2d093fe45ecb663fc1f977c0efc812ec06e1b99",
      "parents": [
        "efed792d6738964f399a508ef9e831cd60fa4657"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:20:36 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:32:28 2009 -0500"
      },
      "message": "tracing: add cpu_file intialization for ftrace_dump\n\nImpact: fix to ftrace_dump output corruption\n\nThe commit: b04cc6b1f6398b0e0b60d37e27ce51b4899672ec\n  tracing/core: introduce per cpu tracing files\n\nadded a new field to the iterator called cpu_file. This was a handle\nto differentiate between the per cpu trace output files and the\nall cpu \"trace\" file. The all cpu \"trace\" file required setting this\nto TRACE_PIPE_ALL_CPU.\n\nThe problem is that the ftrace_dump sets up its own iterator but was\nnot updated to handle this change. The result was only CPU 0 printing\nout on crash and a lot of \"\u003c0\u003e\"\u0027s also being printed.\n\nReported-by: Thomas Gleixner \u003ctglx@linuxtronix.de\u003e\nTested-by: Darren Hart \u003cdvhtc@us.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "efed792d6738964f399a508ef9e831cd60fa4657",
      "tree": "b4b5e472bafb3d5d0d8ea26680e1d8cc87365c30",
      "parents": [
        "28b1bd1cbc33cae95a309691d814399a69cf3070"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Mar 04 12:32:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:58 2009 +0100"
      },
      "message": "tracing: add lockdep tracepoints for lock acquire/release\n\nAugment the traces with lock names when lockdep is available:\n\n 1)               |  down_read_trylock() {\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   4.201 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   3.523 us    |    }\n 1)               |  /* lock_acquire: try read \u0026mm-\u003emmap_sem */\n 1) + 13.386 us   |  }\n 1)   1.635 us    |  find_vma();\n 1)               |  handle_mm_fault() {\n 1)               |    __do_fault() {\n 1)               |      filemap_fault() {\n 1)               |        find_lock_page() {\n 1)               |          find_get_page() {\n 1)               |            /* lock_acquire: read rcu_read_lock */\n 1)               |            /* lock_release: rcu_read_lock */\n 1)   5.697 us    |          }\n 1)   8.158 us    |        }\n 1) + 11.079 us   |      }\n 1)               |      _spin_lock() {\n 1)               |        /* lock_acquire: __pte_lockptr(page) */\n 1)   3.949 us    |      }\n 1)   1.460 us    |      page_add_file_rmap();\n 1)               |      _spin_unlock() {\n 1)               |        /* lock_release: __pte_lockptr(page) */\n 1)   3.115 us    |      }\n 1)               |      unlock_page() {\n 1)   1.421 us    |        page_waitqueue();\n 1)   1.220 us    |        __wake_up_bit();\n 1)   6.519 us    |      }\n 1) + 34.328 us   |    }\n 1) + 37.452 us   |  }\n 1)               |  up_read() {\n 1)               |  /* lock_release: \u0026mm-\u003emmap_sem */\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   3.865 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   8.562 us    |    }\n 1) + 17.370 us   |  }\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003d?ISO-8859-1?Q?T\u003dF6r\u003dF6k?\u003d Edwin \u003cedwintorok@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1236166375.5330.7209.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2cadf9135eb3b6d84b6427314be827ddd443c308",
      "tree": "919e201f615b8de6d0263ded5693bad326196671",
      "parents": [
        "474d32b68d6d842f3e710e9ae9fe2568c53339f8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 01 22:20:19 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 21:01:55 2009 -0500"
      },
      "message": "tracing: add binary buffer files for use with splice\n\nImpact: new feature\n\nThis patch creates a directory of files that correspond to the\nper CPU ring buffers. These are binary files and are made to\nbe used with splice. This is the fastest way to extract data from\nthe ftrace ring buffers.\n\nThanks to Jiaying Zhang for pushing me to get this code fixed,\n and to Eduard - Gabriel Munteanu for his splice code that helped\n me debug my code.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f9520750c4c9924c14325cd951efae5fae58104c",
      "tree": "b6958c13894816db9388f856f101e9f67b3bf1a4",
      "parents": [
        "11a241a3302277db05561e01477528629d806c4e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 14:04:40 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 14:08:51 2009 -0500"
      },
      "message": "tracing: make trace_seq_reset global and rename to trace_seq_init\n\nImpact: clean up\n\nThe trace_seq functions may be used separately outside of the ftrace\niterator. The trace_seq_reset is needed for these operations.\n\nThis patch also renames trace_seq_reset to the more appropriate\ntrace_seq_init.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ef5580d0fffce6e0a01043bac0625128b5d409a7",
      "tree": "bc6ca68064d6b5c9853227ef876b391cc8b0c939",
      "parents": [
        "3d7ba938da8481b4f7f9ed3d943dbae49389b284"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 19:38:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 03:06:44 2009 -0500"
      },
      "message": "tracing: add interface to write into current tracer buffer\n\nRight now all tracers must manage their own trace buffers. This was\nto enforce tracers to be independent in case we finally decide to\nallow each tracer to have their own trace buffer.\n\nBut now we are adding event tracing that writes to the current tracer\u0027s\nbuffer. This adds an interface to allow events to write to the current\ntracer buffer without having to manage its own. Since event tracing\nhas no \"tracer\", and is just a way to hook into any other tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "0cfe82451dfa3ebf4e69158f2eb450f2fbb6b715",
      "tree": "fc2db4892024f1d896f8ea0de3c4903a1c6543da",
      "parents": [
        "5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 10:51:10 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 10:51:10 2009 -0500"
      },
      "message": "tracing: replace kzalloc with kcalloc\n\nImpact: clean up\n\nkcalloc is a better approach to allocate a NULL array.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff",
      "tree": "6267a70386ce9e97e0034eea3754ea24429e971c",
      "parents": [
        "85a2f9b46f8cd8aaa11c64c715e1ea3ec27ec486"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:22:21 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:22:21 2009 -0500"
      },
      "message": "tracing: use newline separator for trace options list\n\nImpact: clean up\n\nInstead of listing the trace options like:\n\n # cat /debug/tracing/trace_options\nprint-parent nosym-offset nosym-addr noverbose noraw nohex nobin noblock nostacktrace nosched-tree ftrace_printk noftrace_preempt nobranch annotate nouserstacktrace nosym-userobj\n\nWe now list them like:\n\n # cat /debug/tracing/trace_options\nprint-parent\nnosym-offset\nnosym-addr\nnoverbose\nnoraw\nnohex\nnobin\nnoblock\nnostacktrace\nnosched-tree\nftrace_printk\nnoftrace_preempt\nnobranch\nannotate\nnouserstacktrace\nnosym-userobj\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "85a2f9b46f8cd8aaa11c64c715e1ea3ec27ec486",
      "tree": "76079c21b3bb5763c19eb617f9e29139789cc903",
      "parents": [
        "d8e83d26b5ab3b31ee0ff6d093a2627707a1e221"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:12:38 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:12:38 2009 -0500"
      },
      "message": "tracing: use pointer error returns for __tracing_open\n\nImpact: fix compile warning and clean up\n\nWhen I first wrote __tracing_open, instead of passing the error\ncode via the ERR_PTR macros, I lazily used a separate parameter\nto hold the return for errors.\n\nWhen Frederic Weisbecker updated that function, he used the Linux\nkernel ERR_PTR for the returns. This caused the parameter return\nto possibly not be initialized on error. gcc correctly pointed this\nout with a warning.\n\nThis patch converts the entire function to use the Linux kernel\nERR_PTR macro methods.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "d8e83d26b5ab3b31ee0ff6d093a2627707a1e221",
      "tree": "a8a24753ca24db4f3dd9bb887962e4cdcffac314",
      "parents": [
        "577b785f55168d5acb3d123ba41bfe8d7981e044"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:55:58 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:55:58 2009 -0500"
      },
      "message": "tracing: add protection around open use of current_tracer\n\nImpact: fix to possible race conditions\n\nThere\u0027s some uses of current_tracer that is not protected by the\ntrace_types_lock. There is a small chance that a sysadmin changes\nthe tracer while the current_tracer is being referenced.\n\nIf the race is hit, it is unlikely to cause any harm since the\ntracers are constant and are not freed. But some strang side\neffects may occur.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "577b785f55168d5acb3d123ba41bfe8d7981e044",
      "tree": "6ae99a6f38fffda2c2b678a55f329d782337afbc",
      "parents": [
        "a8259075074fb09c230b4cd2c8d3ee3c49d6ecd1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:43:05 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:43:05 2009 -0500"
      },
      "message": "tracing: add tracer dependent options to options directory\n\nThis patch adds the tracer dependent options dynamically to the\noptions directory when the tracer is activated. These options are\nremoved when the tracer is deactivated.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a8259075074fb09c230b4cd2c8d3ee3c49d6ecd1",
      "tree": "edd6a6ab5f0365e9f93f7e992e29ced3136eaaf9",
      "parents": [
        "5d0859cef29167d45dc6cf89d19712145e6005d6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 22:19:12 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 22:22:46 2009 -0500"
      },
      "message": "tracing: add options directory and core option files\n\nThis patch creates an options directory in the debugfs, that contains\nthe available tracing options. These files contain 1 or 0, where 1\nis the option is enabled and 0 it is disabled.\n\nSimply echoing in 1 will enable the option and 0 will disable it.\nThis patch only contains the core options, not the tracer options.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "8656e7a2fa6afcd8682990f804a2a9674568738f",
      "tree": "4577aacda59cec3e71bc0cd97c0f18c823b5743e",
      "parents": [
        "f4abfb8d0da70e436013e5799338357e1e6a0832"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Feb 26 00:41:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 14:04:08 2009 +0100"
      },
      "message": "tracing/core: make the per cpu trace files in per cpu directories\n\nImpact: restructure the VFS layout of per CPU trace buffers\n\nThe per cpu trace files are all in a single directory:\n/debug/tracing/per_cpu. In case of a large number of cpu, the\ncontent of this directory becomes messy so we create now one\ndirectory per cpu inside /debug/tracing/per_cpu which contain\neach their own trace_pipe and trace files.\n\nIe:\n\n /debug/tracing$ ls -R per_cpu\n per_cpu:\n cpu0  cpu1\n\n per_cpu/cpu0:\n trace  trace_pipe\n\n per_cpu/cpu1:\n trace  trace_pipe\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\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7350c3f45694104e820041969c8185c5f99e57c",
      "tree": "7aaed9e59f6d33c82e0b62c21f9d1bda9f094b4e",
      "parents": [
        "b04cc6b1f6398b0e0b60d37e27ce51b4899672ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 25 06:13:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 13:40:58 2009 +0100"
      },
      "message": "tracing/core: make the read callbacks reentrants\n\nNow that several per-cpu files can be read or spliced at the\nsame, we want the read/splice callbacks for tracing files to be\nreentrants.\n\nUntil now, a single global mutex (trace_types_lock) serialized\nthe access to tracing_read_pipe(), tracing_splice_read_pipe(),\nand the seq helpers.\n\nIe: it means that if a user tries to read trace_pipe0 and\ntrace_pipe1 at the same time, the access to the function\ntracing_read_pipe() is contended and one reader must wait for\nthe other to finish its read call.\n\nThe trace_type_lock mutex is mostly here to serialize the access\nto the global current tracer (current_trace), which can be\nchanged concurrently. Although the iter struct keeps a private\npointer to this tracer, its callbacks can be changed by another\nfunction.\n\nThe method used here is to not keep anymore private reference to\nthe tracer inside the iterator but to make a copy of it inside\nthe iterator. Then it checks on subsequents read calls if the\ntracer has changed. This is not costly because the current\ntracer is not expected to be changed often, so we use a branch\nprediction for that.\n\nMoreover, we add a private mutex to the iterator (there is one\niterator per file descriptor) to serialize the accesses in case\nof multiple consumers per file descriptor (which would be a\nsilly idea from the user). Note that this is not to protect the\nring buffer, since the ring buffer already serializes the\nreaders accesses. This is to prevent from traces weirdness in\ncase of concurrent consumers. But these mutexes can be dropped\nanyway, that would not result in any crash. Just tell me what\nyou think about it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b04cc6b1f6398b0e0b60d37e27ce51b4899672ec",
      "tree": "61d5bd59b364913f5a124d25925b908c5deaf871",
      "parents": [
        "2b1b858f690d6369a59ad241335eeedec6eb0c8c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 25 03:22:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 13:40:58 2009 +0100"
      },
      "message": "tracing/core: introduce per cpu tracing files\n\nImpact: split up tracing output per cpu\n\nCurrently, on the tracing debugfs directory, three files are\navailable to the user to let him extracting the trace output:\n\n- trace is an iterator through the ring-buffer. It\u0027s a reader\n  but not a consumer It doesn\u0027t block when no more traces are\n  available.\n\n- trace pretty similar to the former, except that it adds more\n  informations such as prempt count, irq flag, ...\n\n- trace_pipe is a reader and a consumer, it will also block\n  waiting for traces if necessary (heh, yes it\u0027s a pipe).\n\nThe traces coming from different cpus are curretly mixed up\ninside these files. Sometimes it messes up the informations,\nsometimes it\u0027s useful, depending on what does the tracer\ncapture.\n\nThe tracing_cpumask file is useful to filter the output and\nselect only the traces captured a custom defined set of cpus.\nBut still it is not enough powerful to extract at the same time\none trace buffer per cpu.\n\nSo this patch creates a new directory: /debug/tracing/per_cpu/.\n\nInside this directory, you will now find one trace_pipe file and\none trace file per cpu.\n\nWhich means if you have two cpus, you will have:\n\n trace0\n trace1\n trace_pipe0\n trace_pipe1\n\nAnd of course, reading these files will have the same effect\nthan with the usual tracing files, except that you will only see\nthe traces from the given cpu.\n\nThe original all-in-one cpu trace file are still available on\ntheir original place.\n\nUntil now, only one consumer was allowed on trace_pipe to avoid\nracy consuming on the ring-buffer. Now the approach changed a\nbit, you can have only one consumer per cpu.\n\nWhich means you are allowed to read concurrently trace_pipe0 and\ntrace_pipe1 But you can\u0027t have two readers on trace_pipe0 or\ntrace_pipe1.\n\nFollowing the same logic, if there is one reader on the common\ntrace_pipe, you can not have at the same time another reader on\ntrace_pipe0 or in trace_pipe1. Because in trace_pipe is already\na consumer in all cpu buffers in essence.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "886b5b73d71e4027d7dc6c14f5f7ab102201ea6b",
      "tree": "307a0e4d1c597e90d6972f95c2396ea4e1be2057",
      "parents": [
        "c478f8786973d6d7552c652ddad3f6fd86b5af28"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 11:03:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 11:05:34 2009 +0100"
      },
      "message": "tracing: remove /debug/tracing/latency_trace\n\nImpact: remove old debug/tracing API\n\n/debug/tracing/latency_trace is an old legacy format we kept from\nthe old latency tracer. Remove the file for now. If there\u0027s any\nuseful bit missing then we\u0027ll propagate any useful output bits into\nthe /debug/tracing/trace output.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa7c7f6e11f70d62505074a8b30a776236850dec",
      "tree": "f325008f7505ffb45dd7b1139d38c6a8229c6ccd",
      "parents": [
        "6eaaa5d57e76c454479833fc8594cd7c3b75c789"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 11 02:51:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:40:20 2009 +0100"
      },
      "message": "tracing/core: remove unused parameter in tracing_fill_pipe_page()\n\nImpact: cleanup\n\nThe struct page *pages parameter is unused.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6eaaa5d57e76c454479833fc8594cd7c3b75c789",
      "tree": "c8f3c130004199bbbc8d141bbfb0f216539c0724",
      "parents": [
        "ac07bcaa8259841905ead3f8cd60b1923ca6c0e5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 11 02:25:00 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 01:40:20 2009 +0100"
      },
      "message": "tracing/core: use appropriate waiting on trace_pipe\n\nImpact: api and pipe waiting change\n\nCurrently, the waiting used in tracing_read_pipe() is done through a\n100 msecs schedule_timeout() loop which periodically check if there\nare traces on the buffer.\n\nThis can cause small latencies for programs which are reading the incoming\nevents.\n\nThis patch makes the reader waiting for the trace_wait waitqueue except\nfor few tracers such as the sched and functions tracers which might be\nalready hold the runqueue lock while waking up the reader.\n\nThis is performed through a new callback wait_pipe() on struct tracer.\nIf none is implemented on a specific tracer, the default waiting for\ntrace_wait queue is attached.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af513098452b8887d7c0e15a39d7cb74479501bd",
      "tree": "a578846af58fe25dd784f694440a3cf757aea807",
      "parents": [
        "b6887d7916e44c1d8913084fb6aa5004d9473f1a"
      ],
      "author": {
        "name": "Wenji Huang",
        "email": "wenji.huang@oracle.com",
        "time": "Tue Feb 17 01:07:28 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 12:38:23 2009 -0500"
      },
      "message": "tracing: use the more proper parameter\n\nPass tsk to tracing_record_cmdline instead of current.\n\nSigned-off-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e7669b8e329255bbcb40af65b38e342825d97a46",
      "tree": "2abe83b7fc90a458c75db0f852c36aa757850673",
      "parents": [
        "5e39841c45cf5e6ea930ede1b0303309e03037a2"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Tue Feb 10 19:44:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:15:42 2009 +0100"
      },
      "message": "tracing: fix sparse warning: attribute function with __acquires/__releases\n\nFix this sparse warning:\n\n  kernel/trace/trace.c:458:9: warning: context imbalance in \u0027register_tracer\u0027 - unexpected unlock\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e39841c45cf5e6ea930ede1b0303309e03037a2",
      "tree": "f92c8d042c07f423c6300f570f3c3b6ae4613f90",
      "parents": [
        "4fd2735881bf4d8bf5e30979f31fc2f1b1d505fa"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Tue Feb 10 19:44:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:15:42 2009 +0100"
      },
      "message": "tracing: fix sparse warnings: fix (un-)signedness\n\nFix these sparse warnings:\n\n  kernel/trace/ring_buffer.c:70:37: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:84:39: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:96:43: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2475:13: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2475:13: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2478:42: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2478:42: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2500:40: warning: incorrect type in argument 3 (different signedness)\n  kernel/trace/ring_buffer.c:2505:44: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/ring_buffer.c:2507:46: warning: incorrect type in argument 2 (different signedness)\n  kernel/trace/trace.c:2130:40: warning: incorrect type in argument 3 (different signedness)\n  kernel/trace/trace.c:2280:40: warning: incorrect type in argument 3 (different signedness)\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fd2735881bf4d8bf5e30979f31fc2f1b1d505fa",
      "tree": "09f923acc762038aad786e1acf1065db9dd072eb",
      "parents": [
        "4040068dce64f75c9d414f41fc2fb314a44bad65"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Tue Feb 10 19:44:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:15:41 2009 +0100"
      },
      "message": "tracing: fix sparse warnings: make symbols static\n\nImpact: make global variables and a global function static\n\nThe function \u0027__trace_userstack\u0027 does not seem to have a caller, so it\nis commented out.\n\nFix this sparse warnings:\n  kernel/trace/trace.c:82:5: warning: symbol \u0027tracing_disabled\u0027 was not declared. Should it be static?\n  kernel/trace/trace.c:600:10: warning: symbol \u0027trace_record_cmdline_disabled\u0027 was not declared. Should it be static?\n  kernel/trace/trace.c:957:6: warning: symbol \u0027__trace_userstack\u0027 was not declared. Should it be static?\n  kernel/trace/trace.c:1694:5: warning: symbol \u0027tracing_release\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c3706f005c3aaf570e71f0f083fdbb59a5a9fa2e",
      "tree": "b4fab26095cd08403a86d976c90320f5053bcc08",
      "parents": [
        "810dc73265cd690b2bc6010489b4317bba2cda39"
      ],
      "author": {
        "name": "Wenji Huang",
        "email": "wenji.huang@oracle.com",
        "time": "Tue Feb 10 01:03:18 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 10 12:32:35 2009 -0500"
      },
      "message": "tracing: fix typos in comments\n\nImpact: clean up.\n\nFix typos in the comments.\n\nSigned-off-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "34cd4998d38f9bd04f34b78a7cb0c7f1bee00bd9",
      "tree": "05fa5a4418a95119d4448fb49bd8d7d6240ed616",
      "parents": [
        "ff98781bab2735e6c89793034173e0cb5007a7e5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 09 12:06:29 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 09 12:24:58 2009 -0500"
      },
      "message": "tracing: clean up splice code\n\nIngo Molnar suggested a series of clean ups for the splice code.\nThis patch implements those suggestions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ff98781bab2735e6c89793034173e0cb5007a7e5",
      "tree": "e79e4c329896018cd9ca97192292632ad7c43007",
      "parents": [
        "3c56819b14b00dd449bd776303e61f8532fad09f"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Mon Feb 09 08:15:55 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 09 12:24:51 2009 -0500"
      },
      "message": "tracing: Move pipe waiting code out of tracing_read_pipe().\n\nThis moves the pipe waiting code from tracing_read_pipe() into\ntracing_wait_pipe(), which is useful to implement other fops, like\nsplice_read.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "3c56819b14b00dd449bd776303e61f8532fad09f",
      "tree": "5a0617aa39fa441673382cf69d873b1906146e7e",
      "parents": [
        "b91facc367366b3f71375f337eb5997ec9ab4e69"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Mon Feb 09 08:15:56 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 09 12:24:34 2009 -0500"
      },
      "message": "tracing: splice support for tracing_pipe\n\nAdded and implemented tracing_pipe_fops-\u003esplice_read(). This allows\nuserspace programs to get tracing data more efficiently.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "b91facc367366b3f71375f337eb5997ec9ab4e69",
      "tree": "1f7c8914f493080cadcfdec23b33d9a5936fe98b",
      "parents": [
        "1dfba05d0f1a9b4245bb242a7c17fe448811a520"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Feb 06 18:30:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:37:27 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: handle the leaf functions from trace_pipe\n\nWhen one cats the trace file, the leaf functions are printed without brackets:\n\n function();\n\nwhereas in the trace_pipe file we\u0027ll see the following:\n\n function() {\n }\n\nThis is because the ring_buffer handling is not the same between those two files.\nOn the trace file, when an entry is printed, the iterator advanced and then we can\ncheck the next entry.\n\nThere is no iterator with trace_pipe, the current entry to print has been peeked\nand not consumed. So checking the next entry will still return the current one while\nwe don\u0027t consume it.\n\nThis patch introduces a new value for the output callbacks to ask the tracing\ncore to not consume the current entry after printing it.\n\nWe need it because we will have to consume the current entry ourself to check\nthe next one.\n\nNow the trace_pipe is able to handle well the leaf functions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5db03c4355e568f1567758287b30a6a262d5057",
      "tree": "efdeb3041099a6946e2c5104aadfb78bcdf5a76e",
      "parents": [
        "3861a17bcc0af815f684c6178bc9ec2d790c350e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Feb 07 18:52:59 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:56:53 2009 +0100"
      },
      "message": "tracing: handle unregistering the current tracer\n\nImpact: simplification\n\nInstead of requiring that plugins have the sequence:\n\n  my_tracer_stop(my_trace_array);\n  unregister_tracer(my_tracer);\n\nit should be possible just do a:\n\n  unregister_tracer(my_tracer);\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44b0635481437140b0e29d6023f05e805d5e7620",
      "tree": "ff31986115075410d0479df307a6b9841976026c",
      "parents": [
        "4ad476e11f94fd3724c6e272d8220e99cd222b27",
        "57794a9d48b63e34acbe63282628c9f029603308"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:35:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:35:12 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core/devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n\nConflicts:\n\tkernel/trace/trace_hw_branches.c\n"
    },
    {
      "commit": "1830b52d0de8c60c4f5dfbac134aa8f69d815801",
      "tree": "2aa803853ac145fedd0d65324d77f64d25e7b3a2",
      "parents": [
        "43769f10b4826376cbf4ce17af74a5b4e8dc4fcd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 07 19:38:43 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 07 19:38:43 2009 -0500"
      },
      "message": "trace: remove deprecated entry-\u003ecpu\n\nImpact: fix to prevent developers from using entry-\u003ecpu\n\nWith the new ring buffer infrastructure, the cpu for the entry is\nimplicit with which CPU buffer it is on.\n\nThe original code use to record the current cpu into the generic\nentry header, which can be retrieved by entry-\u003ecpu. When the\nring buffer was introduced, the users were convert to use the\nthe cpu number of which cpu ring buffer was in use (this was passed\nto the tracers by the iterator: iter-\u003ecpu).\n\nUnfortunately, the cpu item in the entry structure was never removed.\nThis allowed for developers to use it instead of the proper iter-\u003ecpu,\nunknowingly, using an uninitialized variable. This was not the fault\nof the developers, since it would seem like the logical place to\nretrieve the cpu identifier.\n\nThis patch removes the cpu item from the entry structure and fixes\nall the users that should have been using iter-\u003ecpu.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "b6f11df26fdc28324cf9c9e3b77f2dc985c1bb13",
      "tree": "e03b4b8b9dad8a2d3f81574c10aab8fb7a779cbb",
      "parents": [
        "51a763dd84253bab1d0a1e68e11a7753d1b702ca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 18:02:00 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "trace: Call tracing_reset_online_cpus before tracer-\u003einit()\n\nImpact: cleanup\n\nTo make it easy for ftrace plugin writers, as this was open coded in\nthe existing plugins\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51a763dd84253bab1d0a1e68e11a7753d1b702ca",
      "tree": "2cc2cf0509db480391c585786285267e360c1338",
      "parents": [
        "0a9877514c4fed10a70720293b37213dd172ee3e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:14:13 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "tracing: Introduce trace_buffer_{lock_reserve,unlock_commit}\n\nImpact: new API\n\nThese new functions do what previously was being open coded, reducing\nthe number of details ftrace plugin writers have to worry about.\n\nIt also standardizes the handling of stacktrace, userstacktrace and\nother trace options we may introduce in the future.\n\nWith this patch, for instance, the blk tracer (and some others already\nin the tree) can use the \"userstacktrace\" /d/tracing/trace_options\nfacility.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |   -5\n  trace_graph_return         |  -22\n  trace_graph_entry          |  -26\n  trace_function             |  -45\n  __ftrace_trace_stack       |  -27\n  ftrace_trace_userstack     |  -29\n  tracing_sched_switch_trace |  -66\n  tracing_stop               |   +1\n  trace_seq_to_user          |   -1\n  ftrace_trace_special       |  -63\n  ftrace_special             |   +1\n  tracing_sched_wakeup_trace |  -70\n  tracing_reset_online_cpus  |   -1\n 13 functions changed, 2 bytes added, 355 bytes removed, diff: -353\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |  -58\n 1 function changed, 58 bytes removed, diff: -58\n\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_buffer_lock_reserve  |  +88\n  trace_buffer_unlock_commit |  +86\n 2 functions changed, 174 bytes added, diff: +174\n\n/tmp/vmlinux.after:\n 16 functions changed, 176 bytes added, 413 bytes removed, diff: -237\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a9877514c4fed10a70720293b37213dd172ee3e",
      "tree": "7f21548126d448d96116f57f2c7927fa2b2c7ddd",
      "parents": [
        "dac74940289f350c2590bec92737833bad608541"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:12:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:40 2009 +0100"
      },
      "message": "ring_buffer: remove unused flags parameter\n\nImpact: API change, cleanup\n\n\u003eFrom ring_buffer_{lock_reserve,unlock_commit}.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |  -14\n  trace_graph_return         |  -14\n  trace_graph_entry          |  -10\n  trace_function             |   -8\n  __ftrace_trace_stack       |   -8\n  ftrace_trace_userstack     |   -8\n  tracing_sched_switch_trace |   -8\n  ftrace_trace_special       |  -12\n  tracing_sched_wakeup_trace |   -8\n 9 functions changed, 90 bytes removed, diff: -90\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |   -1\n 1 function changed, 1 bytes removed, diff: -1\n\n/tmp/vmlinux.after:\n 10 functions changed, 91 bytes removed, diff: -91\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dac74940289f350c2590bec92737833bad608541",
      "tree": "94ee2c4b8c365b3e53ae735f0e3ac6b8e9df6949",
      "parents": [
        "7be421510b91491d5aa5a29fa1005712039b95af"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 05 01:13:38 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:47 2009 +0100"
      },
      "message": "trace: code style clean up\n\nIngo Molnar suggested using goto logic to keep the indentation\ndown and to be able to remove the nasty line breaks. This actually\nmakes the code a bit more readable.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7be421510b91491d5aa5a29fa1005712039b95af",
      "tree": "43c85cd688ea4e33b32816bb3f363215d572f052",
      "parents": [
        "97e5b191ae7dc0f4f5b82b9db29782928b103b4d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 01:13:37 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:47 2009 +0100"
      },
      "message": "trace: Remove unused trace_array_cpu parameter\n\nImpact: cleanup\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "268ccda0cb4d1292029d07ee3dbd07117baf6ecb",
      "tree": "7683e02758d3f768ad21414abf39b00773e87940",
      "parents": [
        "43769f10b4826376cbf4ce17af74a5b4e8dc4fcd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Feb 04 20:16:39 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:46 2009 +0100"
      },
      "message": "trace: assign defaults at register_ftrace_event\n\nImpact: simplification of tracers\n\nAs all tracers are doing this we might as well do it in\nregister_ftrace_event and save one branch each time we call these\ncallbacks.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae7462b4f1fe1f36b5d562dbd5202a2eba01f072",
      "tree": "ceb9db3c0e90d4a459dac695ca7b2e2fddf70b32",
      "parents": [
        "d9793bd8018f835c64b10f44e278c86cecb8e932"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 22:05:50 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:39 2009 +0100"
      },
      "message": "trace: make the trace_event callbacks return enum print_line_t\n\nAs they actually all return these enumerators.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9793bd8018f835c64b10f44e278c86cecb8e932",
      "tree": "da5ad9bc8f3fc7b4eb4ecd398f7c52a6f112d544",
      "parents": [
        "ce70a0b472e06feae3a580ecb3fbef1e1e020a9b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 20:20:41 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:30 2009 +0100"
      },
      "message": "trace: judicious error checking of trace_seq results\n\nImpact: bugfix and cleanup\n\nSome callsites were returning either TRACE_ITER_PARTIAL_LINE if the\ntrace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer\nwas full, or zero otherwise.\n\nBut...\n\n/* Return values for print_line callback */\nenum print_line_t {\n        TRACE_TYPE_PARTIAL_LINE \u003d 0,    /* Retry after flushing the seq */\n        TRACE_TYPE_HANDLED      \u003d 1,\n        TRACE_TYPE_UNHANDLED    \u003d 2     /* Relay to other output functions */\n};\n\nIn other cases the return value was not being relayed at all.\n\nMost of the time it didn\u0027t hurt because the page wasn\u0027t get filled, but\nfor correctness sake, handle the return values everywhere.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce70a0b472e06feae3a580ecb3fbef1e1e020a9b",
      "tree": "46e8a2ef0c91fae86a735ee08add6cd6519ee74f",
      "parents": [
        "939b366977d29b5c0d53d1ea3b0b8cefb1e76202",
        "79fb0768fbd371f3b94d909f51f587b3a24ab272",
        "229c4ef8ae56d69f8dec64533bf1c7f8070c1a4a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:45:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:45:41 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/blktrace\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/urgent\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "2c9b238eb325895d3312dad64e2685783575e474",
      "tree": "1c64910c6084c53b9d9a458a34568ccb083419e8",
      "parents": [
        "c4a8e8be2d43cc22b371e8e9c05c253409759d94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:12 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: Change struct trace_event callbacks parameter list\n\nImpact: API change\n\nThe trace_seq and trace_entry are in trace_iterator, where there are\nmore fields that may be needed by tracers, so just pass the\ntracer_iterator as is already the case for struct tracer-\u003eprint_line.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4a8e8be2d43cc22b371e8e9c05c253409759d94",
      "tree": "274962a78a082a11550d07c6cc088817d6558db5",
      "parents": [
        "dc573f9b20c8710105ac35c08ed0fe1da5160ecd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Feb 02 20:29:21 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: better manage the context info for events\n\nImpact: make trace_event more convenient for tracers\n\nAll tracers (for the moment) that use the struct trace_event want to\nhave the context info printed before their own output: the pid/cmdline,\ncpu, and timestamp.\n\nBut some other tracers that want to implement their trace_event\ncallbacks will not necessary need these information or they may want to\nformat them as they want.\n\nThis patch adds a new default-enabled trace option:\nTRACE_ITER_CONTEXT_INFO When disabled through:\n\necho nocontext-info \u003e /debugfs/tracing/trace_options\n\nThe pid, cpu and timestamps headers will not be printed.\n\nIE with the sched_switch tracer with context-info (default):\n\n     bash-2935 [001] 100.356561: 2935:120:S \u003d\u003d\u003e [001]  0:140:R \u003cidle\u003e\n   \u003cidle\u003e-0    [000] 100.412804:    0:140:R   + [000] 11:115:S events/0\n   \u003cidle\u003e-0    [000] 100.412816:    0:140:R \u003d\u003d\u003e [000] 11:115:R events/0\n events/0-11   [000] 100.412829:   11:115:S \u003d\u003d\u003e [000]  0:140:R \u003cidle\u003e\n\nWithout context-info:\n\n 2935:120:S \u003d\u003d\u003e [001]  0:140:R \u003cidle\u003e\n    0:140:R   + [000] 11:115:S events/0\n    0:140:R \u003d\u003d\u003e [000] 11:115:R events/0\n   11:115:S \u003d\u003d\u003e [000]  0:140:R \u003cidle\u003e\n\nA tracer can disable it at runtime by clearing the bit\nTRACE_ITER_CONTEXT_INFO in trace_flags.\n\nThe print routines were renamed to trace_print_context and\ntrace_print_lat_context, so that they can be used by tracers if they\nwant to use them for one of the trace_event callbacks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79fb0768fbd371f3b94d909f51f587b3a24ab272",
      "tree": "f8a891fcfae6eb9eeef10e9f8b343b813371789c",
      "parents": [
        "b2821ae68b14480bfc85ea1629537163310bc5cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 02 21:38:33 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:26:12 2009 +0100"
      },
      "message": "trace: let boot trace be chosen by command line\n\nNow that we have a working ftrace\u003d\u003ctracer\u003e function, make the boot\ntracer get activated by it. This way we can turn it on or off without\nrecompiling the kernel, as well as keeping the selftests on. The\nselftests are disabled whenever a default tracer starts running.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "b2821ae68b14480bfc85ea1629537163310bc5cd"
}
