)]}'
{
  "log": [
    {
      "commit": "9de36825b321fe9fe9cf73260554251af579f4ca",
      "tree": "0bde90baa93cb7a1ac09c6ae73d6ec1d67ac2f44",
      "parents": [
        "769b0441f438c4bb4872cb8560eb6fe51bcc09ee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:52:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:12 2009 +0100"
      },
      "message": "tracing: trace_bprintk() cleanups\n\nImpact: cleanup\n\nRemove a few leftovers and clean up the code a bit.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "769b0441f438c4bb4872cb8560eb6fe51bcc09ee",
      "tree": "9908682dfd89e97c3097a7c3adcae35d821e1895",
      "parents": [
        "1ba28e02a18cbdbea123836f6c98efb09cbf59ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 06 17:21:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:12 2009 +0100"
      },
      "message": "tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()\n\nImpact: faster and lighter tracing\n\nNow that we have trace_bprintk() which is faster and consume lesser\nmemory than trace_printk() and has the same purpose, we can now drop\nthe old implementation in favour of the binary one from trace_bprintk(),\nwhich means we move all the implementation of trace_bprintk() to\ntrace_printk(), so the Api doesn\u0027t change except that we must now use\ntrace_seq_bprintk() to print the TRACE_PRINT entries.\n\nSome changes result of this:\n\n- Previously, trace_bprintk depended of a single tracer and couldn\u0027t\n  work without. This tracer has been dropped and the whole implementation\n  of trace_printk() (like the module formats management) is now integrated\n  in the tracing core (comes with CONFIG_TRACING), though we keep the file\n  trace_printk (previously trace_bprintk.c) where we can find the module\n  management. Thus we don\u0027t overflow trace.c\n\n- changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries.\n\n- change a bit trace_printk/trace_vprintk macros to support non-builtin formats\n  constants, and fix \u0027const\u0027 qualifiers warnings. But this is all transparent for\n  developers.\n\n- etc...\n\nV2:\n\n- Rebase against last changes\n- Fix mispell on the changelog\n\nV3:\n\n- Rebase against last changes (moving trace_printk() to kernel.h)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ba28e02a18cbdbea123836f6c98efb09cbf59ec",
      "tree": "41df06a06c702152902ffd7250f284a6efe9b0da",
      "parents": [
        "1427cdf0592368bdec57276edaf714040ee8744f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: add trace_bprintk()\n\nImpact: add a generic printk() for tracing, like trace_printk()\n\ntrace_bprintk() uses the infrastructure to record events on ring_buffer.\n\n[ fweisbec@gmail.com: ported to latest -tip, made it work if\n  !CONFIG_MODULES, never free the format strings from modules\n  because we can\u0027t keep track of them and conditionnaly create\n  the ftrace format strings section (reported by Steven Rostedt) ]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1427cdf0592368bdec57276edaf714040ee8744f",
      "tree": "4b214ee49643db383328cf53a31959eb0627a167",
      "parents": [
        "546e5354a6e4ec760ac03ef1148e9a4762abb5f5"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: infrastructure for supporting binary record\n\nImpact: save on memory for tracing\n\nCurrent tracers are typically using a struct(like struct ftrace_entry,\nstruct ctx_switch_entry, struct special_entr etc...)to record a binary\nevent. These structs can only record a their own kind of events.\nA new kind of tracer need a new struct and a lot of code too handle it.\n\nSo we need a generic binary record for events. This infrastructure\nis for this purpose.\n\n[fweisbec@gmail.com: rebase against latest -tip, make it safe while sched\ntracing as reported by Steven Rostedt]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10dd3ebe213c31bff14b4dae3c5d32a76b1fad7c",
      "tree": "251609d532ccbb4c157a2c5c3d7a5b8176eeab8c",
      "parents": [
        "422d3c7a577b15e1384c9d4e72a9540896b685fa"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 06 15:29:04 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 12:07:38 2009 +0100"
      },
      "message": "tracing: fix deadlock when setting set_ftrace_pid\n\nImpact: fix deadlock while using set_ftrace_pid\n\nReproducer:\n\n\t# cd /sys/kernel/debug/tracing\n\t# echo $$ \u003e set_ftrace_pid\n\n\tthen, console becomes hung.\n\nDetails:\n\nwhen writing set_ftracepid, kernel callstack is following\n\n\tftrace_pid_write()\n\t\tmutex_lock(\u0026ftrace_lock);\n\t\tftrace_update_pid_func()\n\t\t\tmutex_lock(\u0026ftrace_lock);\n\t\t\tmutex_unlock(\u0026ftrace_lock);\n\t\tmutex_unlock(\u0026ftrace_lock);\n\nthen, system always deadlocks when ftrace_pid_write() is called.\n\nIn past days, ftrace_pid_write() used ftrace_start_lock, but\ncommit e6ea44e9b4c12325337cd1c06103cd515a1c02b2 consolidated\nftrace_start_lock to ftrace_lock.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c20090306151155.0778.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "422d3c7a577b15e1384c9d4e72a9540896b685fa",
      "tree": "8852c53347ec55c53bea321bd9b9f07cd9cc9d66",
      "parents": [
        "bc722f508a5bcbb65a7bb0c7ce8e3934f5763a1a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 06 10:40:53 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:56:42 2009 +0100"
      },
      "message": "tracing: current tip/master can\u0027t enable ftrace\n\nAfter commit 40ada30f9621fbd831ac2437b9a2a399aad34b00,\n\"make menuconfig\" doesn\u0027t display \"Tracer\" item.\n\nFollowing modification restores it.\n"
    },
    {
      "commit": "bc722f508a5bcbb65a7bb0c7ce8e3934f5763a1a",
      "tree": "d6494e409a671669614e7a08a5328e8def277225",
      "parents": [
        "16097439703bcd38e9fe5608c12add6dacb825ea",
        "770cb24345c0f6e0d47bd2b94aa6d67bea6f8b54"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:40:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:40:37 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "16097439703bcd38e9fe5608c12add6dacb825ea",
      "tree": "9f6572fefdeb3e7c61f701ed9a86979d5525ccd8",
      "parents": [
        "40ada30f9621fbd831ac2437b9a2a399aad34b00",
        "0012693ad4f636c720fed3802027f9427962f540"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:39:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:39:18 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/function-graph-tracer\u0027 into tracing/core\n"
    },
    {
      "commit": "770cb24345c0f6e0d47bd2b94aa6d67bea6f8b54",
      "tree": "ec76651c686c02249c1455446801cf2b9d823879",
      "parents": [
        "33b0c229e3abeae00493ed1d6f0b07191977a0a2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:35:29 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:46:44 2009 -0500"
      },
      "message": "tracing: add format files for ftrace default entries\n\nImpact: allow user apps to read binary format of basic ftrace entries\n\nCurrently, only defined raw events export their formats so a binary\nreader can parse them. There\u0027s no reason that the default ftrace entries\ncan\u0027t export their formats.\n\nThis patch adds a subsystem called \"ftrace\" in the events directory\nthat includes the ftrace entries for basic ftrace recorded items.\n\nThese only have three files in the events directory:\n\n type             : printf\n available_types  : printf\n format           : format for the event entry\n\nFor example:\n\n # cat /debug/tracing/events/ftrace/wakeup/format\nname: wakeup\nID: 3\nformat:\n        field:unsigned char type;       offset:0;       size:1;\n        field:unsigned char flags;      offset:1;       size:1;\n        field:unsigned char preempt_count;      offset:2;       size:1;\n        field:int pid;  offset:4;       size:4;\n        field:int tgid; offset:8;       size:4;\n\n        field:unsigned int prev_pid;    offset:12;      size:4;\n        field:unsigned char prev_prio;  offset:16;      size:1;\n        field:unsigned char prev_state; offset:17;      size:1;\n        field:unsigned int next_pid;    offset:20;      size:4;\n        field:unsigned char next_prio;  offset:24;      size:1;\n        field:unsigned char next_state; offset:25;      size:1;\n        field:unsigned int next_cpu;    offset:28;      size:4;\n\nprint fmt: \"%u:%u:%u  \u003d\u003d+ %u:%u:%u [%03u]\"\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "33b0c229e3abeae00493ed1d6f0b07191977a0a2",
      "tree": "f11127408c678be82545f8c949f49f499c3b6f95",
      "parents": [
        "5e2336a0d47c9661a40cc5ef85135ce1406af6e8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 11:45:43 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:46:42 2009 -0500"
      },
      "message": "tracing: move print of event format to separate file\n\nImpact: clean up\n\nMove the macro that creates the event format file to a separate header.\nThis will allow the default ftrace events to use this same macro\nto create the formats to read those events.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5e2336a0d47c9661a40cc5ef85135ce1406af6e8",
      "tree": "6d977e4471f8e31245602a26e939368689d2383a",
      "parents": [
        "2002c258faaa8f89543df284fdbaa9e4b171547f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:44:55 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 05 21:46:40 2009 -0500"
      },
      "message": "tracing: make all file_operations const\n\nImpact: cleanup\n\nAll file_operations structures should be constant. No one is going to\nchange them.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "40ada30f9621fbd831ac2437b9a2a399aad34b00",
      "tree": "47df1abc756d9ce33feec3eb5bb601edafbcf14c",
      "parents": [
        "526211bc58c4b3265352801c5a7f469af5c34711"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 21:19:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 21:53:25 2009 +0100"
      },
      "message": "tracing: clean up menu\n\nClean up menu structure, introduce TRACING_SUPPORT switch that signals\nwhether an architecture supports various instrumentation mechanisms.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0012693ad4f636c720fed3802027f9427962f540",
      "tree": "355277518dbdcc8385f374db1a5d5e15301940e0",
      "parents": [
        "c4ef144a9d0803eb0a2d4110ae87e7f34e667ded"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 05 01:49:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 12:14:41 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: use the more lightweight local clock\n\nImpact: decrease hangs risks with the graph tracer on slow systems\n\nSince the function graph tracer can spend too much time on timer\ninterrupts, it\u0027s better now to use the more lightweight local\nclock. Anyway, the function graph traces are more reliable on a\nper cpu trace.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c49af243d.06e9300a.53ad.ffff840c@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e1607a00bd082972629d3d68c95c8bcf902b55a",
      "tree": "2751baf5ee286cdec8f4b1afcb7332f4c1f5f454",
      "parents": [
        "53664738c122bfe8b0e489fddaf2ab265c9133c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 10:24:48 2009 +0100"
      },
      "message": "tracing: rename ftrace_printk() \u003d\u003e trace_printk()\n\nImpact: cleanup\n\nUse a more generic name - this also allows the prototype to move\nto kernel.h and be generally available to kernel developers who\nwant to do some quick tracing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9d25fe6eaa2c720bb3ea661b660e58d54fa38bf",
      "tree": "8121a9fc4021e86499c404e0b1012a36e8d0b00e",
      "parents": [
        "27d48be84477d2f0a2e2ac3738a3971dece631d5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 22:15:30 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 22:15:30 2009 -0500"
      },
      "message": "tracing: have latency tracers set the latency format\n\nThe latency tracers (irqsoff, preemptoff, preemptirqsoff, and wakeup)\nare pretty useless with the default output format. This patch makes them\nautomatically enable the latency format when they are selected. They\nalso record the state of the latency option, and if it was not enabled\nwhen selected, they disable it on reset.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "27d48be84477d2f0a2e2ac3738a3971dece631d5",
      "tree": "92d4b896df1102b0aaa3c01d71fdecd75faa601f",
      "parents": [
        "5fd73f862468280d4cbb5ba4321502f911f9f89a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:57:29 2009 -0500"
      },
      "message": "tracing: consolidate print_lat_fmt and print_trace_fmt\n\nImpact: clean up\n\nBoth print_lat_fmt and print_trace_fmt do pretty much the same thing\nexcept for one different function call. This patch consolidates the\ntwo functions and adds an if statement to perform the difference.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5fd73f862468280d4cbb5ba4321502f911f9f89a",
      "tree": "3c96f61dea5280784560a8b9252fe13a84149421",
      "parents": [
        "c032ef64d680717e4e8ce3da65da6419a35f8a2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "message": "tracing: remove extra latency_trace method from trace structure\n\nImpact: clean up\n\nThe trace and latency_trace function pointers are identical for\nevery tracer but the function tracer. The differences in the function\ntracer are trivial (latency output puts paranthesis around parent).\n\nThis patch removes the latency_trace pointer and all prints will\nnow just use the trace output function pointer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "c032ef64d680717e4e8ce3da65da6419a35f8a2c",
      "tree": "f6d77c0033e9a33f22adac66d939338c55f06525",
      "parents": [
        "e74da5235cec6cb71eb338c987f876ecc793138b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:34:24 2009 -0500"
      },
      "message": "tracing: add latency output format option\n\nWith the removal of the latency_trace file, we lost the ability\nto see some of the finer details in a trace. Like the state of\ninterrupts enabled, the preempt count, need resched, and if we\nare in an interrupt handler, softirq handler or not.\n\nThis patch simply creates an option to bring back the old format.\nThis also removes the warning about an unused variable that held\nthe latency_trace file operations.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e74da5235cec6cb71eb338c987f876ecc793138b",
      "tree": "ba7ba533d7056ba660763c33b5a44a1d61279c99",
      "parents": [
        "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 20:31:11 2009 -0500"
      },
      "message": "tracing: fix seq read from trace files\n\nThe buffer used by trace_seq was updated incorrectly. Instead\nof consuming what was actually read, it consumed the rest of the\nbuffer on reads.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2dc5d12b1f43134e9bc5037f69f4739cfdfab93e",
      "tree": "fd1070a750b7f88e01527b3d808e73f7f9fcb45a",
      "parents": [
        "4f3640f8a358f2183a8c966f299eeb55ca523e06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:10:05 2009 -0500"
      },
      "message": "tracing: do not return EFAULT if read copied anything\n\nImpact: fix trace read to conform to standards\n\nAndrew Morton, Theodore Tso and H. Peter Anvin brought to my attention\nthat a userspace read should not return -EFAULT if it succeeded in\ncopying anything. It should only return -EFAULT if it failed to copy\nat all.\n\nThis patch modifies the check of copy_from_user and updates the return\ncode appropriately.\n\nI also used H. Peter Anvin\u0027s short cut rule to just test ret \u003d\u003d count.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4f3640f8a358f2183a8c966f299eeb55ca523e06",
      "tree": "ff8b1a10b449fbb823523b09a192e6b5563d56e8",
      "parents": [
        "e543ad76914abec1acf6631604a4154cd7a2ca6b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 23:52:42 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 19:01:45 2009 -0500"
      },
      "message": "ring-buffer: fix timestamp in partial ring_buffer_page_read\n\nIf a partial ring_buffer_page_read happens, then some of the\nincremental timestamps may be lost. This patch writes the\nrecent timestamp into the page that is passed back to the caller.\n\nA partial ring_buffer_page_read is where the full page would not\nbe written back to the user, and instead, just part of the page\nis copied to the user. A full page would be a page swap with the\nring buffer and the timestamps would be correct.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e543ad76914abec1acf6631604a4154cd7a2ca6b",
      "tree": "a2d093fe45ecb663fc1f977c0efc812ec06e1b99",
      "parents": [
        "efed792d6738964f399a508ef9e831cd60fa4657"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:20:36 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 18:32:28 2009 -0500"
      },
      "message": "tracing: add cpu_file intialization for ftrace_dump\n\nImpact: fix to ftrace_dump output corruption\n\nThe commit: b04cc6b1f6398b0e0b60d37e27ce51b4899672ec\n  tracing/core: introduce per cpu tracing files\n\nadded a new field to the iterator called cpu_file. This was a handle\nto differentiate between the per cpu trace output files and the\nall cpu \"trace\" file. The all cpu \"trace\" file required setting this\nto TRACE_PIPE_ALL_CPU.\n\nThe problem is that the ftrace_dump sets up its own iterator but was\nnot updated to handle this change. The result was only CPU 0 printing\nout on crash and a lot of \"\u003c0\u003e\"\u0027s also being printed.\n\nReported-by: Thomas Gleixner \u003ctglx@linuxtronix.de\u003e\nTested-by: Darren Hart \u003cdvhtc@us.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "efed792d6738964f399a508ef9e831cd60fa4657",
      "tree": "b4b5e472bafb3d5d0d8ea26680e1d8cc87365c30",
      "parents": [
        "28b1bd1cbc33cae95a309691d814399a69cf3070"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Mar 04 12:32:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:58 2009 +0100"
      },
      "message": "tracing: add lockdep tracepoints for lock acquire/release\n\nAugment the traces with lock names when lockdep is available:\n\n 1)               |  down_read_trylock() {\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   4.201 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   3.523 us    |    }\n 1)               |  /* lock_acquire: try read \u0026mm-\u003emmap_sem */\n 1) + 13.386 us   |  }\n 1)   1.635 us    |  find_vma();\n 1)               |  handle_mm_fault() {\n 1)               |    __do_fault() {\n 1)               |      filemap_fault() {\n 1)               |        find_lock_page() {\n 1)               |          find_get_page() {\n 1)               |            /* lock_acquire: read rcu_read_lock */\n 1)               |            /* lock_release: rcu_read_lock */\n 1)   5.697 us    |          }\n 1)   8.158 us    |        }\n 1) + 11.079 us   |      }\n 1)               |      _spin_lock() {\n 1)               |        /* lock_acquire: __pte_lockptr(page) */\n 1)   3.949 us    |      }\n 1)   1.460 us    |      page_add_file_rmap();\n 1)               |      _spin_unlock() {\n 1)               |        /* lock_release: __pte_lockptr(page) */\n 1)   3.115 us    |      }\n 1)               |      unlock_page() {\n 1)   1.421 us    |        page_waitqueue();\n 1)   1.220 us    |        __wake_up_bit();\n 1)   6.519 us    |      }\n 1) + 34.328 us   |    }\n 1) + 37.452 us   |  }\n 1)               |  up_read() {\n 1)               |  /* lock_release: \u0026mm-\u003emmap_sem */\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   3.865 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   8.562 us    |    }\n 1) + 17.370 us   |  }\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003d?ISO-8859-1?Q?T\u003dF6r\u003dF6k?\u003d Edwin \u003cedwintorok@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1236166375.5330.7209.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28b1bd1cbc33cae95a309691d814399a69cf3070",
      "tree": "6474d10332662f5302be0df8527c9e9e31e32a95",
      "parents": [
        "2602c3ba4508f528db024c1d209256513ea05de6",
        "1075414b06109a99b0e87601e84c74a95bd45681"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:19 2009 +0100"
      },
      "message": "Merge branch \u0027core/locking\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "26575e28df5eb2050c02369843faba38cecb4d8c",
      "tree": "048d715d8653c0fa88a8c2dd3fb5153537d4e581",
      "parents": [
        "1c21f14ec48a2256fb03682b24dddd23eacdc96f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 04 14:53:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:38:34 2009 +0100"
      },
      "message": "lockdep: remove extra \"irq\" string\n\nImpact: clarify lockdep printk text\n\nprint_irq_inversion_bug() gets handed state strings of the form\n\n  \"HARDIRQ\", \"SOFTIRQ\", \"RECLAIM_FS\"\n\nand appends \"-irq-{un,}safe\" to them, which is either redudant for *IRQ or\nconfusing in the RECLAIM_FS case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236175192.5330.7585.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c21f14ec48a2256fb03682b24dddd23eacdc96f",
      "tree": "03b6ecf8d87074d1f154ff8ac794e9084e00d7cd",
      "parents": [
        "6700ec65c207068a81a535e9dca616fefac21671"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 04 13:51:13 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:38:33 2009 +0100"
      },
      "message": "lockdep: fix incorrect state name\n\nIn the recent mark_lock_irq() rework a bug snuck in that would report the\nstate of write locks causing irq inversion under a read lock as a read\nlock.\n\nFix this by masking the read bit of the state when validating write\ndependencies.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236172646.5330.7450.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2602c3ba4508f528db024c1d209256513ea05de6",
      "tree": "5713aaad7c95ca810c91fe104407a06b7e4bc4bf",
      "parents": [
        "a1be621dfacbef0fd374d8acd553d71e07bf29ac",
        "2cadf9135eb3b6d84b6427314be827ddd443c308"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 11:15:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 11:15:42 2009 +0100"
      },
      "message": "Merge branch \u0027rfc/splice/tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "a1be621dfacbef0fd374d8acd553d71e07bf29ac",
      "tree": "32b0355454b43b1098b5e01dd699fd7281abf781",
      "parents": [
        "3612fdf780e28b10323dd12d2b0f306c7ada4d4c",
        "fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 11:14:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 11:14:47 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027; commit \u0027v2.6.29-rc7\u0027 into tracing/core\n"
    },
    {
      "commit": "2cadf9135eb3b6d84b6427314be827ddd443c308",
      "tree": "919e201f615b8de6d0263ded5693bad326196671",
      "parents": [
        "474d32b68d6d842f3e710e9ae9fe2568c53339f8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 01 22:20:19 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 21:01:55 2009 -0500"
      },
      "message": "tracing: add binary buffer files for use with splice\n\nImpact: new feature\n\nThis patch creates a directory of files that correspond to the\nper CPU ring buffers. These are binary files and are made to\nbe used with splice. This is the fastest way to extract data from\nthe ftrace ring buffers.\n\nThanks to Jiaying Zhang for pushing me to get this code fixed,\n and to Eduard - Gabriel Munteanu for his splice code that helped\n me debug my code.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "474d32b68d6d842f3e710e9ae9fe2568c53339f8",
      "tree": "674376b2f7a45cf6558879a4985398397dc96e79",
      "parents": [
        "e3d6bf0a0781a269f34250fd41e0d3dbfe540cf1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 19:51:40 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 20:52:27 2009 -0500"
      },
      "message": "ring-buffer: make ring_buffer_read_page read from start on partial page\n\nImpact: dont leave holes in read buffer page\n\nThe ring_buffer_read_page swaps a given page with the reader page\nof the ring buffer, if certain conditions are set:\n\n 1) requested length is big enough to hold entire page data\n\n 2) a writer is not currently on the page\n\n 3) the page is not partially consumed.\n\nInstead of swapping with the supplied page. It copies the data to\nthe supplied page instead. But currently the data is copied in the\nsame offset as the source page. This causes a hole at the start\nof the reader page. This complicates the use of this function.\nInstead, it should copy the data at the beginning of the function\nand update the index fields accordingly.\n\nOther small clean ups are also done in this patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e3d6bf0a0781a269f34250fd41e0d3dbfe540cf1",
      "tree": "71ae10423f61c30d8a6c9cb08779b2f1066c89ad",
      "parents": [
        "ef7a4a161472b952941bf78855a9cd95703c024e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 13:53:07 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 20:52:01 2009 -0500"
      },
      "message": "ring-buffer: replace sizeof of event header with offsetof\n\nImpact: fix to possible alignment problems on some archs.\n\nSome arch compilers include an NULL char array in the sizeof field.\nSince the ring_buffer_event type includes one of these, it is better\nto use the \"offsetof\" instead, to avoid strange bugs on these archs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ef7a4a161472b952941bf78855a9cd95703c024e",
      "tree": "17145213ece6872d34951a2d33af6670fc2ae453",
      "parents": [
        "41be4da4e85e58520b934040966a6ae919c66c2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 00:27:49 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 20:51:24 2009 -0500"
      },
      "message": "ring-buffer: fix ring_buffer_read_page\n\nThe ring_buffer_read_page was broken if it were to only copy part\nof the page. This patch fixes that up as well as adds a parameter\nto allow a length field, in order to only copy part of the buffer page.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "41be4da4e85e58520b934040966a6ae919c66c2d",
      "tree": "5a5b0225111a8e0c083ce9eb129f9786a335a92e",
      "parents": [
        "633ddaa7f471e9db181f993c1458d6f4bae321ca"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 20:56:48 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 20:50:54 2009 -0500"
      },
      "message": "ring-buffer: reset write field for ring_buffer_read_page\n\nImpact: fix ring_buffer_read_page\n\nAfter a page is swapped into the ring buffer, the write field must\nalso be reset.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "219f170a85fee524fa528ef75a0432b79af95d0b",
      "tree": "13489998c59c5d7ac6d46b7835c7f4a6ccfab2e6",
      "parents": [
        "3024e4a99744f5b59704a6570524a312f94f010f",
        "54e991242850edc8c53f71fa5aa3ba7a93ce38f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -0800"
      },
      "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: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n  sched_rt: don\u0027t start timer when rt bandwidth disabled\n"
    },
    {
      "commit": "b24746c7be75384d182845375c96433d713981bb",
      "tree": "fdb0371d9e59c94e18c946a88c4aa3bcfa4af9b1",
      "parents": [
        "f41bf2ab998daaa2ac27348d5813e0ae21c57ded",
        "a682604838763981613e42015cd0e39f2989d6bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "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  rcu: Teach RCU that idle task is not quiscent state at boot\n"
    },
    {
      "commit": "3612fdf780e28b10323dd12d2b0f306c7ada4d4c",
      "tree": "6749928731df6d9fd5da502d6c16dc656b64850e",
      "parents": [
        "654952bcb999ad96e1d9ae9145fe5c0522ec297a",
        "633ddaa7f471e9db181f993c1458d6f4bae321ca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 03 16:02:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 03 16:02:16 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "633ddaa7f471e9db181f993c1458d6f4bae321ca",
      "tree": "2bf2e419c004cdbce77b1ba3b4cbd5c28cf45bd7",
      "parents": [
        "c79a61f55773d2519fd0525bf58385f7d20752d3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 09:43:50 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 03 09:43:50 2009 -0500"
      },
      "message": "tracing: fix return value to registering events\n\nThe registering of events had the return value check backwards.\nA zero returned is success, the check had it as a failure.\n\nThis patch also fixes a missing \"\\n\" in the warning that the check\nfailed.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5b1017404aea6d2e552e991b3fd814d839e9cd67",
      "tree": "8af3679beab1541d8c77afe28bc261196f03c083",
      "parents": [
        "ccbe495caa5e604b04d5a31d7459a6f6a76a756c"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 27 23:25:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:41:30 2009 -0800"
      },
      "message": "x86-64: seccomp: fix 32/64 syscall hole\n\nOn x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with\nljmp, and then use the \"syscall\" instruction to make a 64-bit system\ncall.  A 64-bit process make a 32-bit system call with int $0x80.\n\nIn both these cases under CONFIG_SECCOMP\u003dy, secure_computing() will use\nthe wrong system call number table.  The fix is simple: test TS_COMPAT\ninstead of TIF_IA32.  Here is an example exploit:\n\n\t/* test case for seccomp circumvention on x86-64\n\n\t   There are two failure modes: compile with -m64 or compile with -m32.\n\n\t   The -m64 case is the worst one, because it does \"chmod 777 .\" (could\n\t   be any chmod call).  The -m32 case demonstrates it was able to do\n\t   stat(), which can glean information but not harm anything directly.\n\n\t   A buggy kernel will let the test do something, print, and exit 1; a\n\t   fixed kernel will make it exit with SIGKILL before it does anything.\n\t*/\n\n\t#define _GNU_SOURCE\n\t#include \u003cassert.h\u003e\n\t#include \u003cinttypes.h\u003e\n\t#include \u003cstdio.h\u003e\n\t#include \u003clinux/prctl.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003casm/unistd.h\u003e\n\n\tint\n\tmain (int argc, char **argv)\n\t{\n\t  char buf[100];\n\t  static const char dot[] \u003d \".\";\n\t  long ret;\n\t  unsigned st[24];\n\n\t  if (prctl (PR_SET_SECCOMP, 1, 0, 0, 0) !\u003d 0)\n\t    perror (\"prctl(PR_SET_SECCOMP) -- not compiled into kernel?\");\n\n\t#ifdef __x86_64__\n\t  assert ((uintptr_t) dot \u003c (1UL \u003c\u003c 32));\n\t  asm (\"int $0x80 # %0 \u003c- %1(%2 %3)\"\n\t       : \"\u003da\" (ret) : \"0\" (15), \"b\" (dot), \"c\" (0777));\n\t  ret \u003d snprintf (buf, sizeof buf,\n\t\t\t  \"result %ld (check mode on .!)\\n\", ret);\n\t#elif defined __i386__\n\t  asm (\".code32\\n\"\n\t       \"pushl %%cs\\n\"\n\t       \"pushl $2f\\n\"\n\t       \"ljmpl $0x33, $1f\\n\"\n\t       \".code64\\n\"\n\t       \"1: syscall # %0 \u003c- %1(%2 %3)\\n\"\n\t       \"lretl\\n\"\n\t       \".code32\\n\"\n\t       \"2:\"\n\t       : \"\u003da\" (ret) : \"0\" (4), \"D\" (dot), \"S\" (\u0026st));\n\t  if (ret \u003d\u003d 0)\n\t    ret \u003d snprintf (buf, sizeof buf,\n\t\t\t    \"stat . -\u003e st_uid\u003d%u\\n\", st[7]);\n\t  else\n\t    ret \u003d snprintf (buf, sizeof buf, \"result %ld\\n\", ret);\n\t#else\n\t# error \"not this one\"\n\t#endif\n\n\t  write (1, buf, ret);\n\n\t  syscall (__NR_exit, 1);\n\t  return 2;\n\t}\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n[ I don\u0027t know if anybody actually uses seccomp, but it\u0027s enabled in\n  at least both Fedora and SuSE kernels, so maybe somebody is. - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed662d9b2a6cb26e1399f57b88b565c0a68c60d4",
      "tree": "4cca36ab5aa5aa08b799c8f9bbe3888b55682694",
      "parents": [
        "fdfa66ab455c79d699833c43ac0e09900133fd7c",
        "96ccd21cd13140221bda74a4fc4e53ffeba7c7d4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 22:38:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 22:38:31 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "fdfa66ab455c79d699833c43ac0e09900133fd7c",
      "tree": "5ede20eaf13eab51c3a391e002a4e9988aa3e787",
      "parents": [
        "4387d6d6b8a74722bf1f6fc3e29dd2a84cc1d1c2",
        "acdb2c287916ce247c09d460266370af45da55c5",
        "340430c572f7b2b275d39965e88bafa71693cb23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 22:37:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 22:37:35 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/mmiotrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "96ccd21cd13140221bda74a4fc4e53ffeba7c7d4",
      "tree": "28a32932731fea14d2ef8ea39dd00cde3ffd6be7",
      "parents": [
        "c5e4e19271edfdf1abd4184933d40d646da6a091"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:22:21 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:22:21 2009 -0500"
      },
      "message": "tracing: add print format to event trace format files\n\nThis patch adds the internal print format used to print the raw events\nto the event trace point format file.\n\n # cat /debug/tracing/events/sched/sched_switch/format\nname: sched_switch\nID: 29\nformat:\n        field:unsigned char type;       offset:0;       size:1;\n        field:unsigned char flags;      offset:1;       size:1;\n        field:unsigned char preempt_count;      offset:2;       size:1;\n        field:int pid;  offset:4;       size:4;\n        field:int tgid; offset:8;       size:4;\n\n        field:pid_t prev_pid;   offset:12;      size:4;\n        field:int prev_prio;    offset:16;      size:4;\n        field special:char next_comm[TASK_COMM_LEN];    offset:20;      size:16;\n        field:pid_t next_pid;   offset:36;      size:4;\n        field:int next_prio;    offset:40;      size:4;\n\nprint fmt: \"prev %d:%d \u003d\u003d\u003e next %s:%d:%d\"\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "c5e4e19271edfdf1abd4184933d40d646da6a091",
      "tree": "1ef485d68971b365a361638df57ee663c631b88f",
      "parents": [
        "91729ef96661bfa7dc53923746cd90b62d5495cc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:10:02 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:10:02 2009 -0500"
      },
      "message": "tracing: add trace name and id to event formats\n\nTo be able to identify the trace in the binary format output, the\nid of the trace event (which is dynamically assigned) must also be listed.\n\nThis patch adds the name of the trace point as well as the id assigned.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "91729ef96661bfa7dc53923746cd90b62d5495cc",
      "tree": "421dcc26559806162b911e09a47f82012833ab89",
      "parents": [
        "981d081ec8b958b7d962ee40d433581a55d40fc5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:03:01 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 15:03:01 2009 -0500"
      },
      "message": "tracing: add ftrace headers to event format files\n\nThis patch includes the ftrace header to the event formats files:\n\n # cat /debug/tracing/events/sched/sched_switch/format\n        field:unsigned char type;       offset:0;       size:1;\n        field:unsigned char flags;      offset:1;       size:1;\n        field:unsigned char preempt_count;      offset:2;       size:1;\n        field:int pid;  offset:4;       size:4;\n        field:int tgid; offset:8;       size:4;\n\n        field:pid_t prev_pid;   offset:12;      size:4;\n        field:int prev_prio;    offset:16;      size:4;\n        field special:char next_comm[TASK_COMM_LEN];    offset:20;      size:16;\n        field:pid_t next_pid;   offset:36;      size:4;\n        field:int next_prio;    offset:40;      size:4;\n\nA blank line is used as a deliminator between the ftrace header and the\ntrace point fields.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "981d081ec8b958b7d962ee40d433581a55d40fc5",
      "tree": "366aa5da7dc98cc2354002946e6f19ec60c02301",
      "parents": [
        "f9520750c4c9924c14325cd951efae5fae58104c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 13:53:59 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 14:27:27 2009 -0500"
      },
      "message": "tracing: add format file to describe event struct fields\n\nThis patch adds the \"format\" file to the trace point event directory.\nThis is based off of work by Tom Zanussi, in which a file is exported\nto be tread from user land such that a user space app may read the\nbinary record stored in the ring buffer.\n\n # cat /debug/tracing/events/sched/sched_switch/format\n        field:pid_t prev_pid;   offset:12;      size:4;\n        field:int prev_prio;    offset:16;      size:4;\n        field special:char next_comm[TASK_COMM_LEN];    offset:20;      size:16;\n        field:pid_t next_pid;   offset:36;      size:4;\n        field:int next_prio;    offset:40;      size:4;\n\nIdea-from: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f9520750c4c9924c14325cd951efae5fae58104c",
      "tree": "b6958c13894816db9388f856f101e9f67b3bf1a4",
      "parents": [
        "11a241a3302277db05561e01477528629d806c4e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 14:04:40 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 14:08:51 2009 -0500"
      },
      "message": "tracing: make trace_seq_reset global and rename to trace_seq_init\n\nImpact: clean up\n\nThe trace_seq functions may be used separately outside of the ftrace\niterator. The trace_seq_reset is needed for these operations.\n\nThis patch also renames trace_seq_reset to the more appropriate\ntrace_seq_init.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "11a241a3302277db05561e01477528629d806c4e",
      "tree": "c48e1bf3c52a94dfa27d301a748ed7d181fc65f9",
      "parents": [
        "d20e3b03842bfeb9d21817ff19054c277cc3eac0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 11:49:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 11:49:04 2009 -0500"
      },
      "message": "tracing: add protection around modify trace event fields\n\nThe trace event objects are currently not proctected against\nreentrancy. This patch adds a mutex around the modifications of\nthe trace event fields.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "d20e3b03842bfeb9d21817ff19054c277cc3eac0",
      "tree": "5de7ef8a95f9391a264df358336842c9301f3868",
      "parents": [
        "f2034f1e1adaac6713a6d48b5a2d4f3aa3e63ccb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 10:53:15 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 02 10:53:15 2009 -0500"
      },
      "message": "tracing: add TRACE_FIELD_SPECIAL to record complex entries\n\nTom Zanussi pointed out that the simple TRACE_FIELD was not enough to\nrecord trace data that required memcpy. This patch addresses this issue\nby adding a TRACE_FIELD_SPECIAL. The format is similar to TRACE_FIELD\nbut looks like so:\n\n  TRACE_FIELD_SPECIAL(type_item, item, cmd)\n\nWhat TRACE_FIELD gave was:\n\n  TRACE_FIELD(type, item, assign)\n\nThe TRACE_FIELD would be used in declaring a structure:\n\n  struct {\n\ttype\titem;\n  };\n\nAnd later assign it via:\n\n  entry-\u003eitem \u003d assign;\n\nWhat TRACE_FIELD_SPECIAL gives us is:\n\nIn the declaration of the structure:\n\n  struct {\n\ttype_item;\n  };\n\nAnd the assignment:\n\n  cmd;\n\nThis change log will explain the one example used in the patch:\n\n TRACE_EVENT_FORMAT(sched_switch,\n\tTPPROTO(struct rq *rq, struct task_struct *prev,\n\t\tstruct task_struct *next),\n\tTPARGS(rq, prev, next),\n\tTPFMT(\"task %s:%d \u003d\u003d\u003e %s:%d\",\n\t      prev-\u003ecomm, prev-\u003epid, next-\u003ecomm, next-\u003epid),\n\tTRACE_STRUCT(\n\t\tTRACE_FIELD(pid_t, prev_pid, prev-\u003epid)\n\t\tTRACE_FIELD(int, prev_prio, prev-\u003eprio)\n\t\tTRACE_FIELD_SPECIAL(char next_comm[TASK_COMM_LEN],\n\t\t\t\t    next_comm,\n\t\t\t\t    TPCMD(memcpy(TRACE_ENTRY-\u003enext_comm,\n\t\t\t\t\t\t next-\u003ecomm,\n\t\t\t\t\t\t TASK_COMM_LEN)))\n\t\tTRACE_FIELD(pid_t, next_pid, next-\u003epid)\n\t\tTRACE_FIELD(int, next_prio, next-\u003eprio)\n\t),\n\tTPRAWFMT(\"prev %d:%d \u003d\u003d\u003e next %s:%d:%d\")\n\t);\n\n The struct will be create as:\n\n  struct {\n\tpid_t\t\tprev_pid;\n\tint\t\tprev_prio;\n\tchar next_comm[TASK_COMM_LEN];\n\tpid_t\t\tnext_pid;\n\tint\t\tnext_prio;\n  };\n\nNote the TRACE_ENTRY in the cmd part of TRACE_SPECIAL. TRACE_ENTRY will\nbe set by the tracer to point to the structure inside the trace buffer.\n\n  entry-\u003eprev_pid\t\u003d prev-\u003epid;\n  entry-\u003eprev_prio\t\u003d prev-\u003eprio;\n  memcpy(entry-\u003enext_comm, next-\u003ecomm, TASK_COMM_LEN);\n  entry-\u003enext_pid\t\u003d next-\u003epid;\n  entry-\u003enext_prio\t\u003d next-\u003eprio\n\nReported-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "acdb2c287916ce247c09d460266370af45da55c5",
      "tree": "e09d6f8fa8f2b28d363374d027f9b4af1d3888cb",
      "parents": [
        "e9abf4c59d75cd71f118764376d037a677f573d0",
        "f2034f1e1adaac6713a6d48b5a2d4f3aa3e63ccb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 28 10:15:58 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 28 10:15:58 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "fd99498989f3b3feeab89dcadf537138ba136d24",
      "tree": "9470e9b4e886466511d47a70281e77e5a8c674ff",
      "parents": [
        "c32e827b25054cb17b79cf97fb5e63ae4ce2223c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 02:41:25 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 04:04:03 2009 -0500"
      },
      "message": "tracing: add raw fast tracing interface for trace events\n\nThis patch adds the interface to enable the C style trace points.\nIn the directory /debugfs/tracing/events/subsystem/event\nWe now have three files:\n\n enable : values 0 or 1 to enable or disable the trace event.\n\n available_types: values \u0027raw\u0027 and \u0027printf\u0027 which indicate the tracing\n       types available for the trace point. If a developer does not\n       use the TRACE_EVENT_FORMAT macro and just uses the TRACE_FORMAT\n       macro, then only \u0027printf\u0027 will be available. This file is\n       read only.\n\n type: values \u0027raw\u0027 or \u0027printf\u0027. This indicates which type of tracing\n       is active for that trace point. \u0027printf\u0027 is the default and\n       if \u0027raw\u0027 is not available, this file is read only.\n\n # echo raw \u003e /debug/tracing/events/sched/sched_wakeup/type\n # echo 1 \u003e /debug/tracing/events/sched/sched_wakeup/enable\n\n Will enable the C style tracing for the sched_wakeup trace point.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "c32e827b25054cb17b79cf97fb5e63ae4ce2223c",
      "tree": "9a79a8662d88557303a671d147f80038b5fd87dc",
      "parents": [
        "ef5580d0fffce6e0a01043bac0625128b5d409a7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 19:12:30 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 03:09:32 2009 -0500"
      },
      "message": "tracing: add raw trace point recording infrastructure\n\nImpact: lower overhead tracing\n\nThe current event tracer can automatically pick up trace points\nthat are registered with the TRACE_FORMAT macro. But it required\na printf format string and parsing. Although, this adds the ability\nto get guaranteed information like task names and such, it took\na hit in overhead processing. This processing can add about 500-1000\nnanoseconds overhead, but in some cases that too is considered\ntoo much and we want to shave off as much from this overhead as\npossible.\n\nTom Zanussi recently posted tracing patches to lkml that are based\non a nice idea about capturing the data via C structs using\nSTRUCT_ENTER, STRUCT_EXIT type of macros.\n\nI liked that method very much, but did not like the implementation\nthat required a developer to add data/code in several disjoint\nlocations.\n\nThis patch extends the event_tracer macros to do a similar \"raw C\"\napproach that Tom Zanussi did. But instead of having the developers\nneeding to tweak a bunch of code all over the place, they can do it\nall in one macro - preferably placed near the code that it is\ntracing. That makes it much more likely that tracepoints will be\nmaintained on an ongoing basis by the code they modify.\n\nThe new macro TRACE_EVENT_FORMAT is created for this approach. (Note,\na developer may still utilize the more low level DECLARE_TRACE macros\nif they don\u0027t care about getting their traces automatically in the event\ntracer.)\n\nThey can also use the existing TRACE_FORMAT if they don\u0027t need to code\nthe tracepoint in C, but just want to use the convenience of printf.\n\nSo if the developer wants to \"hardwire\" a tracepoint in the fastest\npossible way, and wants to acquire their data via a user space utility\nin a raw binary format, or wants to see it in the trace output but not\nsacrifice any performance, then they can implement the faster but\nmore complex TRACE_EVENT_FORMAT macro.\n\nHere\u0027s what usage looks like:\n\n  TRACE_EVENT_FORMAT(name,\n\tTPPROTO(proto),\n\tTPARGS(args),\n\tTPFMT(fmt, fmt_args),\n\tTRACE_STUCT(\n\t\tTRACE_FIELD(type1, item1, assign1)\n\t\tTRACE_FIELD(type2, item2, assign2)\n\t\t\t[...]\n\t),\n\tTPRAWFMT(raw_fmt)\n\t);\n\nNote name, proto, args, and fmt, are all identical to what TRACE_FORMAT\nuses.\n\n name: is the unique identifier of the trace point\n proto: The proto type that the trace point uses\n args: the args in the proto type\n fmt: printf format to use with the event printf tracer\n fmt_args: the printf argments to match fmt\n\n TRACE_STRUCT starts the ability to create a structure.\n Each item in the structure is defined with a TRACE_FIELD\n\n  TRACE_FIELD(type, item, assign)\n\n type: the C type of item.\n item: the name of the item in the stucture\n assign: what to assign the item in the trace point callback\n\n raw_fmt is a way to pretty print the struct. It must match\n  the order of the items are added in TRACE_STUCT\n\n An example of this would be:\n\n TRACE_EVENT_FORMAT(sched_wakeup,\n\tTPPROTO(struct rq *rq, struct task_struct *p, int success),\n\tTPARGS(rq, p, success),\n\tTPFMT(\"task %s:%d %s\",\n\t      p-\u003ecomm, p-\u003epid, success?\"succeeded\":\"failed\"),\n\tTRACE_STRUCT(\n\t\tTRACE_FIELD(pid_t, pid, p-\u003epid)\n\t\tTRACE_FIELD(int, success, success)\n\t),\n\tTPRAWFMT(\"task %d success\u003d%d\")\n\t);\n\n This creates us a unique struct of:\n\n struct {\n\tpid_t\t\tpid;\n\tint\t\tsuccess;\n };\n\n And the way the call back would assign these values would be:\n\n\tentry-\u003epid \u003d p-\u003epid;\n\tentry-\u003esuccess \u003d success;\n\nThe nice part about this is that the creation of the assignent is done\nvia macro magic in the event tracer.  Once the TRACE_EVENT_FORMAT is\ncreated, the developer will then have a faster method to record\ninto the ring buffer. They do not need to worry about the tracer itself.\n\nThe developer would only need to touch the files in include/trace/*.h\n\nAgain, I would like to give special thanks to Tom Zanussi for this\nnice idea.\n\nIdea-from: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ef5580d0fffce6e0a01043bac0625128b5d409a7",
      "tree": "bc6ca68064d6b5c9853227ef876b391cc8b0c939",
      "parents": [
        "3d7ba938da8481b4f7f9ed3d943dbae49389b284"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 19:38:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 03:06:44 2009 -0500"
      },
      "message": "tracing: add interface to write into current tracer buffer\n\nRight now all tracers must manage their own trace buffers. This was\nto enforce tracers to be independent in case we finally decide to\nallow each tracer to have their own trace buffer.\n\nBut now we are adding event tracing that writes to the current tracer\u0027s\nbuffer. This adds an interface to allow events to write to the current\ntracer buffer without having to manage its own. Since event tracing\nhas no \"tracer\", and is just a way to hook into any other tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "b628b3e629b1436710e59a21cc020fbb04a52ce1",
      "tree": "43cbe737f8d81c8499c406961603e6be1e2dfc05",
      "parents": [
        "6ecc2d1ca39177edb6fbdb7412948b0e9f409d02"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 23:32:58 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 03:05:40 2009 -0500"
      },
      "message": "tracing: make the set_event and available_events subsystem aware\n\nThis patch makes the event files, set_event and available_events\naware of the subsystem.\n\nNow you can enable an entire subsystem with:\n\n  echo \u0027irq:*\u0027 \u003e set_event\n\nNote: the \u0027*\u0027 is not needed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e9abf4c59d75cd71f118764376d037a677f573d0",
      "tree": "0b570eefd71926d441552d640114e0f7525e7b4c",
      "parents": [
        "da74ff0f9b31ed97104c22c278bf2b41bcf8f33c",
        "0cfe82451dfa3ebf4e69158f2eb450f2fbb6b715"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 28 09:03:58 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 28 09:03:58 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "6ecc2d1ca39177edb6fbdb7412948b0e9f409d02",
      "tree": "336a12a2f3db016f967717e1cb06e9171a239ce5",
      "parents": [
        "eb594e45f6979cd10b18d87f7b3f02119e00a108"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 21:33:02 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 02:59:43 2009 -0500"
      },
      "message": "tracing: add subsystem level to trace events\n\nIf a trace point header defines TRACE_SYSTEM, then it will add the\nfollowing trace points into that event system.\n\nIf include/trace/irq_event_types.h has:\n\n #define TRACE_SYSTEM irq\n\nat the top and\n\n #undef TRACE_SYSTEM\n\nat the bottom, then a directory \"irq\" will be created in the\n/debug/tracing/events directory. Inside that directory will contain the\ntwo trace points that are defined in include/trace/irq_event_types.h.\n\nOnly adding the above to irq and not to sched, we get:\n\n # ls /debug/tracing/events/\nirq                     sched_process_exit  sched_signal_send  sched_wakeup_new\nsched_kthread_stop      sched_process_fork  sched_switch\nsched_kthread_stop_ret  sched_process_free  sched_wait_task\nsched_migrate_task      sched_process_wait  sched_wakeup\n\n # ls /debug/tracing/events/irq\nirq_handler_entry  irq_handler_exit\n\nIf we add #define TRACE_SYSTEM sched to the trace/sched_event_types.h\nthen the rest of the trace events will be put in a sched directory\nwithin the events directory.\n\nI\u0027ve been playing with this idea of the subsystem for a while, but\nrecently Tom Zanussi posted some patches to lkml that included this\nmethod. Tom\u0027s approach was clean and got me to finally put some effort\nto clean up the event trace points.\n\nThanks to Tom Zanussi for demonstrating how nice the subsystem\nmethod is.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "eb594e45f6979cd10b18d87f7b3f02119e00a108",
      "tree": "eb27cea51205ad527a0b1582c9b02d434f7129bc",
      "parents": [
        "0cfe82451dfa3ebf4e69158f2eb450f2fbb6b715"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 17:36:06 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 28 02:58:50 2009 -0500"
      },
      "message": "tracing: move trace point formats to files in include/trace directory\n\nImpact: clean up\n\nTo further facilitate the ease of adding trace points for developers, this\npatch creates include/trace/trace_events.h and\ninclude/trace/trace_event_types.h.\n\nThe former file will hold the trace/\u003ctype\u003e.h files and the latter will hold\nthe trace/\u003ctype\u003e_event_types.h files.\n\nTo create new tracepoints and to have them automatically\nappear in the event tracer, a developer makes the trace/\u003ctype\u003e.h file\nwhich includes \u003clinux/tracepoint.h\u003e and the trace/\u003ctype\u003e_event_types.h file.\n\nThe trace/\u003ctype\u003e_event_types.h file will hold the TRACE_FORMAT\nmacros.\n\nThen add the trace/\u003ctype\u003e.h file to trace/trace_events.h,\nand add the trace/\u003ctype\u003e_event_types.h to the trace_event_types.h file.\n\nNo need to modify files elsewhere.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5170836679185357dc1b7660bad13287b39e1e33",
      "tree": "0b470820e11df7c7eef7e3161657aefe90c7c35e",
      "parents": [
        "8ca2f156b06bdcbfd1ab543355279246d05e2499"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 27 14:03:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "Fix recursive lock in free_uid()/free_user_ns()\n\nfree_uid() and free_user_ns() are corecursive when CONFIG_USER_SCHED\u003dn,\nbut free_user_ns() is called from free_uid() by way of uid_hash_remove(),\nwhich requires uidhash_lock to be held.  free_user_ns() then calls\nfree_uid() to complete the destruction.\n\nFix this by deferring the destruction of the user_namespace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cfe82451dfa3ebf4e69158f2eb450f2fbb6b715",
      "tree": "fc2db4892024f1d896f8ea0de3c4903a1c6543da",
      "parents": [
        "5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 10:51:10 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 10:51:10 2009 -0500"
      },
      "message": "tracing: replace kzalloc with kcalloc\n\nImpact: clean up\n\nkcalloc is a better approach to allocate a NULL array.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "54e991242850edc8c53f71fa5aa3ba7a93ce38f5",
      "tree": "7f136214aab690a8ee4a294ca9c1a7e01de0dc49",
      "parents": [
        "cac64d00c256e65776d575e82aaf540632b66178"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 27 15:13:54 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 11:11:53 2009 +0100"
      },
      "message": "sched: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n\nImpact: fix hung task with certain (non-default) rt-limit settings\n\nCorey Hickey reported that on using setuid to change the uid of a\nrt process, the process would be unkillable and not be running.\nThis is because there was no rt runtime for that user group. Add\nin a check to see if a user can attach an rt task to its task group.\nOn failure, return EINVAL, which is also returned in\nCONFIG_CGROUP_SCHED.\n\nReported-by: Corey Hickey \u003cbugfood-ml@fatooh.org\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da74ff0f9b31ed97104c22c278bf2b41bcf8f33c",
      "tree": "aaaff8ca13625da1823204e1fee29774117f7bc7",
      "parents": [
        "f701d354075914296474d062f18fc8ee681a2318",
        "5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 09:06:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 09:06:11 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n\nConflicts:\n\tkernel/sched_clock.c\n"
    },
    {
      "commit": "1b49061d400c9e51e3ac2aac026a099fe599b9bb",
      "tree": "54c632cd7f0be2573897c1463a247e69fb769940",
      "parents": [
        "14131f2f98ac350ee9e73faed916d2238a8b6a0d",
        "83ce400928680a6c8123d492684b27857f5a2d95"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 21:21:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 08:35:19 2009 +0100"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into tracing/ftrace\n\nConflicts:\n\tkernel/sched_clock.c\n"
    },
    {
      "commit": "5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff",
      "tree": "6267a70386ce9e97e0034eea3754ea24429e971c",
      "parents": [
        "85a2f9b46f8cd8aaa11c64c715e1ea3ec27ec486"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:22:21 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:22:21 2009 -0500"
      },
      "message": "tracing: use newline separator for trace options list\n\nImpact: clean up\n\nInstead of listing the trace options like:\n\n # cat /debug/tracing/trace_options\nprint-parent nosym-offset nosym-addr noverbose noraw nohex nobin noblock nostacktrace nosched-tree ftrace_printk noftrace_preempt nobranch annotate nouserstacktrace nosym-userobj\n\nWe now list them like:\n\n # cat /debug/tracing/trace_options\nprint-parent\nnosym-offset\nnosym-addr\nnoverbose\nnoraw\nnohex\nnobin\nnoblock\nnostacktrace\nnosched-tree\nftrace_printk\nnoftrace_preempt\nnobranch\nannotate\nnouserstacktrace\nnosym-userobj\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "85a2f9b46f8cd8aaa11c64c715e1ea3ec27ec486",
      "tree": "76079c21b3bb5763c19eb617f9e29139789cc903",
      "parents": [
        "d8e83d26b5ab3b31ee0ff6d093a2627707a1e221"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:12:38 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 27 00:12:38 2009 -0500"
      },
      "message": "tracing: use pointer error returns for __tracing_open\n\nImpact: fix compile warning and clean up\n\nWhen I first wrote __tracing_open, instead of passing the error\ncode via the ERR_PTR macros, I lazily used a separate parameter\nto hold the return for errors.\n\nWhen Frederic Weisbecker updated that function, he used the Linux\nkernel ERR_PTR for the returns. This caused the parameter return\nto possibly not be initialized on error. gcc correctly pointed this\nout with a warning.\n\nThis patch converts the entire function to use the Linux kernel\nERR_PTR macro methods.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "d8e83d26b5ab3b31ee0ff6d093a2627707a1e221",
      "tree": "a8a24753ca24db4f3dd9bb887962e4cdcffac314",
      "parents": [
        "577b785f55168d5acb3d123ba41bfe8d7981e044"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:55:58 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:55:58 2009 -0500"
      },
      "message": "tracing: add protection around open use of current_tracer\n\nImpact: fix to possible race conditions\n\nThere\u0027s some uses of current_tracer that is not protected by the\ntrace_types_lock. There is a small chance that a sysadmin changes\nthe tracer while the current_tracer is being referenced.\n\nIf the race is hit, it is unlikely to cause any harm since the\ntracers are constant and are not freed. But some strang side\neffects may occur.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "577b785f55168d5acb3d123ba41bfe8d7981e044",
      "tree": "6ae99a6f38fffda2c2b678a55f329d782337afbc",
      "parents": [
        "a8259075074fb09c230b4cd2c8d3ee3c49d6ecd1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:43:05 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 23:43:05 2009 -0500"
      },
      "message": "tracing: add tracer dependent options to options directory\n\nThis patch adds the tracer dependent options dynamically to the\noptions directory when the tracer is activated. These options are\nremoved when the tracer is deactivated.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a8259075074fb09c230b4cd2c8d3ee3c49d6ecd1",
      "tree": "edd6a6ab5f0365e9f93f7e992e29ced3136eaaf9",
      "parents": [
        "5d0859cef29167d45dc6cf89d19712145e6005d6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 22:19:12 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 26 22:22:46 2009 -0500"
      },
      "message": "tracing: add options directory and core option files\n\nThis patch creates an options directory in the debugfs, that contains\nthe available tracing options. These files contain 1 or 0, where 1\nis the option is enabled and 0 it is disabled.\n\nSimply echoing in 1 will enable the option and 0 will disable it.\nThis patch only contains the core options, not the tracer options.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5d0859cef29167d45dc6cf89d19712145e6005d6",
      "tree": "1fe3be14cc773f4df5606a9993930cc43889a169",
      "parents": [
        "14131f2f98ac350ee9e73faed916d2238a8b6a0d",
        "83ce400928680a6c8123d492684b27857f5a2d95"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 21:21:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 21:21:59 2009 +0100"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into tracing/ftrace\n\nConflicts:\n\tkernel/sched_clock.c\n"
    },
    {
      "commit": "b342501cd31e5546d0c9ca8ceff5ded1832f9e5b",
      "tree": "3cd5778565a45a74e8ad0640093927a77d4d625e",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 20:20:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 21:20:22 2009 +0100"
      },
      "message": "sched: allow architectures to specify sched_clock_stable\n\nAllow CONFIG_HAVE_UNSTABLE_SCHED_CLOCK architectures to still specify\nthat their sched_clock() implementation is reliable.\n\nThis will be used by x86 to switch on a faster sched_clock_cpu()\nimplementation on certain CPU types.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14131f2f98ac350ee9e73faed916d2238a8b6a0d",
      "tree": "bf490d104276142e914f1245bbc9f44cb0d2bc9b",
      "parents": [
        "6409c4da289d6905f7ae2bd0630438368439bda2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 18:47:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 18:44:06 2009 +0100"
      },
      "message": "tracing: implement trace_clock_*() APIs\n\nImpact: implement new tracing timestamp APIs\n\nAdd three trace clock variants, with differing scalability/precision\ntradeoffs:\n\n -   local: CPU-local trace clock\n -  medium: scalable global clock with some jitter\n -  global: globally monotonic, serialized clock\n\nMake the ring-buffer use the local trace clock internally.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6409c4da289d6905f7ae2bd0630438368439bda2",
      "tree": "a89ab72b160acabe7e83200f73ba3a2cb3b2a0be",
      "parents": [
        "af39241b90a345556b8884adff87096afe71b050"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 18:44:05 2009 +0100"
      },
      "message": "sched: sched_clock() improvement: use in_nmi()\n\nmake sure we dont execute more complex sched_clock() code in NMI context.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af39241b90a345556b8884adff87096afe71b050",
      "tree": "a913e3f15b1fb91555b5cb5899270274ce4c2c46",
      "parents": [
        "8656e7a2fa6afcd8682990f804a2a9674568738f"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Feb 26 10:11:05 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 18:43:50 2009 +0100"
      },
      "message": "tracing, genirq: add irq enter and exit trace events\n\nImpact: add new tracepoints\n\nAdd them to the generic IRQ code, that way every architecture\ngets these new tracepoints, not just x86.\n\nUsing Steve\u0027s new \u0027TRACE_FORMAT\u0027, I can get function graph\ntrace as follows using the original two IRQ tracepoints:\n\n 3)               |    handle_IRQ_event() {\n 3)               |    /* (irq_handler_entry) irq\u003d28 handler\u003deth0 */\n 3)               |    e1000_intr_msi() {\n 3)   2.460 us    |      __napi_schedule();\n 3)   9.416 us    |    }\n 3)               |    /* (irq_handler_exit) irq\u003d28 handler\u003deth0 return\u003dhandled */\n 3) + 22.935 us   |  }\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cac64d00c256e65776d575e82aaf540632b66178",
      "tree": "993ca627d80b76baefe322c3cbef9f1599d55bff",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Feb 25 09:59:26 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 14:18:55 2009 +0100"
      },
      "message": "sched_rt: don\u0027t start timer when rt bandwidth disabled\n\nImpact: fix incorrect condition check\n\nNo need to start rt bandwidth timer when rt bandwidth is disabled.\nIf this timer starts, it may stop at sched_rt_period_timer() on the first time.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8656e7a2fa6afcd8682990f804a2a9674568738f",
      "tree": "4577aacda59cec3e71bc0cd97c0f18c823b5743e",
      "parents": [
        "f4abfb8d0da70e436013e5799338357e1e6a0832"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Feb 26 00:41:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 14:04:08 2009 +0100"
      },
      "message": "tracing/core: make the per cpu trace files in per cpu directories\n\nImpact: restructure the VFS layout of per CPU trace buffers\n\nThe per cpu trace files are all in a single directory:\n/debug/tracing/per_cpu. In case of a large number of cpu, the\ncontent of this directory becomes messy so we create now one\ndirectory per cpu inside /debug/tracing/per_cpu which contain\neach their own trace_pipe and trace files.\n\nIe:\n\n /debug/tracing$ ls -R per_cpu\n per_cpu:\n cpu0  cpu1\n\n per_cpu/cpu0:\n trace  trace_pipe\n\n per_cpu/cpu1:\n trace  trace_pipe\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a682604838763981613e42015cd0e39f2989d6bb",
      "tree": "29eae425e484edc494807702696c240ce09ba3f5",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 25 18:03:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 04:08:14 2009 +0100"
      },
      "message": "rcu: Teach RCU that idle task is not quiscent state at boot\n\nThis patch fixes a bug located by Vegard Nossum with the aid of\nkmemcheck, updated based on review comments from Nick Piggin,\nIngo Molnar, and Andrew Morton.  And cleans up the variable-name\nand function-name language.  ;-)\n\nThe boot CPU runs in the context of its idle thread during boot-up.\nDuring this time, idle_cpu(0) will always return nonzero, which will\nfool Classic and Hierarchical RCU into deciding that a large chunk of\nthe boot-up sequence is a big long quiescent state.  This in turn causes\nRCU to prematurely end grace periods during this time.\n\nThis patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()\nfunction to ignore the idle task as a quiescent state until the\nsystem has started up the scheduler in rest_init(), introducing a\nnew non-API function rcu_idle_now_means_idle() to inform RCU of this\ntransition.  RCU maintains an internal rcu_idle_cpu_truthful variable\nto track this state, which is then used by rcu_check_callback() to\ndetermine if it should believe idle_cpu().\n\nBecause this patch has the effect of disallowing RCU grace periods\nduring long stretches of the boot-up sequence, this patch also introduces\nJosh Triplett\u0027s UP-only optimization that makes synchronize_rcu() be a\nno-op if num_online_cpus() returns 1.  This allows boot-time code that\ncalls synchronize_rcu() to proceed normally.  Note, however, that RCU\ncallbacks registered by call_rcu() will likely queue up until later in\nthe boot sequence.  Although rcuclassic and rcutree can also use this\nsame optimization after boot completes, rcupreempt must restrict its\nuse of this optimization to the portion of the boot sequence before the\nscheduler starts up, given that an rcupreempt RCU read-side critical\nsection may be preeempted.\n\nIn addition, this patch takes Nick Piggin\u0027s suggestion to make the\nsystem_state global variable be __read_mostly.\n\nChanges since v4:\n\no\tChanges the name of the introduced function and variable to\n\tbe less emotional.  ;-)\n\nChanges since v3:\n\no\tWARN_ON(nr_context_switches() \u003e 0) to verify that RCU\n\tswitches out of boot-time mode before the first context\n\tswitch, as suggested by Nick Piggin.\n\nChanges since v2:\n\no\tCreated rcu_blocking_is_gp() internal-to-RCU API that\n\tdetermines whether a call to synchronize_rcu() is itself\n\ta grace period.\n\no\tThe definition of rcu_blocking_is_gp() for rcuclassic and\n\trcutree checks to see if but a single CPU is online.\n\no\tThe definition of rcu_blocking_is_gp() for rcupreempt\n\tchecks to see both if but a single CPU is online and if\n\tthe system is still in early boot.\n\n\tThis allows rcupreempt to again work correctly if running\n\ton a single CPU after booting is complete.\n\no\tAdded check to rcupreempt\u0027s synchronize_sched() for there\n\tbeing but one online CPU.\n\nTested all three variants both SMP and !SMP, booted fine, passed a short\nrcutorture test on both x86 and Power.\n\nLocated-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4abfb8d0da70e436013e5799338357e1e6a0832",
      "tree": "55f087b8e29f64694de84afa09563ad2c0acdd42",
      "parents": [
        "e36b1e136aa8f8c42fa6b96848c9c6bcaf2c269c",
        "3cdfdf91fcc77cfc82592e2b5c2ab35abe819c41"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 03:48:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 03:48:44 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "e36b1e136aa8f8c42fa6b96848c9c6bcaf2c269c",
      "tree": "d591a09c68a4b94f25f59d274fd8aea7ac476393",
      "parents": [
        "d7350c3f45694104e820041969c8185c5f99e57c",
        "2d542cf34264ac92e9e7ac55c0b096b066d569d2",
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 03:47:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 03:47:27 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/hw-branch-tracing\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "eef62a6826b8ab530cefff5aa55c1661a209c803",
      "tree": "f24c7f08b9a6ed443c09f26509cf2cf26fb8a19c",
      "parents": [
        "d7350c3f45694104e820041969c8185c5f99e57c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 25 15:49:52 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 25 21:44:22 2009 -0500"
      },
      "message": "tracing: rename DEFINE_TRACE_FMT to just TRACE_FORMAT\n\nThere\u0027s been a bit confusion to whether DEFINE/DECLARE_TRACE_FMT should\nbe a DEFINE or a DECLARE. Ingo Molnar suggested simply calling it\nTRACE_FORMAT.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "d7350c3f45694104e820041969c8185c5f99e57c",
      "tree": "7aaed9e59f6d33c82e0b62c21f9d1bda9f094b4e",
      "parents": [
        "b04cc6b1f6398b0e0b60d37e27ce51b4899672ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 25 06:13:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 13:40:58 2009 +0100"
      },
      "message": "tracing/core: make the read callbacks reentrants\n\nNow that several per-cpu files can be read or spliced at the\nsame, we want the read/splice callbacks for tracing files to be\nreentrants.\n\nUntil now, a single global mutex (trace_types_lock) serialized\nthe access to tracing_read_pipe(), tracing_splice_read_pipe(),\nand the seq helpers.\n\nIe: it means that if a user tries to read trace_pipe0 and\ntrace_pipe1 at the same time, the access to the function\ntracing_read_pipe() is contended and one reader must wait for\nthe other to finish its read call.\n\nThe trace_type_lock mutex is mostly here to serialize the access\nto the global current tracer (current_trace), which can be\nchanged concurrently. Although the iter struct keeps a private\npointer to this tracer, its callbacks can be changed by another\nfunction.\n\nThe method used here is to not keep anymore private reference to\nthe tracer inside the iterator but to make a copy of it inside\nthe iterator. Then it checks on subsequents read calls if the\ntracer has changed. This is not costly because the current\ntracer is not expected to be changed often, so we use a branch\nprediction for that.\n\nMoreover, we add a private mutex to the iterator (there is one\niterator per file descriptor) to serialize the accesses in case\nof multiple consumers per file descriptor (which would be a\nsilly idea from the user). Note that this is not to protect the\nring buffer, since the ring buffer already serializes the\nreaders accesses. This is to prevent from traces weirdness in\ncase of concurrent consumers. But these mutexes can be dropped\nanyway, that would not result in any crash. Just tell me what\nyou think about it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b04cc6b1f6398b0e0b60d37e27ce51b4899672ec",
      "tree": "61d5bd59b364913f5a124d25925b908c5deaf871",
      "parents": [
        "2b1b858f690d6369a59ad241335eeedec6eb0c8c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 25 03:22:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 13:40:58 2009 +0100"
      },
      "message": "tracing/core: introduce per cpu tracing files\n\nImpact: split up tracing output per cpu\n\nCurrently, on the tracing debugfs directory, three files are\navailable to the user to let him extracting the trace output:\n\n- trace is an iterator through the ring-buffer. It\u0027s a reader\n  but not a consumer It doesn\u0027t block when no more traces are\n  available.\n\n- trace pretty similar to the former, except that it adds more\n  informations such as prempt count, irq flag, ...\n\n- trace_pipe is a reader and a consumer, it will also block\n  waiting for traces if necessary (heh, yes it\u0027s a pipe).\n\nThe traces coming from different cpus are curretly mixed up\ninside these files. Sometimes it messes up the informations,\nsometimes it\u0027s useful, depending on what does the tracer\ncapture.\n\nThe tracing_cpumask file is useful to filter the output and\nselect only the traces captured a custom defined set of cpus.\nBut still it is not enough powerful to extract at the same time\none trace buffer per cpu.\n\nSo this patch creates a new directory: /debug/tracing/per_cpu/.\n\nInside this directory, you will now find one trace_pipe file and\none trace file per cpu.\n\nWhich means if you have two cpus, you will have:\n\n trace0\n trace1\n trace_pipe0\n trace_pipe1\n\nAnd of course, reading these files will have the same effect\nthan with the usual tracing files, except that you will only see\nthe traces from the given cpu.\n\nThe original all-in-one cpu trace file are still available on\ntheir original place.\n\nUntil now, only one consumer was allowed on trace_pipe to avoid\nracy consuming on the ring-buffer. Now the approach changed a\nbit, you can have only one consumer per cpu.\n\nWhich means you are allowed to read concurrently trace_pipe0 and\ntrace_pipe1 But you can\u0027t have two readers on trace_pipe0 or\ntrace_pipe1.\n\nFollowing the same logic, if there is one reader on the common\ntrace_pipe, you can not have at the same time another reader on\ntrace_pipe0 or in trace_pipe1. Because in trace_pipe is already\na consumer in all cpu buffers in essence.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b1b858f690d6369a59ad241335eeedec6eb0c8c",
      "tree": "91838f66d8ef6bb42fe66849c5cbd05650d272a3",
      "parents": [
        "886b5b73d71e4027d7dc6c14f5f7ab102201ea6b",
        "1473e4417c79f12d91ef91a469699bfa911f510f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 12:50:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 12:50:07 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "886b5b73d71e4027d7dc6c14f5f7ab102201ea6b",
      "tree": "307a0e4d1c597e90d6972f95c2396ea4e1be2057",
      "parents": [
        "c478f8786973d6d7552c652ddad3f6fd86b5af28"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 11:03:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 11:05:34 2009 +0100"
      },
      "message": "tracing: remove /debug/tracing/latency_trace\n\nImpact: remove old debug/tracing API\n\n/debug/tracing/latency_trace is an old legacy format we kept from\nthe old latency tracer. Remove the file for now. If there\u0027s any\nuseful bit missing then we\u0027ll propagate any useful output bits into\nthe /debug/tracing/trace output.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d542cf34264ac92e9e7ac55c0b096b066d569d2",
      "tree": "e7864da3a119ba2fd1800616f0041610d09058cb",
      "parents": [
        "499aa86dcbc3c4daf7d2c59c5c30e1a78220fbc1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 08:40:09 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 09:16:01 2009 +0100"
      },
      "message": "tracing/hw-branch-tracing: convert bts-tracer mutex to a spinlock\n\nImpact: fix CPU hotplug lockup\n\nbts_hotcpu_handler() is called with irqs disabled, so using mutex_lock()\nis a no-no.\n\nAll the BTS codepaths here are atomic (they do not schedule), so using\na spinlock is the right solution.\n\nCc: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1473e4417c79f12d91ef91a469699bfa911f510f",
      "tree": "07ae02d5383367ed883616646f885be71f7431dd",
      "parents": [
        "f3fe8e4a38fd19dbb3f8ffb1826aa840ae304a65"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 14:15:08 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 21:54:08 2009 -0500"
      },
      "message": "tracing: make event directory structure\n\nThis patch adds the directory /debug/tracing/events/ that will contain\nall the registered trace points.\n\n # ls /debug/tracing/events/\nsched_kthread_stop      sched_process_fork  sched_switch\nsched_kthread_stop_ret  sched_process_free  sched_wait_task\nsched_migrate_task      sched_process_wait  sched_wakeup\nsched_process_exit      sched_signal_send   sched_wakeup_new\n\n # ls /debug/tracing/events/sched_switch/\nenable\n\n # cat /debug/tracing/events/sched_switch/enable\n1\n\n # cat /debug/tracing/set_event\nsched_switch\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f3fe8e4a38fd19dbb3f8ffb1826aa840ae304a65",
      "tree": "9df43f7711f836173adebcefe2f4776bd3e30340",
      "parents": [
        "b77e38aa240c3bd9c55c98b9f7c81541e042eae5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 10:22:57 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 21:54:07 2009 -0500"
      },
      "message": "tracing: add schedule events to event trace\n\nThis patch changes the trace/sched.h to use the DECLARE_TRACE_FMT\nsuch that they are automatically registered with the event tracer.\n\nAnd it also adds the tracing sched headers to kernel/trace/events.c\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "b77e38aa240c3bd9c55c98b9f7c81541e042eae5",
      "tree": "bbb40993e76edc52d2cae1040b941ba4e4d2f965",
      "parents": [
        "7c37730cd31ddb2d3a1da142af9b18c29b8c433b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 10:21:36 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 21:54:05 2009 -0500"
      },
      "message": "tracing: add event trace infrastructure\n\nThis patch creates the event tracing infrastructure of ftrace.\nIt will create the files:\n\n /debug/tracing/available_events\n /debug/tracing/set_event\n\nThe available_events will list the trace points that have been\nregistered with the event tracer.\n\nset_events will allow the user to enable or disable an event hook.\n\nexample:\n\n # echo sched_wakeup \u003e /debug/tracing/set_event\n\nWill enable the sched_wakeup event (if it is registered).\n\n # echo \"!sched_wakeup\" \u003e\u003e /debug/tracing/set_event\n\nWill disable the sched_wakeup event (and only that event).\n\n # echo \u003e /debug/tracing/set_event\n\nWill disable all events (notice the \u0027\u003e\u0027)\n\n # cat /debug/tracing/available_events \u003e /debug/tracing/set_event\n\nWill enable all registered event hooks.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "5e01cb695d29619dd551bac7d6aa4ef1dc8ebc95",
      "tree": "441e5401fe99fbf75468b3245c77db34fc6aef58",
      "parents": [
        "a7f4463e0300b5135c0f0caf7c34a0529405f986"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Tue Feb 24 13:55:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 18:23:34 2009 +0100"
      },
      "message": "x86, ftrace: fix section mismatch in hw-branch-tracer\n\nFix an invalid memory reference problem when cpu hotplug support is\ndisabled and the hw-branch-tracer is set as current tracer.\n\nInitializing the tracer calls bts_trace_init() which has already\nbeen freed at this time.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7f4463e0300b5135c0f0caf7c34a0529405f986",
      "tree": "8df5f13094778eff3c8653bcc249cd265378b80a",
      "parents": [
        "c478f8786973d6d7552c652ddad3f6fd86b5af28",
        "20f4d6c3a2a23c5d7d9cc7f42fbb943ca7a03d1f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 18:22:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 18:22:39 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027; commit \u0027v2.6.29-rc6\u0027 into tracing/core\n"
    },
    {
      "commit": "770824bdc421ff58a64db608294323571c949f4c",
      "tree": "2fbeef604fe982bf322249a53a95dd2ff851d5f4",
      "parents": [
        "936577c61d0c10b8929608a92c98d839b22053bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 22 18:38:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 10:33:44 2009 -0800"
      },
      "message": "PM: Split up sysdev_[suspend|resume] from device_power_[down|up]\n\nMove the sysdev_suspend/resume from the callee to the callers, with\nno real change in semantics, so that we can rework the disabling of\ninterrupts during suspend/hibernation.\n\nThis is based on an earlier patch from Linus.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c478f8786973d6d7552c652ddad3f6fd86b5af28",
      "tree": "39967f4bb9a35d626584bd46f1acd916c6b5278d",
      "parents": [
        "843adf2379c18ed9a1b7493ee208bfd5512732e0",
        "4377245aa93b65b6597e4b7bb460fb9abc48b56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 18:12:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 18:12:01 2009 +0100"
      },
      "message": "Merge branch \u0027tip/x86/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/trace/ftrace.c\n"
    },
    {
      "commit": "adfafefd104d840ee4461965f22624d77532675b",
      "tree": "6c6ba553a2b11703bf5952bd789905ea37c4fc4f",
      "parents": [
        "460c1338fc05add0e8050d4945a46f207b13a5fc",
        "403f307576396f3362fbb65af190885b6036c72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "message": "Merge branch \u0027hibernate\u0027\n\n* hibernate:\n  PM: Fix suspend_console and resume_console to use only one semaphore\n  PM: Wait for console in resume\n  PM: Fix pm_notifiers during user mode hibernation\n  swsusp: clean up shrink_all_zones()\n  swsusp: dont fiddle with swappiness\n  PM: fix build for CONFIG_PM unset\n  PM/hibernate: fix \"swap breaks after hibernation failures\"\n  PM/resume: wait for device probing to finish\n  Consolidate driver_probe_done() loops into one place\n"
    },
    {
      "commit": "403f307576396f3362fbb65af190885b6036c72c",
      "tree": "d3737ebe960d65152b7ee119b8b5a7ad2d59e09b",
      "parents": [
        "b090f9fa53d51c8a33370071de9e391919ee1fa7"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:18 2009 -0800"
      },
      "message": "PM: Fix suspend_console and resume_console to use only one semaphore\n\nThis fixes a race where a thread acquires the console while the\nconsole is suspended, and the console is resumed before this\nthread releases it. In this case, the secondary console\nsemaphore would be left locked, and the primary semaphore would\nbe released twice. This in turn would cause the console switch\non suspend or resume to hang forever.\n\nNote that suspend_console does not actually lock the console\nfor clients that use acquire_console_sem, it only locks it for\nclients that use try_acquire_console_sem. If we change\nsuspend_console to fully lock the console, then the kernel\nmay deadlock on suspend. One client of try_acquire_console_sem\nis acquire_console_semaphore_for_printk, which uses it to\nprevent printk from using the console while it is suspended.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b090f9fa53d51c8a33370071de9e391919ee1fa7",
      "tree": "55cf1fe637cf4808d8139108c3d7871647dfc00f",
      "parents": [
        "ebae2604f2c3693717d9dc687c84578f0526480c"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:06:17 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Wait for console in resume\n\nAvoids later waking up to a blinking cursor if the device woke up and\nreturned to sleep before the console switch happened.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebae2604f2c3693717d9dc687c84578f0526480c",
      "tree": "b385e3b401ab8bc2f278aa36a03a639bf1ea61cd",
      "parents": [
        "0cb57258fe01e9b21076b6a15b6aec7a24168228"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Sat Feb 14 02:05:14 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Fix pm_notifiers during user mode hibernation\n\nSnapshot device is opened with O_RDONLY during suspend and O_WRONLY durig\nresume.  Make sure we also call notifiers with correct parameter telling\nthem what we are really doing.\n\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09664fda48c5dd63277f1f42888ca9d5dca6037a",
      "tree": "b5170e081b83fe449db1431c1a3591c162f528c4",
      "parents": [
        "a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 14 02:02:16 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eed3ee08292d821282169708e5e8e89a0d0a0c63",
      "tree": "0c455705568521c99c84d9ef095a3ae29d1f02db",
      "parents": [
        "216773a787c3c46ef26bf1742c1fdba37d26be45"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 02:00:19 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM/resume: wait for device probing to finish\n\nthe resume code does not currently wait for device probing to finish.\nEven without async function calls this is dicey and not correct,\nbut with async function calls during the boot sequence this is going\nto get hit more...\n\nThis patch adds the synchronization using the newly introduced helper.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4377245aa93b65b6597e4b7bb460fb9abc48b56b",
      "tree": "00eae2cbdd12e855bbde2f6cd6d1a6e6fd659a11",
      "parents": [
        "90c7ac49aa819feb9433b5310089fca6399881c0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 19 13:41:27 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 20 14:30:20 2009 -0500"
      },
      "message": "ftrace: break out modify loop immediately on detection of error\n\nImpact: added precaution on failure detection\n\nBreak out of the modifying loop as soon as a failure is detected.\nThis is just an added precaution found by code review and was not\nfound by any bug chasing.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "000ab691172db3921efa3cb7f17fc79235a1de7f",
      "tree": "5670e20fe203488b408977d5d5634fc9ddf418e1",
      "parents": [
        "07a66d7c53a538e1a9759954a82bb6c07365eff9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 17 13:35:06 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Feb 20 13:16:18 2009 -0500"
      },
      "message": "ftrace: allow archs to preform pre and post process for code modification\n\nThis patch creates the weak functions: ftrace_arch_code_modify_prepare\nand ftrace_arch_code_modify_post_process that are called before and\nafter the stop machine is called to modify the kernel text.\n\nIf the arch needs to do pre or post processing, it only needs to define\nthese functions.\n\n[ Update: Ingo Molnar suggested using the name ftrace_arch_code_modify_*\n          over using ftrace_arch_modify_* ]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f9349a8f978929a0c71d2c42ae299f7d462c239d",
      "tree": "e5d010a27078993709fd286f358122886cbbc3bc",
      "parents": [
        "64b36ca7f408e0bd45487c8c28f168f11f3b6dcd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Feb 19 21:13:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 20 11:36:24 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: make set_graph_function file support ftrace regex\n\nImpact: trace only functions matching a pattern\n\nThe set_graph_function file let one to trace only one or several\nchosen functions and follow all their code flow.\n\nCurrently, only a constant function name is allowed so this patch\nallows the ftrace_regex functions:\n\n- matches all functions that end with \"name\":\n  echo *name \u003e set_graph_function\n\n- matches all functions that begin with \"name\":\n  echo name* \u003e set_graph_function\n\n- matches all functions that contains \"name\":\n  echo *name* \u003e set_graph_function\n\nExample:\n\necho mutex* \u003e set_graph_function\n\n 0)               |  mutex_lock_nested() {\n 0)   0.563 us    |    __might_sleep();\n 0)   2.072 us    |  }\n 0)               |  mutex_unlock() {\n 0)   1.036 us    |    __mutex_unlock_slowpath();\n 0)   2.433 us    |  }\n 0)               |  mutex_unlock() {\n 0)   0.691 us    |    __mutex_unlock_slowpath();\n 0)   1.787 us    |  }\n 0)               |  mutex_lock_interruptible_nested() {\n 0)   0.548 us    |    __might_sleep();\n 0)   1.945 us    |  }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7",
      "tree": "8ca38b4fab7d2a9a5bfd26a2e640631d52894fe6",
      "parents": [
        "83ff1af9d330348d1a6685b0c06d33847cd72723",
        "ed4a2f374d71770796789ed559c35a36bab82f1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "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: limit the number of loops the ring buffer self test can make\n  tracing: have function trace select kallsyms\n  tracing: disable tracing while testing ring buffer\n  tracing/function-graph-tracer: trace the idle tasks\n"
    },
    {
      "commit": "00a8bf859331e349713274825e6fbf20bf2ac15a",
      "tree": "09a26efd9f8c79c2fc4bead9d6adc18cd2ea6de9",
      "parents": [
        "5752674e140db5bce08c6bc60021a9bc3b960800"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 13:01:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 13:01:37 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix merge\n\nMerge artifact: pid got changed to ent-\u003epid meanwhile.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1f9cbd78841f1a797c77e9117e4882f932c2ef6",
      "tree": "385b85ae60dfca6b4d2c5d8093db07cd6c5fbb20",
      "parents": [
        "4cd0332db7e8f57cc082bab11d82c064a9721737"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 18 04:25:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 12:33:21 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix traces weirdness while absolute time printing\n\nImpact: trace output cleanup/reordering\n\nWhen an interrupt occurs and and the abstime option is selected:\n\n  echo funcgraph-abstime \u003e /debug/tracing/trace_options\n\nthen we observe broken traces:\n\n30581.025422 |   0)   Xorg-4291    |   0.503 us    |      idle_cpu();\n30581.025424 |   0)   Xorg-4291    |   2.576 us    |    }\n30581.025424 |   0)   Xorg-4291    | + 75.771 us   |  }\n 0)   Xorg-4291    |   \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d |\n30581.025425 |   0)   Xorg-4291    |               |  schedule() {\n30581.025426 |   0)   Xorg-4291    |               |    __schedule() {\n30581.025426 |   0)   Xorg-4291    |   0.705 us    |      _spin_lock_irq();\n\nWith this patch, the interrupts output better adapts\nto absolute time printing:\n\n  414.856543 |   1)   Xorg-4279    |   8.816 us    |                        }\n  414.856544 |   1)   Xorg-4279    |   0.525 us    |                        rcu_irq_exit();\n  414.856545 |   1)   Xorg-4279    |   0.526 us    |                        idle_cpu();\n  414.856546 |   1)   Xorg-4279    | + 12.157 us   |                      }\n  414.856549 |   1)   Xorg-4279    | ! 104.114 us  |                    }\n  414.856549 |   1)   Xorg-4279    |   \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d |\n  414.856549 |   1)   Xorg-4279    | ! 107.944 us  |                  }\n  414.856550 |   1)   Xorg-4279    | ! 137.010 us  |                }\n  414.856551 |   1)   Xorg-4279    |   0.624 us    |                _read_unlock();\n  414.856552 |   1)   Xorg-4279    | ! 140.930 us  |              }\n  414.856552 |   1)   Xorg-4279    | ! 166.159 us  |            }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "4cd0332db7e8f57cc082bab11d82c064a9721737"
}
