)]}'
{
  "log": [
    {
      "commit": "4462344ee9ea9224d026801b877887f2f39774a3",
      "tree": "deb703d6858f2fb7f7db69c65e90560ce4a0654e",
      "parents": [
        "9e01c1b74c9531e301c900edaa92a99fcb7738f2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:23 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:23 2009 +1030"
      },
      "message": "cpumask: convert kernel trace functions further\n\nImpact: Reduce future memory usage, use new cpumask API.\n\nSince the last patch was created and acked, more old cpumask users\nslipped into kernel/trace.\n\nMostly trivial conversions, except struct trace_iterator\u0027s \"started\"\nmember becomes a cpumask_var_t.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9e01c1b74c9531e301c900edaa92a99fcb7738f2",
      "tree": "f71425ecfecf32046bd6aecb5ca6e504e9258b30",
      "parents": [
        "333af15341b2f6cd813c054e1b441d7b6d8e9318"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:22 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:22 2009 +1030"
      },
      "message": "cpumask: convert kernel trace functions\n\nImpact: Reduce future memory usage, use new cpumask API.\n\n(Eventually, cpumask_var_t will be allocated based on nr_cpu_ids, not NR_CPUS).\n\nConvert kernel trace functions to use struct cpumask API:\n1) Use cpumask_copy/cpumask_test_cpu/for_each_cpu.\n2) Use cpumask_var_t and alloc_cpumask_var/free_cpumask_var everywhere.\n3) Use on_each_cpu instead of playing with current-\u003ecpus_allowed.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "1af237a099a3b8ff56aa384f605c6a68af7bf288",
      "tree": "71d1898e124ec720317b2c14b4f8169fb1a354bf",
      "parents": [
        "74a6d0f064cd9106599ce3f1d924309669e83582"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Tue Dec 30 06:41:44 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:35:40 2008 -0800"
      },
      "message": "tracing: removed duplicated #include\n\nRemoved duplicated #include in kernel/trace/trace.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "526ea064f953fc5ad2fb905b537f490b9374a0f0",
      "tree": "c4ff0cb65ce6442863c7c342f641a41f0995329a",
      "parents": [
        "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
        "d69d59f49763e6bd047c591c6c1f84c8e13da931"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  oprofile: select RING_BUFFER\n  ring_buffer: adding EXPORT_SYMBOLs\n  oprofile: fix lost sample counter\n  oprofile: remove nr_available_slots()\n  oprofile: port to the new ring_buffer\n  ring_buffer: add remaining cpu functions to ring_buffer.h\n  oprofile: moving cpu_buffer_reset() to cpu_buffer.h\n  oprofile: adding cpu_buffer_entries()\n  oprofile: adding cpu_buffer_write_commit()\n  oprofile: adding cpu buffer r/w access functions\n  ftrace: remove unused function arg in trace_iterator_increment()\n  ring_buffer: update description for ring_buffer_alloc()\n  oprofile: set values to default when creating oprofilefs\n  oprofile: implement switch/case in buffer_sync.c\n  x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c\n  x86/oprofile: reordering IBS code in op_model_amd.c\n  oprofile: fix typo\n  oprofile: whitspace changes only\n  oprofile: update comment for oprofile_add_sample()\n  oprofile: comment cleanup\n"
    },
    {
      "commit": "33edcf133ba93ecba2e4b6472e97b689895d805c",
      "tree": "327d7a20acef64005e7c5ccbfa1265be28aeb6ac",
      "parents": [
        "be4d638c1597580ed2294d899d9f1a2cd10e462c",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "213cc060797378059a28ebc5c539f3e9a80160bd",
      "tree": "e159f9fae35ca59fe2c02e905c2b4b91881d865c",
      "parents": [
        "30cd324e9787ccc9a5ede59742d5409857550692"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Dec 19 12:08:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 16:29:34 2008 +0100"
      },
      "message": "ftrace: introduce tracing_reset_online_cpus() helper\n\nImpact: cleanup\n\nThis patch factors out common code from multiple tracers into a\ntracing_reset_online_cpus() function and converts the tracers to use it.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "3bddb9a3246f6df5cf3b7655cb541ac10203bb71",
      "tree": "db6f85196d38c0e6ca62edd8af8654e07961c902",
      "parents": [
        "ea3a6d6d60b2504c573fe3415f6617e8310c0236"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:03:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:01:25 2008 +0100"
      },
      "message": "tracing: fix warning in kernel/trace/trace.c\n\nthis warning:\n\n  kernel/trace/trace.c: In function ‘print_lat_fmt’:\n  kernel/trace/trace.c:1826: warning: unused variable ‘state’\n\nTriggers because \u0027state\u0027 has become unused - remove it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d9101e92529e1ff6014f95a69afc82f37b9b13a",
      "tree": "5147a9331a9a98d0ab073258d489aa0b052e524b",
      "parents": [
        "55dac3a5553b13891f0ae4bbd11920619b5436d4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 17 22:34:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:03:09 2008 +0100"
      },
      "message": "trace: fix task state printout\n\nImpact: fix occasionally incorrect trace output\n\nThe tracing code has interesting varieties of printing out task state.\n\nUnfortunalely only one of the instances is correct as it copies the\ncode from sched.c:sched_show_task(). The others are plain wrong as\nthey treatthe bitfield as an integer offset into the character\narray. Also the size check of the character array is wrong as it\nincludes the trailing \\0.\n\nUse a common state decoder inline which does the Right Thing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66896a85cf2890b6bbbc4c9ccdcd296600ffbf89",
      "tree": "ad6b0a4df65a59280163f5b8ab0b92b2fe54c283",
      "parents": [
        "2c2d7329d8afa9efa3ec24e19a53e7be9d14f242"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Dec 13 20:18:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:26:36 2008 +0100"
      },
      "message": "tracing/ftrace: add the printk-msg-only option\n\nImpact: display ftrace_printk messages \"as is\"\n\nBy default, ftrace_printk() messages find their output with some other\ninformations like pid, caller, ...\nSometimes a developer just want to have the ftrace_printk left \"as is\", without\nother information.\n\nThis is done by providing a default-off option called printk-msg-only.\nTo enable it, just do `echo printk-msg-only \u003e /debugfs/tracing/trace_options`\n\nBefore the patch:\n\n           \u003c...\u003e-2739  [000]   145.692153: __might_sleep: I\u0027m an ftrace_printk msg in __might_sleep\n           \u003c...\u003e-2739  [000]   145.692155: __might_sleep: I\u0027m another ftrace_printk msg in __might_sleep\n\nAfter the patch and the printk-msg-only option enabled:\n\nI\u0027m an ftrace_printk msg in __might_sleep\nI\u0027m another ftrace_printk msg in __might_sleep\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef",
      "tree": "d8ee57c5b40baa3f53d607b719344dd20f8c85a0",
      "parents": [
        "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "message": "cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.\n\nImpact: change calling convention of existing cpumask APIs\n\nMost cpumask functions started with cpus_: these have been replaced by\ncpumask_ ones which take struct cpumask pointers as expected.\n\nThese four functions don\u0027t have good replacement names; fortunately\nthey\u0027re rarely used, so we just change them over.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: mingo@redhat.com\nCc: tony.luck@intel.com\nCc: ralf@linux-mips.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: cl@linux-foundation.org\nCc: srostedt@redhat.com\n"
    },
    {
      "commit": "a93751cab71d63126687551823ed3e70cd85854a",
      "tree": "665e9bf274c457edd672ad44320fad962e6c16f5",
      "parents": [
        "c2724775ce57c98b8af9694857b941dc61056516"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markut.t.metzger@intel.com",
        "time": "Thu Dec 11 13:53:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 08:08:14 2008 +0100"
      },
      "message": "x86, bts, ftrace: adapt the hw-branch-tracer to the ds.c interface\n\nImpact: restructure code, cleanup\n\nRemove BTS bits from the hw-branch-tracer (renamed from bts-tracer) and\nuse the ds interface.\n\nSigned-off-by: Markus Metzger \u003cmarkut.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2ac8ef576e45d9db7264abc51383e68d26067bb",
      "tree": "a24108104aba3627039dad63c952f3f4c0dcacb7",
      "parents": [
        "68814b58c52077da9561b544089fe532a0842f71"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Nov 12 12:59:32 2008 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 10 14:20:12 2008 +0100"
      },
      "message": "ftrace: remove unused function arg in trace_iterator_increment()\n\nThis removes the unused cpu function parameter.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "e726f5f91effd8944c76475a2688093a03ba0d10",
      "tree": "37cbbf592a2b667d2787e0db4235e87fc91bc43f",
      "parents": [
        "380c4b1411ccd6885f92b2c8ceb08433a720f44e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 16:55:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 16:55:53 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: fix \u0027flags\u0027 variable mismatch\n\nthis warning:\n\n kernel/trace/trace.c: In function ‘trace_vprintk’:\n kernel/trace/trace.c:3626: warning: ‘flags’ may be used uninitialized in this function\n\nshows some confusion about irq_flags / flags use here. We already have\nirq_flags so remove the extra flags variable.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "380c4b1411ccd6885f92b2c8ceb08433a720f44e",
      "tree": "f3b571e1caff2de3e6b4cace87c2b1ec332667d7",
      "parents": [
        "8e1b82e0866befaa0b2920be296c6e4c3fc7f422"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Dec 06 03:43:41 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 15:11:45 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: append the tracing_graph_flag\n\nImpact: Provide a way to pause the function graph tracer\n\nAs suggested by Steven Rostedt, the previous patch that prevented from\nspinlock function tracing shouldn\u0027t use the raw_spinlock to fix it.\nIt\u0027s much better to follow lockdep with normal spinlock, so this patch\nadds a new flag for each task to make the function graph tracer able\nto be paused. We also can send an ftrace_printk whithout worrying of\nthe irrelevant traced spinlock during insertion.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e1b82e0866befaa0b2920be296c6e4c3fc7f422",
      "tree": "e1570ed8c1b671288d82897789a4891da45b13c8",
      "parents": [
        "8b96f0119818964e4944fd1c423bf6770027d3ac"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Dec 06 03:41:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 15:11:44 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: turn tracing_selftest_running into an int\n\nImpact: cleanup\n\nApply some suggestions of Steven Rostedt:\n\n_turn tracing_selftest_running into a simple int (no need of an atomic_t)\n_set it __read_mostly\n_fix a comment style\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21a8c466f99063eeb8567318b4e305eda9015408",
      "tree": "bc15ed9d28a4f1a52d390ceca6893d84de50a232",
      "parents": [
        "77d683f3e0258d522c5506e7b5fd05c9411184d9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Dec 04 23:51:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 05 14:47:44 2008 +0100"
      },
      "message": "tracing/ftrace: provide the macro task_curr_ret_stack()\n\nImpact: cleanup\n\nAs suggested by Steven Rostedt, this patch provide a new macro\ntask_curr_ret_stack() to move the cpp conditionnal CONFIG into\nthe linux/ftrace.h headers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff32504fdc56407654584ef187b20022c94a3486",
      "tree": "71f265bbc27f603732e3791bb24896e450489083",
      "parents": [
        "970987beb9c99ca806edc464518d411cc399fb4d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Dec 04 23:47:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 05 14:47:43 2008 +0100"
      },
      "message": "tracing/ftrace: don\u0027t insert TRACE_PRINT during selftests\n\nImpact: fix tracer selfstests false results\n\nAfter setting a ftrace_printk somewhere in th kernel, I saw the\nFunction tracer selftest failing.\n\nWhen a selftest occurs, the ring buffer is lurked to see if\nsome entries were inserted. But concurrent insertion such as\nftrace_printk could occured at the same time and could give\nfalse positive or negative results.\n\nThis patch prevent prevent from TRACE_PRINT entries insertion\nduring selftests.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "970987beb9c99ca806edc464518d411cc399fb4d",
      "tree": "51e2298b6eb7e6412009428b380a51e1f17b531b",
      "parents": [
        "faec2ec505d397e9426754722b6e80d519c4938f",
        "1fd8f2a3f9a91b287a876cef830b21baafc8a799",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 05 14:45:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 05 14:45:22 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/function-graph-tracer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "1fd8f2a3f9a91b287a876cef830b21baafc8a799",
      "tree": "2baf0dfb14e3765efa370edafa2ab7f78d654308",
      "parents": [
        "b29144c317fb748dae6d72c0f88eda9d43165b8d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 03 23:45:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 10:18:39 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: handle ftrace_printk entries\n\nHandle the TRACE_PRINT entries from the function grapg tracer\nand output them as a C comment just below the function that called\nit, as if it was a comment inside this function.\n\nExample with an ftrace_printk inside might_sleep() function:\n\nvoid __might_sleep(char *file, int line)\n{\n\tstatic unsigned long prev_jiffy;\t/* ratelimiting */\n\n\tftrace_printk(\"Hi I\u0027m a comment in might_sleep() :-)\");\n\nA chunk of a resulting trace:\n\n 0)               |        _reiserfs_free_block() {\n 0)               |          reiserfs_read_bitmap_block() {\n 0)               |            __bread() {\n 0)               |              __getblk() {\n 0)               |                __find_get_block() {\n 0)   0.698 us    |                  mark_page_accessed();\n 0)   2.267 us    |                }\n 0)               |                __might_sleep() {\n 0)               |                  /* Hi I\u0027m a comment in might_sleep() :-) */\n 0)   1.321 us    |                }\n 0)   5.872 us    |              }\n 0)   7.313 us    |            }\n 0)   8.718 us    |          }\n\nAnd this patch brings two minor fixes:\n\n- The newline after a switch-out task has disappeared\n- The \"|\" sign just before the cpu number on task-switch has been deleted.\n\n 0)   0.616 us    |                pick_next_task_rt();\n 0)   1.457 us    |                _spin_trylock();\n 0)   0.653 us    |                _spin_unlock();\n 0)   0.728 us    |                _spin_trylock();\n 0)   0.631 us    |                _spin_unlock();\n 0)   0.729 us    |                native_load_sp0();\n 0)   0.593 us    |                native_load_tls();\n ------------------------------------------\n 0)    cat-2834    \u003d\u003e   migrati-3\n ------------------------------------------\n\n 0)               |    finish_task_switch() {\n 0)   0.841 us    |      _spin_unlock_irq();\n 0)   0.616 us    |      post_schedule_rt();\n 0)   3.882 us    |    }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "804a685162a7080386714166776f57255a75238e",
      "tree": "f7b79000146532c0ad6571440652368e2521119a",
      "parents": [
        "0ef8cde56ab92ab3f65221246dc1622c6b5068b3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 03 15:36:59 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:09:36 2008 +0100"
      },
      "message": "ftrace: trace single pid for function graph tracer\n\nImpact: New feature\n\nThis patch makes the changes to set_ftrace_pid apply to the function\ngraph tracer.\n\n  # echo $$ \u003e /debugfs/tracing/set_ftrace_pid\n  # echo function_graph \u003e /debugfs/tracing/current_tracer\n\nWill cause only the current task to be traced. Note, the trace flags are\nalso inherited by child processes, so the children of the shell\nwill also be traced.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea4e2bc4d9f7370e57a343ccb5e7c0ad3222ec3c",
      "tree": "64a4a1d9d7d3de0695cb2e8c7161886ab660e311",
      "parents": [
        "b29144c317fb748dae6d72c0f88eda9d43165b8d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 03 15:36:57 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:09:34 2008 +0100"
      },
      "message": "ftrace: graph of a single function\n\nThis patch adds the file:\n\n   /debugfs/tracing/set_graph_function\n\nwhich can be used along with the function graph tracer.\n\nWhen this file is empty, the function graph tracer will act as\nusual. When the file has a function in it, the function graph\ntracer will only trace that function.\n\nFor example:\n\n # echo blk_unplug \u003e /debugfs/tracing/set_graph_function\n # cat /debugfs/tracing/trace\n [...]\n ------------------------------------------\n | 2)  make-19003  \u003d\u003e  kjournald-2219\n ------------------------------------------\n\n 2)               |  blk_unplug() {\n 2)               |    dm_unplug_all() {\n 2)               |      dm_get_table() {\n 2)      1.381 us |        _read_lock();\n 2)      0.911 us |        dm_table_get();\n 2)      1. 76 us |        _read_unlock();\n 2) +   12.912 us |      }\n 2)               |      dm_table_unplug_all() {\n 2)               |        blk_unplug() {\n 2)      0.778 us |          generic_unplug_device();\n 2)      2.409 us |        }\n 2)      5.992 us |      }\n 2)      0.813 us |      dm_table_put();\n 2) +   29. 90 us |    }\n 2) +   34.532 us |  }\n\nYou can add up to 32 functions into this file. Currently we limit it\nto 32, but this may change with later improvements.\n\nTo add another function, use the append \u0027\u003e\u003e\u0027:\n\n  # echo sys_read \u003e\u003e /debugfs/tracing/set_graph_function\n  # cat /debugfs/tracing/set_graph_function\n  blk_unplug\n  sys_read\n\nUsing the \u0027\u003e\u0027 will clear out the function and write anew:\n\n  # echo sys_write \u003e /debug/tracing/set_graph_function\n  # cat /debug/tracing/set_graph_function\n  sys_write\n\nNote, if you have function graph running while doing this, the small\ntime between clearing it and updating it will cause the graph to\nrecord all functions. This should not be an issue because after\nit sets the filter, only those functions will be recorded from then on.\nIf you need to only record a particular function then set this\nfile first before starting the function graph tracer. In the future\nthis side effect may be corrected.\n\nThe set_graph_function file is similar to the set_ftrace_filter but\nit does not take wild cards nor does it allow for more than one\nfunction to be set with a single write. There is no technical reason why\nthis is the case, I just do not have the time yet to implement that.\n\nNote, dynamic ftrace must be enabled for this to appear because it\nuses the dynamic ftrace records to match the name to the mcount\ncall sites.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e49dc19c6a19ea112fcb94b7c62ec62cdd5c08aa",
      "tree": "851dcdfe321e16a327d656ecd7040ef6e8590bec",
      "parents": [
        "7ee991fbc6f947e9b04f29c9c6c1d057d0671a16"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 02 23:50:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 08:56:26 2008 +0100"
      },
      "message": "ftrace: function graph return for function entry\n\nImpact: feature, let entry function decide to trace or not\n\nThis patch lets the graph tracer entry function decide if the tracing\nshould be done at the end as well. This requires all function graph\nentry functions return 1 if it should trace, or 0 if the return should\nnot be traced.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5e25883a445dce94a087ca479b21a5959cd5c18",
      "tree": "9453b1116b9784b91d63fd6a1110af0d62fd02b7",
      "parents": [
        "dfdc5437bd62dd6a26961e27f26b671374749875"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 02 15:34:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 08:56:19 2008 +0100"
      },
      "message": "ftrace: replace raw_local_irq_save with local_irq_save\n\nImpact: fix for lockdep and ftrace\n\nThe raw_local_irq_save/restore confuses lockdep. This patch\nconverts them to the local_irq_save/restore variants.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7425acb42fff1e723b05fbf4ea11e9a455d95dc",
      "tree": "15720cbd28def3a0ccec8d9920b9dc9eb7dab671",
      "parents": [
        "c7cc77307669336a08928ab8668bdb3f3bcc021b"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Fri Nov 28 11:17:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 11:33:00 2008 +0100"
      },
      "message": "tracing, alpha: fix build: add missing #ifdef CONFIG_STACKTRACE\n\nThere are architectures that still have no stacktrace support.\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "660c7f9be96321fc80026d76411bd15e6f418a72",
      "tree": "5ae61fa51c9e9ce7b42f64cfaa168cd09439ac3d",
      "parents": [
        "e53a6319cca69111c1643dc9f18f4465d7f1cbf0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 26 00:16:26 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 06:52:56 2008 +0100"
      },
      "message": "ftrace: add thread comm to function graph tracer\n\nImpact: enhancement to function graph tracer\n\nExport the trace_find_cmdline so the function graph tracer can\nuse it to print the comms of the threads.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "287b6e68ca7209caec40b2f44f837c580a413bae",
      "tree": "b0867d75868f6049dc5747bd39fdae2d477dde66",
      "parents": [
        "fb52607afcd0629776f1dc9e657647ceae81dd50"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 26 00:57:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 01:59:45 2008 +0100"
      },
      "message": "tracing/function-return-tracer: set a more human readable output\n\nImpact: feature\n\nThis patch sets a C-like output for the function graph tracing.\nFor this aim, we now call two handler for each function: one on the entry\nand one other on return. This way we can draw a well-ordered call stack.\n\nThe pid of the previous trace is loosely stored to be compared against\nthe one of the current trace to see if there were a context switch.\n\nWithout this little feature, the call tree would seem broken at\nsome locations.\nWe could use the sched_tracer to capture these sched_events but this\nway of processing is much more simpler.\n\n2 spaces have been chosen for indentation to fit the screen while deep\ncalls. The time of execution in nanosecs is printed just after closed\nbraces, it seems more easy this way to find the corresponding function.\nIf the time was printed as a first column, it would be not so easy to\nfind the corresponding function if it is called on a deep depth.\n\nI plan to output the return value but on 32 bits CPU, the return value\ncan be 32 or 64, and its difficult to guess on which case we are.\nI don\u0027t know what would be the better solution on X86-32: only print\neax (low-part) or even edx (high-part).\n\nActually it\u0027s thee same problem when a function return a 8 bits value, the\nhigh part of eax could contain junk values...\n\nHere is an example of trace:\n\nsys_read() {\n  fget_light() {\n  } 526\n  vfs_read() {\n    rw_verify_area() {\n      security_file_permission() {\n        cap_file_permission() {\n        } 519\n      } 1564\n    } 2640\n    do_sync_read() {\n      pipe_read() {\n        __might_sleep() {\n        } 511\n        pipe_wait() {\n          prepare_to_wait() {\n          } 760\n          deactivate_task() {\n            dequeue_task() {\n              dequeue_task_fair() {\n                dequeue_entity() {\n                  update_curr() {\n                    update_min_vruntime() {\n                    } 504\n                  } 1587\n                  clear_buddies() {\n                  } 512\n                  add_cfs_task_weight() {\n                  } 519\n                  update_min_vruntime() {\n                  } 511\n                } 5602\n                dequeue_entity() {\n                  update_curr() {\n                    update_min_vruntime() {\n                    } 496\n                  } 1631\n                  clear_buddies() {\n                  } 496\n                  update_min_vruntime() {\n                  } 527\n                } 4580\n                hrtick_update() {\n                  hrtick_start_fair() {\n                  } 488\n                } 1489\n              } 13700\n            } 14949\n          } 16016\n          msecs_to_jiffies() {\n          } 496\n          put_prev_task_fair() {\n          } 504\n          pick_next_task_fair() {\n          } 489\n          pick_next_task_rt() {\n          } 496\n          pick_next_task_fair() {\n          } 489\n          pick_next_task_idle() {\n          } 489\n\n------------8\u003c---------- thread 4 ------------8\u003c----------\n\nfinish_task_switch() {\n} 1203\ndo_softirq() {\n  __do_softirq() {\n    __local_bh_disable() {\n    } 669\n    rcu_process_callbacks() {\n      __rcu_process_callbacks() {\n        cpu_quiet() {\n          rcu_start_batch() {\n          } 503\n        } 1647\n      } 3128\n      __rcu_process_callbacks() {\n      } 542\n    } 5362\n    _local_bh_enable() {\n    } 587\n  } 8880\n} 9986\nkthread_should_stop() {\n} 669\ndeactivate_task() {\n  dequeue_task() {\n    dequeue_task_fair() {\n      dequeue_entity() {\n        update_curr() {\n          calc_delta_mine() {\n          } 511\n          update_min_vruntime() {\n          } 511\n        } 2813\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb52607afcd0629776f1dc9e657647ceae81dd50",
      "tree": "7bf43b41ff8510d3098c089913cce56a9049f0fd",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 25 21:07:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 01:59:45 2008 +0100"
      },
      "message": "tracing/function-return-tracer: change the name into function-graph-tracer\n\nImpact: cleanup\n\nThis patch changes the name of the \"return function tracer\" into\nfunction-graph-tracer which is a more suitable name for a tracing\nwhich makes one able to retrieve the ordered call stack during\nthe code flow.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bba1bf5e2434c83f2fe8b1422604ace9bbe4cb8",
      "tree": "3df07de04de7e3a838dbf544e6a98eadac37b027",
      "parents": [
        "6abb11aecd888d1da6276399380b7355f127c006"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Tue Nov 25 09:12:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 17:31:13 2008 +0100"
      },
      "message": "x86, ftrace: call trace-\u003eopen() before stopping tracing; add trace-\u003eprint_header()\n\nAdd a callback to allow an ftrace plug-in to write its own header.\n\nMove the call to trace-\u003eopen() up a few lines.\n\nThe changes are required by the BTS ftrace plug-in.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f893fb2e89287a4d755f928c3cda9d18440355c",
      "tree": "e2b2d9b3974567bc25a5298b14660062d6afb871",
      "parents": [
        "0429149fb5e01edc410648591c19095d2074ee00",
        "1d926f2756392c6909f60e0c9fe2a09d5462e376",
        "69bb54ec05f57da7f6fac2cec0820cbc970df20f",
        "65afa5e603d507014580ead016ec887b49e1afa6",
        "cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349",
        "813b8520f5c240c71df55d14095a7b171de264ce",
        "033601a32b2012b6948e80e739cca40bff4de4a0",
        "958086d1784459be3fe85e4cad79d42b17d33381",
        "fb91ee6cf5b8be5360acec577458e29ec7e97e5e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:24 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/branch-tracer\u0027, \u0027tracing/fastboot\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/function-return-tracer\u0027, \u0027tracing/power-tracer\u0027, \u0027tracing/powerpc\u0027, \u0027tracing/ring-buffer\u0027, \u0027tracing/stack-tracer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "e38da59269be8c0196d16dff1be5bb26076afc6a",
      "tree": "b43829f918725af5a2875f0244db62c4cc701c27",
      "parents": [
        "8d26487fd4ddda7a0237da418fb8669fb06ae557"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sun Nov 23 13:08:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 12:20:26 2008 +0100"
      },
      "message": "tracing/stack-tracer: avoid races accessing file\n\nImpact: fix race\n\nvma-\u003evm_file reference is only stable while holding the mmap_sem,\nso move usage of it to within the critical section.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cffa10aecb6891f090a4d53a075bc40c082c45fc",
      "tree": "825b264f70bc5c5aaa2882e8dfba75e366238b1e",
      "parents": [
        "8d7c6a96164651dbbab449ef0b5c20ae1f76a3a1"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sun Nov 23 12:39:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:53:49 2008 +0100"
      },
      "message": "tracing/stack-tracer: fix locking and refcounts\n\nImpact: fix refcounting/object-access bug\n\nHold mmap_sem while looking up/accessing vma.\nHold the RCU lock while using the task we looked up.\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d7c6a96164651dbbab449ef0b5c20ae1f76a3a1",
      "tree": "f7474eb4873f62df30915897c3424048f3142b4f",
      "parents": [
        "b54d3de9f3b8956653b06f1a32e9f9321c6d9027"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sun Nov 23 12:39:06 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:53:48 2008 +0100"
      },
      "message": "tracing/stack-tracer: fix style issues\n\nImpact: cleanup\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69bb54ec05f57da7f6fac2cec0820cbc970df20f",
      "tree": "cdee5802117c2e78cf18df7fa524c7390d1bdb67",
      "parents": [
        "e58918ab9d4cd375f6d842e6d88cf4d7a55cbfcc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 12:59:38 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:45:34 2008 +0100"
      },
      "message": "ftrace: add ftrace_off_permanent\n\nImpact: add new API to disable all of ftrace on anomalies\n\nIt case of a serious anomaly being detected (like something caught by\nlockdep) it is a good idea to disable all tracing immediately, without\ngrabing any locks.\n\nThis patch adds ftrace_off_permanent that disables the tracers, function\ntracing and ring buffers without a way to enable them again. This should\nonly be used when something serious has been detected.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b54d3de9f3b8956653b06f1a32e9f9321c6d9027",
      "tree": "fef98e07a9327371304811191cafebdd65311502",
      "parents": [
        "74e2f334f4440cbcb63e9ebbcdcea430d41bdfa3"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sat Nov 22 13:28:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:45:42 2008 +0100"
      },
      "message": "tracing: identify which executable object the userspace address belongs to\n\nImpact: modify+improve the userstacktrace tracing visualization feature\n\nStore thread group leader id, and use it to lookup the address in the\nprocess\u0027s map. We could have looked up the address on thread\u0027s map,\nbut the thread might not exist by the time we are called. The process\nmight not exist either, but if you are reading trace_pipe, that is\nunlikely.\n\nExample usage:\n\n mount -t debugfs nodev /sys/kernel/debug\n cd /sys/kernel/debug/tracing\n echo userstacktrace \u003eiter_ctrl\n echo sym-userobj \u003eiter_ctrl\n echo sched_switch \u003ecurrent_tracer\n echo 1 \u003etracing_enabled\n cat trace_pipe \u003e/tmp/trace\u0026\n .... run application ...\n echo 0 \u003etracing_enabled\n cat /tmp/trace\n\nYou\u0027ll see stack entries like:\n\n   /lib/libpthread-2.7.so[+0xd370]\n\nYou can convert them to function/line using:\n\n   addr2line -fie /lib/libpthread-2.7.so 0xd370\n\nOr:\n\n   addr2line -fie /usr/lib/debug/libpthread-2.7.so 0xd370\n\nFor non-PIC/PIE executables this won\u0027t work:\n\n   a.out[+0x73b]\n\nYou need to run the following: addr2line -fie a.out 0x40073b\n(where 0x400000 is the default load address of a.out)\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02b67518e2b1c490787dac7f35e1204e74fe21ba",
      "tree": "a3d92846e1a09a829f300ab15726ee9c288cb49e",
      "parents": [
        "a0a70c735ef714fe1b6777b571630c3d50c7b008"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sat Nov 22 13:28:47 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:25:15 2008 +0100"
      },
      "message": "tracing: add support for userspace stacktraces in tracing/iter_ctrl\n\nImpact: add new (default-off) tracing visualization feature\n\nUsage example:\n\n mount -t debugfs nodev /sys/kernel/debug\n cd /sys/kernel/debug/tracing\n echo userstacktrace \u003eiter_ctrl\n echo sched_switch \u003ecurrent_tracer\n echo 1 \u003etracing_enabled\n .... run application ...\n echo 0 \u003etracing_enabled\n\nThen read one of \u0027trace\u0027,\u0027latency_trace\u0027,\u0027trace_pipe\u0027.\n\nTo get the best output you can compile your userspace programs with\nframe pointers (at least glibc + the app you are tracing).\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0a70c735ef714fe1b6777b571630c3d50c7b008",
      "tree": "3f4f3bb23441a284107bede9890c4e45827634e0",
      "parents": [
        "9676e73a9e0cbdc521e1ebf4e13e6e5aada34247",
        "60a515132086b2c28a8141d873297fdf7a180ca7",
        "0231022cc32d5f2e7f3c06b75691dda0ad6aec33",
        "522a110b42b306d696cf84e34c677ed0e7080194"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:10:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:10:32 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/profiling\u0027, \u0027tracing/options\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "9676e73a9e0cbdc521e1ebf4e13e6e5aada34247",
      "tree": "b5ea1cace6c4f2f57fcebfc42418b7f53fee84e5",
      "parents": [
        "5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371",
        "86fa2f60674540df0b34f5c547ed0c1cf3a8f212",
        "6d5b43a67accf6793ed259f6534b4bd53b1e5696"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:04:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:04:25 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/ftrace.c\n\n[ We conflicted here because we backported a few fixes to\n  tracing/urgent - which has different internal APIs. ]\n"
    },
    {
      "commit": "86fa2f60674540df0b34f5c547ed0c1cf3a8f212",
      "tree": "a367d69ad41f46362dfdb8eaf19ec8a6f8a8c812",
      "parents": [
        "a22506347d038a66506c6f57e9b97104128e280d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:00:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:00:15 2008 +0100"
      },
      "message": "ftrace: fix selftest locking\n\nImpact: fix self-test boot crash\n\nSelf-test failure forgot to re-lock the BKL - crashing the next\ninitcall:\n\nTesting tracer irqsoff: .. no entries found ..FAILED!\ninitcall init_irqsoff_tracer+0x0/0x11 returned 0 after 3906 usecs\ncalling  init_mmio_trace+0x0/0xf @ 1\n------------[ cut here ]------------\nKernel BUG at c0c0a915 [verbose debug info unavailable]\ninvalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC\nlast sysfs file:\n\nPid: 1, comm: swapper Not tainted (2.6.28-rc5-tip #53704)\nEIP: 0060:[\u003cc0c0a915\u003e] EFLAGS: 00010286 CPU: 1\nEIP is at unlock_kernel+0x10/0x2b\nEAX: ffffffff EBX: 00000000 ECX: 00000000 EDX: f7030000\nESI: c12da19c EDI: 00000000 EBP: f7039f54 ESP: f7039f54\n DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\nProcess swapper (pid: 1, ti\u003df7038000 task\u003df7030000 task.ti\u003df7038000)\nStack:\n f7039f6c c0164d30 c013fed8 a7d8d7b4 00000000 00000000 f7039f74 c12fb78a\n f7039fd0 c0101132 c12fb77d 00000000 6f727200 6f632072 2d206564 c1002031\n 0000000f f7039fa2 f7039fb0 3531b171 00000000 00000000 0000002f c12ca480\nCall Trace:\n [\u003cc0164d30\u003e] ? register_tracer+0x66/0x13f\n [\u003cc013fed8\u003e] ? ktime_get+0x19/0x1b\n [\u003cc12fb78a\u003e] ? init_mmio_trace+0xd/0xf\n [\u003cc0101132\u003e] ? do_one_initcall+0x4a/0x111\n [\u003cc12fb77d\u003e] ? init_mmio_trace+0x0/0xf\n [\u003cc015c7e6\u003e] ? init_irq_proc+0x46/0x59\n [\u003cc12e851d\u003e] ? kernel_init+0x104/0x152\n [\u003cc12e8419\u003e] ? kernel_init+0x0/0x152\n [\u003cc01038b7\u003e] ? kernel_thread_helper+0x7/0x10\nCode: 58 14 43 75 0a b8 00 9b 2d c1 e8 51 43 7a ff 64 a1 00 a0 37 c1 89 58 14 5b 5d c3 55 64 8b 15 00 a0 37 c1 83 7a 14 00 89 e5 79 04 \u003c0f\u003e 0b eb fe 8b 42 14 48 85 c0 89 42 14 79 0a b8 00 9b 2d c1 e8\nEIP: [\u003cc0c0a915\u003e] unlock_kernel+0x10/0x2b SS:ESP 0068:f7039f54\n---[ end trace a7919e7f17c0a725 ]---\nKernel panic - not syncing: Attempted to kill init!\n\nSo clean up the flow a bit.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a22506347d038a66506c6f57e9b97104128e280d",
      "tree": "88a21ea77883d13f92c4eda322b44bbddcd48aee",
      "parents": [
        "1c80025a49855b12fa09bb6db71820e3367b1369"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Nov 18 18:06:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 21:54:50 2008 +0100"
      },
      "message": "ftrace: preemptoff selftest not working\n\nImpact: fix preemptoff and preemptirqsoff tracer self-tests\n\nI was wondering why the preemptoff and preemptirqsoff tracer selftests\ndon\u0027t work on s390. After all its just that they get called from\nnon-preemptible context:\n\nkernel_init() will execute all initcalls, however the first line in\nkernel_init() is lock_kernel(), which causes the preempt_count to be\nincreased. Any later calls to add_preempt_count() (especially those\nfrom the selftests) will therefore not result in a call to\ntrace_preempt_off() since the check below in add_preempt_count()\nwill be false:\n\n        if (preempt_count() \u003d\u003d val)\n                trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));\n\nHence the trace buffer will be empty.\n\nFix this by releasing the BKL during the self-tests.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bb943c7a2136716757a263f604d26309fd98042",
      "tree": "80af655ff3272a820a9090e6fa08c9e6472f0bed",
      "parents": [
        "e270219f4372b58bd3eeac12bd9f7edc592b8f6b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Nov 14 19:05:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 16:59:58 2008 +0100"
      },
      "message": "tracing: kernel/trace/trace.c: introduce missing kfree()\n\nImpact: fix memory leak\n\nError handling code following a kzalloc should free the allocated data.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\n(\nif ((x@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...)) \u003d\u003d NULL) S\n|\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n)\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\nx-\u003ef \u003d E\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0231022cc32d5f2e7f3c06b75691dda0ad6aec33",
      "tree": "b45429e95fc7d52bae32e62ef514f3d7ccf62ce6",
      "parents": [
        "0619faf657806b943e6acf51f60f1cd023a96c78"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 17 03:22:41 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 11:11:00 2008 +0100"
      },
      "message": "tracing/function-return-tracer: add the overrun field\n\nImpact: help to find the better depth of trace\n\nWe decided to arbitrary define the depth of function return trace as\n\"20\". Perhaps this is not enough. To help finding an optimal depth, we\nmeasure now the overrun: the number of functions that have been missed\nfor the current thread. By default this is not displayed, we have to\ndo set a particular flag on the return tracer: echo overrun \u003e\n/debug/tracing/trace_options And the overrun will be printed on the\nright.\n\nAs the trace shows below, the current 20 depth is not enough.\n\nupdate_wall_time+0x37f/0x8c0 -\u003e update_xtime_cache (345 ns) (Overruns: 2838)\nupdate_wall_time+0x384/0x8c0 -\u003e clocksource_get_next (1141 ns) (Overruns: 2838)\ndo_timer+0x23/0x100 -\u003e update_wall_time (3882 ns) (Overruns: 2838)\ntick_do_update_jiffies64+0xbf/0x160 -\u003e do_timer (5339 ns) (Overruns: 2838)\ntick_sched_timer+0x6a/0xf0 -\u003e tick_do_update_jiffies64 (7209 ns) (Overruns: 2838)\nvgacon_set_cursor_size+0x98/0x120 -\u003e native_io_delay (2613 ns) (Overruns: 274)\nvgacon_cursor+0x16e/0x1d0 -\u003e vgacon_set_cursor_size (33151 ns) (Overruns: 274)\nset_cursor+0x5f/0x80 -\u003e vgacon_cursor (36432 ns) (Overruns: 274)\ncon_flush_chars+0x34/0x40 -\u003e set_cursor (38790 ns) (Overruns: 274)\nrelease_console_sem+0x1ec/0x230 -\u003e up (721 ns) (Overruns: 274)\nrelease_console_sem+0x225/0x230 -\u003e wake_up_klogd (316 ns) (Overruns: 274)\ncon_flush_chars+0x39/0x40 -\u003e release_console_sem (2996 ns) (Overruns: 274)\ncon_write+0x22/0x30 -\u003e con_flush_chars (46067 ns) (Overruns: 274)\nn_tty_write+0x1cc/0x360 -\u003e con_write (292670 ns) (Overruns: 274)\nsmp_apic_timer_interrupt+0x2a/0x90 -\u003e native_apic_mem_write (330 ns) (Overruns: 274)\nirq_enter+0x17/0x70 -\u003e idle_cpu (413 ns) (Overruns: 274)\nsmp_apic_timer_interrupt+0x2f/0x90 -\u003e irq_enter (1525 ns) (Overruns: 274)\nktime_get_ts+0x40/0x70 -\u003e getnstimeofday (465 ns) (Overruns: 274)\nktime_get_ts+0x60/0x70 -\u003e set_normalized_timespec (436 ns) (Overruns: 274)\nktime_get+0x16/0x30 -\u003e ktime_get_ts (2501 ns) (Overruns: 274)\nhrtimer_interrupt+0x77/0x1a0 -\u003e ktime_get (3439 ns) (Overruns: 274)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "adf9f19574334c9a29a2bc956009fcac7edf1a6b",
      "tree": "644415fb8e460290a6747c5933a1c62be9a9d50f",
      "parents": [
        "5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 17 19:23:42 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 11:10:58 2008 +0100"
      },
      "message": "tracing/ftrace: implement a set_flag callback for tracers\n\nImpact: give a way to send specific messages to tracers\n\nThe current implementation of tracing uses some flags to control the\noutput of general tracers. But we have no way to implement custom\nflags handling for a specific tracer. This patch proposes a new\ncallback for the struct tracer which called set_flag and a structure\nthat represents a 32 bits variable flag.\n\nA tracer can implement a struct tracer_flags on which it puts the\ninitial value of the flag integer. Than it can place a range of flags\nwith their name and their flag mask on the flag integer. The structure\nthat implement a single flag is called struct tracer_opt.\n\nThese custom flags will be available through the trace_options file\nlike the general tracing flags. Changing their value is done like the\nother general flags. For example if you have a flag that calls \"foo\",\nyou can activate it by writing \"foo\" or \"nofoo\" on trace_options.\n\nNote that the set_flag callback is optional and is only needed if you\nwant the flags changing to be signaled to your tracer and let it to\naccept or refuse their assignment.\n\nV2: Some arrangements in coding style....\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371",
      "tree": "02e63e90cc26792eaea21dced12bd7c10f996d30",
      "parents": [
        "3f8e402f34ecc7d1d00b54703d3baa401b8bdd78",
        "0c726da983de0704254250ef6495ca152e7abcca",
        "e270219f4372b58bd3eeac12bd9f7edc592b8f6b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 08:52:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 08:52:13 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/branch-tracer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "0c726da983de0704254250ef6495ca152e7abcca",
      "tree": "fe57e18784cef716c65a1f4daa39da20acd15b4f",
      "parents": [
        "072b40a15616fe6bea68466e6bffcfcbf5c8f26f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Nov 16 16:07:58 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 17 12:07:27 2008 +0100"
      },
      "message": "tracing: branch tracer, fix writing to trace/trace_options\n\nImpact: fix trace_options behavior\n\nwriting to trace/trace_options use the index of the array\nto find the value of the flag. With branch tracer flag\ndefined conditionally, this breaks writing to trace_options\nwith branch tracer disabled.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c80025a49855b12fa09bb6db71820e3367b1369",
      "tree": "063fe72ed9bb3410c3293c83a7882cecc46e7410",
      "parents": [
        "e6e7a65aabdb696cf05a56cfd495c49a11fd4cde"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 16 05:57:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:55:23 2008 +0100"
      },
      "message": "tracing/ftrace: change the type of the init() callback\n\nImpact: extend the -\u003einit() method with the ability to fail\n\nThis bring a way to know if the initialization of a tracer successed.\nA tracer must return 0 on success and a traditional error (ie:\n-ENOMEM) if it fails.\n\nIf a tracer fails to init, it is free to print a detailed warn. The\ntracing api will not and switch to a new tracer will just return the\nerror from the init callback.\n\nNote: this will be used for the return tracer.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6e7a65aabdb696cf05a56cfd495c49a11fd4cde",
      "tree": "e73e423314b49ebc861ef5e7547ad97493a5e179",
      "parents": [
        "ee02a2e5c88ca2e4d6921f08d037b46d5bf82641"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 16 05:53:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:53:39 2008 +0100"
      },
      "message": "tracing/ftrace: fix unexpected -EINVAL when longest tracer name is set\n\nImpact: fix confusing write() -EINVAL when changing the tracer\n\nThe following commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 remade\nalive the bug which made the set of a new tracer returning -EINVAL if\nthis is the longest name of tracer. This patch corrects it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d51ad7ac48f991c4a8834485727efa99a691cb87",
      "tree": "7491150df5bda0b3c04e5a7f1fafdb35f3aec5c4",
      "parents": [
        "918c115410c6cc57033835b6a401e57697f9ea4f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Nov 15 15:48:29 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:35:37 2008 +0100"
      },
      "message": "ftrace: replace raw_local_irq_save with local_irq_save\n\nImpact: fix lockdep disabling itself when function tracing is enabled\n\nThe raw_local_irq_saves used in ftrace is causing problems with\nlockdep. (it thinks the irq flags are out of sync and disables\nitself with a warning)\n\nThe raw ops here are not needed, and the normal local_irq_save is fine.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "12ef7d448613ead2babd41c3ebfa1fe03c20edef",
      "tree": "252b12211d2bbf96e4a90625f0c6116c9a4bd7de",
      "parents": [
        "ee6bce52276c0717ed3e63296e5d9465d339e923"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:38 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:24 2008 +0100"
      },
      "message": "ftrace: CPU buffer start annotation clean ups\n\nImpact: better handling of CPU buffer start annotation\n\nBecause of the confusion with the per CPU buffers wrapping where\none CPU might be more active at the end of the trace than the other\nCPUs causing that one CPU to have a shorter history. Kernel\ndevelopers were confused by the \"missing\" data of that one CPU\nat the beginning of the trace output. An annotation was added to\nthe trace output to show that the buffer had started:\n\n # tracer: function\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n ##### CPU 3 buffer started ####\n          \u003cidle\u003e-0     [003]   158.192959: smp_apic_timer_interrupt\n [...]\n           \u003cidle\u003e-0     [003]   161.556520: default_idle\n ##### CPU 1 buffer started ####\n           \u003cidle\u003e-0     [001]   161.592494: hrtimer_force_reprogram\n [etc]\n\nBut this annotation gets a bit messy when tracers do not fill the\nbuffers. This patch does a couple of things:\n\n One) it adds a flag to trace_options to disable these annotations\n\n Two) it does not annotate if the tracer did not overflow its buffer.\n\nThis makes the output much cleaner.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee6bce52276c0717ed3e63296e5d9465d339e923",
      "tree": "c1bb4ca81eda3bc372c121d72bb2ef6c27cdeeda",
      "parents": [
        "1696b2b0f44a8d42f3e6b1ea90c21790871c04d9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:37 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:23 2008 +0100"
      },
      "message": "ftrace: rename iter_ctrl to trace_options\n\nImpact: rename file /debug/tracing/iter_ctrl to /debug/tracing/trace_options\n\nThe original ftrace had a file called \"iter_ctrl\" that would control\nthe way the output was iterated. But this file grew into a catch all\nfor different trace options. This patch renames the file from iter_ctrl\nto trace_options to reflect this change.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1696b2b0f44a8d42f3e6b1ea90c21790871c04d9",
      "tree": "87f217120af535771b6249c50d9758c8765fd5f6",
      "parents": [
        "a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 13 00:09:35 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:22 2008 +0100"
      },
      "message": "ftrace: show buffer size in kilobytes\n\nImpact: change the units of buffer_size_kb to kilobytes\n\nThis patch changes the units of the buffer_size_kb file to kilobytes.\nReading and writing to the file uses kilobytes as units. To help\nusers to know what units are used, the output of the file now\nlooks like:\n\n  # cat /debug/tracing/buffer_size_kb\n  1408\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0",
      "tree": "7bccb9ade6edc033887db7c6f9f7157c5d612e3c",
      "parents": [
        "24de38620dd3504782c90c0892eef888d0c351e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:36 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:21 2008 +0100"
      },
      "message": "ftrace: rename trace_entries to buffer_size_kb\n\nImpact: rename of debugfs file trace_entries to buffer_size_kb\n\nThe original ftrace had fixed size entries, and the number of entries\nwas shown and modified via the file called trace_entries. By converting\nto the unified trace buffer, we now allow for variable size entries\nwhich makes the meaning of trace_entries pointless.\n\nSince trace_size might be confused to the size of the trace, this patch\nnames it \"buffer_size_kb\" (thanks to Arjan van de Ven for this idea).\n\n[ mingo@elte.hu: changed from buffer_size to buffer_size_kb ]\n\n( Note, the units are still bytes - the next patch changes that,\n  to keep the wide rename patch separate from the unit-change patch. )\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f029e83e968e5661d7be045bbcb620dbb909938",
      "tree": "13beecf2626162dc8a3912c79d58fc91e2193de5",
      "parents": [
        "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 15:24:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:28:09 2008 +0100"
      },
      "message": "ftrace: rename unlikely iter_ctrl to branch\n\nImpact: rename of iter_ctrl unlikely to branch\n\nThe unlikely name is ugly. This patch converts the iter_ctrl command\n\"unlikely\" and \"nounlikely\" to \"branch\" and \"nobranch\" respectively.\n\nIt also renames a lot of internal functions to use \"branch\" instead\nof \"unlikely\".\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e",
      "tree": "3aa22269a1fd5ed0b66826120ca9b572400962b5",
      "parents": [
        "68d119f0a66f7e3663304343b072e56a2693446b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 15:24:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:27:58 2008 +0100"
      },
      "message": "trace: rename unlikely profiler to branch profiler\n\nImpact: name change of unlikely tracer and profiler\n\nIngo Molnar suggested changing the config from UNLIKELY_PROFILE\nto BRANCH_PROFILING. I never did like the \"unlikely\" name so I\nwent one step farther, and renamed all the unlikely configurations\nto a \"BRANCH\" variant.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68d119f0a66f7e3663304343b072e56a2693446b",
      "tree": "1bca906c6955cc9043e0d6e3b0d4404e238cb5fd",
      "parents": [
        "2b7d0390a6d6d595f43ea3806639664afe5b9ebe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 14:09:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 14:13:11 2008 +0100"
      },
      "message": "tracing: finetune branch-tracer output\n\nSteve suggested the to change the output from this:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [ .... ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [ .... ] calc_delta_fair:sched_fair.c:411\n\nto this:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [  ok  ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [  ok  ] calc_delta_fair:sched_fair.c:411\n\nas it makes it clearer to the user what it means exactly.\n\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f88c4ae9f8c3939bee4337c75c7a673b5de7a8a7",
      "tree": "db47bc2b4c9bbeb9aeadfcb609dcce72198887a4",
      "parents": [
        "52f232cb720a7babb752849cbc2cab2d24021209"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:55:41 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:55:41 2008 +0100"
      },
      "message": "tracing: branch tracer, tweak output\n\nImpact: modify the tracer output, to make it a bit easier to read\n\nChange the output from:\n\n\u003e  bash-3471  [003]   357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [correct] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [correct] calc_delta_fair:sched_fair.c:411\n\nto:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [ .... ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [ .... ] calc_delta_fair:sched_fair.c:411\n\nit\u0027s good to have fields aligned vertically, and the only important\ninformation is a prediction miss, so display only that information.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "52f232cb720a7babb752849cbc2cab2d24021209",
      "tree": "47c7e800549457bd5ab9b54f47729acac6e10780",
      "parents": [
        "1f0d69a9fc815db82f15722bf05227190b1d714d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:14:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:52:02 2008 +0100"
      },
      "message": "tracing: likely/unlikely branch annotation tracer\n\nImpact: new likely/unlikely branch tracer\n\nThis patch adds a way to record the instances of the likely() and unlikely()\nbranch condition annotations.\n\nWhen \"unlikely\" is set in /debugfs/tracing/iter_ctrl the unlikely conditions\nwill be added to any of the ftrace tracers. The change takes effect when\na new tracer is passed into the current_tracer file.\n\nFor example:\n\n bash-3471  [003]   357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177\n bash-3471  [003]   357.014756: [correct] update_curr:sched_fair.c:489\n bash-3471  [003]   357.014758: [correct] calc_delta_fair:sched_fair.c:411\n bash-3471  [003]   357.014759: [correct] account_group_exec_runtime:sched_stats.h:356\n bash-3471  [003]   357.014761: [correct] update_curr:sched_fair.c:489\n bash-3471  [003]   357.014763: [INCORRECT] calc_delta_fair:sched_fair.c:411\n bash-3471  [003]   357.014765: [correct] calc_delta_mine:sched.c:1279\n\nWhich shows the normal tracer heading, as well as whether the condition was\ncorrect \"[correct]\" or was mistaken \"[INCORRECT]\", followed by the function,\nfile name and line number.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15e6cb3673ea6277999642802406a764b49391b0",
      "tree": "d0a46a918caa64d5fb1ed37be3e026b30e94fe77",
      "parents": [
        "caf4b323b02a16c92fba449952ac6515ddc76d7a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 11 07:14:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 10:29:12 2008 +0100"
      },
      "message": "tracing: add a tracer to catch execution time of kernel functions\n\nImpact: add new tracing plugin which can trace full (entry+exit) function calls\n\nThis tracer uses the low level function return ftrace plugin to\nmeasure the execution time of the kernel functions.\n\nThe first field is the caller of the function, the second is the\nmeasured function, and the last one is the execution time in\nnanoseconds.\n\n- v3:\n\n- HAVE_FUNCTION_RET_TRACER have been added. Each arch that support ftrace return\n  should enable it.\n- ftrace_return_stub becomes ftrace_stub.\n- CONFIG_FUNCTION_RET_TRACER depends now on CONFIG_FUNCTION_TRACER\n- Return traces printing can be used for other tracers on trace.c\n- Adapt to the new tracing API (no more ctrl_update callback)\n- Correct the check of \"disabled\" during insertion.\n- Minor changes...\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5aa1ba6a6c710e747838a22d798ac97a8b248745",
      "tree": "29a0e0bfdad1a5674667dda1236099952dbf41cb",
      "parents": [
        "e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 23:07:30 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:29 2008 +0100"
      },
      "message": "ftrace: prevent ftrace_special from recursion\n\nImpact: stop ftrace_special from recursion\n\nThe ftrace_special is used to help debug areas of the kernel.\nBecause of this, if it is put in certain locations, the fact that\nit allows recursion can become a problem if the kernel developer\nusing does not realize that.\n\nThis patch changes ftrace_special to not allow recursion into itself\nto make it more robust.\n\nIt also changes from preempt disable interrupts disable to prevent\nany loss of trace entries.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9",
      "tree": "d1c3b22b7e9f02fb56927da530da09c6ee7ce0b9",
      "parents": [
        "a309720c876d7ad2e224bfd1982c92ae4364c82e",
        "45b86a96f17cb2900f291129b0e67287400e45b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:18 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/ftrace\n\nConflicts:\n\tkernel/trace/trace.c\n"
    },
    {
      "commit": "45b86a96f17cb2900f291129b0e67287400e45b2",
      "tree": "f7968bf36e3947ee42251f7eebc6ea5f24aca202",
      "parents": [
        "072ba49838b42c873c496d72c91bb237914cf3b6",
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:16:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:16:20 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "bf5e6519b85b3853f2d0bb4f17a4e2eaeffeb574",
      "tree": "d5560a28100aed24e3bb09e68c17a0ea1fbde07b",
      "parents": [
        "3ad4f597058301c97f362e500a32f63f5c950a45"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:46:00 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:47:35 2008 -0500"
      },
      "message": "ftrace: disable tracing on resize\n\nImpact: fix for bug on resize\n\nThis patch addresses the bug found here:\n\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d11996\n\nWhen ftrace converted to the new unified trace buffer, the resizing of\nthe buffer was not protected as much as it was originally. If tracing\nis performed while the resize occurs, then the buffer can be corrupted.\n\nThis patch disables all ftrace buffer modifications before a resize\ntakes place.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "a309720c876d7ad2e224bfd1982c92ae4364c82e",
      "tree": "a161d06f29e3739b95d8b96c3cfb67198de9af22",
      "parents": [
        "769c48eb2530c5c1a393e2c82063f4f050571d24"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:54 2008 +0100"
      },
      "message": "ftrace: display start of CPU buffer in trace output\n\nImpact: change in trace output\n\nBecause the trace buffers are per cpu ring buffers, the start of\nthe trace can be confusing. If one CPU is very active at the\nend of the trace, its history will not go as far back as the\nother CPU traces.  This means that output for a particular CPU\nmay not appear for the first part of a trace.\n\nTo help annotate what is happening, and to prevent any more\nconfusion, this patch adds a line that annotates the start of\na CPU buffer output.\n\nFor example:\n\n       automount-3495  [001]   184.596443: dnotify_parent \u003c-vfs_write\n[...]\n       automount-3495  [001]   184.596449: dput \u003c-path_put\n       automount-3496  [002]   184.596450: down_read_trylock \u003c-do_page_fault\n[...]\n           sshd-3497  [001]   184.597069: up_read \u003c-do_page_fault\n          \u003cidle\u003e-0     [000]   184.597074: __exit_idle \u003c-exit_idle\n[...]\n       automount-3496  [002]   184.597257: filemap_fault \u003c-__do_fault\n          \u003cidle\u003e-0     [003]   184.597261: exit_idle \u003c-smp_apic_timer_interrupt\n\nNote, parsers of a trace output should always ignore any lines that\nstart with a \u0027#\u0027.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c76f06945be50564f925799ddfb6235ee4c26aa0",
      "tree": "941aaf84dd36096d7fb013f1e4be28bb8f2ac598",
      "parents": [
        "bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:39 2008 +0100"
      },
      "message": "ftrace: remove trace array ctrl\n\nImpact: remove obsolete variable in trace_array structure\n\nWith the new start / stop method of ftrace, the ctrl variable\nin the trace_array structure is now obsolete. Remove it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2",
      "tree": "ca72072808748d3ebfcf9a58a1255cd6ce63fee8",
      "parents": [
        "49833fc232bd6a5076496994d855f601354501d7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:34 2008 +0100"
      },
      "message": "ftrace: remove ctrl_update method\n\nImpact: Remove the ctrl_update tracer method\n\nWith the new quick start/stop method of tracing, the ctrl_update\nmethod is out of date.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49833fc232bd6a5076496994d855f601354501d7",
      "tree": "819089f20578815ee2b4ec00c6cc3de668298aee",
      "parents": [
        "451931702017951f74624ddc4f7f02e4641b0e20"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:29 2008 +0100"
      },
      "message": "ftrace: enable trace_printk by default\n\nImpact: have the ftrace_printk enabled on startup\n\nIt is confusing to have to \"echo trace_printk \u003e /debug/tracing/iter_ctrl\"\nafter adding ftrace_printk in the kernel.\n\nCurrently the trace_printk is set to off by default. ftrace_printk\nshould only be in open kernel code when used for debugging, and thus\nit should be enabled by default.\n\nIt may also be used to record data within a tracer, but those ftrace_printks\nshould be within wrappers that are either enabled by trace_points or\nhave a variable protecting the code path from being entered when the\ntracer is disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6b0786f7f83bcc4d414a2977aaebe2941ebe1de",
      "tree": "fd7cbdda3de7eaf05eaa01eb3609121cc05828d8",
      "parents": [
        "3e03fb7f1da2e691644526c0d6df42d778716349",
        "6a60dd121c5b6c2d827e99b38c1326f2600c3891",
        "072ba49838b42c873c496d72c91bb237914cf3b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:34:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:34:35 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/fastboot\u0027, \u0027tracing/nmisafe\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "9036990d462e09366f7297a2d1da6582c3e6b1d3",
      "tree": "e110393aad12177cb17fa68cb3fefb18ae2f1037",
      "parents": [
        "0f04870148ecb825133bc2733f473b1c5773ac0b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 05 16:05:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:51:03 2008 +0100"
      },
      "message": "ftrace: restructure tracing start/stop infrastructure\n\nImpact: change where tracing is started up and stopped\n\nCurrently, when a new tracer is selected via echo\u0027ing a tracer name into\nthe current_tracer file, the startup is only done if tracing_enabled is\nset to one. If tracing_enabled is changed to zero (by echo\u0027ing 0 into\nthe tracing_enabled file) a full shutdown is performed.\n\nThe full startup and shutdown of a tracer can be expensive and the\nuser can lose out traces when echo\u0027ing in 0 to the tracing_enabled file,\nbecause the process takes too long. There can also be places that\nthe user would like to start and stop the tracer several times and\ndoing the full startup and shutdown of a tracer might be too expensive.\n\nThis patch performs the full startup and shutdown when a tracer is\nselected. It also adds a way to do a quick start or stop of a tracer.\nThe quick version is just a flag that prevents the tracing from\ntaking place, but the overhead of the code is still there.\n\nFor example, the startup of a tracer may enable tracepoints, or enable\nthe function tracer.  The stop and start will just set a flag to\nhave the tracer ignore the calls when the tracepoint or function trace\nis called.  The overhead of the tracer may still be present when\nthe tracer is stopped, but no tracing will occur. Setting the tracer\nto the \u0027nop\u0027 tracer (or any other tracer) will perform the shutdown\nof the tracer which will disable the tracepoint or disable the\nfunction tracer.\n\nThe tracing_enabled file will simply start or stop tracing.\n\nThis change is all internal. The end result for the user should be the same\nas before. If tracing_enabled is not set, no trace will happen.\nIf tracing_enabled is set, then the trace will happen. The tracing_enabled\nvariable is static between tracers. Enabling  tracing_enabled and\ngoing to another tracer will keep tracing_enabled enabled. Same\nis true with disabling tracing_enabled.\n\nThis patch will now provide a fast start/stop method to the users\nfor enabling or disabling tracing.\n\nNote: There were two methods to the struct tracer that were never\n used: The methods start and stop. These were to be used as a hook\n to the reading of the trace output, but ended up not being\n necessary. These two methods are now used to enable the start\n and stop of each tracer, in case the tracer needs to do more than\n just not write into the buffer. For example, the irqsoff tracer\n must stop recording max latencies when tracing is stopped.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f04870148ecb825133bc2733f473b1c5773ac0b",
      "tree": "81399b7b9535d11ac6120366fc01fd051118226a",
      "parents": [
        "60a7ecf42661f2b22168751298592da6ee210c9e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 05 16:05:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:50:57 2008 +0100"
      },
      "message": "ftrace: soft tracing stop and start\n\nImpact: add way to quickly start stop tracing from the kernel\n\nThis patch adds a soft stop and start to the trace. This simply\ndisables function tracing via the ftrace_disabled flag, and\ndisables the trace buffers to prevent recording. The tracing\ncode may still be executed, but the trace will not be recorded.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79c81d220c8e25163f56edcdfaf23f83a4c88e6b",
      "tree": "8748e39e968aacebbf150b81cbc845582b382a47",
      "parents": [
        "3299b4dd1180762da831be5eb6adc44553eaec26",
        "79a9d461fd521f133f0e66485aa9ed09c21f5191"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:43:47 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/fastboot\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "072ba49838b42c873c496d72c91bb237914cf3b6",
      "tree": "305ede989155e1d213255ead9101331bfd09f1cb",
      "parents": [
        "42ec632e7b0185d3776aa5d23380cbdc963151f2"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sun Oct 26 15:26:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:22:42 2008 +0100"
      },
      "message": "ftrace: fix breakage in bin_fmt results\n\nIn 777e208d40d0953efc6fb4ab58590da3f7d8f02d we changed from outputting\nfield-\u003ecpu (a char) to iter-\u003ecpu (unsigned int), increasing the resulting\nstructure size by 3 bytes.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7ad44b697c9d13e445ddc7d16f736fbac333249",
      "tree": "a18ac8995bf7158835c69ca1c9ab9b674fc617fa",
      "parents": [
        "e55f605c14679c30be41473e60b7ad26524cdc35"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:20:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:06 2008 +0100"
      },
      "message": "tracing/fastboot: use sched switch tracer from boot tracer\n\nImpact: enhance boot trace output with scheduling events\n\nUse the sched_switch tracer from the boot tracer.\n\nWe also can trace schedule events inside the initcalls.\nSched tracing is disabled after the initcall has finished and\nthen reenabled before the next one is started.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2a866f9344cb30d7ddf5d67b5b8393daf8bef07",
      "tree": "5265b5bcc3e6daca52f2951a85394bbc58f789fd",
      "parents": [
        "182e9f5f704ed6b9175142fe8da33c9ce0c52b52"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 03 23:15:57 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:09:50 2008 +0100"
      },
      "message": "ftrace: function tracer with irqs disabled\n\nImpact: disable interrupts during trace entry creation (as opposed to preempt)\n\nTo help with performance, I set the ftracer to not disable interrupts,\nand only to disable preemption. If an interrupt occurred, it would not\nbe traced, because the function tracer protects itself from recursion.\nThis may be faster, but the trace output might miss some traces.\n\nThis patch makes the fuction trace disable interrupts, but it also\nadds a runtime feature to disable preemption instead. It does this by\nhaving two different tracer functions. When the function tracer is\nenabled, it will check to see which version is requested (irqs disabled\nor preemption disabled). Then it will use the corresponding function\nas the tracer.\n\nIrq disabling is the default behaviour, but if the user wants better\nperformance, with the chance of missing traces, then they can choose\nthe preempt disabled version.\n\nRunning hackbench 3 times with the irqs disabled and 3 times with\nthe preempt disabled function tracer yielded:\n\ntracing type       times            entries recorded\n------------      --------          ----------------\nirq disabled      43.393            166433066\n                  43.282            166172618\n                  43.298            166256704\n\npreempt disabled  38.969            159871710\n                  38.943            159972935\n                  39.325            161056510\n\nAverage:\n\n   irqs disabled:  43.324           166287462\npreempt disabled:  39.079           160300385\n\n preempt is 10.8 percent faster than irqs disabled.\n\nI wrote a patch to count function trace recursion and reran hackbench.\n\nWith irq disabled: 1,150 times the function tracer did not trace due to\n  recursion.\nwith preempt disabled: 5,117,718 times.\n\nThe thousand times with irq disabled could be due to NMIs, or simply a case\nwhere it called a function that was not protected by notrace.\n\nBut we also see that a large amount of the trace is lost with the\npreempt version.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "182e9f5f704ed6b9175142fe8da33c9ce0c52b52",
      "tree": "60e72119c74141cfb7b0b9b757b47d719138621f",
      "parents": [
        "8f0a056fcb2f83a069fb5d60c2383304b7456687"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 03 23:15:56 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:09:49 2008 +0100"
      },
      "message": "ftrace: insert in the ftrace_preempt_disable()/enable() functions\n\nImpact: use new, consolidated APIs in ftrace plugins\n\nThis patch replaces the schedule safe preempt disable code with the\nftrace_preempt_disable() and ftrace_preempt_enable() safe functions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b3aa557722b3d5858f14ca559e03461c24125aaf",
      "tree": "37a8814cd1d1584e77d9d999797ff0f0de8ed19c",
      "parents": [
        "c2c80529460095035752bf0ecc1af82c1e0f6e0f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 31 15:44:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:41:29 2008 +0100"
      },
      "message": "ftrace: use kretprobe trampoline name to test in output\n\nImpact: ia64+tracing build fix\n\nWhen a function is kprobed, the return address is set to the\nkprobe_trampoline, or something similar. This caused the output\nof the trace to look confusing when the parent seemed to be this\n\"kprobe_trampoline\" function.\n\nTo fix this, Abhishek Sagar added a test of the instruction pointer\nof the parent to see if it matched the kprobe_trampoline. If it\ndid, the output would print a \"[unknown/kretprobe\u0027d]\" instead.\n\nUnfortunately, not all archs do this the same way, and the trampoline\nfunction may not be exported, which causes failures in builds.\n\nThis patch will compare the name instead of the pointer to see\nif it matches. This prevents us from depending on a function from\nbeing exported, and should work on all archs. The worst that can\nhappen is that an arch might use a different name and then we\ngo back to the confusing output. At least the arch will still build.\n\nReported-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nAcked-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\n"
    },
    {
      "commit": "7a895f53cda9d9362c30144e42c124a1ae996b9e",
      "tree": "e2a793cfc289015ec54d2cba5140d0171f734629",
      "parents": [
        "d9e540762f5cdd89f24e518ad1fd31142d0b9726",
        "5d9881ea1440f046ee851bbaa2a2962543336a11",
        "fd3fdf11d3c649769e02459c5f1b8081a15e9007",
        "a26a2a27396c0a0877aa701f8f92d08ba550a6c9",
        "127cafbb276266b1b8da967bfe25a062ab1d42ab",
        "c2c80529460095035752bf0ecc1af82c1e0f6e0f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:34:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:34:23 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/markers\u0027, \u0027tracing/mmiotrace\u0027, \u0027tracing/nmisafe\u0027, \u0027tracing/tracepoints\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "c2c80529460095035752bf0ecc1af82c1e0f6e0f",
      "tree": "e1fe0fdccb2d467666bfc8ed81f8a38016764f1c",
      "parents": [
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 19:50:41 2008 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:12:13 2008 +0100"
      },
      "message": "tracing, alpha: undefined reference to `save_stack_trace\u0027\n\nImpact: build fix on !stacktrace architectures\n\nonly select STACKTRACE on architectures that have STACKTRACE_SUPPORT\n\n... since we also need to ifdef out the guts of ftrace_trace_stack().\nWe also want to disallow setting TRACE_ITER_STACKTRACE in trace_flags\non such configs, but that can wait.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9e540762f5cdd89f24e518ad1fd31142d0b9726",
      "tree": "74f433c159183241020fed5e35eb7f3b4bb2edf3",
      "parents": [
        "36609469c8278554b046aa4cc9a5fa9ccea35306"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 01 19:57:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:12:39 2008 +0100"
      },
      "message": "ftrace: ftrace_dump_on_oops\u003d[tracer]\n\nImpact: add new (optional) debug boot option\n\nIn order to facilitate early boot trouble, allow one to specify a tracer\non the kernel boot line.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36609469c8278554b046aa4cc9a5fa9ccea35306",
      "tree": "f59185b71c8059941de79143f71178453599b8f1",
      "parents": [
        "b3acf29afda06c76774dc6df6246c37ae707836b",
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:11:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:11:13 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc3\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "a26a2a27396c0a0877aa701f8f92d08ba550a6c9",
      "tree": "8e314b970e0219419b89204d3197fbc1257bf36e",
      "parents": [
        "b807c3d0f8e39ed7cbbbe6da162650e305e8de15"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 31 00:03:22 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 31 10:29:17 2008 +0100"
      },
      "message": "ftrace: nmi safe code clean ups\n\nImpact: cleanup\n\nThis patch cleans up the NMI safe code for dynamic ftrace as suggested\nby Andrew Morton.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4",
      "tree": "6a6c805fdfd6a2f6433956cbee348b2c3a277784",
      "parents": [
        "944ac4259e39801c843a915c3da8194ac9af0440",
        "7f82f000ed030d1108b4de47d9e2d556092980c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 31 00:38:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 31 00:38:21 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "9244489a7b69fe0746dc7cb3957f02e05bd1ceb0",
      "tree": "f0fb4a422667f67e7e3ac587bbbc6b03fa83756a",
      "parents": [
        "f3384b28a05624783b53836ccfed95ecde66a7ad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 24 09:42:59 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 31 00:03:26 2008 +0100"
      },
      "message": "ftrace: handle archs that do not support irqs_disabled_flags\n\nImpact: build fix on non-lockdep architectures\n\nSome architectures do not support a way to read the irq flags that\nis set from \"local_irq_save(flags)\" to determine if interrupts were\ndisabled or enabled. Ftrace uses this information to display to the user\nif the trace occurred with interrupts enabled or disabled.\n\nBesides the fact that those archs that do not support this will fail to\ncompile, unless they fix it, we do not want to have the trace simply\nsay interrupts were not disabled or they were enabled, without knowing\nthe real answer.\n\nThis patch adds a \u0027X\u0027 in the output to let the user know that the\narchitecture they are running on does not support a way for the tracer\nto determine if interrupts were enabled or disabled. It also lets those\nsame archs compile with tracing enabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b807c3d0f8e39ed7cbbbe6da162650e305e8de15",
      "tree": "59d2d75f221099bf5df7d6bcb71eaa63b6f424e8",
      "parents": [
        "17666f02b118099028522dfc3df00a235700e216"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 30 16:08:33 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 30 21:30:09 2008 +0100"
      },
      "message": "ftrace: nmi update statistics\n\nImpact: add more debug info to /debugfs/tracing/dyn_ftrace_total_info\n\nThis patch adds dynamic ftrace NMI update statistics to the\n/debugfs/tracing/dyn_ftrace_total_info stat file.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60063a66236c15f5613f91390631e06718689782",
      "tree": "3625c15ade69e4f8cbb85d737290da1312123241",
      "parents": [
        "21798a84ab383cdac0e7ee3368e0792b718b867d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 28 10:44:24 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 16:33:47 2008 +0100"
      },
      "message": "ftrace: fix current_tracer error return\n\nThe commit (in linux-tip) c2931e05ec5965597cbfb79ad332d4a29aeceb23\n ( ftrace: return an error when setting a nonexistent tracer )\nadded useful code that would error when a bad tracer was written into\nthe current_tracer file.\n\nBut this had a bug if the amount written was more than the amount read by\nthat code. The first iteration would set the tracer correctly, but since\nit did not consume the rest of what was written (usually whitespace), the\nuserspace utility would continue to write what was not consumed. This\nsecond iteration would fail to find a tracer and return -EINVAL. Funny\nthing is that the tracer would have already been set.\n\nThis patch just consumes all the data that is written to the file.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21798a84ab383cdac0e7ee3368e0792b718b867d",
      "tree": "3b13df7175f795b5d8020ad0c00c432bde4d606a",
      "parents": [
        "8115f3f0c939c5db0fe3c6c6c58911fd3a205b1e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 28 09:43:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 09:53:28 2008 +0100"
      },
      "message": "tracing: fix a build error on alpha\n\nImpact: build fix on Alpha\n\nWhen tracing is enabled, some arch have included \u003clinux/irqflags.h\u003e\non their \u003casm/system.h\u003e but others like alpha or m68k don\u0027t.\n\nBuild error on alpha:\n\nkernel/trace/trace.c: In function \u0027tracing_cpumask_write\u0027:\nkernel/trace/trace.c:2145: error: implicit declaration of function \u0027raw_local_irq_disable\u0027\nkernel/trace/trace.c:2162: error: implicit declaration of function \u0027raw_local_irq_enable\u0027\n\nTested on Alpha through a cross-compiler (should correct a similar issue on m68k).\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "944ac4259e39801c843a915c3da8194ac9af0440",
      "tree": "0b028e4dfa510e41e09a6497eab4ff9f16642245",
      "parents": [
        "f4a2a0d9a4226846693b5b4462d4350c1bfd58ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 19:26:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 15:03:15 2008 +0100"
      },
      "message": "ftrace: ftrace dump on oops control\n\nImpact: add (default-off) dump-trace-on-oops flag\n\nCurrently, ftrace is set up to dump its contents to the console if the\nkernel panics or oops. This can be annoying if you have trace data in\nthe buffers and you experience an oops, but the trace data is old or\nstatic.\n\nUsually when you want ftrace to dump its contents is when you are debugging\nyour system and you have set up ftrace to trace the events leading to\nan oops.\n\nThis patch adds a control variable called \"ftrace_dump_on_oops\" that will\nenable the ftrace dump to console on oops. This variable is default off\nbut a developer can enable it either through the kernel command line\nby adding \"ftrace_dump_on_oops\" or at run time by setting (or disabling)\n/proc/sys/kernel/ftrace_dump_on_oops.\n\nv2:\n\n   Replaced /** with /* as Randy explained that kernel-doc does\n    not yet handle variables.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08f5ac906d2c0faf96d608c54a0b03177376da8d",
      "tree": "ee43d94b168b9c3b757db83aea78b45eb3a556c1",
      "parents": [
        "4d296c24326783bff1282ac72f310d8bac8df413"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:24 2008 +0200"
      },
      "message": "ftrace: remove ftrace hash\n\nThe ftrace hash was used by the ftrace_daemon code. The record ip function\nwould place the calling address (ip) into the hash. The daemon would later\nread the hash and modify that code.\n\nThe hash complicates the code. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81adbdc029ecc416d56563e7f159100181dd711d",
      "tree": "ff7ed7b0fb284c22eb30e690a85e2e9e083c4162",
      "parents": [
        "ab9a0918cbf0fa8883301838df8dbc8fc085ff50"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:02 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:19 2008 +0200"
      },
      "message": "ftrace: only have ftrace_kill atomic\n\nWhen an anomaly is detected, we need a way to completely disable\nftrace. Right now we have two functions: ftrace_kill and ftrace_kill_atomic.\nThe ftrace_kill tries to do it in a \"nice\" way by converting everything\nback to a nop.\n\nThe \"nice\" way is dangerous itself, so this patch removes it and only\nhas the \"atomic\" version, which is all that is needed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "606576ce816603d9fe1fb453a88bc6eea16ca709",
      "tree": "7c6844ff4d75f249df49e9e5fe97062d301c3a1f",
      "parents": [
        "c2db8054c1eaf99983d8deee347876b01c26c2cf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:12 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:03 2008 +0200"
      },
      "message": "ftrace: rename FTRACE to FUNCTION_TRACER\n\nDue to confusion between the ftrace infrastructure and the gcc profiling\ntracer \"ftrace\", this patch renames the config options from FTRACE to\nFUNCTION_TRACER.  The other two names that are offspring from FTRACE\nDYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.\n\nThis patch was generated mostly by script, and partially by hand.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad0a3b68114e8f3c25ac0045b45a2838f23e3b3a",
      "tree": "bd7d7b9255276b6d9fecdf7bf0ef632196d07a6b",
      "parents": [
        "2fbc474901933c8f0c09b0280dfbb6780cb8bd60"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 08 17:44:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:26 2008 +0200"
      },
      "message": "trace: add build-time check to avoid overrunning hex buffer\n\nRemove the runtime BUG_ON and change to a compile-time check in\nthe macro that calls the hex format routine\n\n[Noticed by Joe Perches]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fbc474901933c8f0c09b0280dfbb6780cb8bd60",
      "tree": "f73b8d74c1da044cecbba6c50e8b674ae885d425",
      "parents": [
        "ddc7a01aad195708fc943d9446411d11e3547784"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 08 16:51:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:25 2008 +0200"
      },
      "message": "ftrace: fix hex output mode of ftrace\n\nFix the output of ftrace in hex mode as the hi/lo nibbles are output in\nreverse order. Without this patch, the output of ftrace is:\n\nraw mode : 6474 0 141531612444 0 140 + 6402 120 S\nhex mode : 000091a4 00000000 000000023f1f50c1 00000000 c8 000000b2 00009120 87 ffff00c8 00000035\n\nThere is an inversion on ouput hex(6474) is 194a\n\n[based on a patch by Philippe Reynes \u003ctremyfr@yahoo.fr\u003e]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2931e05ec5965597cbfb79ad332d4a29aeceb23",
      "tree": "e1825834156ab83e7c5ed1bbd33c958e5da78b39",
      "parents": [
        "3ea2e6d71aafe35b8aaf89ed711a283815acfae6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 04 22:04:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:22 2008 +0200"
      },
      "message": "ftrace: return an error when setting a nonexistent tracer\n\nWhen one try to set a nonexistent tracer, no error is returned\nas if the name of the tracer was correct.\nWe should return -EINVAL.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ea2e6d71aafe35b8aaf89ed711a283815acfae6",
      "tree": "e4bae61f9bbe5ff7ccf6eac95416b98ebd4974a4",
      "parents": [
        "bf41a158cacba6ca5fc6407a54e7ad8ce1567e2e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Oct 04 02:01:00 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:20 2008 +0200"
      },
      "message": "ftrace: make some tracers reentrant\n\nNow that the ring buffer is reentrant, some of the ftrace tracers\n(sched_swich, debugging traces) can also be reentrant.\n\nNote: Never make the function tracer reentrant, that can cause\n  recursion problems all over the kernel. The function tracer\n  must disable reentrancy.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38697053fa006411224a1790e2adb8216440ab0f",
      "tree": "30daab3a6ba93f1c8c922397ffe8a0d6a220e8b1",
      "parents": [
        "e4c2ce82ca2710e17cb4df8eb2b249fa2eb5af30"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 01 13:14:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:09 2008 +0200"
      },
      "message": "ftrace: preempt disable over interrupt disable\n\nWith the new ring buffer infrastructure in ftrace, I\u0027m trying to make\nftrace a little more light weight.\n\nThis patch converts a lot of the local_irq_save/restore into\npreempt_disable/enable.  The original preempt count in a lot of cases\nhas to be sent in as a parameter so that it can be recorded correctly.\nSome places were recording it incorrectly before anyway.\n\nThis is also laying the ground work to make ftrace a little bit\nmore reentrant, and remove all locking. The function tracers must\nstill protect from reentrancy.\n\nNote: All the function tracers must be careful when using preempt_disable.\n  It must do the following:\n\n  resched \u003d need_resched();\n  preempt_disable_notrace();\n  [...]\n  if (resched)\n\tpreempt_enable_no_resched_notrace();\n  else\n\tpreempt_enable_notrace();\n\nThe reason is that if this function traces schedule() itself, the\npreempt_enable_notrace() will cause a schedule, which will lead\nus into a recursive failure.\n\nIf we needed to reschedule before calling preempt_disable, we\nshould have already scheduled. Since we did not, this is most\nlikely that we should not and are probably inside a schedule\nfunction.\n\nIf resched was not set, we still need to catch the need resched\nflag being set when preemption was off and the if case at the\nend will catch that for us.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7104f300c5a69b46dda00d898034dd05c9f21739",
      "tree": "a8c885bd61fb1e269f277837b2e521179faf8739",
      "parents": [
        "797d3712a9dd75c720558612be05f42c031a7bb5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 01 10:52:51 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:07 2008 +0200"
      },
      "message": "ftrace: type cast filter+verifier\n\nThe mmiotrace map had a bug that would typecast the entry from\nthe trace to the wrong type. That is a known danger of C typecasts,\nthere\u0027s absolutely zero checking done on them.\n\nHelp that problem a bit by using a GCC extension to implement a\ntype filter that restricts the types that a trace record can be\ncast into, and by adding a dynamic check (in debug mode) to verify\nthe type of the entry.\n\nThis patch adds a macro to assign all entries of ftrace using the type\nof the variable and checking the entry id. The typecasts are now done\nin the macro for only those types that it knows about, which should\nbe all the types that are allowed to be read from the tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "797d3712a9dd75c720558612be05f42c031a7bb5"
}
