)]}'
{
  "log": [
    {
      "commit": "7d7d2b803159d4edeb051b0e5efbc1a8d9ef1c67",
      "tree": "751419481dc613a916bfe3efeeb14d7bdd2b9a5b",
      "parents": [
        "f2957f1f196b0217644a17c1379855a118a37d72"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 27 12:37:49 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:42:01 2009 -0400"
      },
      "message": "ring-buffer: fix printk output\n\nThe warning output in trace_recursive_lock uses %d for a long when\nit should be %ld.\n\n[ Impact: fix compile warning ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f2957f1f196b0217644a17c1379855a118a37d72",
      "tree": "f033fac7d01e029f1b3fb5c39f37a80a5e861c4d",
      "parents": [
        "93459c6cb9816c52200993d29dd18cea1daee335"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:26:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:26:30 2009 -0400"
      },
      "message": "tracing: have splice only copy full pages\n\nSplice works with pages, it is much more effecient to use an entire\npage than to copy bits over several pages.\n\nUsing logdev to trace the internals of the splice mechanism, I was\nable to see that splice can be very aggressive. When tracing is\noccurring, and the reader caught up to the writer, and the writer\nis on the reader page, the reader will copy what is there into the\nsplice page. Splice may iterate over several pages and if the\nwriter is still writing to the page, the reader will keep copying\nbits to new pages to pass to userspace.\n\nThis patch changes it to only pass data to userspace if the page\nis full (the writer has left the page). This has a small side effect\nthat splice can not read a partial page, and must wait for the\npage to fill. This should not be an issue. If tracing has stopped,\nthen a use of \"read\" will still read all of the page.\n\n[ Impact: better performance for ring buffer splice code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "93459c6cb9816c52200993d29dd18cea1daee335",
      "tree": "9ee6a4e9fda5d77d0d05b7855cd2de59fb62d8a0",
      "parents": [
        "5beae6efd1004b44c3e257dc96087978e4c763c1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:23:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:23:13 2009 -0400"
      },
      "message": "tracing: only add splice page if entries exist\n\nThe splice code allocates a page even when the ring buffer is empty.\nIt detects the ring buffer being empty when it it fails to copy\nanything from the ring buffer into the page.\n\nThis patch adds a check to see if there is anything in the ring buffer\nbefore allocating a page.\n\nThanks to logdev for letting me trace the tracer to find this.\n\n[ Impact: speed up due to removing unnecessary allocation ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5beae6efd1004b44c3e257dc96087978e4c763c1",
      "tree": "8d3e4bb6cc11387197cbd10518201b375cd84fce",
      "parents": [
        "cd891ae0305601bdb4d2e7e85282961c4ff256cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cd891ae0305601bdb4d2e7e85282961c4ff256cd",
      "tree": "b425f3c4eba7bd80eb0566d3b233503a9f76cc9d",
      "parents": [
        "701970b3a83cc639c1ec8fc6f40a7871cb99426f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 28 11:39:34 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 28 11:39:34 2009 -0400"
      },
      "message": "tracing: convert ftrace_dump spinlocks to raw\n\nftrace_dump is used for printing out the contents of the ftrace ring buffer\nto the console on failure. Currently it uses a spinlock to synchronize\nthe output from multiple failures on different CPUs. This spin lock\ncurrently is a normal spinlock and can cause issues with lockdep and\nlock tracing.\n\nThis patch converts it to raw since it is for error handling only.\nThe lock is local to the ftrace_dump and is not used by any other\ninfrastructure.\n\n[ Impact: prevent ftrace_dump from locking up by internal tracing ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "701970b3a83cc639c1ec8fc6f40a7871cb99426f",
      "tree": "c17cee9da25eaecee7a7e615eaa932becec663a4",
      "parents": [
        "060fa5c83e67901ba47ab484cfcdb32737d630ba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 24 23:11:22 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 26 13:07:00 2009 +0200"
      },
      "message": "tracing/events: make modules have their own file_operations structure\n\nFor proper module reference counting, the file_operations that modules use\nmust have the \"owner\" field set to the module. Unfortunately, the trace events\nuse share file_operations. The same file_operations are used by all both\nkernel core and all modules.\n\nThis patch makes the modules allocate their own file_operations and\ncopies the functions from the core kernel. This allows those file\noperations to be owned by the module.\n\nCare is taken to free this code on module unload.\n\nThanks to Greg KH for reminding me that file_operations must be owned\nby the module to have reference counting take place.\n\n[ Impact: fix modular tracepoints / potential crash ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "060fa5c83e67901ba47ab484cfcdb32737d630ba",
      "tree": "c83ec27ae1064cfb290904f95cb85b3b0889b2a1",
      "parents": [
        "b8e65554d80b4c560d201362d0e8fa02109d89fd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 24 12:20:52 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 24 23:06:00 2009 -0400"
      },
      "message": "tracing/events: reuse trace event ids after overflow\n\nWith modules being able to add trace events, and the max trace event\ncounter is 16 bits (65536) we can overflow the counter easily\nwith a simple while loop adding and removing modules that contain\ntrace events.\n\nThis patch links together the registered trace events and on overflow\nsearches for available trace event ids. It will still fail if\nover 65536 events are registered, but considering that a typical\nkernel only has 22000 functions, 65000 events should be sufficient.\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "334d4169a6592d3fcd863bbe822a8f6985ffa9af",
      "tree": "3ac9c038304eaa69b06d9cac735fd62a8d6c47b3",
      "parents": [
        "c2518c4366f087ebc10b3919cb2461bbe4f42d0c"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Apr 24 11:27:05 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 24 00:08:38 2009 -0400"
      },
      "message": "ring_buffer: compressed event header\n\nRB_MAX_SMALL_DATA \u003d 28bytes is too small for most tracers, it wastes\nan \u0027u32\u0027 to save the actually length for events which data size \u003e 28.\n\nThis fix uses compressed event header and enlarges RB_MAX_SMALL_DATA.\n\n[ Impact: saves about 0%-12.5%(depends on tracer) memory in ring_buffer ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c49F13189.3090000@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "75db37d2f4c0ad9466ead57d467277d097b4105c",
      "tree": "a5b3f305471e9f544772353304608f8dca1c2226",
      "parents": [
        "89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 26 11:43:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 23 23:03:56 2009 -0400"
      },
      "message": "tracing: add size checks for exported ftrace internal structures\n\nThe events exported by TRACE_EVENT are automated and are guaranteed\nto be correct when used.\n\nThe internal ftrace structures on the other hand are more manually\nexported. These require the ftrace maintainer to make sure they\nare up to date.\n\nThis patch adds a size check to help flag when a type changes in\nan internal ftrace data structure, and the update needs to be reflected\nin the export.\n\nIf a export is incorrect, then the only harm is that the user space\ntools will not know how to correctly read the internal structures of\nftrace.\n\n[ Impact: help prevent inconsistent ftrace format print outs ]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb",
      "tree": "30db465c8194f2502af497d7276710279de97a7f",
      "parents": [
        "9be24414aad047dcf9d8d2a9a929321536c7ebec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 26 11:03:29 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 23 23:03:19 2009 -0400"
      },
      "message": "tracing: increase size of number of possible events\n\nWith the new event tracing registration, we must increase the number\nof events that can be registered. Currently the type field is only\none byte, which leaves us only 256 possible events.\n\nSince we do not save the CPU number in the tracer anymore (it is determined\nby the per cpu ring buffer that is used) we have an extra byte to use.\n\nThis patch increases the size of type from 1 byte (256 events) to\n2 bytes (65,536 events).\n\nIt also adds a WARN_ON_ONCE if we exceed that limit.\n\n[ Impact: allow more than 255 events ]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "9be24414aad047dcf9d8d2a9a929321536c7ebec",
      "tree": "c4299c263acf1859ff59a3cb03a26826e7d57660",
      "parents": [
        "6a74aa40907757ec98d8710ff66cd4cfe064e7d8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 26 10:25:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 23 23:01:36 2009 -0400"
      },
      "message": "tracing/wakeup: move access to wakeup_cpu into spinlock\n\nThe code had the following outside the lock:\n\n        if (next !\u003d wakeup_task)\n                return;\n\n        pc \u003d preempt_count();\n\n        /* The task we are waiting for is waking up */\n        data \u003d wakeup_trace-\u003edata[wakeup_cpu];\n\nOn initialization, wakeup_task is NULL and wakeup_cpu -1. This code\nis not under a lock. If wakeup_task is set on another CPU as that\ntask is waking up, we can see the wakeup_task before wakeup_cpu is\nset. If we read wakeup_cpu while it is still -1 then we will have\na bad data pointer.\n\nThis patch moves the reading of wakeup_cpu within the protection of\nthe spinlock used to protect the writing of wakeup_cpu and wakeup_task.\n\n[ Impact: remove possible race causing invalid pointer dereference ]\n\nReported-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "7a4f453b6d7379a7c380825949977c5a838aa012",
      "tree": "9f5450c7a1abc865b998885affe964d4670a08bc",
      "parents": [
        "3554228d4289098a8fe5cfd87512ec32a19bbe5a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 22 16:53:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 22 11:36:38 2009 +0200"
      },
      "message": "tracing/events: make struct trace_entry-\u003etype to be int type\n\nstruct trace_entry-\u003etype is unsigned char, while trace event\u0027s id is\nint type, thus for a event with id \u003e\u003d 256, it\u0027s entry-\u003etype is cast\nto (id % 256), and then we can\u0027t see the trace output of this event.\n\n # insmod trace-events-sample.ko\n # echo foo_bar \u003e /mnt/tracing/set_event\n # cat /debug/tracing/events/trace-events-sample/foo_bar/id\n 256\n # cat /mnt/tracing/trace_pipe\n           \u003c...\u003e-3548  [001]   215.091142: Unknown type 0\n           \u003c...\u003e-3548  [001]   216.089207: Unknown type 0\n           \u003c...\u003e-3548  [001]   217.087271: Unknown type 0\n           \u003c...\u003e-3548  [001]   218.085332: Unknown type 0\n\n[ Impact: fix output for trace events with id \u003e\u003d 256 ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c49EEDB0E.5070207@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3554228d4289098a8fe5cfd87512ec32a19bbe5a",
      "tree": "6153783ba611e8d55eb4f6dde08526ee733cfb4a",
      "parents": [
        "f66578a7637b87810cbb9041c4e3a77fd2fa4706"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 21 09:41:26 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 21 16:00:45 2009 +0200"
      },
      "message": "ring-buffer: only warn on wrap if buffer is bigger than two pages\n\nOn boot up, to save memory, ftrace allocates the minimum buffer\nwhich is two pages. Ftrace also goes through a series of tests\n(when configured) on boot up. These tests can fill up a page within\na single interrupt.\n\nThe ring buffer also has a WARN_ON when it detects that the buffer was\ncompletely filled within a single commit (other commits are allowed to\nbe nested).\n\nCombine the small buffer on start up, with the tests that can fill more\nthan a single page within an interrupt, this can trigger the WARN_ON.\n\nThis patch makes the WARN_ON only happen when the ring buffer consists\nof more than two pages.\n\n[ Impact: prevent false WARN_ON in ftrace startup tests ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20090421094616.GA14561@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f66578a7637b87810cbb9041c4e3a77fd2fa4706",
      "tree": "13b4ac67791369daa1b9559f427e128a70e6b9aa",
      "parents": [
        "e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 21 17:12:11 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 21 11:58:28 2009 +0200"
      },
      "message": "tracing/filters: allow user-input to be integer-like string\n\nSuppose we would like to trace all tasks named \u0027123\u0027, but this\nwill fail:\n\n # echo \u0027parent_comm \u003d\u003d 123\u0027 \u003e events/sched/sched_process_fork/filter\n bash: echo: write error: Invalid argument\n\nDon\u0027t guess the type of the filter pred in filter_parse(), but instead\nwe check it in __filter_add_pred().\n\n[ Impact: extend allowed filter field string values ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49ED8DEB.6000700@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a",
      "tree": "8c809037eb92171b1d8f9f2627111751d562267f",
      "parents": [
        "cb4764a6dbffd9bb3cf759421ae82384071a933d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 21 17:11:46 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 21 11:58:27 2009 +0200"
      },
      "message": "tracing/filters: don\u0027t remove old filters when failed to write subsys-\u003efilter\n\nIf writing subsys-\u003efilter returns EINVAL or ENOSPC, the original\nfilters in subsys/ and subsys/events/ will be removed. This is\ndefinitely wrong.\n\n[ Impact: fix filter setting semantics on error condition ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49ED8DD2.2070700@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb4764a6dbffd9bb3cf759421ae82384071a933d",
      "tree": "36f28716865fdac826848f23160d7a25e332f8f5",
      "parents": [
        "aa18efb2a2f07e1cf062039848e9d369bb358724"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 18:16:44 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 18:16:44 2009 -0400"
      },
      "message": "tracing: use nowakeup version of commit for function event trace tests\n\nThe startup tests for the event tracer also runs with the function\ntracer enabled. The \"wakeup\" version of the trace commit was used\nwhich can grab spinlocks. If a task was preempted by an NMI\nthat called a function being traced, it could deadlock due to the\nfunction tracer trying to grab the same lock.\n\nThanks to Frederic Weisbecker for pointing out where the bug was.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "aa18efb2a2f07e1cf062039848e9d369bb358724",
      "tree": "e68169b1116a313a8db02e913443a2c2899f3bf2",
      "parents": [
        "e395898e98119085f666febbc7b631dd69bc637f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 16:16:11 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 16:16:11 2009 -0400"
      },
      "message": "tracing: use recursive counter over irq level\n\nAlthought using the irq level (hardirq_count, softirq_count and in_nmi)\nwas nice to detect bad recursion right away, but since the counters are\nnot atomically updated with respect to the interrupts, the function tracer\nmight trigger the test from an interrupt handler before the hardirq_count\nis updated. This will trigger a false warning.\n\nThis patch converts the recursive detection to a simple counter.\nIf the depth is greater than 16 then the recursive detection will trigger.\n16 is more than enough for any nested interrupts.\n\n[ Impact: fix false positive trace recursion detection ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e395898e98119085f666febbc7b631dd69bc637f",
      "tree": "aa10e8a7c79c30c74db67bae6a9aa65201839065",
      "parents": [
        "17487bfeb6cfb05920e6a9d5a54f345f2917b4e7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 13:32:44 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 13:32:44 2009 -0400"
      },
      "message": "tracing: remove recursive test from ring_buffer_event_discard\n\nThe ring_buffer_event_discard is not tied to ring_buffer_lock_reserve.\nIt can be called inside or outside the reserve/commit. Even if it\nis called inside the reserve/commit the commit part must also be called.\n\nOnly ring_buffer_discard_commit can be used as a replacement for\nring_buffer_unlock_commit.\n\nThis patch removes the trace_recursive_unlock from ring_buffer_event_discard\nsince it would be the wrong place to do so.\n\n[Impact: prevent breakage in trace recursive testing ]\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "17487bfeb6cfb05920e6a9d5a54f345f2917b4e7",
      "tree": "23064df0a7814788823484098450cb2924ff9a34",
      "parents": [
        "23de29de2d8b227943be191d59fb6d983996d55e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 13:24:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 13:24:21 2009 -0400"
      },
      "message": "tracing: fix recursive test level calculation\n\nThe recursive tests to detect same level recursion in the ring buffers\ndid not account for the hard/softirq_counts to be shifted. Thus the\nnumbers could be larger than then mask to be tested.\n\nThis patch includes the shift for the calculation of the irq depth.\n\n[ Impact: stop false positives in trace recursion detection ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "28d20e2d6e94434827e11c310788b87204b84559",
      "tree": "241f40d1c883680603396fcc5e810aeeaa238574",
      "parents": [
        "a7abe97fd8e7a6ccabba5a04a9f17be9211d418c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 12:12:44 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 12:12:44 2009 -0400"
      },
      "message": "tracing/events: call the correct event trace selftest init function\n\nThe late_initcall calls a helper function instead of the proper\ninit event selftest function.\n\nThis update may have been lost due to conflicting merges.\n\n[ Impact: fix compiler warning and call extended event trace self tests ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a7abe97fd8e7a6ccabba5a04a9f17be9211d418c",
      "tree": "5bd11a18c08cd3f53a7e48ba72443b52f84b9369",
      "parents": [
        "4ed9f0716e46bb9646f26e73f4a1b5b24db7947a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:59:34 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 17:55:35 2009 +0200"
      },
      "message": "tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING\n\nCurrently we have two configs: EVENT_TRACING and EVENT_TRACER.\nAll tracers enable EVENT_TRACING. The EVENT_TRACER is only a\nconvenience to enable the EVENT_TRACING when no other tracers\nare enabled.\n\nThe names EVENT_TRACER and EVENT_TRACING are too similar and confusing.\nThis patch renames EVENT_TRACER to ENABLE_EVENT_TRACING to be more\nappropriate to what it actually does, as well as add a comment in\nthe help menu to explain the option\u0027s purpose.\n\n[ Impact: rename config option to reduce confusion ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4ed9f0716e46bb9646f26e73f4a1b5b24db7947a",
      "tree": "c900491f9a7a67d063745d10f24e4e4010ffd901",
      "parents": [
        "9ae5b8790037d05d32746f521af146c32089bfec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:47:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 11:07:49 2009 -0400"
      },
      "message": "tracing: create menuconfig for tracing infrastructure\n\nDuring testing we often use randconfig to test various kernels.\nThe current configuration set up does not give an easy way to disable\nall tracing with a single config. The case where randconfig would\ntest all tracing disabled is very unlikely.\n\nThis patch adds a config option to enable or disable all tracing.\nIt is hooked into the tracing menu just like other submenus are done.\n\n[ Impact: allow randconfig to easily produce all traces disabled ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9ae5b8790037d05d32746f521af146c32089bfec",
      "tree": "29b0ef5bc534490fa8a25a906d41b8d44ebcfe48",
      "parents": [
        "f3b9aae16219aaeca2dd5a9ca69f7a10faa063df"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:27:58 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 11:07:48 2009 -0400"
      },
      "message": "tracing: change branch profiling to a choice selection\n\nThis patch makes the branch profiling into a choice selection:\n\n  None               - no branch profiling\n  likely/unlikely    - only profile likely/unlikely branches\n  all                - profile all branches\n\nThe all profiler will also enable the likely/unlikely branches.\n\nThis does not change the way the profiler works or the dependencies\nbetween the profilers.\n\nWhat this patch does, is keep the branch profiling from being selected\nby an allyesconfig make. The branch profiler is very intrusive and\nit is known to break various architecture builds when selected as an\nallyesconfig.\n\n[ Impact: prevent branch profiler from being selected in allyesconfig ]\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f3b9aae16219aaeca2dd5a9ca69f7a10faa063df",
      "tree": "67086cbe4b26fc29035f7b800f56d16a653373f7",
      "parents": [
        "e057a5e5647a1c9d0d0054fbd298bfa04b3d1cb4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Apr 19 23:39:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 10:59:20 2009 +0200"
      },
      "message": "tracing/ring-buffer: Add unlock recursion protection on discard\n\nThe pair of helpers trace_recursive_lock() and trace_recursive_unlock()\nhave been introduced recently to provide generic tracing recursion\nprotection.\n\nThey are used in a symetric way:\n\n - trace_recursive_lock() on buffer reserve\n - trace_recursive_unlock() on buffer commit\n\nHowever sometimes, we don\u0027t commit but discard on entry\nto the buffer, ie: in case of filter checking.\n\nThen we must also unlock the recursion protection on discard time,\notherwise the tracing gets definitely deactivated and a warning\nis raised spuriously, such as:\n\n111.119821] ------------[ cut here ]------------\n[  111.119829] WARNING: at kernel/trace/ring_buffer.c:1498 ring_buffer_lock_reserve+0x1b7/0x1d0()\n[  111.119835] Hardware name: AMILO Li 2727\n[  111.119839] Modules linked in:\n[  111.119846] Pid: 5731, comm: Xorg Tainted: G        W  2.6.30-rc1 #69\n[  111.119851] Call Trace:\n[  111.119863]  [\u003cffffffff8025ce68\u003e] warn_slowpath+0xd8/0x130\n[  111.119873]  [\u003cffffffff8028a30f\u003e] ? __lock_acquire+0x19f/0x1ae0\n[  111.119882]  [\u003cffffffff8028a30f\u003e] ? __lock_acquire+0x19f/0x1ae0\n[  111.119891]  [\u003cffffffff802199b0\u003e] ? native_sched_clock+0x20/0x70\n[  111.119899]  [\u003cffffffff80286dee\u003e] ? put_lock_stats+0xe/0x30\n[  111.119906]  [\u003cffffffff80286eb8\u003e] ? lock_release_holdtime+0xa8/0x150\n[  111.119913]  [\u003cffffffff802c8ae7\u003e] ring_buffer_lock_reserve+0x1b7/0x1d0\n[  111.119921]  [\u003cffffffff802cd110\u003e] trace_buffer_lock_reserve+0x30/0x70\n[  111.119930]  [\u003cffffffff802ce000\u003e] trace_current_buffer_lock_reserve+0x20/0x30\n[  111.119939]  [\u003cffffffff802474e8\u003e] ftrace_raw_event_sched_switch+0x58/0x100\n[  111.119948]  [\u003cffffffff808103b7\u003e] __schedule+0x3a7/0x4cd\n[  111.119957]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.119964]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.119971]  [\u003cffffffff80810c08\u003e] schedule+0x18/0x40\n[  111.119977]  [\u003cffffffff80810e09\u003e] preempt_schedule+0x39/0x60\n[  111.119985]  [\u003cffffffff80813bd3\u003e] _read_unlock+0x53/0x60\n[  111.119993]  [\u003cffffffff807259d2\u003e] sock_def_readable+0x72/0x80\n[  111.120002]  [\u003cffffffff807ad5ed\u003e] unix_stream_sendmsg+0x24d/0x3d0\n[  111.120011]  [\u003cffffffff807219a3\u003e] sock_aio_write+0x143/0x160\n[  111.120019]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.120026]  [\u003cffffffff80721860\u003e] ? sock_aio_write+0x0/0x160\n[  111.120033]  [\u003cffffffff80721860\u003e] ? sock_aio_write+0x0/0x160\n[  111.120042]  [\u003cffffffff8031c283\u003e] do_sync_readv_writev+0xf3/0x140\n[  111.120049]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.120057]  [\u003cffffffff80276ff0\u003e] ? autoremove_wake_function+0x0/0x40\n[  111.120067]  [\u003cffffffff8045d489\u003e] ? cap_file_permission+0x9/0x10\n[  111.120074]  [\u003cffffffff8045c1e6\u003e] ? security_file_permission+0x16/0x20\n[  111.120082]  [\u003cffffffff8031cab4\u003e] do_readv_writev+0xd4/0x1f0\n[  111.120089]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.120097]  [\u003cffffffff80211b56\u003e] ? ftrace_call+0x5/0x2b\n[  111.120105]  [\u003cffffffff8031cc18\u003e] vfs_writev+0x48/0x70\n[  111.120111]  [\u003cffffffff8031cd65\u003e] sys_writev+0x55/0xc0\n[  111.120119]  [\u003cffffffff80211e32\u003e] system_call_fastpath+0x16/0x1b\n[  111.120125] ---[ end trace 15605f4e98d5ccb5 ]---\n\n[ Impact: fix spurious warning triggering tracing shutdown ]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e057a5e5647a1c9d0d0054fbd298bfa04b3d1cb4",
      "tree": "4495ffacfb31ff535c9e6fde5ea03f62dd3c3b53",
      "parents": [
        "8e668b5b3455207e4540fc7ccab9ecf70142f288"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Apr 19 23:38:12 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Apr 19 23:38:12 2009 +0200"
      },
      "message": "tracing/core: Add current context on tracing recursion warning\n\nIn case of tracing recursion detection, we only get the stacktrace.\nBut the current context may be very useful to debug the issue.\n\nThis patch adds the softirq/hardirq/nmi context with the warning\nusing lockdep context display to have a familiar output.\n\nv2: Use printk_once()\nv3: drop {hardirq,softirq}_context which depend on lockdep,\n    only keep what is part of current-\u003etrace_recursion,\n    sufficient to debug the warning source.\n\n[ Impact: print context necessary to debug recursion ]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "3189cdb31622f4e40688ce5a6fc5d940b42bc805",
      "tree": "89f370c0079281c55f37230c17951514c1b508c9",
      "parents": [
        "261842b7c9099f56de2eb969c8ad65402d68e00e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 17 16:13:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 17 16:21:35 2009 -0400"
      },
      "message": "tracing: protect trace_printk from recursion\n\ntrace_printk can be called from any context, including NMIs.\nIf this happens, then we must test for for recursion before\ngrabbing any spinlocks.\n\nThis patch prevents trace_printk from being called recursively.\n\n[ Impact: prevent hard lockup in lockdep event tracer ]\n\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "261842b7c9099f56de2eb969c8ad65402d68e00e",
      "tree": "6cdf0b4b5ad188294da67520dc9579a0c67940ac",
      "parents": [
        "12acd473d45cf2e40de3782cb2de712e5cd4d715"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 16 21:41:52 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 17 16:21:32 2009 -0400"
      },
      "message": "tracing: add same level recursion detection\n\nThe tracing infrastructure allows for recursion. That is, an interrupt\nmay interrupt the act of tracing an event, and that interrupt may very well\nperform its own trace. This is a recursive trace, and is fine to do.\n\nThe problem arises when there is a bug, and the utility doing the trace\ncalls something that recurses back into the tracer. This recursion is not\ncaused by an external event like an interrupt, but by code that is not\nexpected to recurse. The result could be a lockup.\n\nThis patch adds a bitmask to the task structure that keeps track\nof the trace recursion. To find the interrupt depth, the following\nalgorithm is used:\n\n  level \u003d hardirq_count() + softirq_count() + in_nmi;\n\nHere, level will be the depth of interrutps and softirqs, and even handles\nthe nmi. Then the corresponding bit is set in the recursion bitmask.\nIf the bit was already set, we know we had a recursion at the same level\nand we warn about it and fail the writing to the buffer.\n\nAfter the data has been committed to the buffer, we clear the bit.\nNo atomics are needed. The only races are with interrupts and they reset\nthe bitmask before returning anywy.\n\n[ Impact: detect same irq level trace recursion ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "12acd473d45cf2e40de3782cb2de712e5cd4d715",
      "tree": "96606659bd0d981ca1c97c4753388e0b594a5eb1",
      "parents": [
        "b0afdc126d0515e76890f0a5f26b28501cfa298e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 17 16:01:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 17 16:21:28 2009 -0400"
      },
      "message": "tracing: add EXPORT_SYMBOL_GPL for trace commits\n\nNot all the necessary symbols were exported to allow for tracing\nby modules. This patch adds them in.\n\n[ Impact: allow modules to commit data to the ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ac1adc55fc71c7515caa2eb0e63e49b3d1c6a47c",
      "tree": "7a97cf9512572c53d0802725f8e0ad6a2d4b2204",
      "parents": [
        "46de405f25f1d9fa73b657ffbb752aa0cc87a91d"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Fri Apr 17 00:27:08 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:28:27 2009 +0200"
      },
      "message": "tracing/filters: add filter_mutex to protect filter predicates\n\nThis patch adds a filter_mutex to prevent the filter predicates from\nbeing accessed concurrently by various external functions.\n\nIt\u0027s based on a previous patch by Li Zefan:\n        \"[PATCH 7/7] tracing/filters: make filter preds RCU safe\"\n\nv2 changes:\n\n- fixed wrong value returned in a add_subsystem_pred() failure case\n  noticed by Li Zefan.\n\n[ Impact: fix trace filter corruption/crashes on parallel access ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1239946028.6639.13.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "339ae5d3c3fc2025e3657637921495fd600027c7",
      "tree": "7749cf0d5c2d4a0cfd9029038d55b94478b9b56c",
      "parents": [
        "76aa81118ddfbb3dc31533030cf3ec329dd067a6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 17 10:34:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:04:36 2009 +0200"
      },
      "message": "tracing: fix file mode of trace and README\n\ntrace is read-write and README is read-only.\n\n[ Impact: fix /debug/tracing/ file permissions. ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E7EAB6.4070605@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ea21c1ecdb35ecdcac5fd9d95f62a1f6a7ffec0",
      "tree": "c38a7f2f30d145e7d53b24159b99bc4734d291b5",
      "parents": [
        "69abe6a5d18a9394baa325bab8f57748b037c517"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 16 12:15:44 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 17:10:35 2009 +0200"
      },
      "message": "tracing/events: perform function tracing in event selftests\n\nWe can find some bugs in the trace events if we stress the writes as well.\nThe function tracer is a good way to stress the events.\n\n[ Impact: extend scope of event tracer self-tests ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20090416161746.604786131@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69abe6a5d18a9394baa325bab8f57748b037c517",
      "tree": "4432c60f73d14af510ab13b9b474e174fd2454c5",
      "parents": [
        "d1b182a8d49ed6416325b4e0a1cb0f17cd4e702a"
      ],
      "author": {
        "name": "Avadh Patel",
        "email": "avadh4all@gmail.com",
        "time": "Fri Apr 10 16:04:48 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 17:04:12 2009 +0200"
      },
      "message": "tracing: add saved_cmdlines file to show cached task comms\n\nExport the cached task comms to userspace. This allows user apps to translate\nthe pids from a trace into their respective task command lines.\n\n[ Impact: let userspace apps reading binary buffer know comm\u0027s of pids ]\n\nSigned-off-by: Avadh Patel \u003cavadh4all@gmail.com\u003e\n[ added error checking and use of buf pointer to index file_buf ]\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d1b182a8d49ed6416325b4e0a1cb0f17cd4e702a",
      "tree": "f482bfba39828503f32ed994829d2d3cd6b81bfe",
      "parents": [
        "e6187007d6c365b551c69ea3df46f06fd1c8bd19"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 15 16:53:47 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 17:03:28 2009 +0200"
      },
      "message": "tracing/events/ring-buffer: expose format of ring buffer headers to users\n\nCurrently, every thing needed to read the binary output from the\nring buffers is available, with the exception of the way the ring\nbuffers handles itself internally.\n\nThis patch creates two special files in the debugfs/tracing/events\ndirectory:\n\n # cat /debug/tracing/events/header_page\n        field: u64 timestamp;   offset:0;       size:8;\n        field: local_t commit;  offset:8;       size:8;\n        field: char data;       offset:16;      size:4080;\n\n # cat /debug/tracing/events/header_event\n        type        :    2 bits\n        len         :    3 bits\n        time_delta  :   27 bits\n        array       :   32 bits\n\n        padding     : type \u003d\u003d 0\n        time_extend : type \u003d\u003d 1\n        data        : type \u003d\u003d 3\n\nThis is to allow a userspace app to see if the ring buffer format changes\nor not.\n\n[ Impact: allow userspace apps to know of ringbuffer format changes ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e6187007d6c365b551c69ea3df46f06fd1c8bd19",
      "tree": "6607598ccbe4f10470114f3667649c603d19cc0c",
      "parents": [
        "93eb677d74a4f7d3edfb678c94f6c0544d9fbad2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 15 13:36:40 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 17:01:37 2009 +0200"
      },
      "message": "tracing/events: add startup tests for events\n\nAs events start to become popular, and the new way to add tracing\ninfrastructure into ftrace, it is important to catch any problems\nthat might happen with a mistake in the TRACE_EVENT macro.\n\nThis patch introduces a startup self test on the registered trace\nevents. Note, it can only do a generic test, any type of testing that\nneeds more involement is needed to be implemented by the tracepoint\ncreators.\n\nThe test goes down one by one enabling a trace point and running\nsome random tasks (random in the sense that I just made them up).\nThose tasks are creating threads, grabbing mutexes and spinlocks\nand using workqueues.\n\nAfter testing each event individually, it does the same test after\nenabling each system of trace points. Like sched, irq, lockdep.\n\nThen finally it enables all tracepoints and performs the tasks again.\nThe output to the console on bootup will look like this when everything\nworks:\n\nRunning tests on trace events:\nTesting event kfree_skb: OK\nTesting event kmalloc: OK\nTesting event kmem_cache_alloc: OK\nTesting event kmalloc_node: OK\nTesting event kmem_cache_alloc_node: OK\nTesting event kfree: OK\nTesting event kmem_cache_free: OK\nTesting event irq_handler_exit: OK\nTesting event irq_handler_entry: OK\nTesting event softirq_entry: OK\nTesting event softirq_exit: OK\nTesting event lock_acquire: OK\nTesting event lock_release: OK\nTesting event sched_kthread_stop: OK\nTesting event sched_kthread_stop_ret: OK\nTesting event sched_wait_task: OK\nTesting event sched_wakeup: OK\nTesting event sched_wakeup_new: OK\nTesting event sched_switch: OK\nTesting event sched_migrate_task: OK\nTesting event sched_process_free: OK\nTesting event sched_process_exit: OK\nTesting event sched_process_wait: OK\nTesting event sched_process_fork: OK\nTesting event sched_signal_send: OK\nRunning tests on trace event systems:\nTesting event system skb: OK\nTesting event system kmem: OK\nTesting event system irq: OK\nTesting event system lockdep: OK\nTesting event system sched: OK\nRunning tests on all trace events:\nTesting all events: OK\n\n[ folded in:\n\n  tracing: add #include \u003clinux/delay.h\u003e to fix build failure in test_work()\n\n  This build failure occured on a few rare configs:\n\n   kernel/trace/trace_events.c: In function ‘test_work’:\n   kernel/trace/trace_events.c:975: error: implicit declaration of function ‘udelay’\n   kernel/trace/trace_events.c:980: error: implicit declaration of function ‘msleep’\n\n  delay.h is included in way too many other headers, hiding cases\n  where new usage is added without header inclusion.\n\n  [ Impact: build fix ]\n\n  Signed-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n]\n\n[ Impact: add event tracer self-tests ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "93eb677d74a4f7d3edfb678c94f6c0544d9fbad2",
      "tree": "8bbc46895be623a78316230362e94969dbb02135",
      "parents": [
        "f3948f8857ef5de239f28a61dddb1554a0ae4c2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 15 13:24:06 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 16:59:15 2009 +0200"
      },
      "message": "ftrace: use module notifier for function tracer\n\nThe hooks in the module code for the function tracer must be called\nbefore any of that module code runs. The function tracer hooks\nmodify the module (replacing calls to mcount to nops). If the code\nis executed while the change occurs, then the CPU can take a GPF.\n\nTo handle the above with a bit of paranoia, I originally implemented\nthe hooks as calls directly from the module code.\n\nAfter examining the notifier calls, it looks as though the start up\nnotify is called before any of the module\u0027s code is executed. This makes\nthe use of the notify safe with ftrace.\n\nOnly the startup notify is required to be \"safe\". The shutdown simply\nremoves the entries from the ftrace function list, and does not modify\nany code.\n\nThis change has another benefit. It removes a issue with a reverse dependency\nin the mutexes of ftrace_lock and module_mutex.\n\n[ Impact: fix lock dependency bug, cleanup ]\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f3948f8857ef5de239f28a61dddb1554a0ae4c2c",
      "tree": "62e5568c18b944d086366510fb0ff8ed71682897",
      "parents": [
        "1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 15 11:02:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:11:01 2009 +0200"
      },
      "message": "blktrace: fix context-info when mixed-using blk tracer and trace events\n\nWhen current tracer is set to blk tracer, TRACE_ITER_CONTEXT_INFO is\nunset, but actually context-info is printed:\n\n    pdflush-431   [000]   821.181576:   8,0    P   N [pdflush]\n\nAnd then if we enable TRACE_ITER_CONTEXT_INFO:\n\n    # echo context-info \u003e trace_options\n\nWe\u0027ll see context-info printed twice. What\u0027s worse, when we use blk\ntracer and trace events at the same time, we\u0027ll see no context-info\nfor trace events at all:\n\n    jbd2_commit_logging: dev dm-0:8 transaction 333227\n    jbd2_end_commit: dev dm-0:8 transaction 333227 head 332814\n      rm-25433 [001]  9578.307485:   8,18   m   N cfq25433 slice expired t\u003d0\n      rm-25433 [001]  9578.307486:   8,18   m   N cfq25433 put_queue\n\nThis patch adds blk_tracer-\u003eset_flags(), and context-info flag is unset\nonly when we set the output to classic mode.\n\nNote after this patch, one should unset context-info explicitly if he\nwants to get binary output that can be parsed by blkparse:\n\n    # echo nocontext-info \u003e trace_options\n    # echo bin \u003e trace_options\n    # echo blk \u003e current_tracer\n    # cat trace_pipe | blkparse -i -\n\nReported-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E54E60.50408@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82",
      "tree": "fd5917f144ec820b933795bedd7eddea96bee374",
      "parents": [
        "9908c30997b8a73c95f836170b9998dae9aa3f4a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 14 14:00:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:59 2009 +0200"
      },
      "message": "blktrace: add trace/ to /sys/block/sda\n\nImpact: allow ftrace-plugin blktrace to trace device-mapper devices\n\nTo trace a single partition:\n  # echo 1 \u003e /sys/block/sda/sda1/enable\n\nTo trace the whole sda instead:\n  # echo 1 \u003e /sys/block/sda/enable\n\nThus we also fix an issue reported by Ted, that ftrace-plugin blktrace\ncan\u0027t be used to trace device-mapper devices.\n\nNow:\n\n  # echo 1 \u003e /sys/block/dm-0/trace/enable\n  echo: write error: No such device or address\n  # mount -t ext4 /dev/dm-0 /mnt\n  # echo 1 \u003e /sys/block/dm-0/trace/enable\n  # echo blk \u003e /debug/tracing/current_tracer\n\nReported-by: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Shawn Du \u003cduyuyang@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42665.6020506@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9908c30997b8a73c95f836170b9998dae9aa3f4a",
      "tree": "d44d6d663a150c26b5d7be6edebb1abbb88ecc94",
      "parents": [
        "d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 14 13:59:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:58 2009 +0200"
      },
      "message": "blktrace: support per-partition tracing for ftrace plugin\n\nThe previous patch adds support to trace a single partition for\nrelay+ioctl blktrace, and this patch is for ftrace plugin blktrace:\n\n  # echo 1 \u003e /sys/block/sda/sda7/enable\n  # cat start_lba\n  102398373\n  # cat end_lba\n  102703545\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Shawn Du \u003cduyuyang@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42646.4060608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d",
      "tree": "de1d438935a4cc50dd9d7e0ccccc3cfc5c7e6c06",
      "parents": [
        "9cfe06f8cd5c8c3ad6ab323973e87dde670642b8"
      ],
      "author": {
        "name": "Shawn Du",
        "email": "duyuyang@gmail.com",
        "time": "Tue Apr 14 13:58:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:57 2009 +0200"
      },
      "message": "blktrace: support per-partition tracing\n\nThough one can specify \u0027-d /dev/sda1\u0027 when using blktrace, it still\ntraces the whole sda.\n\nTo support per-partition tracing, when we start tracing, we initialize\nbt-\u003estart_lba and bt-\u003eend_lba to the start and end sector of that\npartition.\n\nNote some actions are per device, thus we don\u0027t filter 0-sector events.\n\nThe original patch and discussion can be found here:\n\thttp://marc.info/?l\u003dlinux-btrace\u0026m\u003d122949374214540\u0026w\u003d2\n\nSigned-off-by: Shawn Du \u003cduyuyang@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42620.4050701@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad8d75fff811a6a230f7f43b05a6483099349533",
      "tree": "764f75c0785b29067b141719b6e8000f005da7fd",
      "parents": [
        "ecda8ae02a08ef065ff387f5cb2a2d4999da2408"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 14 19:39:12 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 22:05:43 2009 -0400"
      },
      "message": "tracing/events: move trace point headers into include/trace/events\n\nImpact: clean up\n\nCreate a sub directory in include/trace called events to keep the\ntrace point headers in their own separate directory. Only headers that\ndeclare trace points should be defined in this directory.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "61f919a12fbdc3fd20f980a34a118d597198a392",
      "tree": "0c8ee118fabb29ff2c0be699948cb4b00627b543",
      "parents": [
        "6d723736e472f7a0cd5b62c84152fceead241328"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 14 18:22:32 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 22:04:19 2009 -0400"
      },
      "message": "tracing/events: fix compile for modules disabled\n\nImpact: compile fix\n\nThe addition of TRACE_EVENT for modules breaks the build for when\nmodules are disabled. This code fixes that.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6d723736e472f7a0cd5b62c84152fceead241328",
      "tree": "8df2f6c47ebdfdeb8979758c877a5abbd9c06aef",
      "parents": [
        "17c873ec280a03894bc718af817f7f24fa787ae1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 14:53:50 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:58:03 2009 -0400"
      },
      "message": "tracing/events: add support for modules to TRACE_EVENT\n\nImpact: allow modules to add TRACE_EVENTS on load\n\nThis patch adds the final hooks to allow modules to use the TRACE_EVENT\nmacro. A notifier and a data structure are used to link the TRACE_EVENTs\ndefined in the module to connect them with the ftrace event tracing system.\n\nIt also adds the necessary automated clean ups to the trace events when a\nmodule is removed.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "17c873ec280a03894bc718af817f7f24fa787ae1",
      "tree": "3acdcd41c2b80c207932625cc5e132056954d803",
      "parents": [
        "a59fd6027218bd7c994e39d14afe0242f895144f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 18:12:50 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:58:01 2009 -0400"
      },
      "message": "tracing/events: add export symbols for trace events in modules\n\nImpact: let modules add trace events\n\nThe trace event code requires some functions to be exported to allow\nmodules to use TRACE_EVENT. This patch adds EXPORT_SYMBOL_GPL to the\nnecessary functions.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a59fd6027218bd7c994e39d14afe0242f895144f",
      "tree": "c22e6ff2924726319eac84c480eca72066bad660",
      "parents": [
        "f42c85e74faa422cf0bc747ed808681145448f88"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 13:52:20 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:58:00 2009 -0400"
      },
      "message": "tracing/events: convert event call sites to use a link list\n\nImpact: makes it possible to define events in modules\n\nThe events are created by reading down the section that they are linked\nin by the macros. But this is not scalable to modules. This patch converts\nthe manipulations to use a global link list, and on boot up it adds\nthe items in the section to the list.\n\nThis change will allow modules to add their tracing events to the list as\nwell.\n\nNote, this change alone does not permit modules to use the TRACE_EVENT macros,\nbut the change is needed for them to eventually do so.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f42c85e74faa422cf0bc747ed808681145448f88",
      "tree": "3775dc0a402f7da5247aa8ceb92ae89590038199",
      "parents": [
        "97f2025153499faa17267a0d4e18c7afaf73f39d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 13 12:25:37 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:59 2009 -0400"
      },
      "message": "tracing/events: move the ftrace event tracing code to core\n\nThis patch moves the ftrace creation into include/trace/ftrace.h and\nsimplifies the work of developers in adding new tracepoints.\nJust the act of creating the trace points in include/trace and including\ndefine_trace.h will create the events in the debugfs/tracing/events\ndirectory.\n\nThis patch removes the need of include/trace/trace_events.h\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "97f2025153499faa17267a0d4e18c7afaf73f39d",
      "tree": "cd3ea51a93093ea5250ef38b4b5bf6c2aa3f9ed5",
      "parents": [
        "9504504cbab29ecb694186b1c5b15d3579c43c51"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 13 11:20:49 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:58 2009 -0400"
      },
      "message": "tracing/events: move declarations from trace directory to core include\n\nIn preparation to allowing trace events to happen in modules, we need\nto move some of the local declarations in the kernel/trace directory\ninto include/linux.\n\nThis patch simply moves the declarations and performs no context changes.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9504504cbab29ecb694186b1c5b15d3579c43c51",
      "tree": "fd91bec634dfff191699616523812a3d4ffe6348",
      "parents": [
        "a8d154b009168337494fbf345671bab74d3e4b8b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Apr 11 12:59:57 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:57 2009 -0400"
      },
      "message": "tracing: make trace_seq operations available for core kernel\n\nIn the process to make TRACE_EVENT macro work for modules, the trace_seq\noperations must be available for core kernel code.\n\nThese operations are quite useful and can be used for other implementations.\n\nThe main idea is that we create a trace_seq handle that acts very much\nlike the seq_file handle.\n\n\tstruct trace_seq *s \u003d kmalloc(sizeof(*s, GFP_KERNEL);\n\n\ttrace_seq_init(s);\n\ttrace_seq_printf(s, \"some data %d\\n\", variable);\n\n\tprintk(\"%s\", s-\u003ebuffer);\n\nThe main use is to allow a top level function call several other functions\nthat may store printf like data into the buffer. Then at the end, the top\nlevel function can process all the data with any method it would like to.\nIt could be passed to userspace, output via printk or even use seq_file:\n\n\ttrace_seq_to_user(s, ubuf, cnt);\n\tseq_puts(m, s-\u003ebuffer);\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a8d154b009168337494fbf345671bab74d3e4b8b",
      "tree": "4097612e1a5cc8bf7658542f7d0f51b815113eaf",
      "parents": [
        "ea20d9293ce423a39717ed4375393129a2e701f9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 09:36:00 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:28 2009 -0400"
      },
      "message": "tracing: create automated trace defines\n\nThis patch lowers the number of places a developer must modify to add\nnew tracepoints. The current method to add a new tracepoint\ninto an existing system is to write the trace point macro in the\ntrace header with one of the macros TRACE_EVENT, TRACE_FORMAT or\nDECLARE_TRACE, then they must add the same named item into the C file\nwith the macro DEFINE_TRACE(name) and then add the trace point.\n\nThis change cuts out the needing to add the DEFINE_TRACE(name).\nEvery file that uses the tracepoint must still include the trace/\u003ctype\u003e.h\nfile, but the one C file must also add a define before the including\nof that file.\n\n #define CREATE_TRACE_POINTS\n #include \u003ctrace/mytrace.h\u003e\n\nThis will cause the trace/mytrace.h file to also produce the C code\nnecessary to implement the trace point.\n\nNote, if more than one trace/\u003ctype\u003e.h is used to create the C code\nit is best to list them all together.\n\n #define CREATE_TRACE_POINTS\n #include \u003ctrace/foo.h\u003e\n #include \u003ctrace/bar.h\u003e\n #include \u003ctrace/fido.h\u003e\n\nThanks to Mathieu Desnoyers and Christoph Hellwig for coming up with\nthe cleaner solution of the define above the includes over my first\ndesign to have the C code include a \"special\" header.\n\nThis patch converts sched, irq and lockdep and skb to use this new\nmethod.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ea20d9293ce423a39717ed4375393129a2e701f9",
      "tree": "30cbfd532e6541c17eb69a63044cfe7bce6cf974",
      "parents": [
        "0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 08:54:16 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 09:43:40 2009 -0400"
      },
      "message": "tracing: consolidate trace and trace_event headers\n\nImpact: clean up\n\nNeil Horman (et. al.) criticized the way the trace events were broken up\ninto two files. The reason for that was that ftrace needed to separate out\nthe declarations from where the #include \u003clinux/tracepoint.h\u003e was used.\nIt then dawned on me that the tracepoint.h header only needs to define the\nTRACE_EVENT macro if it is not already defined.\n\nThe solution is simply to test if TRACE_EVENT is defined, and if it is not\nthen the linux/tracepoint.h header can define it. This change consolidates\nall the \u003ctraces\u003e.h and \u003ctraces\u003e_event_types.h into the \u003ctraces\u003e.h file.\n\nReported-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: Theodore Tso \u003ctytso@mit.edu\u003e\nReported-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nCc: Zhaolei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d",
      "tree": "1089246a64f65b2b3c2ba29182ed4f9ce9ad375e",
      "parents": [
        "b5c851a88a369854c04e511cefb84ea2d0cfa209"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Mon Apr 13 03:17:50 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:03:55 2009 +0200"
      },
      "message": "tracing/filters: allow on-the-fly filter switching\n\nThis patch allows event filters to be safely removed or switched\non-the-fly while avoiding the use of rcu or the suspension of tracing of\nprevious versions.\n\nIt does it by adding a new filter_pred_none() predicate function which\ndoes nothing and by never deallocating either the predicates or any of\nthe filter_pred members used in matching; the predicate lists are\nallocated and initialized during ftrace_event_calls initialization.\n\nWhenever a filter is removed or replaced, the filter_pred_* functions\ncurrently in use by the affected ftrace_event_call are immediately\nswitched over to to the filter_pred_none() function, while the rest of\nthe filter_pred members are left intact, allowing any currently\nexecuting filter_pred_* functions to finish up, using the values they\u0027re\ncurrently using.\n\nIn the case of filter replacement, the new predicate values are copied\ninto the old predicates after the above step, and the filter_pred_none()\nfunctions are replaced by the filter_pred_* functions for the new\nfilter.  In this case, it is possible though very unlikely that a\nprevious filter_pred_* is still running even after the\nfilter_pred_none() switch and the switch to the new filter_pred_*.  In\nthat case, however, because nothing has been deallocated in the\nfilter_pred, the worst that can happen is that the old filter_pred_*\nfunction sees the new values and as a result produces either a false\npositive or a false negative, depending on the values it finds.\n\nSo one downside to this method is that rarely, it can produce a bad\nmatch during the filter switch, but it should be possible to live with\nthat, IMHO.\n\nThe other downside is that at least in this patch the predicate lists\nare always pre-allocated, taking up memory from the start.  They could\nprobably be allocated on first-use, and de-allocated when tracing is\ncompletely stopped - if this patch makes sense, I could create another\none to do that later on.\n\nOh, and it also places a restriction on the size of __arrays in events,\ncurrently set to 128, since they can\u0027t be larger than the now embedded\nstr_val arrays in the filter_pred struct.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1239610670.6660.49.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5c851a88a369854c04e511cefb84ea2d0cfa209",
      "tree": "55084d3d51708f90f27d0a70db5ab63916942f14",
      "parents": [
        "eb02ce017dd83985041a7e54c6449f92d53b026f",
        "80a04d3f2f94fb68b5df05e3ac6697130bc3467a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:02:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:02:22 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: merge latest tracing fixes to avoid conflicts in\n              kernel/trace/trace_events_filter.c with upcoming change\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb02ce017dd83985041a7e54c6449f92d53b026f",
      "tree": "7f52a3e92bf3dae1f3c7754a58ab76fb2eceb2e1",
      "parents": [
        "5f77a88b3f8268b11940b51d2e03d26a663ceb90"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Wed Apr 08 03:15:54 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:56 2009 +0200"
      },
      "message": "tracing/filters: use ring_buffer_discard_commit() in filter_check_discard()\n\nThis patch changes filter_check_discard() to make use of the new\nring_buffer_discard_commit() function and modifies the current users to\ncall the old commit function in the non-discard case.\n\nIt also introduces a version of filter_check_discard() that uses the\nglobal trace buffer (filter_current_check_discard()) for those cases.\n\nv2 changes:\n\n- fix compile error noticed by Ingo Molnar\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1239178554.10295.36.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f77a88b3f8268b11940b51d2e03d26a663ceb90",
      "tree": "b9540f9391b6f03860666193787619b5bdff1375",
      "parents": [
        "77d9f465d46fd67cdb82ee5e1ab99dd57a17c486"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Wed Apr 08 03:14:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:55 2009 +0200"
      },
      "message": "tracing/infrastructure: separate event tracer from event support\n\nAdd a new config option, CONFIG_EVENT_TRACING that gets selected\nwhen CONFIG_TRACING is selected and adds everything needed by the stuff\nin trace_export - basically all the event tracing support needed by e.g.\nbprint, minus the actual events, which are only included if\nCONFIG_EVENT_TRACER is selected.\n\nSo CONFIG_EVENT_TRACER can be used to turn on or off the generated events\n(what I think of as the \u0027event tracer\u0027), while CONFIG_EVENT_TRACING turns\non or off the base event tracing support used by both the event tracer and\nthe other things such as bprint that can\u0027t be configured out.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1239178441.10295.34.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77d9f465d46fd67cdb82ee5e1ab99dd57a17c486",
      "tree": "c21063ae5dff55522593f29e952c8a05958c6ce6",
      "parents": [
        "fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 02 01:16:59 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:54 2009 +0200"
      },
      "message": "tracing/filters: use ring_buffer_discard_commit for discarded events\n\nThe ring_buffer_discard_commit makes better usage of the ring_buffer\nwhen an event has been discarded. It tries to remove it completely if\npossible.\n\nThis patch converts the trace event filtering to use\nring_buffer_discard_commit instead of the ring_buffer_event_discard.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3",
      "tree": "3e5f14cccd9e4ec772310c1b2792b6f4b84bf7cb",
      "parents": [
        "e45f2e2bd298e1ff687448e5fd15a3588b5807ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 02 00:09:41 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:53 2009 +0200"
      },
      "message": "ring-buffer: add ring_buffer_discard_commit\n\nThe ring_buffer_discard_commit is similar to ring_buffer_event_discard\nbut it can only be done on an event that has yet to be commited.\nUnpredictable results can happen otherwise.\n\nThe main difference between ring_buffer_discard_commit and\nring_buffer_event_discard is that ring_buffer_discard_commit will try\nto free the data in the ring buffer if nothing has addded data\nafter the reserved event. If something did, then it acts almost the\nsame as ring_buffer_event_discard followed by a\nring_buffer_unlock_commit.\n\nNote, either ring_buffer_commit_discard and ring_buffer_unlock_commit\ncan be called on an event, not both.\n\nThis commit also exports both discard functions to be usable by\nGPL modules.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e45f2e2bd298e1ff687448e5fd15a3588b5807ec",
      "tree": "353f132d53ecb3e991cf59c3d43a7664cb87b743",
      "parents": [
        "e1112b4d96859367a93468027c9635e2ac04eb3f"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:49:16 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:51 2009 +0200"
      },
      "message": "tracing/filters: add TRACE_EVENT_FORMAT_NOFILTER event macro\n\nFrederic Weisbecker suggested that the trace_special event shouldn\u0027t be\nfilterable; this patch adds a TRACE_EVENT_FORMAT_NOFILTER event macro\nthat allows an event format to be exported without having a filter\nattached, and removes filtering from the trace_special event.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1112b4d96859367a93468027c9635e2ac04eb3f",
      "tree": "5170980ea71ee4bb5d0196880b58dbc997211b65",
      "parents": [
        "66de7792c02693b49671afe58c771fde3b092fc7"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Mar 31 00:48:49 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:50 2009 +0200"
      },
      "message": "tracing/filters: add run-time field descriptions to TRACE_EVENT_FORMAT events\n\nThis patch adds run-time field descriptions to all the event formats\nexported using TRACE_EVENT_FORMAT.  It also hooks up all the tracers\nthat use them (i.e. the tracers in the \u0027ftrace subsystem\u0027) so they can\nalso have their output filtered by the event-filtering mechanism.\n\nWhen I was testing this, there were a couple of things that fooled me\ninto thinking the filters weren\u0027t working, when actually they were -\nI\u0027ll mention them here so others don\u0027t make the same mistakes (and file\nbug reports. ;-)\n\nOne is that some of the tracers trace multiple events e.g. the\nsched_switch tracer uses the context_switch and wakeup events, and if\nyou don\u0027t set filters on all of the traced events, the unfiltered output\nfrom the events without filters on them can make it look like the\nfiltering as a whole isn\u0027t working properly, when actually it is doing\nwhat it was asked to do - it just wasn\u0027t asked to do the right thing.\n\nThe other is that for the really high-volume tracers e.g. the function\ntracer, the volume of filtered events can be so high that it pushes the\nunfiltered events out of the ring buffer before they can be read so e.g.\ncat\u0027ing the trace file repeatedly shows either no output, or once in\nawhile some output but that isn\u0027t there the next time you read the\ntrace, which isn\u0027t what you normally expect when reading the trace file.\nIf you read from the trace_pipe file though, you can catch them before\nthey disappear.\n\nChanges from v1:\n\nAs suggested by Frederic Weisbecker:\n\n- get rid of externs in functions\n- added unlikely() to filter_check_discard()\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c751085943362143f84346d274e0011419c84202",
      "tree": "5323da4e3eba8126bf44e5107960ee2323d28a16",
      "parents": [
        "7b11428d37fe65643172feff66cd0a4d72d1932a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 12 20:06:56 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:37:07 2009 -0700"
      },
      "message": "PM/Hibernate: Wait for SCSI devices scan to complete during resume\n\nThere is a race between resume from hibernation and the asynchronous\nscanning of SCSI devices and to prevent it from happening we need to\ncall scsi_complete_async_scans() during resume from hibernation.\n\nIn addition, if the resume from hibernation is userland-driven, it\u0027s\nbetter to wait for all device probes in the kernel to complete before\nattempting to open the resume device.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8255309b887fcac11f791913a2d1d0b966a40d32",
      "tree": "ae2d43366b946ab0968762a2b68cc862983db372",
      "parents": [
        "bf20753c0cdf842c5c65af688c2cefd1eafa7630",
        "44e9c8b7adc52079f0535f9de0c2c2477831389b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:31:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:31:28 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing/filters: return proper error code when writing filter file\n  tracing/filters: allow user input integer to be oct or hex\n  tracing/filters: fix NULL pointer dereference\n  tracing/filters: NIL-terminate user input filter\n  ftrace: Output REC-\u003evar instead of __entry-\u003evar for trace format\n  Make __stringify support variable argument macros too\n  tracing: fix document references\n  tracing: fix splice return too large\n  tracing: update file-\u003ef_pos when splice(2) it\n  tracing: allocate page when needed\n  tracing: disable seeking for trace_pipe_raw\n"
    },
    {
      "commit": "bf20753c0cdf842c5c65af688c2cefd1eafa7630",
      "tree": "8431fb73349b928d93ce02e24c1c993562fa1f95",
      "parents": [
        "01599fca6758d2cd133e78f87426fc851c9ea725",
        "574bbe782057fdf0490dc7dec906a2dc26363e20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:30:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 11:30:26 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: continue lock debugging despite some taints\n  lockdep: warn about lockdep disabling after kernel taint\n"
    },
    {
      "commit": "d811f236d90e58c67092eaadacab609e76c38749",
      "tree": "52b7d911948cf6a50f9a54abb6b91890ff9a8a72",
      "parents": [
        "29a1e26febf4bd6eecab2a17a056c177d3627788",
        "066123a535927b3f17cac2305258cc71abdb0d92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 08:22:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 08:22:43 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  percpu: unbreak alpha percpu\n  mutex: have non-spinning mutexes on s390 by default\n"
    },
    {
      "commit": "574bbe782057fdf0490dc7dec906a2dc26363e20",
      "tree": "b322a752f4feb603fe2b2669fad682a79e7479c3",
      "parents": [
        "9eeba6138cefc0435695463ddadb0d95e0a6bcd2"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 11 03:17:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 16:10:52 2009 +0200"
      },
      "message": "lockdep: continue lock debugging despite some taints\n\nImpact: broaden lockdep checks\n\nLockdep is disabled after any kernel taints. This might be convenient\nto ignore bad locking issues which sources come from outside the kernel\ntree. Nevertheless, it might be a frustrating experience for the\nstaging developers or those who experience a warning but are focused\non another things that require lockdep.\n\nThe v2 of this patch simply don\u0027t disable anymore lockdep in case\nof TAINT_CRAP and TAINT_WARN events.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: LTP \u003cltp-list@lists.sourceforge.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nLKML-Reference: \u003c1239412638-6739-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9eeba6138cefc0435695463ddadb0d95e0a6bcd2",
      "tree": "daba646e5ddd27132e9679aa3eabec389bf4722e",
      "parents": [
        "066123a535927b3f17cac2305258cc71abdb0d92"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 11 03:17:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 16:10:51 2009 +0200"
      },
      "message": "lockdep: warn about lockdep disabling after kernel taint\n\nImpact: provide useful missing info for developers\n\nKernel taint can occur in several situations such as warnings,\nload of prorietary or staging modules, bad page, etc...\n\nBut when such taint happens, a developer might still be working on\nthe kernel, expecting that lockdep is still enabled. But a taint\ndisables lockdep without ever warning about it.\nSuch a kernel behaviour doesn\u0027t really help for kernel development.\n\nThis patch adds this missing warning.\n\nSince the taint is done most of the time after the main message that\nexplain the real source issue, it seems safe to warn about it inside\nadd_taint() so that it appears at last, without hurting the main\ninformation.\n\nv2: Use a generic helper to disable lockdep instead of an\n    open coded xchg().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1239412638-6739-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66de7792c02693b49671afe58c771fde3b092fc7",
      "tree": "de50b82ef212c6f9a3f950282b45485e8d87b0a3",
      "parents": [
        "b78825d608f30a47e3154ab6872a03f0de0c9d45"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 01 16:19:19 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:32:46 2009 +0200"
      },
      "message": "blktrace: fix output of BLK_TC_PC events\n\nBLK_TC_PC events should be treated differently with BLK_TC_FS events.\n\nBefore this patch:\n\n # echo 1 \u003e /sys/block/sda/sda1/trace/enable\n # echo pc \u003e /sys/block/sda/sda1/trace/act_mask\n # echo blk \u003e /debugfs/tracing/current_tracer\n # (generate some BLK_TC_PC events)\n # cat trace\n        bash-2184  [000]  1774.275413:   8,7    I   N [bash]\n        bash-2184  [000]  1774.275435:   8,7    D   N [bash]\n        bash-2184  [000]  1774.275540:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275547:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275580:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275648:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275653:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275682:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275739:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275744:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275771:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275804:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275808:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275836:   8,7    C   N 0 [0]\n\nAfter this patch:\n\n # cat trace\n        bash-2263  [000]   366.782149:   8,7    I   N 0 (00 ..) [bash]\n        bash-2263  [000]   366.782323:   8,7    D   N 0 (00 ..) [bash]\n        bash-2263  [000]   366.782557:   8,7    I   R 8 (25 00 ..) [bash]\n        bash-2263  [000]   366.782560:   8,7    D   R 8 (25 00 ..) [bash]\n ksoftirqd/0-4     [000]   366.782582:   8,7    C   N (25 00 ..) [0]\n        bash-2263  [000]   366.782648:   8,7    I   R 8 (5a 00 3f 00) [bash]\n        bash-2263  [000]   366.782650:   8,7    D   R 8 (5a 00 3f 00) [bash]\n ksoftirqd/0-4     [000]   366.782669:   8,7    C   N (5a 00 3f 00) [0]\n        bash-2263  [000]   366.782710:   8,7    I   R 8 (5a 00 08 00) [bash]\n        bash-2263  [000]   366.782713:   8,7    D   R 8 (5a 00 08 00) [bash]\n ksoftirqd/0-4     [000]   366.782730:   8,7    C   N (5a 00 08 00) [0]\n        bash-2263  [000]   366.783375:   8,7    I   R 36 (5a 00 08 00) [bash]\n        bash-2263  [000]   366.783379:   8,7    D   R 36 (5a 00 08 00) [bash]\n ksoftirqd/0-4     [000]   366.783404:   8,7    C   N (5a 00 08 00) [0]\n\nThis is what we do with PC events in user-space blktrace.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49D32387.9040106@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b78825d608f30a47e3154ab6872a03f0de0c9d45",
      "tree": "a20ac6c33f67749466fe21ebc8edf8e3c139f579",
      "parents": [
        "fc182a4330fc22ea1b68fa3d5064dd85a73a4c4a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 01 16:18:53 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:32:45 2009 +0200"
      },
      "message": "blktrace: fix output of unknown events\n\nNot all events are pc (packet command) events. An event is a pc\nevent only if it has BLK_TC_PC bit set.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49D3236D.3090705@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02af61bb50f5d5f0322dbe5ab2a0d75808d25c7b",
      "tree": "fa087ed8a584d7b66016e6a1421e538369d52e5a",
      "parents": [
        "abd41443ac76d3e9c29a8c1d9e9a3312306cc55e"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Apr 10 14:26:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:22:55 2009 +0200"
      },
      "message": "tracing, kmemtrace: Separate include/trace/kmemtrace.h to kmemtrace part and tracepoint part\n\nImpact: refactor code for future changes\n\nCurrent kmemtrace.h is used both as header file of kmemtrace and kmem\u0027s\ntracepoints definition.\n\nTracepoints\u0027 definition file may be used by other code, and should only have\ndefinition of tracepoint.\n\nWe can separate include/trace/kmemtrace.h into 2 files:\n\n  include/linux/kmemtrace.h: header file for kmemtrace\n  include/trace/kmem.h:      definition of kmem tracepoints\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c49DEE68A.5040902@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44e9c8b7adc52079f0535f9de0c2c2477831389b",
      "tree": "4c021dd16a8329f8543a97310081724015c81fc6",
      "parents": [
        "a3e0ab050774117d4a6173087c8bf3888662a83f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Apr 11 15:55:28 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 11:59:29 2009 +0200"
      },
      "message": "tracing/filters: return proper error code when writing filter file\n\n- propagate return value of filter_add_pred() to the user\n\n- return -ENOSPC but not -ENOMEM or -EINVAL when the filter array\n  is full\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E04CF0.3010105@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a3e0ab050774117d4a6173087c8bf3888662a83f",
      "tree": "91d0f5c56a6b01d06c18864e5bcd8ec2c3405eb8",
      "parents": [
        "bcabd91c271e50eebc0cb9220ac92700332b452e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Apr 11 15:52:51 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 11:59:28 2009 +0200"
      },
      "message": "tracing/filters: allow user input integer to be oct or hex\n\nBefore patch:\n\n # echo \u0027parent_pid \u003d\u003d 0x10\u0027 \u003e events/sched/sched_process_fork/filter\n # cat sched/sched_process_fork/filter\n parent_pid \u003d\u003d 0\n\nAfter patch:\n\n # cat sched/sched_process_fork/filter\n parent_pid \u003d\u003d 16\n\nAlso check the input more strictly.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E04C53.4010600@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bcabd91c271e50eebc0cb9220ac92700332b452e",
      "tree": "5513a154d06b4ad1737e6787feeab5d2573f2c43",
      "parents": [
        "8433a40eb7f2c4883ad57f9900f63e4d59240eb7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Apr 11 15:52:35 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 11:59:28 2009 +0200"
      },
      "message": "tracing/filters: fix NULL pointer dereference\n\nTry this, and you\u0027ll see NULL pointer dereference bug:\n\n  # echo -n \u0027parent_comm \u003d\u003d\u0027 \u003e sched/sched_process_fork/filter\n\nBecause we passed NULL ptr to simple_strtoull().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E04C43.1050504@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8433a40eb7f2c4883ad57f9900f63e4d59240eb7",
      "tree": "7fab36945d0266ca00a9a13c2061cc2a0a2ae5dc",
      "parents": [
        "0462b5664b2bda5a18fef7efb5bb32ce36590c1a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Apr 11 15:52:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 11:59:27 2009 +0200"
      },
      "message": "tracing/filters: NIL-terminate user input filter\n\nMake sure messages from user space are NIL-terminated strings,\notherwise we could dump random memory while reading filter file.\n\nTry this:\n # echo \u0027parent_comm \u003d\u003d\u0027 \u003e events/sched/sched_process_fork/filter\n # cat events/sched/sched_process_fork/filter\n parent_comm \u003d\u003d �\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E04C32.6060508@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6de2c80e9d758d2e36c21699117db6178c0f517",
      "tree": "8f581ff1b8bce93fdeac949e0549c791d1ce52f9",
      "parents": [
        "7933a3cfba017330ebb25f9820cb25ec9cdd67cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 10 12:17:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 11 12:44:49 2009 -0700"
      },
      "message": "async: Fix module loading async-work regression\n\nSeveral drivers use asynchronous work to do device discovery, and we\nsynchronize with them in the compiled-in case before we actually try to\nmount root filesystems etc.\n\nHowever, when compiled as modules, that synchronization is missing - the\nmodule loading completes, but the driver hasn\u0027t actually finished\nprobing for devices, and that means that any user mode that expects to\nuse the devices after the \u0027insmod\u0027 is now potentially broken.\n\nWe already saw one case of a similar issue in the ACPI battery code,\nwhere the kernel itself expected the module to be all done, and unmapped\nthe init memory - but the async device discovery was still running.\nThat got hacked around by just removing the \"__init\" (see commit\n5d38258ec026921a7b266f4047ebeaa75db358e5 \"ACPI battery: fix async boot\noops\"), but the real fix is to just make the module loading wait for all\nasync work to be completed.\n\nIt will slow down module loading, but since common devices should be\nbuilt in anyway, and since the bug is really annoying and hard to handle\nfrom user space (and caused several S3 resume regressions), the simple\nfix to wait is the right one.\n\nThis fixes at least\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13063\n\nbut probably a few other bugzilla entries too (12936, for example), and\nis confirmed to fix Rafael\u0027s storage driver breakage after resume bug\nreport (no bugzilla entry).\n\nWe should also be able to now revert that ACPI battery fix.\n\nReported-and-tested-by: Rafael J. Wysocki \u003crjw@suse.com\u003e\nTested-by: Heinz Diehl \u003chtd@fancy-poultry.org\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0462b5664b2bda5a18fef7efb5bb32ce36590c1a",
      "tree": "99a67a1af4e275d6654b6c2dd4bc00d2d70406ba",
      "parents": [
        "8f7c2c37319a81ef4c2bfdec67b1ccd5744d97e4"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Wed Apr 08 17:00:13 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 15:48:53 2009 +0200"
      },
      "message": "ftrace: Output REC-\u003evar instead of __entry-\u003evar for trace format\n\nprint fmt: \"irq\u003d%d return\u003d%s\", __entry-\u003eirq, __entry-\u003eret ? \\\"handled\\\" : \\\"unhandled\\\"\n\n\"__entry\" should be convert to \"REC\" by __stringify() macro.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49DC679D.2090901@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d1f4372dbea068ba4ee3d98231133a4a4ee15bd",
      "tree": "ddde3be45174648efd3f151c40220b07bb6ca757",
      "parents": [
        "93cfb3c9fd83d877a8f1ffad9ff862b617b32828"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 10 08:48:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 13:08:50 2009 +0200"
      },
      "message": "tracing: fix document references\n\nWhen moving documents to Documentation/trace/, I forgot to\ngrep Kconfig to find out those references.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Pekka Paalanen \u003cpq@iki.fi\u003e\nCc: eduard.munteanu@linux360.ro\nLKML-Reference: \u003c49DE97EF.7080208@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2062501ae6505dbc5bff3a792246c2661d114050",
      "tree": "59792987c9e9fd1ae657c2e4a5cdb14545523e24",
      "parents": [
        "1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 06 01:49:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:50:56 2009 +0200"
      },
      "message": "tracing/lockdep: report the time waited for a lock\n\nWhile trying to optimize the new lock on reiserfs to replace\nthe bkl, I find the lock tracing very useful though it lacks\nsomething important for performance (and latency) instrumentation:\nthe time a task waits for a lock.\n\nThat\u0027s what this patch implements:\n\n  bash-4816  [000]   202.652815: lock_contended: lock_contended: \u0026sb-\u003es_type-\u003ei_mutex_key\n  bash-4816  [000]   202.652819: lock_acquired: \u0026rq-\u003elock (0.000 us)\n \u003c...\u003e-4787  [000]   202.652825: lock_acquired: \u0026rq-\u003elock (0.000 us)\n \u003c...\u003e-4787  [000]   202.652829: lock_acquired: \u0026rq-\u003elock (0.000 us)\n  bash-4816  [000]   202.652833: lock_acquired: \u0026sb-\u003es_type-\u003ei_mutex_key (16.005 us)\n\nAs shown above, the \"lock acquired\" field is followed by the time\nit has been waiting for the lock. Usually, a lock contended entry\nis followed by a near lock_acquired entry with a non-zero time waited.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1238975373-15739-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3",
      "tree": "ec5af7a70f58ad27ad21fc27815ca164ccf92c36",
      "parents": [
        "dcef788eb9659b61a2110284fcce3ca6e63480d2",
        "93cfb3c9fd83d877a8f1ffad9ff862b617b32828"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:46:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:46:51 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: pick up both v2.6.30-rc1 [which includes tracing/urgent fixes]\n              and pick up the current lineup of tracing/urgent fixes as well\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93cfb3c9fd83d877a8f1ffad9ff862b617b32828",
      "tree": "a88753a44117b9dcfdd65bb0d0572eb5b945e961",
      "parents": [
        "c7625a555f55d7ae49236cde551786c88f5a5ce1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:46 2009 +0200"
      },
      "message": "tracing: fix splice return too large\n\nI got these from strace:\n\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 12288\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 16384\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n splice(0x3, 0, 0x5, 0, 0x1000, 0x1) \u003d 8192\n\nI wanted to splice_read 4096 bytes, but it returns 8192 or larger.\n\nIt is because the return value of tracing_buffers_splice_read()\ndoes not include \"zero out any left over data\" bytes.\n\nBut tracing_buffers_read() includes these bytes, we make them\nconsistent.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46674.9030804@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7625a555f55d7ae49236cde551786c88f5a5ce1",
      "tree": "4cca942d46412d708945f574ef4c4b87adf92d1d",
      "parents": [
        "ddd538f3e6a1a4bec2f6942f83a753263e6577b4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:17:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:44 2009 +0200"
      },
      "message": "tracing: update file-\u003ef_pos when splice(2) it\n\nImpact: Cleanup\n\nThese two lines:\n\n\tif (unlikely(*ppos))\n\t\treturn -ESPIPE;\n\nin tracing_buffers_splice_read() are not needed, VFS layer\nhas disabled seek(2).\n\nWe remove these two lines, and then we can update file-\u003ef_pos.\n\nAnd tracing_buffers_read() updates file-\u003ef_pos, this fix\nmake tracing_buffers_splice_read() updates file-\u003ef_pos too.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46670.4010503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddd538f3e6a1a4bec2f6942f83a753263e6577b4",
      "tree": "b28047205b75d7e06ecf3eb0aca08c056ed4f51c",
      "parents": [
        "d1e7e02f30be672c6f6ee40908be83877a0d49d1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:59 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:43 2009 +0200"
      },
      "message": "tracing: allocate page when needed\n\nImpact: Cleanup\n\nSometimes, we open trace_pipe_raw, but we don\u0027t read(2) it,\nwe just splice(2) it, thus, the page is not used.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D4666B.4010608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1e7e02f30be672c6f6ee40908be83877a0d49d1",
      "tree": "24f958961d8de3ef0c1d16a407041d096fc1f098",
      "parents": [
        "62b8e680e61d3f48f2a12ee248ca03ea8f376926"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Apr 02 15:16:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:44:42 2009 +0200"
      },
      "message": "tracing: disable seeking for trace_pipe_raw\n\nImpact: disable pread()\n\nWe set tracing_buffers_fops.llseek to no_llseek,\nbut we can still perform pread() to read this file.\n\nThat is not expected.\n\nThis fix uses nonseekable_open() to disable it.\n\ntracing_buffers_fops.llseek is still set to no_llseek,\nit mark this file is a \"non-seekable device\" and is used by\nsys_splice(). See also do_splice() or manual of splice(2):\n\nERRORS\n       EINVAL Target file system doesn\u0027t support  splicing;\n              neither  of the descriptors refers to a pipe;\n              or offset given for non-seekable device.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c49D46668.8030806@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2ea122cd7c4a094be71641f3961796398035513",
      "tree": "7150db3e27a078c8a4183964a882bb15ba9f3f64",
      "parents": [
        "17b2e9bf27d417bc186cc922b4d6d5eaa048f9d8",
        "66bb74888eb4bef4ba7c87c931ecb7ecca3a240c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:37:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:37:46 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: consolidate documents\n  blktrace: pass the right pointer to kfree()\n  tracing/syscalls: use a dedicated file header\n  tracing: append a comma to INIT_FTRACE_GRAPH\n"
    },
    {
      "commit": "17b2e9bf27d417bc186cc922b4d6d5eaa048f9d8",
      "tree": "7ae99be289ec2ffe68aa38926d9e9a13e4387ee0",
      "parents": [
        "422a253483aa5de71a2bcdc27b0aa023053f97f8",
        "e3c8ca8336707062f3f7cb1cd7e6b3c753baccdd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:37:28 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: do not count frozen tasks toward load\n  sched: refresh MAINTAINERS entry\n  sched: Print sched_group::__cpu_power in sched_domain_debug\n  cpuacct: add per-cgroup utime/stime statistics\n  posixtimers, sched: Fix posix clock monotonicity\n  sched_rt: don\u0027t allocate cpumask in fastpath\n  cpuacct: make cpuacct hierarchy walk in cpuacct_charge() safe when rcupreempt is used -v2\n"
    },
    {
      "commit": "422a253483aa5de71a2bcdc27b0aa023053f97f8",
      "tree": "3e25aaf65b8eaf275bb01982a89fb0cd631c4367",
      "parents": [
        "91e58b6e95a9c6b9efd928ae352eae5e75ae598c",
        "022624a758dc9489388a99ad29577b4c8c09237c",
        "9756b15e1b58453a6fd54b85c1ad8515209e10bb",
        "8f2e586567b1bad72dac7c3810fe9a2ef7117506"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:35:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:35:30 2009 -0700"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027irq-fixes-for-linus\u0027 and \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: fix wrong format string iter for printk\n  futex: comment requeue key reference semantics\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: fix cpumask memory leak on offstack cpumask kernels\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix-timers: fix RLIMIT_CPU \u0026\u0026 setitimer(CPUCLOCK_PROF)\n  posix-timers: fix RLIMIT_CPU \u0026\u0026 fork()\n  timers: add missing kernel-doc\n"
    },
    {
      "commit": "36cd3c9f925b9307236505ae7ad1ad7ac4d4357c",
      "tree": "d9be68502d0f11b2259427e9ee8320891367143c",
      "parents": [
        "022624a758dc9489388a99ad29577b4c8c09237c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 09 18:48:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 09 19:28:24 2009 +0200"
      },
      "message": "mutex: have non-spinning mutexes on s390 by default\n\nImpact: performance regression fix for s390\n\nThe adaptive spinning mutexes will not always do what one would expect on\nvirtualized architectures like s390. Especially the cpu_relax() loop in\nmutex_spin_on_owner might hurt if the mutex holding cpu has been scheduled\naway by the hypervisor.\n\nWe would end up in a cpu_relax() loop when there is no chance that the\nstate of the mutex changes until the target cpu has been scheduled again by\nthe hypervisor.\n\nFor that reason we should change the default behaviour to no-spin on s390.\n\nWe do have an instruction which allows to yield the current cpu in favour of\na different target cpu. Also we have an instruction which allows us to figure\nout if the target cpu is physically backed.\n\nHowever we need to do some performance tests until we can come up with\na solution that will do the right thing on s390.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nLKML-Reference: \u003c20090409184834.7a0df7b2@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9eb85125ce218a8b8d9a7c982510388e227adbec",
      "tree": "320b87113d2c6b151f14e39d3a7e60174e19b0be",
      "parents": [
        "47788c58e66c050982241d9a05eb690daceb05a9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 09 11:19:40 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 09 05:52:40 2009 +0200"
      },
      "message": "blktrace: pass the right pointer to kfree()\n\nImpact: fix kfree crash with non-standard act_mask string\n\nIf passing a string with leading white spaces to strstrip(),\nthe returned ptr !\u003d the original ptr.\n\nThis bug was introduced by me.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49DD694C.8020902@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47788c58e66c050982241d9a05eb690daceb05a9",
      "tree": "96b8658e36bad85d1e77345b7be1edb6fdb9e1d1",
      "parents": [
        "f876d346e3807647b1de411de6a86c44821896ca"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 08 20:40:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 09 05:43:32 2009 +0200"
      },
      "message": "tracing/syscalls: use a dedicated file header\n\nImpact: fix build warnings and possibe compat misbehavior on IA64\n\nBuilding a kernel on ia64 might trigger these ugly build warnings:\n\nCC      arch/ia64/ia32/sys_ia32.o\nIn file included from arch/ia64/ia32/sys_ia32.c:55:\narch/ia64/ia32/ia32priv.h:290:1: warning: \"elf_check_arch\" redefined\nIn file included from include/linux/elf.h:7,\n                 from include/linux/module.h:14,\n                 from include/linux/ftrace.h:8,\n                 from include/linux/syscalls.h:68,\n                 from arch/ia64/ia32/sys_ia32.c:18:\narch/ia64/include/asm/elf.h:19:1: warning: this is the location of the previous definition\n[...]\n\nsys_ia32.c includes linux/syscalls.h which in turn includes linux/ftrace.h\nto import the syscalls tracing prototypes.\n\nBut including ftrace.h can pull too much things for a low level file,\nespecially on ia64 where the ia32 private headers conflict with higher\nlevel headers.\n\nNow we isolate the syscall tracing headers in their own lightweight file.\n\nReported-by: Tony Luck \u003ctony.luck@intel.com\u003e\nTested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Jiaying Zhang \u003cjiayingz@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: Michael Davidson \u003cmd@google.com\u003e\nLKML-Reference: \u003c20090408184058.GB6017@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b44003e5ca66a3fffeb5bc90f40ada2c4340896",
      "tree": "d9dce0a39b5e66d8e760344a51ffb6de9594cd2f",
      "parents": [
        "1c99315bb36b5d776210546d438ca928dc9b1f22"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Apr 09 09:50:37 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Apr 09 09:50:37 2009 +0930"
      },
      "message": "work_on_cpu(): rewrite it to create a kernel thread on demand\n\nImpact: circular locking bugfix\n\nThe various implemetnations and proposed implemetnations of work_on_cpu()\nare vulnerable to various deadlocks because they all used queues of some\nform.\n\nUnrelated pieces of kernel code thus gained dependencies wherein if one\nwork_on_cpu() caller holds a lock which some other work_on_cpu() callback\nalso takes, the kernel could rarely deadlock.\n\nFix this by creating a short-lived kernel thread for each work_on_cpu()\ninvokation.\n\nThis is not terribly fast, but the only current caller of work_on_cpu() is\npci_call_probe().\n\nIt would be nice to find some other way of doing the node-local\nallocations in the PCI probe code so that we can zap work_on_cpu()\naltogether.  The code there is rather nasty.  I can\u0027t think of anything\nsimple at this time...\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1c99315bb36b5d776210546d438ca928dc9b1f22",
      "tree": "aa43f3ffe76fd1aed66ed9e4a433c5f310fd7e74",
      "parents": [
        "3217ab97f14c5c8f9f975ed8c40c351164b0b10e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Apr 09 09:50:36 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Apr 09 09:50:37 2009 +0930"
      },
      "message": "kthread: move sched-realeted initialization from kthreadd context\n\nkthreadd is the single thread which implements ths \"create\" request, move\nsched_setscheduler/etc from create_kthread() to kthread_create() to\nimprove the scalability.\n\nWe should be careful with sched_setscheduler(), use _nochek helper.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Vitaliy Gusev \u003cvgusev@openvz.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3217ab97f14c5c8f9f975ed8c40c351164b0b10e",
      "tree": "3bb4b32e9a1e5b96915fbce57184d55f74e43fe9",
      "parents": [
        "7b85a88ca7760d6d5f34bdaa793c71d921a3e853"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Thu Apr 09 09:50:35 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Apr 09 09:50:36 2009 +0930"
      },
      "message": "kthread: Don\u0027t looking for a task in create_kthread() #2\n\nRemove the unnecessary find_task_by_pid_ns(). kthread() can just\nuse \"current\" to get the same result.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3a709703538c471530405556dda136fd0d82b0dc",
      "tree": "0479d66b10b6d77bacc269471285bd2be344ccb9",
      "parents": [
        "4c967291fc875a53de7126d256ad5e48f42a6521"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Apr 07 23:21:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 08 10:21:44 2009 -0700"
      },
      "message": "ptrace: some checkpatch fixes\n\nThis fixes all the checkpatch --file complaints about kernel/ptrace.c\nand also removes an unused #include.  I\u0027ve verified that there are no\nchanges to the compiled code on x86_64.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n[ Removed the parts that just split a line  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f2e586567b1bad72dac7c3810fe9a2ef7117506",
      "tree": "23da00a7e4b78f71c5d32ba350d0039b5016124e",
      "parents": [
        "6279a751fe096a21dc7704e918d570d3ff06e769"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 27 01:06:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:51:39 2009 +0200"
      },
      "message": "posix-timers: fix RLIMIT_CPU \u0026\u0026 setitimer(CPUCLOCK_PROF)\n\nupdate_rlimit_cpu() tries to optimize out set_process_cpu_timer() in case\nwhen we already have CPUCLOCK_PROF timer which should expire first. But it\nuses cputime_lt() instead of cputime_gt().\n\nTest case:\n\n\tint main(void)\n\t{\n\t\tstruct itimerval it \u003d {\n\t\t\t.it_value \u003d { .tv_sec \u003d 1000 },\n\t\t};\n\n\t\tassert(!setitimer(ITIMER_PROF, \u0026it, NULL));\n\n\t\tstruct rlimit rl \u003d {\n\t\t\t.rlim_cur \u003d 1,\n\t\t\t.rlim_max \u003d 1,\n\t\t};\n\n\t\tassert(!setrlimit(RLIMIT_CPU, \u0026rl));\n\n\t\tfor (;;)\n\t\t\t;\n\n\t\treturn 0;\n\t}\n\nWithout this patch, the task is not killed as RLIMIT_CPU demands.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Peter Lojkin \u003cia6432@inbox.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20090327000610.GA10108@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6279a751fe096a21dc7704e918d570d3ff06e769",
      "tree": "2b24e0ecf004802a890f77195489f8aa76fa745d",
      "parents": [
        "633fe795b80693a8198e7d82f66538a72d2bbba2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 27 01:06:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:51:38 2009 +0200"
      },
      "message": "posix-timers: fix RLIMIT_CPU \u0026\u0026 fork()\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d12911\n\ncopy_signal() copies signal-\u003erlim, but RLIMIT_CPU is \"lost\". Because\nposix_cpu_timers_init_group() sets cputime_expires.prof_exp \u003d 0 and thus\nfastpath_timer_check() returns false unless we have other expired cpu timers.\n\nChange copy_signal() to set cputime_expires.prof_exp if we have RLIMIT_CPU.\nAlso, set cputimer.running \u003d 1 in that case. This is not strictly necessary,\nbut imho makes sense.\n\nReported-by: Peter Lojkin \u003cia6432@inbox.ru\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Peter Lojkin \u003cia6432@inbox.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20090327000607.GA10104@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5af8c4e0fac9838428bd718040b664043a05f37c",
      "tree": "75a01d98ed244db45fe3c734c4a81c1a3d92ac37",
      "parents": [
        "46e0bb9c12f4bab539736f1714cbf16600f681ec",
        "577c9c456f0e1371cbade38eaf91ae8e8a308555"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:25:42 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:26:00 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc1\u0027 into sched/urgent\n\nMerge reason: update to latest upstream to queue up fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff96e612cba32510e263e17b213235fe5746397e",
      "tree": "a8df57d76b10e0901a4fb76cd2987eb9826a560a",
      "parents": [
        "cd84a42f315e50edd454c27a3da3951ccd3d735a",
        "577c9c456f0e1371cbade38eaf91ae8e8a308555"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:02:50 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:02:57 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc1\u0027 into core/urgent\n\nMerge reason: need latest upstream to queue up dependent fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1551260d1f0fb1d23f264582092b862fce5e2dbd",
      "tree": "d06a0d20c74adda44a78bc2dc9a3e3016de380d6",
      "parents": [
        "c93f216b5b985a12a18323e5ca2eb01db3d2f000",
        "5e34437840d33554f69380584311743b39e8fbeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:11:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:11:07 2009 -0700"
      },
      "message": "Merge branch \u0027core/softlockup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: make DETECT_HUNG_TASK default depend on DETECT_SOFTLOCKUP\n  softlockup: move \u0027one\u0027 to the softlockup section in sysctl.c\n  softlockup: ensure the task has been switched out once\n  softlockup: remove timestamp checking from hung_task\n  softlockup: convert read_lock in hung_task to rcu_read_lock\n  softlockup: check all tasks in hung_task\n  softlockup: remove unused definition for spawn_softlockup_task\n  softlockup: fix potential race in hung_task when resetting timeout\n  softlockup: fix to allow compiling with !DETECT_HUNG_TASK\n  softlockup: decouple hung tasks check from softlockup detection\n"
    },
    {
      "commit": "c93f216b5b985a12a18323e5ca2eb01db3d2f000",
      "tree": "45fa35b290005f8b241dd76b6342875b81432fc3",
      "parents": [
        "c61b79b6ef266890954213a701d8f6021d8c1289",
        "ab3c9c686e22ab264269337ce7b75d9760211198"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:10:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:10:10 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER\u003dy\n  branch tracer: Fix for enabling branch profiling makes sparse unusable\n  ftrace: Correct a text align for event format output\n  Update /debug/tracing/README\n  tracing/ftrace: alloc the started cpumask for the trace file\n  tracing, x86: remove duplicated #include\n  ftrace: Add check of sched_stopped for probe_sched_wakeup\n  function-graph: add proper initialization for init task\n  tracing/ftrace: fix missing include string.h\n  tracing: fix incorrect return type of ns2usecs()\n  tracing: remove CALLER_ADDR2 from wakeup tracer\n  blktrace: fix pdu_len when tracing packet command requests\n  blktrace: small cleanup in blk_msg_write()\n  blktrace: NUL-terminate user space messages\n  tracing: move scripts/trace/power.pl to scripts/tracing/power.pl\n"
    },
    {
      "commit": "c61b79b6ef266890954213a701d8f6021d8c1289",
      "tree": "9b000a7dae5a782a0d667137ab43e4f1bea70d58",
      "parents": [
        "2b2ec7554cf7ec5e4412f89a5af6abe8ce950700",
        "9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:07:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:07:52 2009 -0700"
      },
      "message": "Merge branch \u0027irq/threaded\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq/threaded\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: fix devres.o build for GENERIC_HARDIRQS\u003dn\n  genirq: provide old request_irq() for CONFIG_GENERIC_HARDIRQ\u003dn\n  genirq: threaded irq handlers review fixups\n  genirq: add support for threaded interrupts to devres\n  genirq: add threaded interrupt handler support\n"
    },
    {
      "commit": "de5bd88d5a5cce3cacea904d3503e5ebdb3852a2",
      "tree": "da24ac8b38d371ee03a21ed0f3647c518689ebd3",
      "parents": [
        "e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:01:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: support per-kprobe disabling\n\nAdd disable_kprobe() and enable_kprobe() to disable/enable kprobes\ntemporarily.\n\ndisable_kprobe() asynchronously disables probe handlers of specified\nkprobe.  So, after calling it, some handlers can be called at a while.\nenable_kprobe() enables specified kprobe.\n\naggr_pre_handler and aggr_post_handler check disabled probes.  On the\nother hand aggr_break_handler and aggr_fault_handler don\u0027t check it\nbecause these handlers will be called while executing pre or post handlers\nand usually those help error handling.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa",
      "tree": "56ebd4b392408ddba88a5da54004fd0a1bfbccf9",
      "parents": [
        "cc00e9cfe0e5c4c31057c722e49fdf2c76dd5953"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:01:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: rename kprobe_enabled to kprobes_all_disarmed\n\nRename kprobe_enabled to kprobes_all_disarmed and invert logic due to\navoiding naming confusion from per-probe disabling.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99081ab553d6a88dd6b3774af5eef94dbb8faad7",
      "tree": "a78c2a07ec780b110e49939c8b954e2468398e16",
      "parents": [
        "b918e5e60d775549478e4268155142156a95aa17"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:00:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: move EXPORT_SYMBOL_GPL just after function definitions\n\nClean up positions of EXPORT_SYMBOL_GPL in kernel/kprobes.c according to\ncheckpatch.pl.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b918e5e60d775549478e4268155142156a95aa17",
      "tree": "92e7d435088772803b24b1d9901ea3e17e6a9189",
      "parents": [
        "96a6d9aa096aeb758273a8fb6388c279ecef5e7e"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:00:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:07 2009 -0700"
      },
      "message": "kprobes: cleanup aggr_kprobe related code\n\nCurrently, kprobes can disable all probes at once, but can\u0027t disable it\nindividually (not unregister, just disable an kprobe, because\nunregistering needs to wait for scheduler synchronization).  These patches\nintroduce APIs for on-the-fly per-probe disabling and re-enabling by\ndis-arming/re-arming its breakpoint instruction.\n\nThis patch:\n\nChange old_p to ap in add_new_kprobe() for readability, copy flags member\nin add_aggr_kprobe(), and simplify the code flow of\nregister_aggr_kprobe().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "fafd688e4c0c34da0f3de909881117d374e4c7af"
}
