)]}'
{
  "log": [
    {
      "commit": "897f17a65389a26509bd0c79a9812d1c9ea8ea6f",
      "tree": "ec23bdc97840581c6f4881f6e427c66d72a1269c",
      "parents": [
        "5e0a093910876882f91f1d4b8a1635a099e6c7ba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 16:31:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:55 2009 -0400"
      },
      "message": "tracing: combine the default tracers into one config\n\nBoth event tracer and sched switch plugin are selected by default\nby all generic tracers. But if no generic tracer is enabled, their options\nappear. But ether one of them will select the other, thus it only\nmakes sense to have the default tracers be selected by one option.\n\n[ Impact: clean up kconfig menu ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5e0a093910876882f91f1d4b8a1635a099e6c7ba",
      "tree": "2e9fb5caa629c2f1f77f82a78863366b82ad05f6",
      "parents": [
        "2af15d6a44b871ad4c2a651302374cde8f335480"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 15:50:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:30 2009 -0400"
      },
      "message": "tracing: fix config options to not show when automatically selected\n\nThere are two options that are selected by all tracers, but we want\nto have those options available when no tracer is selected. These are\n\n The event tracer and sched switch tracer.\n\nThe are enabled by all tracers, but if a tracer is not selected we want\nthe options to appear. All tracers including them select TRACING.\nThus what we would like to do is:\n\n  config EVENT_TRACER\n\tbool \"prompt\"\n\tdepends on TRACING\n\tselect TRACING\n\nBut that gives us a bug in the kbuild system since we just created a\ncircular dependency. We only want the prompt to show when TRACING is off.\n\nThis patch adds GENERIC_TRACER that all tracers will select instead of\nTRACING. The two options (sched switch and event tracer) will select\nTRACING directly and depend on !GENERIC_TRACER. This solves the cicular\ndependency.\n\n[ Impact: hide options that are selected by default ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2af15d6a44b871ad4c2a651302374cde8f335480",
      "tree": "39f06d511e3e1d1970fe4571128549c1c26230c1",
      "parents": [
        "f2aebaee653a35b01c3665de2cbb1e31456b8ea8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 13:37:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:10 2009 -0400"
      },
      "message": "ftrace: add kernel command line function filtering\n\nWhen using ftrace\u003dfunction on the command line to trace functions\non boot up, one can not filter out functions that are commonly called.\n\nThis patch adds two new ftrace command line commands.\n\n  ftrace_notrace\u003dfunction-list\n  ftrace_filter\u003dfunction-list\n\nWhere function-list is a comma separated list of functions to filter.\nThe ftrace_notrace will make the functions listed not be included\nin the function tracing, and ftrace_filter will only trace the functions\nlisted.\n\nThese two act the same as the debugfs/tracing/set_ftrace_notrace and\ndebugfs/tracing/set_ftrace_filter respectively.\n\nThe simple glob expressions that are allowed by the filter files can also\nbe used by the command line interface.\n\n\tftrace_notrace\u003drcu*,*lock,*spin*\n\nWill not trace any function that starts with rcu, ends with lock, or has\nthe word spin in it.\n\nNote, if the self tests are enabled, they may interfere with the filtering\nset by the command lines.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b6045a906f48d37591365c5dcdd6d1d146bfd4a",
      "tree": "33a7b9513c84e442eda0159ee294a02f33589f55",
      "parents": [
        "c2adae0970ca1db8adb92fb56ae3bcabd916e8bd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue May 26 17:28:02 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 28 01:21:03 2009 +0200"
      },
      "message": "trace: disable preemption before taking raw spinlocks\n\ns390 code uses smp_processor_id() in __raw_spin_lock() code which\nreveals that a (raw) spinlock is taken without preemption disabled.\nThis can potentially deadlock.\n\nTo fix this explicitly disable and enable preemption.\n\nBUG: using smp_processor_id() in preemptible [00000000] code: cat/2278\ncaller is trace_find_cmdline+0x40/0xfc\nCPU: 0 Not tainted 2.6.30-rc7-dirty #39\nProcess cat (pid: 2278, task: 000000003faedb68, ksp: 000000003b33b988)\n000000003b33b988 000000003b33bae0 0000000000000002 0000000000000000\n       000000003b33bb80 000000003b33baf8 000000003b33baf8 00000000000175d6\n       0000000000000001 000000003b33b988 000000003f9b0000 000000000000000b\n       000000000000000c 000000003b33bb40 000000003b33bae0 0000000000000000\n       0000000000000000 00000000000175d6 000000003b33bae0 000000003b33bb28\nCall Trace:\n([\u003c00000000000174b2\u003e] show_trace+0x112/0x170)\n [\u003c0000000000017582\u003e] show_stack+0x72/0x100\n [\u003c0000000000441538\u003e] dump_stack+0xc8/0xd8\n [\u003c000000000025c350\u003e] debug_smp_processor_id+0x114/0x130\n [\u003c00000000000bf0e4\u003e] trace_find_cmdline+0x40/0xfc\n [\u003c00000000000c35d4\u003e] trace_print_context+0x58/0xac\n [\u003c00000000000bb676\u003e] print_trace_line+0x416/0x470\n [\u003c00000000000bc8fe\u003e] s_show+0x4e/0x428\n [\u003c000000000013834e\u003e] seq_read+0x36a/0x5d4\n [\u003c0000000000112a78\u003e] vfs_read+0xc8/0x174\n [\u003c0000000000112c58\u003e] SyS_read+0x74/0xc4\n [\u003c000000000002c7ae\u003e] sysc_noemu+0x10/0x16\n [\u003c000002000012436c\u003e] 0x2000012436c\n1 lock held by cat/2278:\n #0:  (\u0026p-\u003elock){+.+.+.}, at: [\u003c0000000000138056\u003e] seq_read+0x72/0x5d4\n\n[ Impact: fix preempt-unsafe raw spinlock ]\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "0f4fc29dd68dfab9c6ddd5d087d34a5b6818cb00",
      "tree": "af3d210c8db9adcf117580c949fb708badcb520b",
      "parents": [
        "62ba180e80f4194a498585ac0e4c07daa8ca08d1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 20 19:21:47 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 26 20:31:50 2009 +0200"
      },
      "message": "tracing: add __print_symbolic to trace events\n\nThis patch adds __print_symbolic which is similar to __print_flags but\nworks for an enumeration type instead. That is, there is only a one to one\nmapping between the values and the symbols. When a match is made, then\nit is printed, otherwise the hex value is outputed.\n\n[ Impact: add interface for showing symbol names in events ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "be74b73a57645cc253d881ab0c1014eb64b9cf22",
      "tree": "83f14ae9a43fe98a1363d30d20d60245e1115382",
      "parents": [
        "0e907c99391362385c8e3af2c43b904dd1fd5d73"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 26 20:25:22 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 26 20:25:22 2009 +0200"
      },
      "message": "tracing: add __print_flags for events\n\nDevelopers have been asking for the ability in the ftrace event tracer\nto display names of bits in a flags variable.\n\nInstead of printing out c2, it would be easier to read FOO|BAR|GOO,\nassuming that FOO is bit 1, BAR is bit 6 and GOO is bit 7.\n\nSome examples where this would be useful are the state flags in a context\nswitch, kmalloc flags, and even permision flags in accessing files.\n\n[\n  v2 changes include:\n\n  Frederic Weisbecker\u0027s idea of using a mask instead of bits,\n  thus we can output GFP_KERNEL instead of GPF_WAIT|GFP_IO|GFP_FS.\n\n  Li Zefan\u0027s idea of allowing the caller of __print_flags to add their\n  own delimiter (or no delimiter) where we can get for file permissions\n  rwx instead of r|w|x.\n]\n\n[\n  v3 changes:\n\n   Christoph Hellwig\u0027s idea of using an array instead of va_args.\n]\n\n[ Impact: better displaying of flags in trace output ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "0e907c99391362385c8e3af2c43b904dd1fd5d73",
      "tree": "86f1fc73644d4a7db5e1cbc96434aa89d02879cc",
      "parents": [
        "b11c53e12f94a46b50bccc7a1a953d7ca1d54a31"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon May 25 18:13:59 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 26 03:30:31 2009 +0200"
      },
      "message": "ftrace: clean up of using ftrace_event_enable_disable()\n\nAlways use ftrace_event_enable_disable() to enable/disable an event\nso that we can factorize out the event toggling code.\n\n[ Impact: factorize and cleanup event tracing code ]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4A14FDFE.2080402@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b11c53e12f94a46b50bccc7a1a953d7ca1d54a31",
      "tree": "a0d658e31ffd7f05834c6026874cd4120a35dd29",
      "parents": [
        "29fcefba8a2f0fea11e2b721fe174a1832801284"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon May 25 18:11:59 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 26 03:03:21 2009 +0200"
      },
      "message": "ftrace: Add task_comm support for trace_event\n\nIf we enable a trace event alone without any tracer running (such as\nfunction tracer, sched switch tracer, etc...) it can\u0027t output enough\ntask command information.\n\nWe need to use the tracing_{start/stop}_cmdline_record() helpers\nwhich are designed to keep track of cmdlines for any tasks that\nwere scheduled during the tracing.\n\nBefore this patch:\n # echo 1 \u003e debugfs/tracing/events/sched/sched_switch/enable\n # cat debugfs/tracing/trace\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n            \u003c...\u003e-2289  [000] 526276.724790: sched_switch: task bash:2289 [120] \u003d\u003d\u003e sshd:2287 [120]\n            \u003c...\u003e-2287  [000] 526276.725231: sched_switch: task sshd:2287 [120] \u003d\u003d\u003e bash:2289 [120]\n            \u003c...\u003e-2289  [000] 526276.725452: sched_switch: task bash:2289 [120] \u003d\u003d\u003e sshd:2287 [120]\n            \u003c...\u003e-2287  [000] 526276.727181: sched_switch: task sshd:2287 [120] \u003d\u003d\u003e swapper:0 [140]\n           \u003cidle\u003e-0     [000] 526277.032734: sched_switch: task swapper:0 [140] \u003d\u003d\u003e events/0:5 [115]\n            \u003c...\u003e-5     [000] 526277.032782: sched_switch: task events/0:5 [115] \u003d\u003d\u003e swapper:0 [140]\n ...\n\nAfter this patch:\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n             bash-2269  [000] 527347.989229: sched_switch: task bash:2269 [120] \u003d\u003d\u003e sshd:2267 [120]\n             sshd-2267  [000] 527347.990960: sched_switch: task sshd:2267 [120] \u003d\u003d\u003e bash:2269 [120]\n             bash-2269  [000] 527347.991143: sched_switch: task bash:2269 [120] \u003d\u003d\u003e sshd:2267 [120]\n             sshd-2267  [000] 527347.992959: sched_switch: task sshd:2267 [120] \u003d\u003d\u003e swapper:0 [140]\n           \u003cidle\u003e-0     [000] 527348.531989: sched_switch: task swapper:0 [140] \u003d\u003d\u003e events/0:5 [115]\n         events/0-5     [000] 527348.532115: sched_switch: task events/0:5 [115] \u003d\u003d\u003e swapper:0 [140]\n ...\n\nChangelog:\nv1-\u003ev2: Update Kconfig to select CONTEXT_SWITCH_TRACER in\n        ENABLE_EVENT_TRACING\nv2-\u003ev3: v2 can solve problem that was caused by config EVENT_TRACING\n        alone, but when CONFIG_FTRACE is off and CONFIG_TRACING is\n        selected by other config, compile fail happened again.\n        This version solves it.\n\n[ Impact: fix incomplete output of event tracing ]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A14FDFE.2080402@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "4f5359685af6de7dca101393dc606620adbe963f",
      "tree": "1f9dc3fb9299008daa6a5fb6f03945008ea4a4f9",
      "parents": [
        "5537937696c55530447c20aa27daccb8d0d29b33"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon May 18 19:35:34 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon May 25 23:53:41 2009 +0200"
      },
      "message": "tracing: add trace_event_read_lock()\n\nI found that there is nothing to protect event_hash in\nftrace_find_event(). Rcu protects the event hashlist\nbut not the event itself while we use it after its extraction\nthrough ftrace_find_event().\n\nThis lack of a proper locking in this spot opens a race\nwindow between any event dereferencing and module removal.\n\nEg:\n\n--Task A--\n\nprint_trace_line(trace) {\n  event \u003d find_ftrace_event(trace)\n\n--Task B--\n\ntrace_module_remove_events(mod) {\n  list_trace_events_module(ev, mod) {\n    unregister_ftrace_event(ev-\u003eevent) {\n      hlist_del(ev-\u003eevent-\u003enode)\n        list_del(....)\n    }\n  }\n}\n|--\u003e module removed, the event has been dropped\n\n--Task A--\n\n  event-\u003eprint(trace); // Dereferencing freed memory\n\nIf the event retrieved belongs to a module and this module\nis concurrently removed, we may end up dereferencing a data\nfrom a freed module.\n\nRCU could solve this, but it would add latency to the kernel and\nforbid tracers output callbacks to call any sleepable code.\nSo this fix converts \u0027trace_event_mutex\u0027 to a read/write semaphore,\nand adds trace_event_read_lock() to protect ftrace_find_event().\n\n[ Impact: fix possible freed memory dereference in ftrace ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A114806.7090302@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "5537937696c55530447c20aa27daccb8d0d29b33",
      "tree": "e3207e5a491822238ed299a5e7d96dfc72b1c43a",
      "parents": [
        "fd51d251e4cdb21f68e9dbc4336514d64a105a79"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon May 18 23:04:46 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 20 19:23:11 2009 +0200"
      },
      "message": "ftrace: fix check for return value of register_module_notifier in event_trace_init\n\nregister_module_notifier() returns zero in the success case.\nSo fix the inverted fail case check in trace events modules\nhandler.\n\n[ Impact: fix spurious warning on ftrace initialization]\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "fd51d251e4cdb21f68e9dbc4336514d64a105a79",
      "tree": "478fb26aea6b7e79532f33cc5949b4fece18cdfc",
      "parents": [
        "143c145e3a475065a4be661468d0df1bd0b25f74"
      ],
      "author": {
        "name": "Stefan Raspl",
        "email": "raspl@linux.vnet.ibm.com",
        "time": "Tue May 19 09:59:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 19 10:29:21 2009 +0200"
      },
      "message": "blktrace: remove debugfs entries on bad path\n\ndebugfs directory entries for devices are not removed on some\nof the failure pathes in do_blk_trace_setup().\nOne way to reproduce is to start blktrace on multiple devices\nwith insufficient Vmalloc space: Devices will fail with\na message like this:\n\n\tBLKTRACESETUP(2) /dev/sdu failed: 5/Input/output error\n\nIf so, the respective entries in debugfs\n(e.g. /sys/kernel/debug/block/sdu) will remain and subsequent\nattempts to start blktrace on the respective devices will not\nsucceed due to existing directories.\n\n[ Impact: fix /debug/tracing file cleanup corner case ]\n\nSigned-off-by: Stefan Raspl \u003cstefan.raspl@linux.vnet.ibm.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: schwidefsky@de.ibm.com\nCc: heiko.carstens@de.ibm.com\nLKML-Reference: \u003c4A1266CC.5040801@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24ed0c4bfc7d2d7507bb9d50f7f3bbdcd85d76dd",
      "tree": "954ff0ff7f4249ec7a2e9e9233bb4d8e0670f9ce",
      "parents": [
        "1079cac0f4eb7d968395378b1625979d4c818dd6"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun May 17 15:31:38 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 10:24:13 2009 +0200"
      },
      "message": "tracing: fix check for return value of register_module_notifier\n\nreturn zero should be correct, so fix it.\n\n[ Impact: eliminate incorrect syslog message ]\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c1242545498-7285-1-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1079cac0f4eb7d968395378b1625979d4c818dd6",
      "tree": "d261058d95d27fe7250511d5fad69db30dc17731",
      "parents": [
        "5872144f64b34a5942f6b4acedc90b02de72c58b",
        "1406de8e11eb043681297adf86d6892ff8efc27a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 10:15:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 10:15:35 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc6\u0027 into tracing/core\n\nMerge reason: we were on an -rc4 base, sync up to -rc6\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ade385e4d14f4158b3b27acd992a98bca4cd7f23",
      "tree": "9f20430f5690901936348b0c955327c4a37d3485",
      "parents": [
        "c6538499814d8112c5d4d08570a7cf0758e5f8f5",
        "d34a792da969a00b0f653c512414411760f55a20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 15 08:06:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 15 08:06:45 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: gdb documentation fix\n  kgdb,i386: use address that SP register points to in the exception frame\n  sysrq, intel_fb: fix sysrq g collision\n"
    },
    {
      "commit": "364b5b7b1d793a7f98be55b6b154716dcae78dfc",
      "tree": "2c8d2571bde15bf7c376bd222b3cc916bd52c13d",
      "parents": [
        "45d447406a19cbfd42720f066f156f4eb9d68801"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 13 21:56:59 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri May 15 07:56:24 2009 -0500"
      },
      "message": "sysrq, intel_fb: fix sysrq g collision\n\nCommit 79e539453b34e35f39299a899d263b0a1f1670bd introduced a\nregression where you cannot use sysrq \u0027g\u0027 to enter kgdb.  The solution\nis to move the intel fb sysrq over to V for video instead of G for\ngraphics.  The SMP VOYAGER code to register for the sysrq-v is not\nanywhere to be found in the mainline kernel, so the comments in the\ncode were cleaned up as well.\n\nThis patch also cleans up the sysrq definitions for kgdb to make it\ngeneric for the kernel debugger, such that the sysrq \u0027g\u0027 can be used\nin the future to enter a gdbstub or another kernel debugger.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd17cbfda004fe5f406c01b318c6378d9895896f",
      "tree": "821e279bc6d9d52bc13fa6c3905ebbd44a2e4860",
      "parents": [
        "05dc7b613481c695bb4fc476c6fbb46364b63f62"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 15 11:32:24 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 15 11:32:24 2009 +0200"
      },
      "message": "Revert \"mm: add /proc controls for pdflush threads\"\n\nThis reverts commit fafd688e4c0c34da0f3de909881117d374e4c7af.\n\nWork is progressing to switch away from pdflush as the process backing\nfor flushing out dirty data. So it seems pointless to add more knobs\nto control pdflush threads. The original author of the patch did not\nhave any specific use cases for adding the knobs, so we can easily\nrevert this before 2.6.30 to avoid having to maintain this API\nforever.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5872144f64b34a5942f6b4acedc90b02de72c58b",
      "tree": "65ab10576155c05d7ac319197896a31721f61499",
      "parents": [
        "8cd995b6deedf98b7694ed32a786ee7f793d1eec"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri May 15 11:07:56 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 14 23:55:12 2009 -0400"
      },
      "message": "tracing/filters: fix off-by-one bug\n\nWe should leave the last slot for the ending \u0027\\0\u0027.\n\n[ Impact: fix possible crash when the length of an operand is 128 ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A0CDC8C.30602@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8cd995b6deedf98b7694ed32a786ee7f793d1eec",
      "tree": "6c423c242027eacf07018ae9e0488ef035337c68",
      "parents": [
        "1ec7c4849c214fc78b023230264399836ea3b245"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri May 15 11:07:27 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 14 23:55:10 2009 -0400"
      },
      "message": "tracing/filters: add missing unlock in a failure path\n\n[ Impact: fix deadlock in a rare case we fail to allocate memory ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A0CDC6F.7070200@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1ec7c4849c214fc78b023230264399836ea3b245",
      "tree": "52a53fcd4d7ea0cd94b65bd8c6bf20402e3356af",
      "parents": [
        "29a679754b1a2581ee456eada6c2de7ce95068bb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 14 23:40:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 14 23:40:06 2009 -0400"
      },
      "message": "tracing: stop stack trace on first empty entry\n\nThe stack tracer stores eight entries in the ring buffer when an event\ntraces the stack. The output outputs all eight entries regardless of\nhow many entries were recorded.\n\nThis patch breaks out of the loop when a null entry is discovered.\n\n[ Impact: only print the stack that is recorded ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "168b6b1d0594c7866caa73b12f3b8d91075695f2",
      "tree": "2dd8d0e8b6ffc87360180c878a87b3632625b3f0",
      "parents": [
        "88eb0125362f2ab272cbaf84252cf101ddc2dec9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 11 22:11:05 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 23:33:06 2009 -0400"
      },
      "message": "ring-buffer: move code around to remove some branches\n\nThis is a bit of micro-optimizations. But since the ring buffer is used\nin tracing every function call, it is an extreme hot path. Every nanosecond\ncounts.\n\nThis change shows over 5% improvement in the ring-buffer-benchmark.\n\n[ Impact: more efficient code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "88eb0125362f2ab272cbaf84252cf101ddc2dec9",
      "tree": "acf8bac454d61874f35bf5e20cd30b448811608a",
      "parents": [
        "0f0c85fc80adbbd2265d89867d743f929d516805"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 11 16:28:23 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 23:14:03 2009 -0400"
      },
      "message": "ring-buffer: use internal time stamp function\n\nThe ring_buffer_time_stamp that is exported adds a little more overhead\nthan is needed for using it internally. This patch adds an internal\ntimestamp function that can be inlined (a single line function)\nand used internally for the ring buffer.\n\n[ Impact: a little less overhead to the ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0f0c85fc80adbbd2265d89867d743f929d516805",
      "tree": "0095c5a83727863eb38027c41b9a0cd74c1d283d",
      "parents": [
        "be957c447f7233a67904a1b11eb3ab61e702bf4d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 11 16:08:00 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 23:12:34 2009 -0400"
      },
      "message": "ring-buffer: small optimizations\n\nDoing some small changes in the fast path of the ring buffer recording\nsaves over 3% in the ring-buffer-benchmark test.\n\n[ Impact: a little faster ring buffer recording ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "be957c447f7233a67904a1b11eb3ab61e702bf4d",
      "tree": "fa92f4d46678c9a200ce9f92c1445da3bd71c74f",
      "parents": [
        "1cd8d7358948909ab80b254eb14bcebc555ad417"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 11 14:42:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 14:42:53 2009 -0400"
      },
      "message": "ring-buffer: move calculation of event length\n\nThe event length is calculated and passed in to rb_reserve_next_event\nin two different locations. Having rb_reserve_next_event do the\ncalculations directly makes only one location to do the change and\ncauses the calculation to be inlined by gcc.\n\nBefore:\n   text    data     bss     dec     hex filename\n  16538      24      12   16574    40be kernel/trace/ring_buffer.o\n\nAfter:\n   text    data     bss     dec     hex filename\n  16490      24      12   16526    408e kernel/trace/ring_buffer.o\n\n[ Impact: smaller more efficient code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1cd8d7358948909ab80b254eb14bcebc555ad417",
      "tree": "ff7d2bcd4f7b4ea12af66771d6a204b786c134c5",
      "parents": [
        "d988ff94c1074c4c914235c8591bcceafb585ecf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 11 14:08:09 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 14:19:00 2009 -0400"
      },
      "message": "ring-buffer: remove type parameter from rb_reserve_next_event\n\nThe rb_reserve_next_event is only called for the data type (type \u003d 0).\nThere is no reason to pass in the type to the function.\n\nBefore:\n   text    data     bss     dec     hex filename\n  16554      24      12   16590    40ce kernel/trace/ring_buffer.o\n\nAfter:\n   text    data     bss     dec     hex filename\n  16538      24      12   16574    40be kernel/trace/ring_buffer.o\n\n[ Impact: cleaner, smaller and slightly more efficient code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d988ff94c1074c4c914235c8591bcceafb585ecf",
      "tree": "46dc84aa84e04ae92cd66ed5cbf7a55452dcdb1c",
      "parents": [
        "5a772b2b3c68e7e0b503c5a48469113bb0634314"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 08 11:03:57 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 13:22:26 2009 -0400"
      },
      "message": "ring-buffer: check for divide by zero in ring-buffer-benchmark\n\nAlthough we check if \"missed\" is not zero, we divide by hit + missed,\nand the addition can possible overflow and become a divide by zero.\n\nThis patch checks for this case, and will report it when it happens\nthen modify \"hit\" to make the calculation be non zero.\n\n[ Impact: prevent possible divide by zero in ring-buffer-benchmark ]\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a772b2b3c68e7e0b503c5a48469113bb0634314",
      "tree": "f6c1a0c28cd9225778a4348aded45bae8b634126",
      "parents": [
        "79c5d3ce614d8fe706545c7bca2158b63db6bb5e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 08 10:56:33 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 11 13:22:26 2009 -0400"
      },
      "message": "ring-buffer: replace constants with time macros in ring-buffer-benchmark\n\nThe use of numeric constants is discouraged. It is cleaner and more\ndescriptive to use macros for constant time conversions.\n\nThis patch also removes an extra new line.\n\n[ Impact: more descriptive time conversions ]\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "049862579333cc6cd9e6edfd6987cd0addfd8c59",
      "tree": "171ce56995657c0dd92825b733afbd88242a3887",
      "parents": [
        "4671c79408a3f8a5a6a45e39c4c164dada3a5678"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 11 14:33:23 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 11 12:25:50 2009 +0200"
      },
      "message": "blktrace: pdu_buf of pc events should be unsigned\n\nI got this:\n  8,0    1   305.417782332  2037  I   R 32 (ffffff9e 10 00 ...) [bash]\n\nIt should be:\n  8,0    1   305.417782332  2037  I   R 32 (9e 10 00 ...) [bash]\n\n[ Impact: fix output of pc events ]\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\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A07C6B3.9080802@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f5bbff9a1b7d6864a495763448a363bbfa96324",
      "tree": "0067dca46f40def1c55541c34c262e06aeb8c4c8",
      "parents": [
        "74dbbdd7fdc11763f4698d2f3e684cf4446951e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:34:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:40 2009 -0400"
      },
      "message": "Convert obvious places to deactivate_locked_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "201517a7f3ec497fff545a7659c6c876f89f9054",
      "tree": "47721de5b13043eb9e7e10aaf7fe544c794a3c7d",
      "parents": [
        "d7a5926978cb109b2db5985c65086483caf9e226"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu May 07 16:31:26 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 08 16:23:48 2009 -0700"
      },
      "message": "kprobes: fix to use text_mutex around arm/disarm kprobe\n\nFix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which\nare newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4671c79408a3f8a5a6a45e39c4c164dada3a5678",
      "tree": "c8cc041841afe9d2c1be14a2410c1f468b7477be",
      "parents": [
        "29f93943d1916d1a3faa3f10f4a06994347ac990"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 08 16:27:41 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 08 16:30:26 2009 -0400"
      },
      "message": "tracing: add trace_set_clr_event to export event enabling function\n\nOther parts of the kernel may need to be able to enable or disable\nspecific events. Especially parts that create trace events.\n\n[ Impact: allow enabling of trace events by those that create the event ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "29f93943d1916d1a3faa3f10f4a06994347ac990",
      "tree": "128c64e3e8305fb1c6785ef150b22b2412f856f2",
      "parents": [
        "c142b15dc56ee6d55cb97a062e3c8e9c61e384c0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 08 16:06:47 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 08 16:06:47 2009 -0400"
      },
      "message": "tracing: initialize return value for __ftrace_set_clr_event\n\nCommit 8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2\ntracing/events: clean up for ftrace_set_clr_event()\n\nMoved out the code for ftrace_set_clr_event into a helper funciton but\ndid not initialize the return value. As a result, we do not warn about\na typo in the echoing of events in set_event.\n\nThis patch restores the old warning:\n\n # echo foobar \u003e set_event\n-bash: echo: write error: Invalid argument\n\n[ Impact: restore warning of invalid entries to set_event ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c142b15dc56ee6d55cb97a062e3c8e9c61e384c0",
      "tree": "d273ba8c5ce28bea224e4f48b9704e47ed68a2b4",
      "parents": [
        "8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri May 08 10:32:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 14:00:36 2009 +0200"
      },
      "message": "tracing/events: simplify system_enable_read()\n\nA smarter way to figure out the output of an enable file.\n\n[ Impact: clean up ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A0399A5.2080603@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2",
      "tree": "660b7340cadca779314e04b960618d7ac1c7d425",
      "parents": [
        "74f4fd21664148b8c454cc07bfe74e4dd51cf07b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri May 08 10:31:42 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 14:00:35 2009 +0200"
      },
      "message": "tracing/events: clean up for ftrace_set_clr_event()\n\nAdd a helper function __ftrace_set_clr_event(), and replace some\nftrace_set_clr_event() calls with this helper, thus we don\u0027t need any\nkstrdup() or kmalloc().\n\nAs a side effect, this patch fixes an issue in self tests code, which is\nsimilar to the one fixed in commit d6bf81ef0f7474434c2a049e8bf3c9146a14dd96\n(\"tracing: append \":*\" to internal setting of system events\")\n\nIt\u0027s a small issue and won\u0027t cause any bug in fact, but we should do things\nright anyway.\n\n[ Impact: prevent spurious event-enabling in tracing self-tests ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A03998E.3020503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74f4fd21664148b8c454cc07bfe74e4dd51cf07b",
      "tree": "fa4074dff8913c25a9192c65c112de25cf07fbf4",
      "parents": [
        "7da3046d6ce6ea97494020081c509b642b7016af"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 19:58:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 20:01:11 2009 -0400"
      },
      "message": "ring-buffer: change WARN_ON from checking preempt_count to preemptible\n\nThere\u0027s a WARN_ON in the ring buffer code that makes sure preemption\nis disabled. It checks \"!preempt_count()\". But when CONFIG_PREEMPT is not\nenabled, preempt_count() is always zero, and this will trigger the warning.\n\n[ Impact: prevent false warning on non preemptible kernels ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7da3046d6ce6ea97494020081c509b642b7016af",
      "tree": "8bd27902977bc821980331054a6b2c5876bf2918",
      "parents": [
        "0574ea421b90e0e45a72c447dd3c2c79ffd8c153"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 19:52:20 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 19:52:20 2009 -0400"
      },
      "message": "ring-buffer: add total count in ring-buffer-benchmark\n\nIt is nice to see the overhead of the benchmark test when tracing is\ndisabled. That is, we turn off the ring buffer just to see what the\ncost of running the loop that calls into the ring buffer is.\n\nCurrently, if no entries wer made, we get 0. This is not informative.\nThis patch changes it to check if we had any \"missed\" (non recorded)\nevents. If so, a total count is also reported.\n\n[ Impact: evaluate the over head of the ring buffer benchmark test ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0574ea421b90e0e45a72c447dd3c2c79ffd8c153",
      "tree": "ec19f007794a8593f1c75f3f2d05c2471346298e",
      "parents": [
        "65b77242043f74bca6a0d733c0e48ef03a8c9893"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 14:20:28 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 14:20:28 2009 -0400"
      },
      "message": "ring-buffer: only periodically call cond_resched to ring-buffer-benchmark\n\nCalling cond_resched at every iteration of the loop adds a bit of\noverhead to the benchmark.\n\nThis patch does two things.\n\n1) only calls cond-resched when CONFIG_PREEMPT is not enabled\n2) only calls cond-resched after so many traces has been performed.\n\n[ Impact: less overhead to the ring-buffer-benchmark ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "65b77242043f74bca6a0d733c0e48ef03a8c9893",
      "tree": "f7ba92bd5633ee6389bd51191d5a736d7b4666ea",
      "parents": [
        "d6bf81ef0f7474434c2a049e8bf3c9146a14dd96"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 12:49:27 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 12:49:27 2009 -0400"
      },
      "message": "tracing: have menu default enabled when kernel debug is configured\n\nTracing can be very helpful to debug the kernel. When DEBUG_KERNEL is\nenabled it is nice to enable the trace menu as well.\n\nThis patch only make the tracing menu enabled by default, it does not\nmake any of the tracers enabled. And the menu is only enabled by\ndefault if DEBUG_KERNEL is enabled.\n\n[ Impact: show tracing options to those debugging the kernel ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d6bf81ef0f7474434c2a049e8bf3c9146a14dd96",
      "tree": "b2868093d4812c628a6752b1995491131cb08bc8",
      "parents": [
        "29c8000ee7da3a6756d26143991e573eaaf2a9f6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 11:49:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 11:49:35 2009 -0400"
      },
      "message": "tracing: append \":*\" to internal setting of system events\n\nThe system enabling of events uses the same code as the set_event file.\nIt passes in the name of the system to the parser and that will enable\nall the events that has that system as a name.\n\nThe problem is that it will also enable events with the same name as the\nsystem.\n\nIf you have system name foo, and system name bar, but within the system\nbar, there exists an event called foo. By setting the system name foo,\nyou will also be enabling the event foo in the system bar. This is not\nan expected result.\n\nThe solution is to pass in \"foo:*\", which will only enable the system\nfoo and not events called foo.\n\n[ Impact: prevent accidental enabling of events with same name as a system ]\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "29c8000ee7da3a6756d26143991e573eaaf2a9f6",
      "tree": "4c57a374639127ebccd6f4fca0feb02cde21e702",
      "parents": [
        "0ad5d703c6c0fcd385d956555460df95dff7eb7e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 11:13:42 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 11:16:18 2009 -0400"
      },
      "message": "ring-buffer: remove complex calculations in ring-buffer-test\n\nIngo Molnar thought that the code to calculate the time in cond_resched\nis a bit too ugly and is not needed. This patch removes it and replaces\nit with a simple call to cond_resched. I kept the comment that explains\nthe reason for the cond_resched.\n\n[ Impact: remove ugly code ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0ad5d703c6c0fcd385d956555460df95dff7eb7e",
      "tree": "4b777100f9be4fe90ca4bd043b9f98df672b5b3b",
      "parents": [
        "44347d947f628060b92449702071bfe1d31dfb75",
        "1cb81b143fa8f0e4629f10690862e2e52ca792ff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:18:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 13:36:22 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/hw-branch-tracing\u0027 into tracing/core\n\nMerge reason: this topic is ready for upstream now. It passed\n              Oleg\u0027s review and Andrew had no further mm/*\n              objections/observations either.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44347d947f628060b92449702071bfe1d31dfb75",
      "tree": "c6ed74610d5b3295df4296659f80f5feb94b28cc",
      "parents": [
        "d94fc523f3c35bd8013f04827e94756cbc0212f4",
        "413f81eba35d6ede9289b0c8a920c013a84fac71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:17:13 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:17:34 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: tracing/core was on a .30-rc1 base and was missing out on\n              on a handful of tracing fixes present in .30-rc5-almost.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d94fc523f3c35bd8013f04827e94756cbc0212f4",
      "tree": "aacd8c0aaa2024437b7bfba4636afcc87f4890bf",
      "parents": [
        "5928c3cc0ffcb6894bbab6be591b7ae1786b2d87"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu May 07 15:11:15 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 10:07:28 2009 +0200"
      },
      "message": "tracing/events: fix concurrent access to ftrace_events list, fix\n\nIn filter_add_subsystem_pred() we should release event_mutex before\ncalling filter_free_subsystem_preds(), since both functions hold\nevent_mutex.\n\n[ Impact: fix deadlock when writing invalid pred into subsystem filter ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: tzanussi@gmail.com\nCc: a.p.zijlstra@chello.nl\nCc: fweisbec@gmail.com\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c4A028993.7020509@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5928c3cc0ffcb6894bbab6be591b7ae1786b2d87",
      "tree": "75503a660dafe84dcd434912c5a0bdf97cad3c8a",
      "parents": [
        "e8808c1019b048a43686dbd25c188a035842c2e2"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 03 03:03:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 10:05:57 2009 +0200"
      },
      "message": "tracing/filters: support for operator reserved characters in strings\n\nWhen we set a filter for an event, such as:\n\necho \"name \u003d\u003d my_lock_name\" \u003e \\\n\t/debug/tracing/events/lockdep/lock_acquired/filter\n\nthen the following order of token type is parsed:\n\n- space\n- operator\n- parentheses\n- operand\n\nBecause the operators and parentheses have a higher precedence\nthan the operand characters, which is normal, then we can\u0027t\nuse any string containing such special characters:\n\n()\u003d\u003c\u003e!\u0026|\n\nTo get this support and also avoid ambiguous intepretation from\nthe parser or the human, we can do it using double quotes so that\nwe keep the usual languages habits.\n\nThen after this patch you can still declare string condition like\nbefore:\n\necho name \u003d\u003d myname\n\nBut if you want to compare against a string containing an operator\ncharacter, you can use double quotes:\n\necho \u0027name \u003d\u003d \"\u0026myname\"\u0027\n\nDon\u0027t forget to include the whole expression into single quotes or\nthe double ones will be eaten by echo.\n\n[ Impact: support strings with special characters for tracing filters ]\n\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Zhaolei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e8808c1019b048a43686dbd25c188a035842c2e2",
      "tree": "350eefee96e540ee855a6aefc64a17af25486234",
      "parents": [
        "8ae79a138e88aceeeb07077bff2883245fb7c218"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 03 02:48:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 10:05:57 2009 +0200"
      },
      "message": "tracing/filters: support for filters of dynamic sized arrays\n\nCurrently the filtering infrastructure supports well the\nnumeric types and fixed sized array types.\n\nBut the recently added __string() field uses a specific\nindirect offset mechanism which requires a specific\npredicate. Until now it wasn\u0027t supported.\n\nThis patch adds this support and implies very few changes,\nonly a new predicate is needed, the management of this specific\nfield can be done through the usual string helpers in the\nfiltering infrastructure.\n\n[ Impact: support all kinds of strings in the tracing filters ]\n\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Zhaolei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "8ae79a138e88aceeeb07077bff2883245fb7c218",
      "tree": "ebb58fcf7d06af26c5855f664e769f850de4b434",
      "parents": [
        "9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 22:52:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 23:11:42 2009 -0400"
      },
      "message": "tracing: add hierarchical enabling of events\n\nWith the current event directory, you can only enable individual events.\nThe file debugfs/tracing/set_event is used to be able to enable or\ndisable several events at once. But that can still be awkward.\n\nThis patch adds hierarchical enabling of events. That is, each directory\nin debugfs/tracing/events has an \"enable\" file. This file can enable\nor disable all events within the directory and below.\n\n # echo 1 \u003e /debugfs/tracing/events/enable\n\nwill enable all events.\n\n # echo 1 \u003e /debugfs/tracing/events/sched/enable\n\nwill enable all events in the sched subsystem.\n\n # echo 1 \u003e /debugfs/tracing/events/enable\n # echo 0 \u003e /debugfs/tracing/events/irq/enable\n\nwill enable all events, but then disable just the irq subsystem events.\n\nWhen reading one of these enable files, there are four results:\n\n 0 - all events this file affects are disabled\n 1 - all events this file affects are enabled\n X - there is a mixture of events enabled and disabled\n ? - this file does not affect any event\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea",
      "tree": "9e6e97199f63c786a79966a5938873a98591e10c",
      "parents": [
        "71e1c8ac42ae4038ddb1367cce7097ab868dc532"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 21:54:09 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 23:11:41 2009 -0400"
      },
      "message": "tracing: reset ring buffer when removing modules with events\n\nLi Zefan found that there\u0027s a race using the event ids of events and\nmodules. When a module is loaded, an event id is incremented. We only\nhave 16 bits for event ids (65536) and there is a possible (but highly\nunlikely) race that we could load and unload a module that registers\nevents so many times that the event id counter overflows.\n\nWhen it overflows, it then restarts and goes looking for available\nids. An id is available if it was added by a module and released.\n\nThe race is if you have one module add an id, and then is removed.\nAnother module loaded can use that same event id. But if the old module\nstill had events in the ring buffer, the new module\u0027s call back would\nget bogus data.  At best (and most likely) the output would just be\ngarbage. But if the module for some reason used pointers (not recommended)\nthen this could potentially crash.\n\nThe safest thing to do is just reset the ring buffer if a module that\nregistered events is removed.\n\n[ Impact: prevent unpredictable results of event id overflows ]\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c49FEAFD0.30106@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "57adc4d2dbf968fdbe516359688094eef4d46581",
      "tree": "69e84c0feb47f0d6b677266d12635f54636528d7",
      "parents": [
        "429aa0fca0df702fc9c81d799175a7d920398827"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed May 06 16:02:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 06 16:36:09 2009 -0700"
      },
      "message": "Eliminate thousands of warnings with gcc 3.2 build\n\nWhen building with gcc 3.2 I get thousands of warnings such as\n\ninclude/linux/gfp.h: In function `allocflags_to_migratetype\u0027:\ninclude/linux/gfp.h:105: warning: null format string\n\ndue to passing a NULL format string to warn_slowpath() in\n\n#define __WARN()\t\twarn_slowpath(__FILE__, __LINE__, NULL)\n\nSplit this case out into a separate call.  This also shrinks the kernel\nslightly:\n\n          text    data     bss     dec     hex filename\n       4802274  707668  712704 6222646  5ef336 vmlinux\n          text    data     bss     dec     hex filename\n       4799027  703572  712704 6215303  5ed687 vmlinux\n\ndue to removeing one argument from the commonly-called __WARN().\n\n[akpm@linux-foundation.org: reduce scope of `empty\u0027]\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "381a80e6df396eaabef2c00f85974a4579ac1c70",
      "tree": "431f7f11302c3e41e1c93c76afd4e116d2464bfd",
      "parents": [
        "fd1e6c1df5c396961509daac2b456852edf982df"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed May 06 16:02:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 06 16:36:09 2009 -0700"
      },
      "message": "inotify: use GFP_NOFS in kernel_event() to work around a lockdep false-positive\n\nThere is what we believe to be a false positive reported by lockdep.\n\ninotify_inode_queue_event() \u003d\u003e take inotify_mutex \u003d\u003e kernel_event() \u003d\u003e\nkmalloc() \u003d\u003e SLOB \u003d\u003e alloc_pages_node() \u003d\u003e page reclaim \u003d\u003e slab reclaim \u003d\u003e\ndcache reclaim \u003d\u003e inotify_inode_is_dead \u003d\u003e take inotify_mutex \u003d\u003e deadlock\n\nThe plan is to fix this via lockdep annotation, but that is proving to be\nquite involved.\n\nThe patch flips the allocation over to GFP_NFS to shut the warning up, for\nthe 2.6.30 release.\n\nHopefully we will fix this for real in 2.6.31.  I\u0027ll queue a patch in -mm\nto switch it back to GFP_KERNEL so we don\u0027t forget.\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: inconsistent lock state ]\n  2.6.30-rc2-next-20090417 #203\n  ---------------------------------\n  inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n  kswapd0/380 [HC0[0]:SC0[0]:HE1:SE1] takes:\n   (\u0026inode-\u003einotify_mutex){+.+.?.}, at: [\u003cffffffff8112f1b5\u003e] inotify_inode_is_dead+0x35/0xb0\n  {RECLAIM_FS-ON-W} state was registered at:\n    [\u003cffffffff81079188\u003e] mark_held_locks+0x68/0x90\n    [\u003cffffffff810792a5\u003e] lockdep_trace_alloc+0xf5/0x100\n    [\u003cffffffff810f5261\u003e] __kmalloc_node+0x31/0x1e0\n    [\u003cffffffff81130652\u003e] kernel_event+0xe2/0x190\n    [\u003cffffffff81130826\u003e] inotify_dev_queue_event+0x126/0x230\n    [\u003cffffffff8112f096\u003e] inotify_inode_queue_event+0xc6/0x110\n    [\u003cffffffff8110444d\u003e] vfs_create+0xcd/0x140\n    [\u003cffffffff8110825d\u003e] do_filp_open+0x88d/0xa20\n    [\u003cffffffff810f6b68\u003e] do_sys_open+0x98/0x140\n    [\u003cffffffff810f6c50\u003e] sys_open+0x20/0x30\n    [\u003cffffffff8100c272\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n  irq event stamp: 690455\n  hardirqs last  enabled at (690455): [\u003cffffffff81564fe4\u003e] _spin_unlock_irqrestore+0x44/0x80\n  hardirqs last disabled at (690454): [\u003cffffffff81565372\u003e] _spin_lock_irqsave+0x32/0xa0\n  softirqs last  enabled at (690178): [\u003cffffffff81052282\u003e] __do_softirq+0x202/0x220\n  softirqs last disabled at (690157): [\u003cffffffff8100d50c\u003e] call_softirq+0x1c/0x50\n\n  other info that might help us debug this:\n  2 locks held by kswapd0/380:\n   #0:  (shrinker_rwsem){++++..}, at: [\u003cffffffff810d0bd7\u003e] shrink_slab+0x37/0x180\n   #1:  (\u0026type-\u003es_umount_key#17){++++..}, at: [\u003cffffffff8110cfbf\u003e] shrink_dcache_memory+0x11f/0x1e0\n\n  stack backtrace:\n  Pid: 380, comm: kswapd0 Not tainted 2.6.30-rc2-next-20090417 #203\n  Call Trace:\n   [\u003cffffffff810789ef\u003e] print_usage_bug+0x19f/0x200\n   [\u003cffffffff81018bff\u003e] ? save_stack_trace+0x2f/0x50\n   [\u003cffffffff81078f0b\u003e] mark_lock+0x4bb/0x6d0\n   [\u003cffffffff810799e0\u003e] ? check_usage_forwards+0x0/0xc0\n   [\u003cffffffff8107b142\u003e] __lock_acquire+0xc62/0x1ae0\n   [\u003cffffffff810f478c\u003e] ? slob_free+0x10c/0x370\n   [\u003cffffffff8107c0a1\u003e] lock_acquire+0xe1/0x120\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff81562d43\u003e] mutex_lock_nested+0x63/0x420\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff81012fe9\u003e] ? sched_clock+0x9/0x10\n   [\u003cffffffff81077165\u003e] ? lock_release_holdtime+0x35/0x1c0\n   [\u003cffffffff8112f1b5\u003e] inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff8110c9dc\u003e] dentry_iput+0xbc/0xe0\n   [\u003cffffffff8110cb23\u003e] d_kill+0x33/0x60\n   [\u003cffffffff8110ce23\u003e] __shrink_dcache_sb+0x2d3/0x350\n   [\u003cffffffff8110cffa\u003e] shrink_dcache_memory+0x15a/0x1e0\n   [\u003cffffffff810d0cc5\u003e] shrink_slab+0x125/0x180\n   [\u003cffffffff810d1540\u003e] kswapd+0x560/0x7a0\n   [\u003cffffffff810ce160\u003e] ? isolate_pages_global+0x0/0x2c0\n   [\u003cffffffff81065a30\u003e] ? autoremove_wake_function+0x0/0x40\n   [\u003cffffffff8107953d\u003e] ? trace_hardirqs_on+0xd/0x10\n   [\u003cffffffff810d0fe0\u003e] ? kswapd+0x0/0x7a0\n   [\u003cffffffff8106555b\u003e] kthread+0x5b/0xa0\n   [\u003cffffffff8100d40a\u003e] child_rip+0xa/0x20\n   [\u003cffffffff8100cdd0\u003e] ? restore_args+0x0/0x30\n   [\u003cffffffff81065500\u003e] ? kthread+0x0/0xa0\n   [\u003cffffffff8100d400\u003e] ? child_rip+0x0/0x20\n\n[eparis@redhat.com: fix audit too]\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e07a4f680adc66dfa175aa5021aedf340251b12",
      "tree": "c245b416cf3d88e4c2f1d0ff43d0021e59b20b47",
      "parents": [
        "6634ff26cce2da04e5c2a5481bcb8888e7d01786"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 18:36:59 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 18:36:59 2009 -0400"
      },
      "message": "ring-buffer: change test to be more latency friendly\n\nThe ring buffer benchmark/test runs a producer for 10 seconds.\nThis is done with preemption and interrupts enabled. But if the kernel\nis not compiled with CONFIG_PREEMPT, it basically stops everything\nbut interrupts for 10 seconds.\n\nAlthough this is just a test and is not for production, this attribute\ncan be quite annoying. It can also spawn badness elsewhere.\n\nThis patch solves the issues by calling \"cond_resched\" when the system\nis not compiled with CONFIG_PREEMPT. It also keeps track of the time\nspent to call cond_resched such that it does not go against the\ntime calculations. That is, if the task schedules away, the time scheduled\nout is removed from the test data. Note, this only works for non PREEMPT\nbecause we do not know when the task is scheduled out if we have PREEMPT\nenabled.\n\n[ Impact: prevent test from stopping the world for 10 seconds ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6634ff26cce2da04e5c2a5481bcb8888e7d01786",
      "tree": "64efca734e6cb10ff7cb19086e8f83b92eb40fd1",
      "parents": [
        "00c81a58c5b4e0de14ee33bfbc3d71c90f69f9ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 15:30:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 15:30:07 2009 -0400"
      },
      "message": "ring-buffer: make moving the tail page a separate function\n\nIngo Molnar thought the code would be cleaner if we used a function call\ninstead of a goto for moving the tail page. After implementing this,\nit seems that gcc still inlines the result and the output is pretty much\nthe same. Since this is considered a cleaner approach, might as well\nimplement it.\n\n[ Impact: code clean up ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "00c81a58c5b4e0de14ee33bfbc3d71c90f69f9ea",
      "tree": "d34d323e0a3b67ee5ce4c0ae8a0b3dbbc9bf2562",
      "parents": [
        "8e7abf1c62941ebb7a1416cbc62392c8a0902625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 12:40:51 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 12:49:20 2009 -0400"
      },
      "message": "ring-buffer: check for failed allocation in ring buffer benchmark\n\nThe result of the allocation of the ring buffer read page in the\nring buffer bench mark does not check the return to see if a page\nwas actually allocated. This patch fixes that.\n\n[ Impact: avoid NULL dereference ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8e7abf1c62941ebb7a1416cbc62392c8a0902625",
      "tree": "72b62a8ce2cecee2ed0cff586fb8bed10cf0eb2d",
      "parents": [
        "35cf723e99c0e26ddf51f037dffaa4ff2c2c9106"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 06 10:26:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 12:49:19 2009 -0400"
      },
      "message": "ring-buffer: remove unneeded conditional in rb_reserve_next\n\nThe code in __rb_reserve_next checks on page overflow if it is the\noriginal commiter and then resets the page back to the original\nsetting.  Although this is fine, and the code is correct, it is\na bit fragil. Some experimental work I did breaks it easily.\n\nThe better and more robust solution is to have all commiters that\noverflow the page, simply subtract what they added.\n\n[ Impact: more robust ring buffer account management ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "48dd0fed90e2b1f1ba87401439b85942181c6df3",
      "tree": "4be2982fd1697a9834d15b3ba3c70165ef0eee8a",
      "parents": [
        "22a7c31a9659deaddafbbcec6562d44141e84474"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed May 06 15:45:45 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 14:19:16 2009 +0200"
      },
      "message": "tracing: trace_output.c, fix false positive compiler warning\n\nThis compiler warning:\n\n  CC      kernel/trace/trace_output.o\n kernel/trace/trace_output.c: In function ‘register_ftrace_event’:\n kernel/trace/trace_output.c:544: warning: ‘list’ may be used uninitialized in this function\n\nIs wrong as \u0027list\u0027 is always initialized - but GCC (4.3.2) does not\nrecognize this relationship properly.\n\nWork around the warning by initializing the variable to NULL.\n\n[ Impact: fix false positive compiler warning ]\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a7c31a9659deaddafbbcec6562d44141e84474",
      "tree": "0fe1c64e82d673597c78c6ce5f3569d9101b5281",
      "parents": [
        "a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Mon May 04 16:35:08 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 14:13:01 2009 +0200"
      },
      "message": "blktrace: from-sector redundant in trace_block_remap\n\nRemove redundant from-sector parameter: it\u0027s /always/ the bio\u0027s sector\npassed in.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49FF517C.7000503@hp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1",
      "tree": "1f1b4ac4335774c154213e756d10247e5eac1ded",
      "parents": [
        "de1d7286060430e79a1d50ad6e5fee8fe863c5f6"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Mon May 04 16:27:26 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 14:13:00 2009 +0200"
      },
      "message": "blktrace: correct remap names\n\nThis attempts to clarify names utilized during block I/O remap\noperations (partition, volume manager). It correctly matches up the\n/from/ information for both device \u0026 sector. This takes in the concept\nfrom Kosaki Motohiro and extends it to include better naming for the\n\"device_from\" field.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49FF4FAE.3000301@hp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de1d7286060430e79a1d50ad6e5fee8fe863c5f6",
      "tree": "0d3ebef66d5d4634bc1d4fee501a8a309e5aa874",
      "parents": [
        "20c8928abe70e204bd077ab6cfe23002d7788983"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 05 16:49:59 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 12:15:51 2009 +0200"
      },
      "message": "tracepoint: trace_sched_migrate_task(): remove parameter\n\nThe orig_cpu parameter in trace_sched_migrate_task() is not necessary,\nit can be got by using task_cpu(p) in the probe.\n\n[ Impact: micro-optimization ]\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\n[ modified from Mathieu\u0027s patch. The original patch is at:\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d123791201716239\u0026w\u003d2 ]\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: fweisbec@gmail.com\nCc: rostedt@goodmis.org\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: zhaolei@cn.fujitsu.com\nCc: laijs@cn.fujitsu.com\nLKML-Reference: \u003c49FFFDB7.1050402@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20c8928abe70e204bd077ab6cfe23002d7788983",
      "tree": "e161656f99c814ebdd69df8b5a79dab58f80065e",
      "parents": [
        "2df75e415709ad12862028916c772c1f377f6a7c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 06 10:33:45 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 10:38:19 2009 +0200"
      },
      "message": "tracing/events: fix concurrent access to ftrace_events list\n\nA module will add/remove its trace events when it gets loaded/unloaded, so\nthe ftrace_events list is not \"const\", and concurrent access needs to be\nprotected.\n\nThis patch thus fixes races between loading/unloding modules and read\n\u0027available_events\u0027 or read/write \u0027set_event\u0027, etc.\n\nBelow shows how to reproduce the race:\n\n # for ((; ;)) { cat /mnt/tracing/available_events; } \u003e /dev/null \u0026\n # for ((; ;)) { insmod trace-events-sample.ko; rmmod sample; } \u0026\n\nAfter a while:\n\nBUG: unable to handle kernel paging request at 0010011c\nIP: [\u003cc1080f27\u003e] t_next+0x1b/0x2d\n...\nCall Trace:\n [\u003cc10c90e6\u003e] ? seq_read+0x217/0x30d\n [\u003cc10c8ecf\u003e] ? seq_read+0x0/0x30d\n [\u003cc10b4c19\u003e] ? vfs_read+0x8f/0x136\n [\u003cc10b4fc3\u003e] ? sys_read+0x40/0x65\n [\u003cc1002a68\u003e] ? sysenter_do_call+0x12/0x36\n\n[ Impact: fix races when concurrent accessing ftrace_events list ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4A00F709.3080800@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2df75e415709ad12862028916c772c1f377f6a7c",
      "tree": "3374a78cb06fe096e82d9e4d03ad03d048784967",
      "parents": [
        "96d17980fabeb757706d2d6db5a28580a6156bfc"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 06 10:33:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 10:38:19 2009 +0200"
      },
      "message": "tracing/events: fix memory leak when unloading module\n\nWhen unloading a module, memory allocated by init_preds() and\ntrace_define_field() is not freed.\n\n[ Impact: fix memory leak ]\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\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4A00F6E0.3040503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5092dbc96f3acdac5433b27c06860352dc6d23b9",
      "tree": "641b6b25439bf879769e20b4dc0f0bc9a6e6d702",
      "parents": [
        "aa20ae8444fc6c318272c643f856d8d8ad3e198d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 22:47:18 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 00:08:50 2009 -0400"
      },
      "message": "ring-buffer: add benchmark and tester\n\nThis patch adds code that can benchmark the ring buffer as well as\ntest it. This code can be compiled into the kernel (not recommended)\nor as a module.\n\nA separate ring buffer is used to not interfer with other users, like\nftrace. It creates a producer and a consumer (option to disable creation\nof the consumer) and will run for 10 seconds, then sleep for 10 seconds\nand then repeat.\n\nWhile running, the producer will write 10 byte loads into the ring\nbuffer with just putting in the current CPU number. The reader will\ncontinually try to read the buffer. The reader will alternate from reading\nthe buffer via event by event, or by full pages.\n\nThe output is a pr_info, thus it will fill up the syslogs.\n\n  Starting ring buffer hammer\n  End ring buffer hammer\n  Time:     9000349 (usecs)\n  Overruns: 12578640\n  Read:     5358440  (by events)\n  Entries:  0\n  Total:    17937080\n  Missed:   0\n  Hit:      17937080\n  Entries per millisec: 1993\n  501 ns per entry\n  Sleeping for 10 secs\n  Starting ring buffer hammer\n  End ring buffer hammer\n  Time:     9936350 (usecs)\n  Overruns: 0\n  Read:     28146644  (by pages)\n  Entries:  74\n  Total:    28146718\n  Missed:   0\n  Hit:      28146718\n  Entries per millisec: 2832\n  353 ns per entry\n  Sleeping for 10 secs\n\nTime:      is the time the test ran\nOverruns:  the number of events that were overwritten and not read\nRead:      the number of events read (either by pages or events)\nEntries:   the number of entries left in the buffer\n                 (the by pages will only read full pages)\nTotal:     Entries + Read + Overruns\nMissed:    the number of entries that failed to write\nHit:       the number of entries that were written\n\nThe above example shows that it takes ~353 nanosecs per entry when\nthere is a reader, reading by pages (and no overruns)\n\nThe event by event reader slowed the producer down to 501 nanosecs.\n\n[ Impact: see how changes to the ring buffer affect stability and performance ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "aa20ae8444fc6c318272c643f856d8d8ad3e198d",
      "tree": "662d8f33c284a43a41d5c9e9edfe13238bd3535e",
      "parents": [
        "94487d6d53af5acae10cf9fd52f74498994d46b1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 21:16:11 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 21:16:11 2009 -0400"
      },
      "message": "ring-buffer: move big if statement down\n\nIn the hot path of the ring buffer \"__rb_reserve_next\" there\u0027s a big\nif statement that does not even return back to the work flow.\n\n\tcode;\n\n\tif (cross to next page) {\n\n\t\t[ lots of code ]\n\n\t\treturn;\n\t}\n\n\tmore code;\n\nThe condition is even the unlikely path, although we do not denote it\nwith an unlikely because gcc is fine with it. The condition is true when\nthe write crosses a page boundary, and we need to start at a new page.\n\nHaving this if statement makes it hard to read, but calling another\nfunction to do the work is also not appropriate, because we are using a lot\nof variables that were set before the if statement, and we do not want to\nsend them as parameters.\n\nThis patch changes it to a goto:\n\n\tcode;\n\n\tif (cross to next page)\n\t\tgoto next_page;\n\n\tmore code;\n\n\treturn;\n\nnext_page:\n\n\t[ lots of code]\n\nThis makes the code easier to understand, and a bit more obvious.\n\nThe output from gcc is practically identical. For some reason, gcc decided\nto use different registers when I switched it to a goto. But other than that,\nthe logic is the same.\n\n[ Impact: easier to read code ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "94487d6d53af5acae10cf9fd52f74498994d46b1",
      "tree": "4aac17393ab74d234d1f7da064758d6ebf047120",
      "parents": [
        "31b6e76e21b2ffd3cb2f6fe4149790a9fdadce2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 19:22:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 19:22:53 2009 -0400"
      },
      "message": "tracing: use proper export symbol for tracing api\n\nWhen adding the EXPORT_SYMBOL to some of the tracing API, I accidently\nused EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. This patch fixes\nthat mistake.\n\n[ Impact: export the tracing code only for GPL modules ]\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "41ede23eded40832c955d98d4b71bc244809abb3",
      "tree": "044d968ac2d5784a80b46ba2ea04e639ac3e501b",
      "parents": [
        "afbab76a62b69ea6197e19727d4b8a8aef8deb25"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 01 20:26:54 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 17:22:02 2009 -0400"
      },
      "message": "ring-buffer: disable writers when resetting buffers\n\nAs a precaution, it is best to disable writing to the ring buffers\nwhen reseting them.\n\n[ Impact: prevent weird things if write happens during reset ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "afbab76a62b69ea6197e19727d4b8a8aef8deb25",
      "tree": "cfde06582fb3dbb7f8c00c7d1a8a57b0b0e9d0d1",
      "parents": [
        "778c55d44eb4f5f658915ed631d68ed9d1ac3ad1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 01 19:40:05 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 16:58:24 2009 -0400"
      },
      "message": "ring-buffer: have read page swap increment counter with page entries\n\nIn the swap page ring buffer code that is used by the ftrace splice code,\nwe scan the page to increment the counter of entries read.\n\nWith the number of entries already in the page we simply need to add it.\n\n[ Impact: speed up reading page from ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "99ee12973e5fd1123ed1779fb4d11ac7d381d430",
      "tree": "6786f9feaf02a979fbcd7943e3ad9bb901133383",
      "parents": [
        "bcb16568275a9bfaa79efdce6816467927f2c406",
        "74a03b69d1b5ce00a568e142ca97e76b7f5239c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:38 2009 -0700"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clockevents: prevent endless loop in tick_handle_periodic()\n"
    },
    {
      "commit": "bcb16568275a9bfaa79efdce6816467927f2c406",
      "tree": "45790b0f37c7d4fd45290b64c4b1f8f576989195",
      "parents": [
        "e858e8b07666e96c7206f3c42d233340156ebf0a",
        "d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:27 2009 -0700"
      },
      "message": "Merge branch \u0027irq/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Revert \"genirq: assert that irq handlers are indeed running in hardirq context\"\n"
    },
    {
      "commit": "e858e8b07666e96c7206f3c42d233340156ebf0a",
      "tree": "c03420c9d8d9606d4f8b06bd280646528af8f4b1",
      "parents": [
        "da87bbd14299ef43848742c44dfe05fa1da5a21f",
        "f5f293a4e3d0a0c52cec31de6762c95050156516"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:40 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: account system time properly\n"
    },
    {
      "commit": "da87bbd14299ef43848742c44dfe05fa1da5a21f",
      "tree": "ac28a7cf89fbcad8cc18f71c041c520d216ec091",
      "parents": [
        "e91b3b2681148371d84b9cdf4cab6f9de0522544",
        "6e85c5ba73c07b990798087e9b858c065db2b234"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:20 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  kernel/posix-cpu-timers.c: fix sparse warning\n  dma-debug: remove broken dma memory leak detection for 2.6.30\n  locking: Documentation: lockdep-design.txt, fix note of state bits\n"
    },
    {
      "commit": "e91b3b2681148371d84b9cdf4cab6f9de0522544",
      "tree": "3b14f9abef903f70dbd48540cebb1da041cc01ac",
      "parents": [
        "5e30302b9ee75a01d65d8dcf4085254a5da1066d",
        "33015c85995716d03f6293346cf05a1908b0fb9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:02 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: x86, mmiotrace: fix range test\n  tracing: fix ref count in splice pages\n"
    },
    {
      "commit": "778c55d44eb4f5f658915ed631d68ed9d1ac3ad1",
      "tree": "fb410e06820276a499a1ff116e02f0ab8a1f20ad",
      "parents": [
        "e4906eff9e6fbd2d311abcbcc53d5a531773c982"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 01 18:44:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 14:28:08 2009 -0400"
      },
      "message": "ring-buffer: record page entries in buffer page descriptor\n\nCurrently, when the ring buffer writer overflows the buffer and must\nwrite over non consumed data, we increment the overrun counter by\nreading the entries on the page we are about to overwrite. This reads\nthe entries one by one.\n\nThis is not very effecient. This patch adds another entry counter\ninto each buffer page descriptor that keeps track of the number of\nentries on the page. Now on overwrite, the overrun counter simply\nneeds to add the number of entries that is on the page it is about\nto overwrite.\n\n[ Impact: speed up of ring buffer in overwrite mode ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4906eff9e6fbd2d311abcbcc53d5a531773c982",
      "tree": "05dd56b9336e7059cca3b651d542cc4b8bc2220b",
      "parents": [
        "c8d771835e18c938dae8690611d65fe98ad30f58"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 30 20:49:44 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 14:25:44 2009 -0400"
      },
      "message": "ring-buffer: convert cpu buffer entries to local_t\n\nThe entries counter in cpu buffer is not atomic. It can be updated by\nother interrupts or from another CPU (readers).\n\nBut making entries into \"atomic_t\" causes an atomic operation that can\nhurt performance. Instead we convert it to a local_t that will increment\na counter with a local CPU atomic operation (if the arch supports it).\n\nInstead of fighting with readers and overwrites that decrement the counter,\nI added a \"read\" counter. Every time a reader reads an entry it is\nincremented.\n\nWe already have a overrun counter and with that, the entries counter and\nthe read counter, we can calculate the total number of entries in the\nbuffer with:\n\n  (entries - overrun) - read\n\nAs long as the total number of entries in the ring buffer is less than\nthe word size, this will work. But since the entries counter was previously\na long, this is no different than what we had before.\n\nThanks to Andrew Morton for pointing out in the first version that\natomic_t does not replace unsigned long. I switched to atomic_long_t\neven though it is signed. A negative count is most likely a bug.\n\n[ Impact: keep accurate count of cpu buffer entries ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c8d771835e18c938dae8690611d65fe98ad30f58",
      "tree": "6c8ba52ab340e574c21418866bd985d55ab771e9",
      "parents": [
        "f0d2c681ac0a85142fc8abe65fc33fcad35cb9b7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 18:03:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 13:52:02 2009 -0400"
      },
      "message": "tracing: export stats of ring buffers to userspace\n\nThis patch adds stats to the ftrace ring buffers:\n\n # cat /debugfs/tracing/per_cpu/cpu0/stats\n entries: 42360\n overrun: 30509326\n commit overrun: 0\n nmi dropped: 0\n\nWhere entries are the total number of data entries in the buffer.\n\noverrun is the number of entries not consumed and were overwritten by\nthe writer.\n\ncommit overrun is the number of entries dropped due to nested writers\nwrapping the buffer before the initial writer finished the commit.\n\nnmi dropped is the number of entries dropped due to the ring buffer\nlock being held when an nmi was going to write to the ring buffer.\nNote, this field will be meaningless and will go away when the ring\nbuffer becomes lockless.\n\n[ Impact: let userspace know what is happening in the ring buffers ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f0d2c681ac0a85142fc8abe65fc33fcad35cb9b7",
      "tree": "eafd2b655fc7ad0695fc5dbc343bcc1eb17e2e32",
      "parents": [
        "d6ce96dabe2c4409fd009ec14250a1fdbab4b133"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 13:43:37 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 13:51:02 2009 -0400"
      },
      "message": "ring-buffer: add counters for commit overrun and nmi dropped entries\n\nThe WARN_ON in the ring buffer when a commit is preempted and the\nbuffer is filled by preceding writes can happen in normal operations.\nThe WARN_ON makes it look like a bug, not to mention, because\nit does not stop tracing and calls printk which can also recurse, this\nis prone to deadlock (the WARN_ON is not in a position to recurse).\n\nThis patch removes the WARN_ON and replaces it with a counter that\ncan be retrieved by a tracer. This counter is called commit_overrun.\n\nWhile at it, I added a nmi_dropped counter to count any time an NMI entry\nis dropped because the NMI could not take the spinlock.\n\n[ Impact: prevent deadlock by printing normal case warning ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d6ce96dabe2c4409fd009ec14250a1fdbab4b133",
      "tree": "08a49382ec96651ca9adf8b28eb1566482fe3f9e",
      "parents": [
        "9ee1983c9aa18f12388ef660d0c76a23dc112959"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 01:15:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 05 13:46:33 2009 -0400"
      },
      "message": "ring-buffer: export symbols\n\nI\u0027m adding a module to do a series of tests on the ring buffer as well\nas benchmarks. This module needs to have more of the ring buffer API\nexported. There\u0027s nothing wrong with reading the ring buffer from a\nmodule.\n\n[ Impact: allow modules to read pages from the ring buffer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9e4a5bda89034502fb144331e71a0efdfd5fae97",
      "tree": "89706c956da4b6cddf04d60be736e8a05f3f2679",
      "parents": [
        "8713e01295140f674a41f2199b0f7ca99dfb69d5"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Thu Apr 30 15:08:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 02 15:36:10 2009 -0700"
      },
      "message": "mm: prevent divide error for small values of vm_dirty_bytes\n\nAvoid setting less than two pages for vm_dirty_bytes: this is necessary to\navoid potential division by 0 (like the following) in get_dirty_limits().\n\n[   49.951610] divide error: 0000 [#1] PREEMPT SMP\n[   49.952195] last sysfs file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/uevent\n[   49.952195] CPU 1\n[   49.952195] Modules linked in: pcspkr\n[   49.952195] Pid: 3064, comm: dd Not tainted 2.6.30-rc3 #1\n[   49.952195] RIP: 0010:[\u003cffffffff802d39a9\u003e]  [\u003cffffffff802d39a9\u003e] get_dirty_limits+0xe9/0x2c0\n[   49.952195] RSP: 0018:ffff88001de03a98  EFLAGS: 00010202\n[   49.952195] RAX: 00000000000000c0 RBX: ffff88001de03b80 RCX: 28f5c28f5c28f5c3\n[   49.952195] RDX: 0000000000000000 RSI: 00000000000000c0 RDI: 0000000000000000\n[   49.952195] RBP: ffff88001de03ae8 R08: 0000000000000000 R09: 0000000000000000\n[   49.952195] R10: ffff88001ddda9a0 R11: 0000000000000001 R12: 0000000000000001\n[   49.952195] R13: ffff88001fbc8218 R14: ffff88001de03b70 R15: ffff88001de03b78\n[   49.952195] FS:  00007fe9a435b6f0(0000) GS:ffff8800025d9000(0000) knlGS:0000000000000000\n[   49.952195] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[   49.952195] CR2: 00007fe9a39ab000 CR3: 000000001de38000 CR4: 00000000000006e0\n[   49.952195] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[   49.952195] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[   49.952195] Process dd (pid: 3064, threadinfo ffff88001de02000, task ffff88001ddda250)\n[   49.952195] Stack:\n[   49.952195]  ffff88001fa0de00 ffff88001f2dbd70 ffff88001f9fe800 000080b900000000\n[   49.952195]  00000000000000c0 ffff8800027a6100 0000000000000400 ffff88001fbc8218\n[   49.952195]  0000000000000000 0000000000000600 ffff88001de03bb8 ffffffff802d3ed7\n[   49.952195] Call Trace:\n[   49.952195]  [\u003cffffffff802d3ed7\u003e] balance_dirty_pages_ratelimited_nr+0x1d7/0x3f0\n[   49.952195]  [\u003cffffffff80368f8e\u003e] ? ext3_writeback_write_end+0x9e/0x120\n[   49.952195]  [\u003cffffffff802cc7df\u003e] generic_file_buffered_write+0x12f/0x330\n[   49.952195]  [\u003cffffffff802cce8d\u003e] __generic_file_aio_write_nolock+0x26d/0x460\n[   49.952195]  [\u003cffffffff802cda32\u003e] ? generic_file_aio_write+0x52/0xd0\n[   49.952195]  [\u003cffffffff802cda49\u003e] generic_file_aio_write+0x69/0xd0\n[   49.952195]  [\u003cffffffff80365fa6\u003e] ext3_file_write+0x26/0xc0\n[   49.952195]  [\u003cffffffff803034d1\u003e] do_sync_write+0xf1/0x140\n[   49.952195]  [\u003cffffffff80290d1a\u003e] ? get_lock_stats+0x2a/0x60\n[   49.952195]  [\u003cffffffff80280730\u003e] ? autoremove_wake_function+0x0/0x40\n[   49.952195]  [\u003cffffffff8030411b\u003e] vfs_write+0xcb/0x190\n[   49.952195]  [\u003cffffffff803042d0\u003e] sys_write+0x50/0x90\n[   49.952195]  [\u003cffffffff8022ff6b\u003e] system_call_fastpath+0x16/0x1b\n[   49.952195] Code: 00 00 00 2b 05 09 1c 17 01 48 89 c6 49 0f af f4 48 c1 ee 02 48 89 f0 48 f7 e1 48 89 d6 31 d2 48 c1 ee 02 48 0f af 75 d0 48 89 f0 \u003c48\u003e f7 f7 41 8b 95 ac 01 00 00 48 89 c7 49 0f af d4 48 c1 ea 02\n[   49.952195] RIP  [\u003cffffffff802d39a9\u003e] get_dirty_limits+0xe9/0x2c0\n[   49.952195]  RSP \u003cffff88001de03a98\u003e\n[   50.096523] ---[ end trace 008d7aa02f244d7b ]---\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74a03b69d1b5ce00a568e142ca97e76b7f5239c6",
      "tree": "02bdea43ae6d528dcee97c00c3a8651f8841411a",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri May 01 13:10:25 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 02 10:22:27 2009 +0200"
      },
      "message": "clockevents: prevent endless loop in tick_handle_periodic()\n\ntick_handle_periodic() can lock up hard when a one shot clock event\ndevice is used in combination with jiffies clocksource.\n\nAvoid an endless loop issue by requiring that a highres valid\nclocksource be installed before we call tick_periodic() in a loop when\nusing ONESHOT mode. The result is we will only increment jiffies once\nper interrupt until a continuous hardware clocksource is available.\n\nWithout this, we can run into a endless loop, where each cycle through\nthe loop, jiffies is updated which increments time by tick_period or\nmore (due to clock steering), which can cause the event programming to\nthink the next event was before the newly incremented time and fail\ncausing tick_periodic() to be called again and the whole process loops\nforever.\n\n[ Impact: prevent hard lock up ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0",
      "tree": "aa5601ffd1103f5ba8662722a0c88cfe1990a301",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 15:16:04 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 15:16:04 2009 +0200"
      },
      "message": "Revert \"genirq: assert that irq handlers are indeed running in hardirq context\"\n\nThis reverts commit 044d408409cc4e1bc75c886e27ca85c270db104c.\n\nThe commit added a warning when handle_IRQ_event() is called outside\nof hard interrupt context. This breaks the generic tasklet based\ninterrupt resend mechanism which is used when the hardware has no way\nto retrigger the interrupt. So we get a warning for a use case which\nis correct and worked for years. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e85c5ba73c07b990798087e9b858c065db2b234",
      "tree": "d3cfcdd1f8d779f65035a0f610ed13bda9b96d68",
      "parents": [
        "314eeac9e35d8b934dd7a09ed3a8e00d41977b84"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Apr 29 19:14:32 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 08:08:31 2009 +0200"
      },
      "message": "kernel/posix-cpu-timers.c: fix sparse warning\n\nSparse reports the following in kernel/posix-cpu-timers.c:\n\n  warning: symbol \u0027firing\u0027 shadows an earlier one\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Subrata Modak \u003csubrata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cBD79186B4FD85F4B8E60E381CAEE1909016C1AFE@mi8nycmail19.Mi8.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5f293a4e3d0a0c52cec31de6762c95050156516",
      "tree": "b9dad5f4b1e834e414e825345b32fadd1ed6c01a",
      "parents": [
        "56a50adda49b2020156616c4eb15353e0f9ad7de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Apr 29 14:44:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 15:02:28 2009 +0200"
      },
      "message": "sched: account system time properly\n\nAndrew Gallatin reported that IRQ and SOFTIRQ times were\nsometime not reported correctly on recent kernels, and even\nbisected to commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4\n([PATCH] fix scaled \u0026 unscaled cputime accounting) as the first\nbad commit.\n\nFurther analysis pointed that commit\n79741dd35713ff4f6fd0eafd59fa94e8a4ba922d ([PATCH] idle cputime\naccounting) was the real cause of the problem.\n\naccount_process_tick() was not taking into account timer IRQ\ninterrupting the idle task servicing a hard or soft irq.\n\nOn mostly idle cpu, irqs were thus not accounted and top or\nmpstat could tell user/admin that cpu was 100 % idle, 0.00 %\nirq, 0.00 % softirq, while it was not.\n\n[ Impact: fix occasionally incorrect CPU statistics in top/mpstat ]\n\nReported-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nRe-reported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: rick.jones2@hp.com\nCc: brice@myri.com\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nLKML-Reference: \u003c49F84BC1.7080602@cosmosbay.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0e39ed378fb6ba916522764cd508fa7d42ad495",
      "tree": "e696fef3ec7daebb8861e002b3e7432a209baae4",
      "parents": [
        "8b3725621074040d380664964ffbc40610aef8c6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Apr 29 13:51:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:06:21 2009 +0200"
      },
      "message": "tracing: fix build failure on s390\n\n\"tracing: create automated trace defines\" causes this compile error on s390,\nas reported by Sachin Sant against linux-next:\n\n kernel/built-in.o: In function `__do_softirq\u0027:\n (.text+0x1c680): undefined reference to `__tracepoint_softirq_entry\u0027\n\nThis happens because the definitions of the softirq tracepoints were moved\nfrom kernel/softirq.c to kernel/irq/handle.c. Since s390 doesn\u0027t support\ngeneric hardirqs handle.c doesn\u0027t get compiled and the definitions are\nmissing.\n\nSo move the tracepoints to softirq.c again.\n\n[ Impact: fix build failure on s390 ]\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c20090429135139.5fac79b8@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b3725621074040d380664964ffbc40610aef8c6",
      "tree": "3a78292a08cc9c87653be2e42d084a7d7f5989bf",
      "parents": [
        "a118e4d1402f1349fe3d953493e4168a300a752d"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:59 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:06:11 2009 +0200"
      },
      "message": "tracing/filters: a better event parser\n\nReplace the current event parser hack with a better one.  Filters are\nno longer specified predicate by predicate, but all at once and can\nuse parens and any of the following operators:\n\nnumeric fields:\n\n\u003d\u003d, !\u003d, \u003c, \u003c\u003d, \u003e, \u003e\u003d\n\nstring fields:\n\n\u003d\u003d, !\u003d\n\npredicates can be combined with the logical operators:\n\n\u0026\u0026, ||\n\nexamples:\n\n\"common_preempt_count \u003e 4\" \u003e filter\n\n\"((sig \u003e\u003d 10 \u0026\u0026 sig \u003c 15) || sig \u003d\u003d 17) \u0026\u0026 comm !\u003d bash\" \u003e filter\n\nIf there was an error, the erroneous string along with an error\nmessage can be seen by looking at the filter e.g.:\n\n((sig \u003e\u003d 10 \u0026\u0026 sig \u003c 15) || dsig \u003d\u003d 17) \u0026\u0026 comm !\u003d bash\n^\nparse_error: Field not found\n\nCurrently the caret for an error always appears at the beginning of\nthe filter; a real position should be used, but the error message\nshould be useful even without it.\n\nTo clear a filter, \u00270\u0027 can be written to the filter file.\n\nFilters can also be set or cleared for a complete subsystem by writing\nthe same filter as would be written to an individual event to the\nfilter file at the root of the subsytem.  Note however, that if any\nevent in the subsystem lacks a field specified in the filter being\nset, the set will fail and all filters in the subsytem are\nautomatically cleared.  This change from the previous version was made\nbecause using only the fields that happen to exist for a given event\nwould most likely result in a meaningless filter.\n\nBecause the logical operators are now implemented as predicates, the\nmaximum number of predicates in a filter was increased from 8 to 16.\n\n[ Impact: add new, extended trace-filter implementation ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905899.6416.121.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a118e4d1402f1349fe3d953493e4168a300a752d",
      "tree": "bd4c2fccee4528bf7d1536e33218516953904740",
      "parents": [
        "30e673b230f9d556eb81ef68a7b1a08c8b3b142c"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:53 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:06:03 2009 +0200"
      },
      "message": "tracing/filters: distinguish between signed and unsigned fields\n\nThe new filter comparison ops need to be able to distinguish between\nsigned and unsigned field types, so add an is_signed flag/param to the\nevent field struct/trace_define_fields().  Also define a simple macro,\nis_signed_type() to determine the signedness at compile time, used in the\ntrace macros.  If the is_signed_type() macro won\u0027t work with a specific\ntype, a new slightly modified version of TRACE_FIELD() called\nTRACE_FIELD_SIGN(), allows the signedness to be set explicitly.\n\n[ Impact: extend trace-filter code for new feature ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905893.6416.120.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30e673b230f9d556eb81ef68a7b1a08c8b3b142c",
      "tree": "219bb8cfce0b36f05e3c21ab10a29f8f56d47d7e",
      "parents": [
        "0f9a623dd6c9b5b4dd00c232f29525bfc7a8ecf2"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Apr 28 03:04:47 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:05:54 2009 +0200"
      },
      "message": "tracing/filters: move preds into event_filter object\n\nCreate a new event_filter object, and move the pred-related members\nout of the call and subsystem objects and into the filter object - the\ndetails of the filter implementation don\u0027t need to be exposed in the\ncall and subsystem in any case, and it will also help make the new\nparser implementation a little cleaner.\n\n[ Impact: refactor trace-filter code to prepare for new features ]\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1240905887.6416.119.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7267fa6819467669f5cc2ba81a615dcc88158b4b",
      "tree": "281e3c2b9765c24364280f02fd9f9aa387c8aa6f",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 08:02:44 2009 +0200"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "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": "51b3960e78575f96c989d08421596bb6ab569f44",
      "tree": "fa6ec27c8fb2a2f9cfd278193a01a6b51d1a77b5",
      "parents": [
        "f70616acacd956aaa819fd2e3a0d0152f1bc812b",
        "cad81bc2529ab8c62b6fdc83a1c0c7f4a87209eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 27 08:38:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 27 08:38:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  ptrace: ptrace_attach: fix the usage of -\u003ecred_exec_mutex\n"
    },
    {
      "commit": "cad81bc2529ab8c62b6fdc83a1c0c7f4a87209eb",
      "tree": "8d056ddb9db3db5eeba6a6fb629efe2c05b67ea0",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 27 01:41:34 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Apr 27 20:30:51 2009 +1000"
      },
      "message": "ptrace: ptrace_attach: fix the usage of -\u003ecred_exec_mutex\n\nptrace_attach() needs task-\u003ecred_exec_mutex, not current-\u003ecred_exec_mutex.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "fc2e3180a714d3125fc883541c0cd5936c99ba34",
      "tree": "c4e590a6ee64b1afb4ece1f7dee41a405849df2e",
      "parents": [
        "1e4b978154c8cb6cdadd1988c597ef20f837679e",
        "ca713c2ab0eea3458962983e4a7e13430ea479b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:18 2009 -0700"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/irq: mark NUMA_MIGRATE_IRQ_DESC broken\n  x86, irq: Remove IRQ_DISABLED check in process context IRQ move\n"
    },
    {
      "commit": "1e4b978154c8cb6cdadd1988c597ef20f837679e",
      "tree": "67c33602bb3125c3957a441fa912044f55ccfc57",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119",
        "b48ccb095a0c9257241261ec2bd1cbb1bdabc48b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:01 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  locking: clarify kernel-taint warning message\n  lockdep, x86: account for irqs enabled in paranoid_exit\n  lockdep: more robust lockdep_map init sequence\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": "0c8454f56623505a99463405fd7d5664adfbb094",
      "tree": "64e594f2846d997213890b59168307d12e676ff0",
      "parents": [
        "4b2b0b9753194cad44d7295c32044b89710efd70"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 25 00:16:06 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 15:31:30 2009 -0700"
      },
      "message": "PM/Hibernate: Fix waiting for image device to appear on resume\n\nCommit c751085943362143f84346d274e0011419c84202 (\"PM/Hibernate: Wait for\nSCSI devices scan to complete during resume\") added a call to\nscsi_complete_async_scans() to software_resume(), so that it waited for\nthe SCSI scanning to complete, but the call was added at a wrong place.\n\nNamely, it should have been added after wait_for_device_probe(), which\nis called only if the image partition hasn\u0027t been specified yet.  Also,\nit\u0027s reasonable to check if the image partition is present and only wait\nfor the device probing and SCSI scanning to complete if it is not the\ncase.\n\nAdditionally, since noresume is checked right at the beginning of\nsoftware_resume() and the function returns immediately if it\u0027s set, it\ndoesn\u0027t make sense to check it once again later.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "418df63c2d94f238ac7e1d1d53be35dd6b7a7252",
      "tree": "d9ab346ae46a45a4bff12fe7dbc615b7469d17a5",
      "parents": [
        "3e241ff0c57cb610301009fe8c3b9da4c6877800"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Apr 22 12:01:49 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:47:59 2009 -0700"
      },
      "message": "Delete slow-work timers properly\n\nSlow-work appears to delete its timer as soon as the first user\nunregisters, even though other users could be active.  At the same time, it\nnever seems to delete slow_work_oom_timer.  Arrange for both to happen in\nthe shutdown path.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "416dfdcdb894432547ead4fcb9fa6a36b396059e",
      "tree": "8033fdda07397a59c5fa98c88927040906ce6c1a",
      "parents": [
        "56449f437add737a1e5e1cb7e00f63ac8ead1938",
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 24 10:11:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 24 10:11:23 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc3\u0027 into tracing/hw-branch-tracing\n\nConflicts:\n\tarch/x86/kernel/ptrace.c\n\nMerge reason: fix the conflict above, and also pick up the CONFIG_BROKEN\n              dependency change from upstream so that we can remove it\n\t      here.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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"
    }
  ],
  "next": "9be24414aad047dcf9d8d2a9a929321536c7ebec"
}
