)]}'
{
  "log": [
    {
      "commit": "4f5a7f40ddbae98569acbb99118a98570315579c",
      "tree": "82eca15746f525acc19fd9e3f33cb08c6c8bc3e6",
      "parents": [
        "fb91ee6cf5b8be5360acec577458e29ec7e97e5e"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Nov 27 10:21:46 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 27 10:11:53 2008 +0100"
      },
      "message": "ftrace: prevent recursion\n\nImpact: prevent unnecessary stack recursion\n\nif the resched flag was set before we entered, then don\u0027t reschedule.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ee1768ddb3075ae3a0801cc2d0ea4195530a7db",
      "tree": "403dea91103838cbe56bca586a8f41a470e7a1e4",
      "parents": [
        "522a110b42b306d696cf84e34c677ed0e7080194"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Sun Nov 23 21:24:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 20:33:23 2008 +0100"
      },
      "message": "x86, mmiotrace: fix buffer overrun detection\n\nImpact: fix mmiotrace overrun tracing\n\nWhen ftrace framework moved to use the ring buffer facility, the buffer\noverrun detection was broken after 2.6.27 by commit\n\n| commit 3928a8a2d98081d1bc3c0a84a2d70e29b90ecf1c\n| Author: Steven Rostedt \u003crostedt@goodmis.org\u003e\n| Date:   Mon Sep 29 23:02:41 2008 -0400\n|\n|     ftrace: make work with new ring buffer\n|\n|     This patch ports ftrace over to the new ring buffer.\n\nThe detection is now fixed by using the ring buffer API.\n\nWhen mmiotrace detects a buffer overrun, it will report the number of\nlost events. People reading an mmiotrace log must know if something was\nmissed, otherwise the data may not make sense.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "522a110b42b306d696cf84e34c677ed0e7080194",
      "tree": "a77d238aed14185cb5662daae5f01f0da405a834",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Liming Wang",
        "email": "liming.wang@windriver.com",
        "time": "Fri Nov 21 11:00:18 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 21 08:49:52 2008 +0100"
      },
      "message": "function tracing: fix wrong position computing of stack_trace\n\nImpact: make output of stack_trace complete if buffer overruns\n\nWhen read buffer overruns, the output of stack_trace isn\u0027t complete.\n\nWhen printing records with seq_printf in t_show, if the read buffer\nhas overruned by the current record, then this record won\u0027t be\nprinted to user space through read buffer, it will just be dropped in\nthis printing.\n\nWhen next printing, t_start should return the \"*pos\"th record, which\nis the one dropped by previous printing, but it just returns\n(m-\u003eprivate + *pos)th record.\n\nHere we use a more sane method to implement seq_operations which can\nbe found in kernel code. Thus we needn\u0027t initialize m-\u003eprivate.\n\nAbout testing, it\u0027s not easy to overrun read buffer, but we can use\nseq_printf to print more padding bytes in t_show, then it\u0027s easy to\ncheck whether or not records are lost.\n\nThis commit has been tested on both condition of overrun and non\noverrun.\n\nSigned-off-by: Liming Wang \u003climing.wang@windriver.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d5b43a67accf6793ed259f6534b4bd53b1e5696",
      "tree": "b22f2b7dc929b523faf63d2734d8b22b5fd4a843",
      "parents": [
        "641d2f63cfe24539e154efa2f932937934c27dde",
        "32464779a1b8c15e9aa9aa0306b2f735080df9d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 09:00:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 09:00:50 2008 +0100"
      },
      "message": "Merge branch \u0027tip/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "32464779a1b8c15e9aa9aa0306b2f735080df9d8",
      "tree": "c26673645d5695f29b15a743476b76ce44048218",
      "parents": [
        "820432783190b4096499e38a4a4d7095c511913d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 18 20:33:02 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 19 00:19:47 2008 -0500"
      },
      "message": "ftrace: fix dyn ftrace filter selection\n\nImpact: clean up and fix for dyn ftrace filter selection\n\nThe previous logic of the dynamic ftrace selection of enabling\nor disabling functions was complex and incorrect. This patch simplifies\nthe code and corrects the usage. This simplification also makes the\ncode more robust.\n\nHere is the correct logic:\n\n  Given a function that can be traced by dynamic ftrace:\n\n  If the function is not to be traced, disable it if it was enabled.\n  (this is if the function is in the set_ftrace_notrace file)\n\n  (filter is on if there exists any functions in set_ftrace_filter file)\n\n  If the filter is on, and we are enabling functions:\n    If the function is in set_ftrace_filter, enable it if it is not\n      already enabled.\n    If the function is not in set_ftrace_filter, disable it if it is not\n      already disabled.\n\n  Otherwise, if the filter is off and we are enabling function tracing:\n    Enable the function if it is not already enabled.\n\n  Otherwise, if we are disabling function tracing:\n    Disable the function if it is not already disabled.\n\nThis code now sets or clears the ENABLED flag in the record, and at the\nend it will enable the function if the flag is set, or disable the function\nif the flag is cleared.\n\nThe parameters for the function that does the above logic is also\nsimplified. Instead of passing in confusing \"new\" and \"old\" where\nthey might be swapped if the \"enabled\" flag is not set. The old logic\neven had one of the above always NULL and had to be filled in. The new\nlogic simply passes in one parameter called \"nop\". A \"call\" is calculated\nin the code, and at the end of the logic, when we know we need to either\ndisable or enable the function, we can then use the \"nop\" and \"call\"\nproperly.\n\nThis code is more robust than the previous version.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "820432783190b4096499e38a4a4d7095c511913d",
      "tree": "d8300e0853c44fbc157625a1b57f55c7162d01c9",
      "parents": [
        "f10ed36ec1118c6f9523cd7e53cb0aadb53efe9f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 18 23:57:14 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 19 00:18:54 2008 -0500"
      },
      "message": "ftrace: make filtered functions effective on setting\n\nImpact: fix filter selection to apply when set\n\nIt can be confusing when the set_filter_functions is set (or cleared)\nand the functions being recorded by the dynamic tracer does not\nmatch.\n\nThis patch causes the code to be updated if the function tracer is\nenabled and the filter is changed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f10ed36ec1118c6f9523cd7e53cb0aadb53efe9f",
      "tree": "d3f801ab1c8ab58642b04a0f5a51b25741261667",
      "parents": [
        "1e74f3000b86969de421ca0da08f42e7d21cbd99"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 19 00:17:45 2008 -0500"
      },
      "message": "ftrace: fix set_ftrace_filter\n\nImpact: fix of output of set_ftrace_filter\n\nThe commit \"ftrace: do not show freed records in\n             available_filter_functions\"\n\nRemoved a bit too much from the set_ftrace_filter code, where we now see\nall functions in the set_ftrace_filter file even when we set a filter.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "641d2f63cfe24539e154efa2f932937934c27dde",
      "tree": "fdd8dce64b14efecffb062480ad02bf2e57ac041",
      "parents": [
        "5177dc3f2b3220b2dcfcf35eb9e6ec53ee818231"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Nov 18 19:22:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 21:37:15 2008 +0100"
      },
      "message": "trace: introduce missing mutex_unlock()\n\nImpact: fix tracing buffer mutex leak in case of allocation failure\n\nThis error was spotted by this semantic patch:\n\n  http://www.emn.fr/x-info/coccinelle/mut.html\n\nIt looks correct as far as I can tell. Please review.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\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": "5821e1b74f0d08952cb5da4bfd2d9a388d8df58e",
      "tree": "e7bade7c500b2d4cd4d8c811a26c844c6f529366",
      "parents": [
        "ee51a1de7e3837577412be269e0100038068e691"
      ],
      "author": {
        "name": "walimis",
        "email": "walimisdev@gmail.com",
        "time": "Sat Nov 15 15:19:06 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 08:32:05 2008 +0100"
      },
      "message": "function tracing: fix wrong pos computing when read buffer has been fulfilled\n\nImpact: make output of available_filter_functions complete\n\nphenomenon:\n\nThe first value of dyn_ftrace_total_info is not equal with\n`cat available_filter_functions | wc -l`, but they should be equal.\n\nroot cause:\n\nWhen printing functions with seq_printf in t_show, if the read buffer\nis just overflowed by current function record, then this function\nwon\u0027t be printed to user space through read buffer, it will\njust be dropped. So we can\u0027t see this function printing.\n\nSo, every time the last function to fill the read buffer, if overflowed,\nwill be dropped.\n\nThis also applies to set_ftrace_filter if set_ftrace_filter has\nmore bytes than read buffer.\n\nfix:\n\nThrough checking return value of seq_printf, if less than 0, we know\nthis function doesn\u0027t be printed. Then we decrease position to force\nthis function to be printed next time, in next read buffer.\n\nAnother little fix is to show correct allocating pages count.\n\nSigned-off-by: walimis \u003cwalimisdev@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee51a1de7e3837577412be269e0100038068e691",
      "tree": "a93d6dfeec829b61d6a74b5a9c841bcfeaeeb31d",
      "parents": [
        "47e74f2ba8fbf9fb1378e2524e6cfdc2fb37f160"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 14:58:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 14:58:31 2008 +0100"
      },
      "message": "tracing: fix mmiotrace resizing crash\n\nPekka reported a crash when resizing the mmiotrace tracer (if only\nmmiotrace is enabled).\n\nThis happens because in that case we do not allocate the max buffer,\nbut we try to use it.\n\nMake ring_buffer_resize() idempotent against NULL buffers.\n\nReported-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47e74f2ba8fbf9fb1378e2524e6cfdc2fb37f160",
      "tree": "7d49bf91e5409c432b259c26fcadff0450dffe43",
      "parents": [
        "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:01:27 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:23:36 2008 +0100"
      },
      "message": "ring-buffer: no preempt for sched_clock()\n\nImpact: disable preemption when calling sched_clock()\n\nThe ring_buffer_time_stamp still uses sched_clock as its counter.\nBut it is a bug to call it with preemption enabled. This requirement\nshould not be pushed to the ring_buffer_time_stamp callers, so\nthe ring_buffer_time_stamp needs to disable preemption when calling\nsched_clock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87",
      "tree": "826aa8fff448bc3dcd167d3623fbcc311a768c1f",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "a358324466b171e145df20bdb74fe81759906de6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 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": "a358324466b171e145df20bdb74fe81759906de6",
      "tree": "50b2b0b72ff40da6be232eb85d33a203612f3164",
      "parents": [
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:01:42 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:02:04 2008 -0500"
      },
      "message": "ring-buffer: buffer record on/off switch\n\nImpact: enable/disable ring buffer recording API added\n\nSeveral kernel developers have requested that there be a way to stop\nrecording into the ring buffers with a simple switch that can also\nbe enabled from userspace. This patch addes a new kernel API to the\nring buffers called:\n\n tracing_on()\n tracing_off()\n\nWhen tracing_off() is called, all ring buffers will not be able to record\ninto their buffers.\n\ntracing_on() will enable the ring buffers again.\n\nThese two act like an on/off switch. That is, there is no counting of the\nnumber of times tracing_off or tracing_on has been called.\n\nA new file is added to the debugfs/tracing directory called\n\n  tracing_on\n\nThis allows for userspace applications to also flip the switch.\n\n  echo 0 \u003e debugfs/tracing/tracing_on\n\ndisables the tracing.\n\n  echo 1 \u003e /debugfs/tracing/tracing_on\n\nenables it.\n\nNote, this does not disable or enable any tracers. It only sets or clears\na flag that needs to be set in order for the ring buffers to write to\ntheir buffers. It is a global flag, and affects all ring buffers.\n\nThe buffers start out with tracing_on enabled.\n\nThere are now three flags that control recording into the buffers:\n\n tracing_on: which affects all ring buffer tracers.\n\n buffer-\u003erecord_disabled: which affects an allocated buffer, which may be set\n     if an anomaly is detected, and tracing is disabled.\n\n cpu_buffer-\u003erecord_disabled: which is set by tracing_stop() or if an\n     anomaly is detected. tracing_start can not reenable this if\n     an anomaly occurred.\n\nThe userspace debugfs/tracing/tracing_enabled is implemented with\ntracing_stop() but the user space code can not enable it if the kernel\ncalled tracing_stop().\n\nUserspace can enable the tracing_on even if the kernel disabled it.\nIt is just a switch used to stop tracing if a condition was hit.\ntracing_on is not for protecting critical areas in the kernel nor is\nit for stopping tracing if an anomaly occurred. This is because userspace\ncan reenable it at any time.\n\nSide effect: With this patch, I discovered a dead variable in ftrace.c\n  called tracing_on. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\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": "4143c5cb36331155a1823af8b3a8c761a59fed71",
      "tree": "14ba50cd2a0acb5f18d7c657f08eaa586827fe27",
      "parents": [
        "bf5e6519b85b3853f2d0bb4f17a4e2eaeffeb574"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:46:01 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:47:37 2008 -0500"
      },
      "message": "ring-buffer: prevent infinite looping on time stamping\n\nImpact: removal of unnecessary looping\n\nThe lockless part of the ring buffer allows for reentry into the code\nfrom interrupts. A timestamp is taken, a test is preformed and if it\ndetects that an interrupt occurred that did tracing, it tries again.\n\nThe problem arises if the timestamp code itself causes a trace.\nThe detection will detect this and loop again. The difference between\nthis and an interrupt doing tracing, is that this will fail every time,\nand cause an infinite loop.\n\nCurrently, we test if the loop happens 1000 times, and if so, it will\nproduce a warning and disable the ring buffer.\n\nThe problem with this approach is that it makes it difficult to perform\nsome types of tracing (tracing the timestamp code itself).\n\nEach trace entry has a delta timestamp from the previous entry.\nIf a trace entry is reserved but and interrupt occurs and traces before\nthe previous entry is commited, the delta timestamp for that entry will\nbe zero. This actually makes sense in terms of tracing, because the\ninterrupt entry happened before the preempted entry was commited, so\none may consider the two happening at the same time. The order is\nstill preserved in the buffer.\n\nWith this idea, instead of trying to get a new timestamp if an interrupt\nmade it in between the timestamp and the test, the entry could simply\nmake the delta zero and continue. This will prevent interrupts or\ntracers in the timer code from causing the above loop.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\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": "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": "818e3dd30a4ff34fff6d90e87ae59c73f6a53691",
      "tree": "ab9db9dec53a0c0383476c8dfca17d75c83317f6",
      "parents": [
        "b3aa557722b3d5858f14ca559e03461c24125aaf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 31 09:58:35 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 11:10:04 2008 +0100"
      },
      "message": "tracing, ring-buffer: add paranoid checks for loops\n\nWhile writing a new tracer, I had a bug where I caused the ring-buffer\nto recurse in a bad way. The bug was with the tracer I was writing\nand not the ring-buffer itself. But it took a long time to find the\nproblem.\n\nThis patch adds paranoid checks into the ring-buffer infrastructure\nthat will catch bugs of this nature.\n\nNote: I put the bug back in the tracer and this patch showed the error\n      nicely and prevented the lockup.\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": "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": "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": "f3384b28a05624783b53836ccfed95ecde66a7ad",
      "tree": "e5fa8281ef1e4a9e638160204291556d42ed8a06",
      "parents": [
        "0b6e4d56bf71866a2b58daa8323cf747988ce7e4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 29 11:15:57 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 29 17:21:05 2008 +0100"
      },
      "message": "ftrace: fix trace_nop config select\n\nImpact: build fix on non-function-tracing architectures\n\nThe trace_nop is the tracer that is defined when no tracer is set in\nthe ftrace infrastructure.\n\nThe trace_nop was mistakenly selected by HAVE_FTRACE due to the confusion\nbetween ftrace infrastructure and the ftrace function tracer (which has\nbeen solved by renaming the function tracer).\n\nThis patch changes the select to the approriate TRACING.\n\nThis patch should fix compile errors on architectures that do not define\nthe FUNCTION_TRACER.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b6e4d56bf71866a2b58daa8323cf747988ce7e4",
      "tree": "abda53ec941c887283d496abf5d364ba80f72d5e",
      "parents": [
        "e946217e4fdaa67681bbabfa8e6b18641921f750"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 28 20:17:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 19:15:58 2008 +0100"
      },
      "message": "ftrace: perform an initialization for ftrace to enable it\n\nImpact: corrects a bug which made the non-dyn function tracer not functional\n\nWith latest git, the non-dynamic function tracer didn\u0027t get any trace.\n\nThe problem was the fact that ftrace_enabled wasn\u0027t initialized to 1\nbecause ftrace hasn\u0027t any init function when DYNAMIC_FTRACE is disabled.\n\nSo when a tracer tries to register an ftrace_ops struct,\n__register_ftrace_function failed to set the hook.\n\nThis patch corrects it by setting an init function to initialize\nftrace during the boot.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.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": "ea31e72d753e5817a97de552f152d0cb55c7defc",
      "tree": "a709254a0cd46c764f69649153de26b1d1233082",
      "parents": [
        "f66af459a931f25807e1df7915b2b66bb5978d82"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 22 19:26:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 16:47:13 2008 +0100"
      },
      "message": "tracing/ftrace: make boot tracer select the sched_switch tracer\n\nImpact: build fix\n\nIf the boot tracer is selected but not the sched_switch,\nthere will be a build failure:\n\n kernel/built-in.o: In function `boot_trace_init\u0027:\n trace_boot.c:(.text+0x5ee38): undefined reference to `sched_switch_trace\u0027\n kernel/built-in.o: In function `disable_boot_trace\u0027:\n (.text+0x5eee1): undefined reference to `tracing_stop_cmdline_record\u0027\n kernel/built-in.o: In function `enable_boot_trace\u0027:\n (.text+0x5ef11): undefined reference to `tracing_start_cmdline_record\u0027\n\nThis patch fixes it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2862c9470beb842d3f1c1965b03a2112114c160",
      "tree": "9e906a19340ba4f4d4145977c82a2b1a46d4edd7",
      "parents": [
        "4944dd62de21230af039eda7cd218e9a09021d11"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Oct 27 17:43:28 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 11:31:58 2008 +0100"
      },
      "message": "trace: fix printk warning for u64\n\nA powerpc ppc64_defconfig build produces these warnings:\n\nkernel/trace/ring_buffer.c: In function \u0027rb_add_time_stamp\u0027:\nkernel/trace/ring_buffer.c:969: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 2 has type \u0027u64\u0027\nkernel/trace/ring_buffer.c:969: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\nkernel/trace/ring_buffer.c:969: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n\nJust cast the u64s to unsigned long long like we do everywhere else.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f17845e5d97ead8fbdadfd40039e058ec7cf4a42",
      "tree": "14c053143dad362fce72cc77f2beb41ab6c43dec",
      "parents": [
        "66b0de3569b00f61978782b9f97aa4803dbec0fb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:47:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:52:44 2008 +0200"
      },
      "message": "ftrace: warning in kernel/trace/ftrace.c\n\nthis warning:\n\n  kernel/trace/ftrace.c:189: warning: ‘frozen_record_count’ defined but not used\n\ntriggers because frozen_record_count is only used in the KCONFIG_MARKERS\ncase. Move the variable it there.\n\nAlas, this frozen-record facility seems to have little use. The\nfrozen_record_count variable is not used by anything, nor the flags.\n\nSo this section might need a bit of dead-code-removal care as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66b0de3569b00f61978782b9f97aa4803dbec0fb",
      "tree": "9ffcb1a8481e7337dbe2d2ec321a3b4a427f84d7",
      "parents": [
        "15adc048986f6b54b6044f2b6fc4b48f49413e2f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:11:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:11:03 2008 +0200"
      },
      "message": "ftrace: fix build failure\n\nfix:\n\n kernel/trace/ftrace.c: In function \u0027ftrace_release\u0027:\n kernel/trace/ftrace.c:271: error: implicit declaration of function \u0027ftrace_release_hash\u0027\n\nrelease_hash is not needed without dftraced.\n\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": "4d296c24326783bff1282ac72f310d8bac8df413",
      "tree": "75751fdafc0fa5818a926478e78dd9e54f1cf872",
      "parents": [
        "cb7be3b2fc2cf089ee52b16f0fd9ebb29e9944e1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:06 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:23 2008 +0200"
      },
      "message": "ftrace: remove mcount set\n\nThe arch dependent function ftrace_mcount_set was only used by the daemon\nstart up 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": "cb7be3b2fc2cf089ee52b16f0fd9ebb29e9944e1",
      "tree": "4d5e4c1d1211ee7be1a583a9f9c4b33b7d4ce2ee",
      "parents": [
        "07c4cc1cdaa08fcb6c0275dd7be49eae37260169"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:22 2008 +0200"
      },
      "message": "ftrace: remove daemon\n\nThe ftrace daemon is complex and error prone.  This patch strips it out\nof the code.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6912896e994ddaf06cc0f6d3f2098bc4b59bdd84",
      "tree": "5f60e432eb5ec6cf0268ddc4d96f901578886c29",
      "parents": [
        "81adbdc029ecc416d56563e7f159100181dd711d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:03 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:20 2008 +0200"
      },
      "message": "ftrace: add ftrace warn on to disable ftrace\n\nAdd ftrace warn on to disable ftrace as well as report a warning.\n\n[ Thanks to Andrew Morton for suggesting using the WARN_ON return value ]\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": "593eb8a2d63e95772a5f22d746f18a997c5ee463",
      "tree": "2a99c61ccffc2c0fd280bb2e5f81ac2f22e2f471",
      "parents": [
        "34698bcbdf7b0629d6c873b5da7c63073fb45361"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:32:59 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:13 2008 +0200"
      },
      "message": "ftrace: return error on failed modified text.\n\nHave the ftrace_modify_code return error values:\n\n  -EFAULT on error of reading the address\n\n  -EINVAL if what is read does not match what it expected\n\n  -EPERM  if the write fails to update after a successful match.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ae2a0765ab764da11cc305058ee5333810228f4",
      "tree": "c2c3b285eb55c2b1850ecb04e0348323b70acee5",
      "parents": [
        "06d1cd267ca0a2a76beb9a762465572dd3d0cce6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 13 10:22:06 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 17:02:09 2008 +0200"
      },
      "message": "ring-buffer: fix free page\n\nThe pages of a buffer was originally pointing to the page struct, it\nnow points to the page address. The freeing of the page still uses\nthe page frame free \"__free_page\" instead of the correct free_page to\nthe address.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17d80fd07d35ae1d231b3378ee4f00ace54f9d31",
      "tree": "db09cfdb86d3bbced3a32588decabcb87ca02d19",
      "parents": [
        "debfcaf93ed500a051489db6646d71f29fe86a68"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Oct 21 16:31:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 09:08:56 2008 +0200"
      },
      "message": "tracing: create tracers menu\n\nWe seem to have plenty tracers, lets create a menu and not clutter\nthe already cluttered debug menu more.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81520a1b0649d0701205b818714a8c1e1cfbbb5b",
      "tree": "a455ec060f28371b17374db2f934fc66dc7067ef",
      "parents": [
        "3ce83aea86bf46fd1bff59d2e6d16f48fdce22fc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 21:24:18 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:31:37 2008 +0200"
      },
      "message": "ftrace: stack tracer only record when on stack\n\nThe stack trace API does not record if the stack is not on the current\ntask\u0027s stack. That is, if the stack is the interrupt stack or NMI stack,\nthe output does not show. Also, the size of those stacks are not\nconsistent with the size of the thread stack, this makes the calculation\nof the stack size usually bogus.\n\nThis all confuses the stack tracer. I unfortunately do not have time to\nfix all these problems, but this patch does record the worst stack when\nthe stack pointer is on the tasks stack (instead of bogus numbers).\n\nThe patch simply returns if the stack pointer is not on the task\u0027s stack.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ce83aea86bf46fd1bff59d2e6d16f48fdce22fc",
      "tree": "c4fc8ba118adbadb463564cbc94db8aa540b011d",
      "parents": [
        "606576ce816603d9fe1fb453a88bc6eea16ca709"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:13 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:04 2008 +0200"
      },
      "message": "ftrace: rename the ftrace tracer to function\n\nTo avoid further confusion between the ftrace infrastructure and the\nfunction tracer. This patch renames the \"ftrace\" function tracer\nto \"function\".\n\nNow in available_tracers, instead of \"ftrace\" there will be \"function\".\n\nThis makes more sense, since people will not know exactly what the\n\"ftrace\" tracer does.\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": "c2db8054c1eaf99983d8deee347876b01c26c2cf",
      "tree": "43bbc93ce51ddf3110513ff711b7f21afd8954f5",
      "parents": [
        "bd95b88d9e51fcbf392a7e90338a8fcc3499cbd6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:02 2008 +0200"
      },
      "message": "ftrace: fix depends\n\nA lot of tracers have HAVE_FTRACE as a dependent config where it\nreally should not. The HAVE_FTRACE is a misnomer (soon to be fixed)\nand describes if the architecture has the function tracer (mcount)\nimplemented. The ftrace infrastructure is implemented in all archs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd95b88d9e51fcbf392a7e90338a8fcc3499cbd6",
      "tree": "a88df2bd756a4dd0715a92c3cec193366d86b861",
      "parents": [
        "c513867561eeb07d24a0bdda1a18a8f91921a301"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 16 09:31:27 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:01 2008 +0200"
      },
      "message": "ftrace: release functions from hash\n\nThe x86 architecture uses a static recording of mcount caller locations\nand is not affected by this patch.\n\nFor architectures still using the dynamic ftrace daemon, this patch is\ncritical. It removes the race between the recording of a function that\ncalls mcount, the unloading of a module, and the ftrace daemon updating\nthe call sites.\n\nThis patch adds the releasing of the hash functions that the daemon uses\nto update the mcount call sites. When a module is unloaded, not only\nare the replaced call site table update, but now so is the hash recorded\nfunctions that the ftrace daemon will use.\n\nAgain, architectures that implement MCOUNT_RECORD are not affected by\nthis (which currently only x86 has).\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98d9c66ab07471006fd7910cb16453581c41a3e7",
      "tree": "0f970a85c75df95e4c84ab81d4df88dac7cf016b",
      "parents": [
        "4519d9e54dcd273975ad0adebad2a08c20428029"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:27:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:27:20 2008 +0200"
      },
      "message": "tracing/fastboot: improve help text\n\nImprove the help text of the boot tracer.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4519d9e54dcd273975ad0adebad2a08c20428029",
      "tree": "b106b3a33908d2ca91c80efa54b60d9b1bd87df9",
      "parents": [
        "07d1890420cce95c577736e4d67f70cbd39845fe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:15:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:15:43 2008 +0200"
      },
      "message": "tracing/stacktrace: improve help text\n\nImprove the help text that is displayed for CONFIG_STACK_TRACER.\n\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": "8a5d900cca57115326bc5b9e7f3bac980986c2c8",
      "tree": "611e10bab4f03beb61baac8f0868aad665e85c46",
      "parents": [
        "c2931e05ec5965597cbfb79ad332d4a29aeceb23"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Oct 04 13:42:27 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:23 2008 +0200"
      },
      "message": "tracing/fastboot: fix printk format typo in boot tracer\n\nWhen printing nanoseconds, the right printk format string is %09 not %06...\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@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": "bf41a158cacba6ca5fc6407a54e7ad8ce1567e2e",
      "tree": "e9424b4927f99cfb3acce3cfab2635ae8f8c8ba1",
      "parents": [
        "6f807acd27734197b11d42829d3cbb9c0937b572"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Oct 04 02:00:59 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:19 2008 +0200"
      },
      "message": "ring-buffer: make reentrant\n\nThis patch replaces the local_irq_save/restore with preempt_disable/\nenable. This allows for interrupts to enter while recording.\nTo write to the ring buffer, you must reserve data, and then\ncommit it. During this time, an interrupt may call a trace function\nthat will also record into the buffer before the commit is made.\n\nThe interrupt will reserve its entry after the first entry, even\nthough the first entry did not finish yet.\n\nThe time stamp delta of the interrupt entry will be zero, since\nin the view of the trace, the interrupt happened during the\nfirst field anyway.\n\nLocking still takes place when the tail/write moves from one page\nto the next. The reader always takes the locks.\n\nA new page pointer is added, called the commit. The write/tail will\nalways point to the end of all entries. The commit field will\npoint to the last committed entry. Only this commit entry may\nupdate the write time stamp.\n\nThe reader can only go up to the commit. It cannot go past it.\n\nIf a lot of interrupts come in during a commit that fills up the\nbuffer, and it happens to make it all the way around the buffer\nback to the commit, then a warning is printed and new events will\nbe dropped.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f807acd27734197b11d42829d3cbb9c0937b572",
      "tree": "3587f14a894f05a607cc71fd1ee4e63a3eb3b679",
      "parents": [
        "097d036a2f25eecc42435c57e010aaf4a2eed2d9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Oct 04 02:00:58 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:18 2008 +0200"
      },
      "message": "ring-buffer: move page indexes into page headers\n\nRemove the global head and tail indexes and move them into the\npage header. Each page will now keep track of where the last\nwrite and read was made. We also rename the head and tail to read\nand write for better clarification.\n\nThis patch is needed for future enhancements to move the ring buffer\nto a lockless solution.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "097d036a2f25eecc42435c57e010aaf4a2eed2d9",
      "tree": "ee5e40b940475e8a047e02093688072ff3e330d3",
      "parents": [
        "6450c1d3213e27b0dcbf34cce7ad1ae74244c520"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 03 15:39:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:17 2008 +0200"
      },
      "message": "tracing/fastboot: only trace non-module initcalls\n\nAt this time, only built-in initcalls interest us.\nWe can\u0027t really produce a relevant graph if we include\nthe modules initcall too.\n\nI had good results after this patch (see svg in attachment).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6450c1d3213e27b0dcbf34cce7ad1ae74244c520",
      "tree": "b8b51924fcbe4b656a5ce688f5c2406170782a0b",
      "parents": [
        "aa1e0e3bcf95ce684d005bedb16e5d4559455685"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 02 19:23:04 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:16 2008 +0200"
      },
      "message": "ftrace: move pc counter in irqtrace\n\nThe assigning of the pc counter is in the wrong spot in the\ncheck_critical_timing function. The pc variable is used in the\nout jump.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa1e0e3bcf95ce684d005bedb16e5d4559455685",
      "tree": "579416746452a880ca42de6c2885419e49a44e45",
      "parents": [
        "eb7fa935274bb233686fdf7a53f40c5d9ee76ed6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 02 19:18:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:15 2008 +0200"
      },
      "message": "ring_buffer: map to cpu not page\n\nMy original patch had a compile bug when NUMA was configured. I\nreferenced cpu when it should have been cpu_buffer-\u003ecpu.\n\nIngo quickly fixed this bug by replacing cpu with \u0027i\u0027 because that\nwas the loop counter. Unfortunately, the \u0027i\u0027 was the counter of\npages, not CPUs. This caused a crash when the number of pages allocated\nfor the buffers exceeded the number of pages, which would usually\nbe the case.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5601020feb0c3010e9e3e0131e9697ac6a06777b",
      "tree": "99d1a70dbf3bba2b5ae1007c4828c28e6480214a",
      "parents": [
        "cb5ab74204a6e2579d1119bf1348eb806526b12b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 02 13:26:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:12 2008 +0200"
      },
      "message": "tracing/fastboot: get the initcall name before it disappears\n\nAfter some initcall traces, some initcall names may be inconsistent.\nThat\u0027s because these functions will disappear from the .init section\nand also their name from the symbols table.\n\nSo we have to copy the name of the function in a buffer large enough\nduring the trace appending. It is not costly for the ring_buffer because\nthe number of initcall entries is commonly not really large.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb5ab74204a6e2579d1119bf1348eb806526b12b",
      "tree": "4810258d42e0370ec15cf424d5e3c6487fbd1781",
      "parents": [
        "77ae11f63befb7fc41ec256f1fcb72ca7e4160d5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 02 12:59:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:11 2008 +0200"
      },
      "message": "tracing/fastboot: change the printing of boot tracer according to bootgraph.pl\n\nChange the boot tracer printing to make it parsable for\nthe scripts/bootgraph.pl script.\n\nWe have now to output two lines for each initcall, according to the\nprintk in do_one_initcall() in init/main.c\nWe need now the call\u0027s time and the return\u0027s time.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77ae11f63befb7fc41ec256f1fcb72ca7e4160d5",
      "tree": "b226064fc831d9d7e968f41ced643b4bfb214b11",
      "parents": [
        "38697053fa006411224a1790e2adb8216440ab0f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 02 11:04:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:10 2008 +0200"
      },
      "message": "ring-buffer: fix build error\n\nfix:\n\n kernel/trace/ring_buffer.c: In function ‘rb_allocate_pages’:\n kernel/trace/ring_buffer.c:235: error: ‘cpu’ undeclared (first use in this function)\n kernel/trace/ring_buffer.c:235: error: (Each undeclared identifier is reported only once\n kernel/trace/ring_buffer.c:235: error: for each function it appears in.)\n\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": "e4c2ce82ca2710e17cb4df8eb2b249fa2eb5af30",
      "tree": "186a96aa4cace7fe51ede64c8b4f426a5007f007",
      "parents": [
        "7104f300c5a69b46dda00d898034dd05c9f21739"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 01 11:14:54 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:08 2008 +0200"
      },
      "message": "ring_buffer: allocate buffer page pointer\n\nThe current method of overlaying the page frame as the buffer page pointer\ncan be very dangerous and limits our ability to do other things with\na page from the buffer, like send it off to disk.\n\nThis patch allocates the buffer_page instead of overlaying the page\u0027s\npage frame. The use of the buffer_page has hardly changed due to this.\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"
    },
    {
      "commit": "797d3712a9dd75c720558612be05f42c031a7bb5",
      "tree": "8687146ca2a252c208fd78bbcb2a6f4c6a542dc3",
      "parents": [
        "d769041f865330034131525ee6a7f72eb4af2a24"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 30 18:13:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:06 2008 +0200"
      },
      "message": "tracing/ftrace: adapt mmiotrace to the new type of print_line, fix\n\nCorrect the value\u0027s type of trace_empty function\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d769041f865330034131525ee6a7f72eb4af2a24",
      "tree": "5c0d93063585c9a94d3c8e8105cc7ad27f4fe0e8",
      "parents": [
        "70255b5e3f1bd1a5af5b1e425ec2c4db7c735112"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 01 00:29:53 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:05 2008 +0200"
      },
      "message": "ring_buffer: implement new locking\n\nThe old \"lock always\" scheme had issues with lockdep, and was not very\nefficient anyways.\n\nThis patch does a new design to be partially lockless on writes.\nWrites will add new entries to the per cpu pages by simply disabling\ninterrupts. When a write needs to go to another page than it will\ngrab the lock.\n\nA new \"read page\" has been added so that the reader can pull out a page\nfrom the ring buffer to read without worrying about the writer writing over\nit. This allows us to not take the lock for all reads. The lock is\nnow only taken when a read needs to go to a new page.\n\nThis is far from lockless, and interrupts still need to be disabled,\nbut it is a step towards a more lockless solution, and it also\nsolves a lot of the issues that were noticed by the first conversion\nof ftrace to the ring buffers.\n\nNote: the ring_buffer_{un}lock API has been removed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70255b5e3f1bd1a5af5b1e425ec2c4db7c735112",
      "tree": "0c948691e0f247b9100eaf151cdafda182b34545",
      "parents": [
        "9e9efffb7848fe53c334996819139b431b983ac2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 01 00:29:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:04 2008 +0200"
      },
      "message": "ring_buffer: remove raw from local_irq_save\n\nThe raw_local_irq_save causes issues with lockdep. We don\u0027t need it\nso replace them with local_irq_save.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e9efffb7848fe53c334996819139b431b983ac2",
      "tree": "bea4c5c2365d3c29f126cefa7f251368e8fb25c2",
      "parents": [
        "07f4e4f790895d55f46aaf89e7437da4a585989c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Sep 29 20:31:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:03 2008 +0200"
      },
      "message": "tracing/ftrace: adapt the boot tracer to the new print_line type\n\nThis patch adapts the boot tracer to the new type of the\nprint_line callback.\n\nIt still relays entries it doesn\u0027t support to default output\nfunctions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07f4e4f790895d55f46aaf89e7437da4a585989c",
      "tree": "c2b6cecb4f27e572c3a325f1c1d868cbcc0e6099",
      "parents": [
        "9ff4b9744c187cae58c3774361ea090addbc4130"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Sep 29 20:27:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:02 2008 +0200"
      },
      "message": "tracing/ftrace: adapt mmiotrace to the new type of print_line\n\nAdapt mmiotrace to the new print_line type.\nBy default, it ignores (and consumes) types it doesn\u0027t support.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ff4b9744c187cae58c3774361ea090addbc4130",
      "tree": "f001a85312b374fbd91d332eb341d02522512da1",
      "parents": [
        "2c4f035f6c3e8fda661eb6105aa51ef07aa71607"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon Sep 29 20:23:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:01 2008 +0200"
      },
      "message": "tracing/ftrace: fix pipe breaking\n\nThis patch fixes a bug which break the pipe when the seq is empty.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c4f035f6c3e8fda661eb6105aa51ef07aa71607",
      "tree": "9bac9e431789f2f551b6b6b2f86463b0b568bf19",
      "parents": [
        "777e208d40d0953efc6fb4ab58590da3f7d8f02d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Sep 29 20:18:34 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:00 2008 +0200"
      },
      "message": "tracing/ftrace: change the type of the print_line callback\n\nWe need a kind of disambiguation when a print_line callback\nreturns 0.\n\n_There is not enough space to print all the entry.\n Please flush the seq and retry.\n_I can\u0027t handle this type of entry\n\nThis patch changes the type of this callback for better information.\n\nAlso some changes have been made in this V2.\n\n_ Only relay to default functions after the print_line callback fails.\n_ This patch doesn\u0027t fix the issue with the broken pipe (see patch 2/4 for that)\n\nSome things are still in discussion:\n\n_ Find better names for the enum print_line_t values\n_ Change the type of print_trace_line into boolean.\n\nPatches to change that can be sent later.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "777e208d40d0953efc6fb4ab58590da3f7d8f02d",
      "tree": "1e5940ccafd26c958b358f7ce85926659f12c37d",
      "parents": [
        "3928a8a2d98081d1bc3c0a84a2d70e29b90ecf1c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:42 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:59 2008 +0200"
      },
      "message": "ftrace: take advantage of variable length entries\n\nNow that the underlining ring buffer for ftrace now hold variable length\nentries, we can take advantage of this by only storing the size of the\nactual event into the buffer. This happens to increase the number of\nentries in the buffer dramatically.\n\nWe can also get rid of the \"trace_cont\" operation, but I\u0027m keeping that\nuntil we have no more users. Some of the ftrace tracers can now change\ntheir code to adapt to this new feature.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3928a8a2d98081d1bc3c0a84a2d70e29b90ecf1c",
      "tree": "5c1fd6fd721e2e9a5c47facfd50fbc011b3db53a",
      "parents": [
        "ed56829cb3195de499f97fa6108fe9134319bae6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:57 2008 +0200"
      },
      "message": "ftrace: make work with new ring buffer\n\nThis patch ports ftrace over to the new ring buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed56829cb3195de499f97fa6108fe9134319bae6",
      "tree": "e038bfb9898146dead5a20d2a1ffb44f8fb24676",
      "parents": [
        "a7b1374333407f409cf8df7e623b12490f073c84"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:40 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:56 2008 +0200"
      },
      "message": "ring_buffer: reset buffer page when freeing\n\nMathieu Desnoyers pointed out that the freeing of the page frame needs\nto be reset otherwise we might trigger BUG_ON in the page free code.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7b1374333407f409cf8df7e623b12490f073c84",
      "tree": "ecd83a07e17b6659896010adc7ceaa56eb08d12b",
      "parents": [
        "7a8e76a3829f1067b70f715771ff88baf2fbf3c3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:39 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:55 2008 +0200"
      },
      "message": "ring_buffer: add paranoid check for buffer page\n\nIf for some strange reason the buffer_page gets bigger, or the page struct\ngets smaller, I want to know this ASAP.  The best way is to not let the\nkernel compile.\n\nThis patch adds code to test the size of the struct buffer_page against the\npage struct and will cause compile issues if the buffer_page ever gets bigger\nthan the page struct.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a8e76a3829f1067b70f715771ff88baf2fbf3c3",
      "tree": "71126d4ad6f89abd00cac688318aff14323a96bb",
      "parents": [
        "5aa60c6073456812251caf9177cb921b2de68f77"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:38 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:54 2008 +0200"
      },
      "message": "tracing: unified trace buffer\n\nThis is a unified tracing buffer that implements a ring buffer that\nhopefully everyone will eventually be able to use.\n\nThe events recorded into the buffer have the following structure:\n\n  struct ring_buffer_event {\n\tu32 type:2, len:3, time_delta:27;\n\tu32 array[];\n  };\n\nThe minimum size of an event is 8 bytes. All events are 4 byte\naligned inside the buffer.\n\nThere are 4 types (all internal use for the ring buffer, only\nthe data type is exported to the interface users).\n\n RINGBUF_TYPE_PADDING: this type is used to note extra space at the end\n\tof a buffer page.\n\n RINGBUF_TYPE_TIME_EXTENT: This type is used when the time between events\n\tis greater than the 27 bit delta can hold. We add another\n\t32 bits, and record that in its own event (8 byte size).\n\n RINGBUF_TYPE_TIME_STAMP: (Not implemented yet). This will hold data to\n\thelp keep the buffer timestamps in sync.\n\nRINGBUF_TYPE_DATA: The event actually holds user data.\n\nThe \"len\" field is only three bits. Since the data must be\n4 byte aligned, this field is shifted left by 2, giving a\nmax length of 28 bytes. If the data load is greater than 28\nbytes, the first array field holds the full length of the\ndata load and the len field is set to zero.\n\nExample, data size of 7 bytes:\n\n\ttype \u003d RINGBUF_TYPE_DATA\n\tlen \u003d 2\n\ttime_delta: \u003ctime-stamp\u003e - \u003cprev_event-time-stamp\u003e\n\tarray[0..1]: \u003c7 bytes of data\u003e \u003c1 byte empty\u003e\n\nThis event is saved in 12 bytes of the buffer.\n\nAn event with 82 bytes of data:\n\n\ttype \u003d RINGBUF_TYPE_DATA\n\tlen \u003d 0\n\ttime_delta: \u003ctime-stamp\u003e - \u003cprev_event-time-stamp\u003e\n\tarray[0]: 84 (Note the alignment)\n\tarray[1..14]: \u003c82 bytes of data\u003e \u003c2 bytes empty\u003e\n\nThe above event is saved in 92 bytes (if my math is correct).\n82 bytes of data, 2 bytes empty, 4 byte header, 4 byte length.\n\nDo not reference the above event struct directly. Use the following\nfunctions to gain access to the event table, since the\nring_buffer_event structure may change in the future.\n\nring_buffer_event_length(event): get the length of the event.\n\tThis is the size of the memory used to record this\n\tevent, and not the size of the data pay load.\n\nring_buffer_time_delta(event): get the time delta of the event\n\tThis returns the delta time stamp since the last event.\n\tNote: Even though this is in the header, there should\n\t\tbe no reason to access this directly, accept\n\t\tfor debugging.\n\nring_buffer_event_data(event): get the data from the event\n\tThis is the function to use to get the actual data\n\tfrom the event. Note, it is only a pointer to the\n\tdata inside the buffer. This data must be copied to\n\tanother location otherwise you risk it being written\n\tover in the buffer.\n\nring_buffer_lock: A way to lock the entire buffer.\nring_buffer_unlock: unlock the buffer.\n\nring_buffer_alloc: create a new ring buffer. Can choose between\n\toverwrite or consumer/producer mode. Overwrite will\n\toverwrite old data, where as consumer producer will\n\tthrow away new data if the consumer catches up with the\n\tproducer.  The consumer/producer is the default.\n\nring_buffer_free: free the ring buffer.\n\nring_buffer_resize: resize the buffer. Changes the size of each cpu\n\tbuffer. Note, it is up to the caller to provide that\n\tthe buffer is not being used while this is happening.\n\tThis requirement may go away but do not count on it.\n\nring_buffer_lock_reserve: locks the ring buffer and allocates an\n\tentry on the buffer to write to.\nring_buffer_unlock_commit: unlocks the ring buffer and commits it to\n\tthe buffer.\n\nring_buffer_write: writes some data into the ring buffer.\n\nring_buffer_peek: Look at a next item in the cpu buffer.\nring_buffer_consume: get the next item in the cpu buffer and\n\tconsume it. That is, this function increments the head\n\tpointer.\n\nring_buffer_read_start: Start an iterator of a cpu buffer.\n\tFor now, this disables the cpu buffer, until you issue\n\ta finish. This is just because we do not want the iterator\n\tto be overwritten. This restriction may change in the future.\n\tBut note, this is used for static reading of a buffer which\n\tis usually done \"after\" a trace. Live readings would want\n\tto use the ring_buffer_consume above, which will not\n\tdisable the ring buffer.\n\nring_buffer_read_finish: Finishes the read iterator and reenables\n\tthe ring buffer.\n\nring_buffer_iter_peek: Look at the next item in the cpu iterator.\nring_buffer_read: Read the iterator and increment it.\nring_buffer_iter_reset: Reset the iterator to point to the beginning\n\tof the cpu buffer.\nring_buffer_iter_empty: Returns true if the iterator is at the end\n\tof the cpu buffer.\n\nring_buffer_size: returns the size in bytes of each cpu buffer.\n\tNote, the real size is this times the number of CPUs.\n\nring_buffer_reset_cpu: Sets the cpu buffer to empty\nring_buffer_reset: sets all cpu buffers to empty\n\nring_buffer_swap_cpu: swaps a cpu buffer from one buffer with a\n\tcpu buffer of another buffer. This is handy when you\n\twant to take a snap shot of a running trace on just one\n\tcpu. Having a backup buffer, to swap with facilitates this.\n\tFtrace max latencies use this.\n\nring_buffer_empty: Returns true if the ring buffer is empty.\nring_buffer_empty_cpu: Returns true if the cpu buffer is empty.\n\nring_buffer_record_disable: disable all cpu buffers (read only)\nring_buffer_record_disable_cpu: disable a single cpu buffer (read only)\nring_buffer_record_enable: enable all cpu buffers.\nring_buffer_record_enabl_cpu: enable a single cpu buffer.\n\nring_buffer_entries: The number of entries in a ring buffer.\nring_buffer_overruns: The number of entries removed due to writing wrap.\n\nring_buffer_time_stamp: Get the time stamp used by the ring buffer\nring_buffer_normalize_time_stamp: normalize the ring buffer time stamp\n\tinto nanosecs.\n\nI still need to implement the GTOD feature. But we need support from\nthe cpu frequency infrastructure.  But this can be done at a later\ntime without affecting the ring buffer interface.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5aa60c6073456812251caf9177cb921b2de68f77",
      "tree": "8eb56cc1db2101f31b0215134503496d8a29f639",
      "parents": [
        "7c572ac0cf5e8cd8e17f084bc6c253296cc42279"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:37 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:53 2008 +0200"
      },
      "message": "ftrace: give time for wakeup test to run\n\nIt is possible that the testing thread in the ftrace wakeup test does not\nrun before we stop the trace. This will cause the trace to fail since nothing\nwill be in the buffers.\n\nThis patch adds a small wait in the wakeup test to allow for the woken task\nto run and be traced.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c572ac0cf5e8cd8e17f084bc6c253296cc42279",
      "tree": "687ab958f3f4b9689064437808bf7fc508e28c4d",
      "parents": [
        "3ce2b9200da8b7170cc7463b7ee4212fad7b291e"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 25 13:25:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:52 2008 +0200"
      },
      "message": "tracing/ftrace: don\u0027t consume unhandled entries by boot tracer\n\nWhen the boot tracer can\u0027t handle an entry output, it returns 1.\nIt should return 0 to relay on other output functions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ce2b9200da8b7170cc7463b7ee4212fad7b291e",
      "tree": "8e9e05fb3e5282e199ee9953205504a8ded54d02",
      "parents": [
        "3bf77af6e1fef1124bf71d81f9f84885f0ee0dea"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 24 10:36:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:51 2008 +0200"
      },
      "message": "ftrace/fastboot: disable tracers self-tests when boot tracer is selected\n\nThe tracing engine resets the ring buffer and the tracers touch it\ntoo during self-tests. These self-tests happen during tracers registering\nand work against boot tracing which is logging initcalls.\n\nWe have to disable tracing self-tests if the boot-tracer is selected.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f5c2abbdeb2bb07b20c6a66bfecefe6c867b1ee",
      "tree": "0ba861c8817994f3c46446368b806f54c037b09d",
      "parents": [
        "b5ad384e79add1d87fff54070000dadcf218ffab"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 23 11:36:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:49 2008 +0200"
      },
      "message": "tracing/ftrace: give an entry on the config for boot tracer\n\nBring the entry to choose the boot tracer on the kernel config.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5ad384e79add1d87fff54070000dadcf218ffab",
      "tree": "002ce9397b13197b248c5b061bdb8728a58092c4",
      "parents": [
        "d13744cd6e3fef373a3fe656ac349b4e7c49ff79"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 23 11:34:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:48 2008 +0200"
      },
      "message": "tracing/ftrace: make tracing suitable to run the boot tracer\n\nThe tracing engine have now to be init in early_initcall to set the\nboot tracer. Only the debugfs settings will be initialized at\nfs_initcall time.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d13744cd6e3fef373a3fe656ac349b4e7c49ff79",
      "tree": "7315ec5390bd4977ecf5d0b25d7ec5cf0440236a",
      "parents": [
        "aa5d9151f745b6ee6a236a1f109118034277eb92"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 23 11:32:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:47 2008 +0200"
      },
      "message": "tracing/ftrace: add the boot tracer\n\nAdd the boot/initcall tracer.\n\nIt\u0027s primary purpose is to be able to trace the initcalls.\n\nIt is intended to be used with scripts/bootgraph.pl after some small\nimprovements.\n\nNote that it is not active after its init. To avoid tracing (and so\ncrashing) before the whole tracing engine init, you have to explicitly\ncall start_boot_trace() after do_pre_smp_initcalls() to enable it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05736a427f7e16be948ccbf39782bd3a6ae16b14",
      "tree": "6efd6991853918242947df308be60b14a6fa5e80",
      "parents": [
        "43a15386c4faf913f7d70a47748c266d6210cd6e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 22 14:55:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:11 2008 +0200"
      },
      "message": "ftrace: warn on failure to disable mcount callers\n\nWith the recent updates to ftrace, there should not be any failures when\nmodifying the code. If there is, then we need to warn about it.\n\nThis patch has a cleaned up version of the code that I used to discover\nthat the weak symbols were causing failures.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43a15386c4faf913f7d70a47748c266d6210cd6e",
      "tree": "2af766a34661123bd520fb30b1f83fbff1e65dab",
      "parents": [
        "2a3a4f669df2164288d11406d11d5e4933bf5e53"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 21 20:16:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:09 2008 +0200"
      },
      "message": "tracing/ftrace: replace none tracer by nop tracer\n\nReplace \"none\" tracer by the recently created \"nop\" tracer.\nBoth are pretty similar except that nop accepts TRACE_PRINT\nor TRACE_SPECIAL entries.\n\nAnd as a consequence, changing the size of the ring buffer now\nrequires that tracing has already been disabled.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2a3a4f669df2164288d11406d11d5e4933bf5e53",
      "tree": "cbcab61ae346f24731b52c706a3650978a95aba3",
      "parents": [
        "35cb5ed01261f5669657d2f1720aca902299887d"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 21 20:12:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:06 2008 +0200"
      },
      "message": "tracing/ftrace: tracing engine depends on Nop Tracer\n\nNow that the nop tracer is used as the default tracer by\nreplacing the \"none\" tracer, tracing engine depends on it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35cb5ed01261f5669657d2f1720aca902299887d",
      "tree": "b4c91f58d56f0744d076cfb69967efa747f1385d",
      "parents": [
        "8925b394eca0bb0a444a6487d702d0f650e94a10"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 21 20:10:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:04 2008 +0200"
      },
      "message": "tracing/ftrace: make nop tracer reset previous entries\n\nIf nop tracer is selected, some old entries from the previous tracer\ncould still be enqueued. Tracing have to be reset.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8925b394eca0bb0a444a6487d702d0f650e94a10",
      "tree": "855a9f3ba8f6e74eaf0301898d79619077fa9b8d",
      "parents": [
        "71c67d58b5660f8e42c7d4c3e77cbc03fac5ed31"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Sat Sep 20 01:00:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:01 2008 +0200"
      },
      "message": "trace: remove pointless ifdefs\n\nThe functions are already \u0027extern\u0027 anyway, so there\u0027s no problem\nwith linkage. Removing these ifdefs also helps find any potential\ncompiler errors.\n\nSuggested by Andrew Morton.\n\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71c67d58b5660f8e42c7d4c3e77cbc03fac5ed31",
      "tree": "c098b6b717c3bf1cb80bef83bde7c9a0ccbacaad",
      "parents": [
        "fb1b6d8b5154c692172a424e45fbd0573295cb93"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Sat Sep 20 01:00:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:58 2008 +0200"
      },
      "message": "ftrace: mcount_addr defined but not used\n\nWhen CONFIG_DYNAMIC_FTRACE isn\u0027t used, neither is mcount_addr. This\npatch eliminates that warning.\n\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb1b6d8b5154c692172a424e45fbd0573295cb93",
      "tree": "d9a7ad2c629a6133998402354e77cd721e4962b4",
      "parents": [
        "5bf9a1ee350a10feb94107de32a203d81fbbe706"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Fri Sep 19 03:06:43 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:43 2008 +0200"
      },
      "message": "ftrace: add nop tracer\n\nA no-op tracer which can serve two purposes:\n\n 1. A template for development of a new tracer.\n 2. A convenient way to see ftrace_printk() calls without\n    an irrelevant trace making the output messy.\n\n[ mingo@elte.hu: resolved conflicts ]\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5bf9a1ee350a10feb94107de32a203d81fbbe706",
      "tree": "ac6b11aaa35194aed9fe9f1403c9542d070d0c62",
      "parents": [
        "4427414170a63331a9cc36b9598502c5cdfe453b"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Sep 16 22:06:42 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:20 2008 +0200"
      },
      "message": "ftrace: inject markers via trace_marker file\n\nAllow a user to inject a marker (TRACE_PRINT entry) into the trace ring\nbuffer. The related file operations are derived from code by Frédéric\nWeisbecker \u003cfweisbec@gmail.com\u003e.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fc5e27ae4b45a0619701a83f30d9b7fad7ed9400",
      "tree": "236b53e76430aae9f6b1abc37de9259ba95c38c6",
      "parents": [
        "9e57fb35d711331a9b1410c5c56ebeb3733428a0"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Sep 16 22:02:27 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:14 2008 +0200"
      },
      "message": "mmiotrace: handle TRACE_PRINT entries\n\nAlso make trace_seq_print_cont() non-static, and add a newline if the\nseq buffer can\u0027t hold all data.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e57fb35d711331a9b1410c5c56ebeb3733428a0",
      "tree": "2e68b1b8bb233378cbcad0c8e9bc8f99abf7263a",
      "parents": [
        "801fe40001dfc263848552fb28924b766ed44ea4"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Sep 16 22:00:34 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:11 2008 +0200"
      },
      "message": "x86 mmiotrace: implement mmiotrace_printk()\n\nOffer mmiotrace users a function to inject markers from inside the kernel.\nThis depends on the trace_vprintk() patch.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "801fe40001dfc263848552fb28924b766ed44ea4",
      "tree": "fbb0a6ff09deb9f605d955ccdc6f5cb89793e1cf",
      "parents": [
        "45dcd8b8a8ca855591e3ac882d3a7fc255d09d43"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Sep 16 21:58:24 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:07 2008 +0200"
      },
      "message": "ftrace: add trace_vprintk()\n\ntrace_vprintk() for easier implementation of tracer specific *_printk\nfunctions. Add check check for no_tracer, and implement\n__ftrace_printk() as a wrapper.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45dcd8b8a8ca855591e3ac882d3a7fc255d09d43",
      "tree": "55b1772dfc9a6381ab1ecad7f3f6fbd605427f20",
      "parents": [
        "bbe5c7830c6dbde58726d44ec0337bc8b2d95d37"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Sep 16 21:56:41 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:37:04 2008 +0200"
      },
      "message": "ftrace: move mmiotrace functions out of trace.c\n\nMoves the mmiotrace specific functions from trace.c to\ntrace_mmiotrace.c. Functions trace_wake_up(), tracing_get_trace_entry(),\nand tracing_generic_entry_update() are therefore made available outside\ntrace.c.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "644f991d4b920ab1f5043509651479420b293490",
      "tree": "075c57f5fd43206d54e5debed0e738e1878d73aa",
      "parents": [
        "c0719e5a4b1ccc04180b7a7b71095c9fb7131919"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 06 01:06:04 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:58 2008 +0200"
      },
      "message": "ftrace: fix unlocking of hash\n\nThis must be brown paper bag week for Steven Rostedt!\n\nWhile working on ftrace for PPC, I discovered that the hash locking done\nwhen CONFIG_FTRACE_MCOUNT_RECORD is not set, is totally incorrect.\n\nWith a cut and paste error, I had the hash lock macro to lock for both\nhash_lock _and_ hash_unlock!\n\nThis bug did not affect x86 since this bug was introduced when\nCONFIG_FTRACE_MCOUNT_RECORD was added to x86.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3ee6d992821f471193a7ee7a00af9ebb4bf5d01",
      "tree": "4dbd9712266848c101f249c9df7840ba784b5a31",
      "parents": [
        "80b5e940050c273ba277acbf3a9fbc1d4441e681"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 04 14:04:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:51 2008 +0200"
      },
      "message": "ftrace: make it depend on DEBUG_KERNEL\n\nmake most of the tracers depend on DEBUG_KERNEL - that\u0027s their intended\npurpose. (most distributions have DEBUG_KERNEL enabled anyway so this is\nnot a practical limitation - but it simplifies the tracing menu in the\nnormal case)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80b5e940050c273ba277acbf3a9fbc1d4441e681",
      "tree": "dd40f96b91fe3dc5508395cf9a559e14070499e7",
      "parents": [
        "f09ce573f57ddc35c67b39e51f34545877b30031"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Sep 04 10:24:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:48 2008 +0200"
      },
      "message": "ftrace: sched_switch: show the wakee\u0027s cpu\n\nWhile profiling the smp behaviour of the scheduler it was needed to know to\nwhich cpu a task got woken.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f09ce573f57ddc35c67b39e51f34545877b30031",
      "tree": "776620a03aa55eecf5497b2a2a8027de6d819624",
      "parents": [
        "5a90f577e5369a84b720ead42e621fcb1b8a8b21"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Sep 04 10:24:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:45 2008 +0200"
      },
      "message": "ftrace: make ftrace_printk usable with the other tracers\n\nCurrently ftrace_printk only works with the ftrace tracer, switch it to an\niter_ctrl setting so we can make us of them with other tracers too.\n\n[rostedt@redhat.com: tweak to the disable condition]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a90f577e5369a84b720ead42e621fcb1b8a8b21",
      "tree": "55263f6d25613ce1ba98062ca96635aaac5dd426",
      "parents": [
        "652567aa2000f1d4a1fd434382a30d8dd4a7c980"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 03 17:42:51 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:42 2008 +0200"
      },
      "message": "ftrace: print continue index fix\n\nAn item in the trace buffer that is bigger than one entry may be split\nup using the TRACE_CONT entry. This makes it a virtual single entry.\nThe current code increments the iterator index even while traversing\nTRACE_CONT entries, making it look like the iterator is further than\nit actually is.\n\nThis patch adds code to not increment the iterator index while skipping\nover TRACE_CONT entries.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "652567aa2000f1d4a1fd434382a30d8dd4a7c980",
      "tree": "0686a5ceeeb9f6ecedf5d063d05563ac32359554",
      "parents": [
        "a6168353d1c0b24b7512e14d1c3e47ed69881a23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 03 17:42:50 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:39 2008 +0200"
      },
      "message": "ftrace: binary and not logical for continue test\n\nPeter Zijlstra provided me with a nice brown paper bag while letting me know\nthat I was doing a logical AND and not a binary one, making a condition\ntrue more often than it should be.\n\nLuckily, a false true is handled by the calling function and no harm is\ndone. But this needs to be fixed regardless.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6168353d1c0b24b7512e14d1c3e47ed69881a23",
      "tree": "f019f0304ed7465b5dbe25374a62fa704196749a",
      "parents": [
        "2ff01c6a17391225a18256d510b6e5b4aba40aa1"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Aug 20 16:36:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:34 2008 +0200"
      },
      "message": "ftrace: make output nicely spaced for up to 999 cpus\n\nCurrently some of the ftrace output goes skewiff if you have more\nthan 9 cpus, and some if you have more than 99.\n\nTwiddle with the headers and format strings to make up to 999 cpus\ndisplay without causing spacing problems.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ff01c6a17391225a18256d510b6e5b4aba40aa1",
      "tree": "9645990cbdcf5009c6b901de1004c3369e44c1aa",
      "parents": [
        "1b6cced6ec9677fa65471e890dfdcb4bf5387643"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 04 15:04:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:31 2008 +0200"
      },
      "message": "stack tracer: depends on DEBUG_KERNEL\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1b6cced6ec9677fa65471e890dfdcb4bf5387643",
      "tree": "3728f61fff36a4c2f1f41ae15e638be58437c6bc",
      "parents": [
        "d53475b5aa946752e3306b2ecb5a8c9c51cf8dd0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 29 16:51:43 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:28 2008 +0200"
      },
      "message": "ftrace: stack trace add indexes\n\nThis patch adds indexes into the stack that the functions in the\nstack dump were found at. As an added bonus, I also added a diff\nto show which function is the most notorious consumer of the stack.\n\nThe output now looks like this:\n\n# cat /debug/tracing/stack_trace\n        Depth   Size      Location    (48 entries)\n        -----   ----      --------\n  0)     2476     212   blk_recount_segments+0x39/0x59\n  1)     2264      12   bio_phys_segments+0x16/0x1d\n  2)     2252      20   blk_rq_bio_prep+0x23/0xaf\n  3)     2232      12   init_request_from_bio+0x74/0x77\n  4)     2220      56   __make_request+0x294/0x331\n  5)     2164     136   generic_make_request+0x34f/0x37d\n  6)     2028      56   submit_bio+0xe7/0xef\n  7)     1972      28   submit_bh+0xd1/0xf0\n  8)     1944     112   block_read_full_page+0x299/0x2a9\n  9)     1832       8   blkdev_readpage+0x14/0x16\n 10)     1824      28   read_cache_page_async+0x7e/0x109\n 11)     1796      16   read_cache_page+0x11/0x49\n 12)     1780      32   read_dev_sector+0x3c/0x72\n 13)     1748      48   read_lba+0x4d/0xaa\n 14)     1700     168   efi_partition+0x85/0x61b\n 15)     1532      72   rescan_partitions+0x10e/0x266\n 16)     1460      40   do_open+0x1c7/0x24e\n 17)     1420     292   __blkdev_get+0x79/0x84\n 18)     1128      12   blkdev_get+0x12/0x14\n 19)     1116      20   register_disk+0xd1/0x11e\n 20)     1096      28   add_disk+0x34/0x90\n 21)     1068      52   sd_probe+0x2b1/0x366\n 22)     1016      20   driver_probe_device+0xa5/0x120\n 23)      996       8   __device_attach+0xd/0xf\n 24)      988      32   bus_for_each_drv+0x3e/0x68\n 25)      956      24   device_attach+0x56/0x6c\n 26)      932      16   bus_attach_device+0x26/0x4d\n 27)      916      64   device_add+0x380/0x4b4\n 28)      852      28   scsi_sysfs_add_sdev+0xa1/0x1c9\n 29)      824     160   scsi_probe_and_add_lun+0x919/0xa2a\n 30)      664      36   __scsi_add_device+0x88/0xae\n 31)      628      44   ata_scsi_scan_host+0x9e/0x21c\n 32)      584      28   ata_host_register+0x1cb/0x1db\n 33)      556      24   ata_host_activate+0x98/0xb5\n 34)      532     192   ahci_init_one+0x9bd/0x9e9\n 35)      340      20   pci_device_probe+0x3e/0x5e\n 36)      320      20   driver_probe_device+0xa5/0x120\n 37)      300      20   __driver_attach+0x3f/0x5e\n 38)      280      36   bus_for_each_dev+0x40/0x62\n 39)      244      12   driver_attach+0x19/0x1b\n 40)      232      28   bus_add_driver+0x9c/0x1af\n 41)      204      28   driver_register+0x76/0xd2\n 42)      176      20   __pci_register_driver+0x44/0x71\n 43)      156       8   ahci_init+0x14/0x16\n 44)      148     100   _stext+0x42/0x122\n 45)       48      20   kernel_init+0x175/0x1dc\n 46)       28      28   kernel_thread_helper+0x7/0x10\n\nThe first column is simply an index starting from the inner most function\nand counting down to the outer most.\n\nThe next column is the location that the function was found on the stack.\n\nThe next column is the size of the stack for that function.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "3b47bfc1fca01cccad9cce2d18b79b18ef2e4131"
}
