)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "3b47bfc1fca01cccad9cce2d18b79b18ef2e4131",
      "tree": "5be5a241139b505dcb0edf6150183096c23b47ed",
      "parents": [
        "e5a81b629ea8feb9e7530cfac35cfb41c45facf3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 27 23:24:15 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:22 2008 +0200"
      },
      "message": "ftrace: remove direct reference to mcount in trace code\n\nThe mcount record method of ftrace scans objdump for references to mcount.\nUsing mcount as the reference to test if the calls to mcount being replaced\nare indeed calls to mcount, this use of mcount was also caught as a\nlocation to change. Using a variable that points to the mcount address\nmoves this reference into the data section that is not scanned, and\nwe do not use a false location to try and modify.\n\nThe warn on code was what was used to detect this bug.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e5a81b629ea8feb9e7530cfac35cfb41c45facf3",
      "tree": "71437955371e0913521d4ddb02db974df9fd8d34",
      "parents": [
        "b3a320417484a6d6b9d28098944df58341353992"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 27 23:31:01 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:19 2008 +0200"
      },
      "message": "ftrace: add stack tracer\n\nThis is another tracer using the ftrace infrastructure, that examines\nat each function call the size of the stack. If the stack use is greater\nthan the previous max it is recorded.\n\nYou can always see (and set) the max stack size seen. By setting it\nto zero will start the recording again. The backtrace is also available.\n\nFor example:\n\n# cat /debug/tracing/stack_max_size\n1856\n\n# cat /debug/tracing/stack_trace\n[\u003cc027764d\u003e] stack_trace_call+0x8f/0x101\n[\u003cc021b966\u003e] ftrace_call+0x5/0x8\n[\u003cc02553cc\u003e] clocksource_get_next+0x12/0x48\n[\u003cc02542a5\u003e] update_wall_time+0x538/0x6d1\n[\u003cc0245913\u003e] do_timer+0x23/0xb0\n[\u003cc0257657\u003e] tick_do_update_jiffies64+0xd9/0xf1\n[\u003cc02576b9\u003e] tick_sched_timer+0x4a/0xad\n[\u003cc0250fe6\u003e] __run_hrtimer+0x3e/0x75\n[\u003cc02518ed\u003e] hrtimer_interrupt+0xf1/0x154\n[\u003cc022c870\u003e] smp_apic_timer_interrupt+0x71/0x84\n[\u003cc021b7e9\u003e] apic_timer_interrupt+0x2d/0x34\n[\u003cc0238597\u003e] finish_task_switch+0x29/0xa0\n[\u003cc05abd13\u003e] schedule+0x765/0x7be\n[\u003cc05abfca\u003e] schedule_timeout+0x1b/0x90\n[\u003cc05ab4d4\u003e] wait_for_common+0xab/0x101\n[\u003cc05ab5ac\u003e] wait_for_completion+0x12/0x14\n[\u003cc033cfc3\u003e] blk_execute_rq+0x84/0x99\n[\u003cc0402470\u003e] scsi_execute+0xc2/0x105\n[\u003cc040250a\u003e] scsi_execute_req+0x57/0x7f\n[\u003cc043afe0\u003e] sr_test_unit_ready+0x3e/0x97\n[\u003cc043bbd6\u003e] sr_media_change+0x43/0x205\n[\u003cc046b59f\u003e] media_changed+0x48/0x77\n[\u003cc046b5ff\u003e] cdrom_media_changed+0x31/0x37\n[\u003cc043b091\u003e] sr_block_media_changed+0x16/0x18\n[\u003cc02b9e69\u003e] check_disk_change+0x1b/0x63\n[\u003cc046f4c3\u003e] cdrom_open+0x7a1/0x806\n[\u003cc043b148\u003e] sr_block_open+0x78/0x8d\n[\u003cc02ba4c0\u003e] do_open+0x90/0x257\n[\u003cc02ba869\u003e] blkdev_open+0x2d/0x56\n[\u003cc0296a1f\u003e] __dentry_open+0x14d/0x23c\n[\u003cc0296b32\u003e] nameidata_to_filp+0x24/0x38\n[\u003cc02a1c68\u003e] do_filp_open+0x347/0x626\n[\u003cc02967ef\u003e] do_sys_open+0x47/0xbc\n[\u003cc02968b0\u003e] sys_open+0x23/0x2b\n[\u003cc021aadd\u003e] sysenter_do_call+0x12/0x26\n\nI\u0027ve tested this on both x86_64 and i386.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac8825ec6d941b6899331b84c7d6bf027c3bb4f1",
      "tree": "3c8673f34f88e9438405216416ad22af8b9e4998",
      "parents": [
        "2d7da80f7138c4276ef4fa0334be400b805d0fbf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 08:12:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:09 2008 +0200"
      },
      "message": "ftrace: clean up macro usage\n\nenclose the argument in parenthesis. (especially since we cast it,\nwhich is a high prio operation)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d7da80f7138c4276ef4fa0334be400b805d0fbf",
      "tree": "2c2c21758498c989cf22414bf66bff1093edd263",
      "parents": [
        "6f93fc076a464bfe24e8d4c5fea3f6ca5bdb264d"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Aug 25 13:08:44 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:06 2008 +0200"
      },
      "message": "ftrace: fix build failure\n\nAfter disabling FTRACE_MCOUNT_RECORD via a patch, a dormant build\nfailure surfaced:\n\n kernel/trace/ftrace.c: In function \u0027ftrace_record_ip\u0027:\n kernel/trace/ftrace.c:416: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n kernel/trace/ftrace.c:433: error: incompatible type for argument 1 of \u0027_spin_lock_irqsave\u0027\n\nIntroduced by commit 6dad8e07f4c10b17b038e84d29f3ca41c2e55cd0 (\"ftrace:\nadd necessary locking for ftrace records\").\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99ecdc43bc17faf5fa571db8569df171ecd0e5b8",
      "tree": "aedefb2859247aefe7538e479ab71bcd3a1717c8",
      "parents": [
        "00fd61aee10533e003f2f00ab7163207660a4051"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:05 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:47 2008 +0200"
      },
      "message": "ftrace: add necessary locking for ftrace records\n\nThe new design of pre-recorded mcounts and updating the code outside of\nkstop_machine has changed the way the records themselves are protected.\n\nThis patch uses the ftrace_lock to protect the records. Note, the lock\nstill does not need to be taken within calls that are only called via\nkstop_machine, since the that code can not run while the spin lock is held.\n\nAlso removed the hash_lock needed for the daemon when MCOUNT_RECORD is\nconfigured. Also did a slight cleanup of an unused variable.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00fd61aee10533e003f2f00ab7163207660a4051",
      "tree": "72f42d3a4b238d84e3697c53b31b1ba9f8d022cb",
      "parents": [
        "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 15 21:40:04 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:43 2008 +0200"
      },
      "message": "ftrace: do not init module on ftrace disabled\n\nIf one of the self tests of ftrace has disabled the function tracer,\ndo not run the code to convert the mcount calls in modules.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a983aad2e5b3dc83a8a761675445cdd8f3e6bd",
      "tree": "f207a80453ff556fa1ddcb7eef4f17485a647161",
      "parents": [
        "3989cce82b272bd6312555fcc47c11715c157102"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 15 21:08:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:40 2008 +0200"
      },
      "message": "ftrace: fix some mistakes in error messages\n\nThis patch fixes some mistakes on the tracer in warning messages when\ndebugfs fails to create tracing files.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: srostedt@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f5a54e371ca20b119b73704f6c01b71295c1714",
      "tree": "1453315564a19e967f11e612e264d4d2989afbe5",
      "parents": [
        "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 30 22:36:46 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:26 2008 +0200"
      },
      "message": "ftrace: dump out ftrace buffers to console on panic\n\nAt OLS I had a lot of interest to be able to have the ftrace buffers\ndumped on panic.  Usually one would expect to uses kexec and examine\nthe buffers after a new kernel is loaded. But sometimes the resources\ndo not permit kdump and kexec, so having an option to still see the\nsequence of events up to the crash is very advantageous.\n\nThis patch adds the option to have the ftrace buffers dumped to the\nconsole in the latency_trace format on a panic. When the option is set,\nthe default entries per CPU buffer are lowered to 16384, since the writing\nto the serial (if that is the console) may take an awful long time\notherwise.\n\n[\n Changes since -v1:\n  Got alpine to send correctly (as well as spell check working).\n  Removed config option.\n  Moved the static variables into ftrace_dump itself.\n  Gave printk a log level.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0",
      "tree": "4948b0cd7b9828aa19f6862b10173cbc9f59ea68",
      "parents": [
        "dd0e545f061f90099a3dcc13aa77e29c6295cf23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 16:45:49 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:22 2008 +0200"
      },
      "message": "ftrace: ftrace_printk doc moved\n\nBased on Randy Dunlap\u0027s suggestion, the ftrace_printk kernel-doc belongs\nwith the ftrace_printk macro that should be used. Not with the\n__ftrace_printk internal function.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd0e545f061f90099a3dcc13aa77e29c6295cf23",
      "tree": "91842e81cacd2ae785bf14b96f3f65af96985658",
      "parents": [
        "2e2ca155cd2213b4f398031180fb3d399d5b7db9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:19 2008 +0200"
      },
      "message": "ftrace: printk formatting infrastructure\n\nThis patch adds a feature that can help kernel developers debug their\ncode using ftrace.\n\n  int ftrace_printk(const char *fmt, ...);\n\nThis records into the ftrace buffer using printf formatting. The entry\nsize in the buffers are still a fixed length. A new type has been added\nthat allows for more entries to be used for a single recording.\n\nThe start of the print is still the same as the other entries.\n\nIt returns the number of characters written to the ftrace buffer.\n\nFor example:\n\nHaving a module with the following code:\n\nstatic int __init ftrace_print_test(void)\n{\n        ftrace_printk(\"jiffies are %ld\\n\", jiffies);\n        return 0;\n}\n\nGives me:\n\n  insmod-5441  3...1 7569us : ftrace_print_test: jiffies are 4296626666\n\nfor the latency_trace file and:\n\n          insmod-5441  [03]  1959.370498: ftrace_print_test jiffies are 4296626666\n\nfor the trace file.\n\nNote: Only the infrastructure should go into the kernel. It is to help\nfacilitate debugging for other kernel developers. Calls to ftrace_printk\nis not intended to be left in the kernel, and should be frowned upon just\nlike scattering printks around in the code.\n\nBut having this easily at your fingertips helps the debugging go faster\nand bugs be solved quicker.\n\nMaybe later on, we can hook this with markers and have their printf format\nbe sucked into ftrace output.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e2ca155cd2213b4f398031180fb3d399d5b7db9",
      "tree": "027295832950e23ac4edc84e43550d02e9a1acc6",
      "parents": [
        "fed1939c64d2288938fdc1c367d49082da65e195"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:40 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:15 2008 +0200"
      },
      "message": "ftrace: new continue entry - separate out from trace_entry\n\nSome tracers will need to work with more than one entry. In order to do this\nthe trace_entry structure was split into two fields. One for the start of\nall entries, and one to continue an existing entry.\n\nThe trace_entry structure now has a \"field\" entry that consists of the previous\ncontent of the trace_entry, and a \"cont\" entry that is just a string buffer\nthe size of the \"field\" entry.\n\nThanks to Andrew Morton for suggesting this idea.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fed1939c64d2288938fdc1c367d49082da65e195",
      "tree": "a4592352d28efcfe82379c71d061b9127e49a115",
      "parents": [
        "28614889bcb2558a47d02d52394b7fd9795a9547"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:19 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:12 2008 +0200"
      },
      "message": "ftrace: remove old pointers to mcount\n\nWhen a mcount pointer is recorded into a table, it is used to add or\nremove calls to mcount (replacing them with nops). If the code is removed\nvia removing a module, the pointers still exist.  At modifying the code\na check is always made to make sure the code being replaced is the code\nexpected. In-other-words, the code being replaced is compared to what\nit is expected to be before being replaced.\n\nThere is a very small chance that the code being replaced just happens\nto look like code that calls mcount (very small since the call to mcount\nis relative). To remove this chance, this patch adds ftrace_release to\nallow module unloading to remove the pointers to mcount within the module.\n\nAnother change for init calls is made to not trace calls marked with\n__init. The tracing can not be started until after init is done anyway.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9fdda33cd7c7519b082e37538fe790f9ff684bb",
      "tree": "56d16d69e519e127a2090df6a16aa9029e8c0e05",
      "parents": [
        "732f3ca7d4ba3c1be8d051d52302ef441ee7748b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:05 2008 +0200"
      },
      "message": "ftrace: do not show freed records in available_filter_functions\n\nSeems that freed records can appear in the available_filter_functions list.\nThis patch fixes that.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90d595fe5ca4b685465c068907e6e554760abea8",
      "tree": "03f98454af8c6756177aa053ae7440373007f67d",
      "parents": [
        "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:47 2008 +0200"
      },
      "message": "ftrace: enable mcount recording for modules\n\nThis patch enables the loading of the __mcount_section of modules and\nchanging all the callers of mcount into nops.\n\nThe modification is done before the init_module function is called, so\nagain, we do not need to use kstop_machine to make these changes.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1",
      "tree": "54d4d4f7e8311b77f3166a8807a635347d479081",
      "parents": [
        "8da3821ba5634497da63d58a69e24a97697c4a2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:44 2008 +0200"
      },
      "message": "ftrace: mcount call site on boot nops core\n\nThis is the infrastructure to the converting the mcount call sites\nrecorded by the __mcount_loc section into nops on boot. It also allows\nfor using these sites to enable tracing as normal. When the __mcount_loc\nsection is used, the \"ftraced\" kernel thread is disabled.\n\nThis uses the current infrastructure to record the mcount call sites\nas well as convert them to nops. The mcount function is kept as a stub\non boot up and not converted to the ftrace_record_ip function. We use the\nftrace_record_ip to only record from the table.\n\nThis patch does not handle modules. That comes with a later patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8da3821ba5634497da63d58a69e24a97697c4a2b",
      "tree": "47d4d097b1cd2aafae2e3596a9ae0d1293228782",
      "parents": [
        "8b1fa1d7b22f386747c7b78b918d4c680c16066f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:40 2008 +0200"
      },
      "message": "ftrace: create __mcount_loc section\n\nThis patch creates a section in the kernel called \"__mcount_loc\".\nThis will hold a list of pointers to the mcount relocation for\neach call site of mcount.\n\nFor example:\n\nobjdump -dr init/main.o\n[...]\nDisassembly of section .text:\n\n0000000000000000 \u003cdo_one_initcall\u003e:\n   0:   55                      push   %rbp\n[...]\n000000000000017b \u003cinit_post\u003e:\n 17b:   55                      push   %rbp\n 17c:   48 89 e5                mov    %rsp,%rbp\n 17f:   53                      push   %rbx\n 180:   48 83 ec 08             sub    $0x8,%rsp\n 184:   e8 00 00 00 00          callq  189 \u003cinit_post+0xe\u003e\n                        185: R_X86_64_PC32      mcount+0xfffffffffffffffc\n[...]\n\nWe will add a section to point to each function call.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad .text + 0x185\n[...]\n\nThe offset to of the mcount call site in init_post is an offset from\nthe start of the section, and not the start of the function init_post.\nThe mcount relocation is at the call site 0x185 from the start of the\n.text section.\n\n  .text + 0x185  \u003d\u003d init_post + 0xa\n\nWe need a way to add this __mcount_loc section in a way that we do not\nlose the relocations after final link.  The .text section here will\nbe attached to all other .text sections after final link and the\noffsets will be meaningless.  We need to keep track of where these\n.text sections are.\n\nTo do this, we use the start of the first function in the section.\ndo_one_initcall.  We can make a tmp.s file with this function as a reference\nto the start of the .text section.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad do_one_initcall + 0x185\n[...]\n\nThen we can compile the tmp.s into a tmp.o\n\n  gcc -c tmp.s -o tmp.o\n\nAnd link it into back into main.o.\n\n  ld -r main.o tmp.o -o tmp_main.o\n  mv tmp_main.o main.o\n\nBut we have a problem.  What happens if the first function in a section\nis not exported, and is a static function. The linker will not let\nthe tmp.o use it.  This case exists in main.o as well.\n\nDisassembly of section .init.text:\n\n0000000000000000 \u003cset_reset_devices\u003e:\n   0:   55                      push   %rbp\n   1:   48 89 e5                mov    %rsp,%rbp\n   4:   e8 00 00 00 00          callq  9 \u003cset_reset_devices+0x9\u003e\n                        5: R_X86_64_PC32        mcount+0xfffffffffffffffc\n\nThe first function in .init.text is a static function.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nThe lowercase \u0027t\u0027 means that set_reset_devices is local and is not exported.\nIf we simply try to link the tmp.o with the set_reset_devices we end\nup with two symbols: one local and one global.\n\n .section __mcount_loc,\"a\",@progbits\n .quad set_reset_devices + 0x10\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n                 U set_reset_devices\n\nWe still have an undefined reference to set_reset_devices, and if we try\nto compile the kernel, we will end up with an undefined reference to\nset_reset_devices, or even worst, it could be exported someplace else,\nand then we will have a reference to the wrong location.\n\nTo handle this case, we make an intermediate step using objcopy.\nWe convert set_reset_devices into a global exported symbol before linking\nit with tmp.o and set it back afterwards.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nNow we have a section in main.o called __mcount_loc that we can place\nsomewhere in the kernel using vmlinux.ld.S and access it to convert\nall these locations that call mcount into nops before starting SMP\nand thus, eliminating the need to do this with kstop_machine.\n\nNote, A well documented perl script (scripts/recordmcount.pl) is used\nto do all this in one location.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f87f1121895dc09d2d1c1db5f14af6aa4ce3e94",
      "tree": "4b8354ab2dc0890d0d4c91d42ff9e13db50ebeab",
      "parents": [
        "cf569a932217b97e2fc2c48aa597fe29519a0cff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 23 14:15:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:33:32 2008 +0200"
      },
      "message": "tracing: clean up tracepoints kconfig structure\n\ndo not expose users to CONFIG_TRACEPOINTS - tracers can select it\njust fine.\n\nupdate ftrace to select CONFIG_TRACEPOINTS.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b07c3f193a8074aa4afe43cfa8ae38ec4c7ccfa9",
      "tree": "7d2b1d9efc5a8e24cb07c8d7f0b3e056fec8f150",
      "parents": [
        "0a16b6075843325dc402edf80c1662838b929aff"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:32:26 2008 +0200"
      },
      "message": "ftrace: port to tracepoints\n\nPorting the trace_mark() used by ftrace to tracepoints. (cleanup)\n\nChangelog :\n- Change error messages : marker -\u003e tracepoint\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9e3ee1c39c0cc71222f9980ccbf87fe072897eef",
      "tree": "99462000e6f0d4f907cb2fc690f19d4d441ba0f3",
      "parents": [
        "e56b3bc7942982ac2589c942fb345e38bc7a341a",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tkernel/stop_machine.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "784e2d76007f90d69341b95967160c4fb7829299",
      "tree": "adf7f8a8a5470080efcc971559b79f10b44042e6",
      "parents": [
        "9b1a4d38373a5581a4e01032a3ccdd94cd93477b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 28 12:16:31 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 28 12:16:31 2008 +1000"
      },
      "message": "stop_machine: fix up ftrace.c\n\nSimple conversion.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "605ccb73f6a1c891a16268b3a2923208fc637958",
      "tree": "598c26eeb3e911cc2effc203c89fe414241532f2",
      "parents": [
        "375614422509c98a1f3dbef410206bf81775169b"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sun Jul 27 13:39:03 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:58:20 2008 -0700"
      },
      "message": "tracing: remove unused variable\n\nRemove the following warning with CONFIG_TRACING\u003dy:\n\n\tkernel/trace/trace.c: In function ‘s_next’:\n\tkernel/trace/trace.c:1186: warning: unused variable ‘last_ent’\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a048d3aff8b828b6c0fa7ddd90a531248ab4e0f9",
      "tree": "8edfb5bd152aef0d48c4a165247906db347c3a56",
      "parents": [
        "fb3b80614438f8b73b3879a19350439d6aa402da",
        "1fe371044b21b226b96a9dd959e971b50b28c78e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 13:25:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 13:25:47 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ftrace: fix modular build\n  ftrace: disable tracing on acpi idle calls\n  ftrace: remove latency-tracer leftover\n  ftrace: only trace preempt off with preempt tracer\n  ftrace: fix 4d3702b6 (post-v2.6.26): WARNING: at kernel/lockdep.c:2731 check_flags (ftrace)\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fe371044b21b226b96a9dd959e971b50b28c78e",
      "tree": "1ce8243c13d869155f607b739a9d3e25493a1d31",
      "parents": [
        "dcf309974555d17019c6a8e1a425238f17990b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:09:47 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:08:22 2008 +0200"
      },
      "message": "ftrace: fix modular build\n\nfix:\n\n ERROR: \"start_critical_timings\" [drivers/acpi/processor.ko] undefined!\n ERROR: \"stop_critical_timings\" [drivers/acpi/processor.ko] undefined!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a89cc1959d0ea5f36bf7421dc97b34f03809637d",
      "tree": "3532653b4246c9771fb7bcbfcc1dd979de12415e",
      "parents": [
        "28325df0d9339b7f3aba9c45174d4586223ef46b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Jul 25 01:48:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "markers: fix sparse integer as NULL pointer warning\n\nkernel/trace/trace_sysprof.c:164:20: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1986b0cb1671ea39178b4e2b00461109728fc935",
      "tree": "cf8ff2253bb57d339f895a85ab16b2ef28b5ce7b",
      "parents": [
        "28afe961a18f77b2249062499bdbf70fd2ec6bba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 08:10:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 08:10:02 2008 +0200"
      },
      "message": "ftrace: remove latency-tracer leftover\n\nremove the :vim\u003dft\u003dhelp tag from trace files.\n\nI used them years ago to syntax-highlight traces and forgot about this hack.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28afe961a18f77b2249062499bdbf70fd2ec6bba",
      "tree": "71a5cb32924b8c8256bbc0f2f81c6b8c2ac79108",
      "parents": [
        "1e01cb0c6ff7e9ddb6547551794c6aa82785a7cb",
        "338b9bb3adac0d2c5a1e180491d9b001d624c402"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 08:09:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 24 08:09:26 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/urgent\n"
    },
    {
      "commit": "65c011845316d3c1381f478ca0d8265c43b3b039",
      "tree": "a7e29e92a1ad0440ef5fe16dc16d73e8bf7983d2",
      "parents": [
        "bb2c018b09b681d43f5e08124b83e362647ea82b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 15 14:14:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:02:57 2008 +0200"
      },
      "message": "cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n\n  * This patch replaces the dangerous lvalue version of cpumask_of_cpu\n    with new cpumask_of_cpu_ptr macros.  These are patterned after the\n    node_to_cpumask_ptr macros.\n\n    In general terms, if there is a cpumask_of_cpu_map[] then a pointer to\n    the cpumask_of_cpu_map[cpu] entry is used.  The cpumask_of_cpu_map\n    is provided when there is a large NR_CPUS count, reducing\n    greatly the amount of code generated and stack space used for\n    cpumask_of_cpu().  The pointer to the cpumask_t value is needed for\n    calling set_cpus_allowed_ptr() to reduce the amount of stack space\n    needed to pass the cpumask_t value.\n\n    If there isn\u0027t a cpumask_of_cpu_map[], then a temporary variable is\n    declared and filled in with value from cpumask_of_cpu(cpu) as well as\n    a pointer variable pointing to this temporary variable.  Afterwards,\n    the pointer is used to reference the cpumask value.  The compiler\n    will optimize out the extra dereference through the pointer as well\n    as the stack space used for the pointer, resulting in identical code.\n\n    A good example of the orthogonal usages is in net/sunrpc/svc.c:\n\n\tcase SVC_POOL_PERCPU:\n\t{\n\t\tunsigned int cpu \u003d m-\u003epool_to[pidx];\n\t\tcpumask_of_cpu_ptr(cpumask, cpu);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, cpumask);\n\t\treturn 1;\n\t}\n\tcase SVC_POOL_PERNODE:\n\t{\n\t\tunsigned int node \u003d m-\u003epool_to[pidx];\n\t\tnode_to_cpumask_ptr(nodecpumask, node);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, nodecpumask);\n\t\treturn 1;\n\t}\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e01cb0c6ff7e9ddb6547551794c6aa82785a7cb",
      "tree": "791ecc834a169f6e3d7322a0c285dd95e9cd0c31",
      "parents": [
        "e59494f441c834ca7aaa0e6fa6678ddbd3d72743"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 15 09:53:37 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 18:57:34 2008 +0200"
      },
      "message": "ftrace: only trace preempt off with preempt tracer\n\nWhen PREEMPT_TRACER and IRQSOFF_TRACER are both configured and irqsoff\ntracer is running, the preempt_off sections might also be traced.\n\nThanks to Andrew Morton for pointing out my mistake of spin_lock disabling\ninterrupts while he was reviewing ftrace.txt. Seems that my example I used\nactually hit this bug.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e59494f441c834ca7aaa0e6fa6678ddbd3d72743",
      "tree": "2442881b6f96ae0d859e45b893b9694bded8879a",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 16 00:13:45 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 13:47:15 2008 +0200"
      },
      "message": "ftrace: fix 4d3702b6 (post-v2.6.26): WARNING: at kernel/lockdep.c:2731 check_flags (ftrace)\n\nOn Wed, 16 Jul 2008, Vegard Nossum wrote:\n\n\u003e When booting 4d3702b6, I got this huge thing:\n\u003e\n\u003e Testing tracer wakeup: \u003c4\u003e------------[ cut here ]------------\n\u003e WARNING: at kernel/lockdep.c:2731 check_flags+0x123/0x160()\n\u003e Modules linked in:\n\u003e Pid: 1, comm: swapper Not tainted 2.6.26-crashing-02127-g4d3702b6 #30\n\u003e  [\u003cc015c349\u003e] warn_on_slowpath+0x59/0xb0\n\u003e  [\u003cc01276c6\u003e] ? ftrace_call+0x5/0x8\n\u003e  [\u003cc012d800\u003e] ? native_read_tsc+0x0/0x20\n\u003e  [\u003cc0158de2\u003e] ? sub_preempt_count+0x12/0xf0\n\u003e  [\u003cc01814eb\u003e] ? trace_hardirqs_off+0xb/0x10\n\u003e  [\u003cc0182fbc\u003e] ? __lock_acquire+0x2cc/0x1120\n\u003e  [\u003cc01814eb\u003e] ? trace_hardirqs_off+0xb/0x10\n\u003e  [\u003cc01276af\u003e] ? mcount_call+0x5/0xa\n\u003e  [\u003cc017ff53\u003e] check_flags+0x123/0x160\n\u003e  [\u003cc0183e61\u003e] lock_acquire+0x51/0xd0\n\u003e  [\u003cc01276c6\u003e] ? ftrace_call+0x5/0x8\n\u003e  [\u003cc0613d4f\u003e] _spin_lock_irqsave+0x5f/0xa0\n\u003e  [\u003cc01a8d45\u003e] ? ftrace_record_ip+0xf5/0x220\n\u003e  [\u003cc02d5413\u003e] ? debug_locks_off+0x3/0x50\n\u003e  [\u003cc01a8d45\u003e] ftrace_record_ip+0xf5/0x220\n\u003e  [\u003cc01276af\u003e] mcount_call+0x5/0xa\n\u003e  [\u003cc02d5418\u003e] ? debug_locks_off+0x8/0x50\n\u003e  [\u003cc017ff27\u003e] check_flags+0xf7/0x160\n\u003e  [\u003cc0183e61\u003e] lock_acquire+0x51/0xd0\n\u003e  [\u003cc01276c6\u003e] ? ftrace_call+0x5/0x8\n\u003e  [\u003cc0613d4f\u003e] _spin_lock_irqsave+0x5f/0xa0\n\u003e  [\u003cc01affcd\u003e] ? wakeup_tracer_call+0x6d/0xf0\n\u003e  [\u003cc01625e2\u003e] ? _local_bh_enable+0x62/0xb0\n\u003e  [\u003cc0158ddd\u003e] ? sub_preempt_count+0xd/0xf0\n\u003e  [\u003cc01affcd\u003e] wakeup_tracer_call+0x6d/0xf0\n\u003e  [\u003cc0162724\u003e] ? __do_softirq+0xf4/0x110\n\u003e  [\u003cc01afff1\u003e] ? wakeup_tracer_call+0x91/0xf0\n\u003e  [\u003cc01276c6\u003e] ftrace_call+0x5/0x8\n\u003e  [\u003cc0162724\u003e] ? __do_softirq+0xf4/0x110\n\u003e  [\u003cc0158de2\u003e] ? sub_preempt_count+0x12/0xf0\n\u003e  [\u003cc01625e2\u003e] _local_bh_enable+0x62/0xb0\n\u003e  [\u003cc0162724\u003e] __do_softirq+0xf4/0x110\n\u003e  [\u003cc01627ed\u003e] do_softirq+0xad/0xb0\n\u003e  [\u003cc0162a15\u003e] irq_exit+0xa5/0xb0\n\u003e  [\u003cc013a506\u003e] smp_apic_timer_interrupt+0x66/0xa0\n\u003e  [\u003cc02d3fac\u003e] ? trace_hardirqs_off_thunk+0xc/0x10\n\u003e  [\u003cc0127449\u003e] apic_timer_interrupt+0x2d/0x34\n\u003e  [\u003cc018007b\u003e] ? find_usage_backwards+0xb/0xf0\n\u003e  [\u003cc0613a09\u003e] ? _spin_unlock_irqrestore+0x69/0x80\n\u003e  [\u003cc014ef32\u003e] tg_shares_up+0x132/0x1d0\n\u003e  [\u003cc014d2a2\u003e] walk_tg_tree+0x62/0xa0\n\u003e  [\u003cc014ee00\u003e] ? tg_shares_up+0x0/0x1d0\n\u003e  [\u003cc014a860\u003e] ? tg_nop+0x0/0x10\n\u003e  [\u003cc015499d\u003e] update_shares+0x5d/0x80\n\u003e  [\u003cc0154a2f\u003e] try_to_wake_up+0x6f/0x280\n\u003e  [\u003cc01a8b90\u003e] ? __ftrace_modify_code+0x0/0xc0\n\u003e  [\u003cc01a8b90\u003e] ? __ftrace_modify_code+0x0/0xc0\n\u003e  [\u003cc0154c94\u003e] wake_up_process+0x14/0x20\n\u003e  [\u003cc01725f6\u003e] kthread_create+0x66/0xb0\n\u003e  [\u003cc0195400\u003e] ? do_stop+0x0/0x200\n\u003e  [\u003cc0195320\u003e] ? __stop_machine_run+0x30/0xb0\n\u003e  [\u003cc0195340\u003e] __stop_machine_run+0x50/0xb0\n\u003e  [\u003cc0195400\u003e] ? do_stop+0x0/0x200\n\u003e  [\u003cc01a8b90\u003e] ? __ftrace_modify_code+0x0/0xc0\n\u003e  [\u003cc061242d\u003e] ? mutex_unlock+0xd/0x10\n\u003e  [\u003cc01953cc\u003e] stop_machine_run+0x2c/0x60\n\u003e  [\u003cc01a94d3\u003e] unregister_ftrace_function+0x103/0x180\n\u003e  [\u003cc01b0517\u003e] stop_wakeup_tracer+0x17/0x60\n\u003e  [\u003cc01b056f\u003e] wakeup_tracer_ctrl_update+0xf/0x30\n\u003e  [\u003cc01ab8d5\u003e] trace_selftest_startup_wakeup+0xb5/0x130\n\u003e  [\u003cc01ab950\u003e] ? trace_wakeup_test_thread+0x0/0x70\n\u003e  [\u003cc01aadf5\u003e] register_tracer+0x135/0x1b0\n\u003e  [\u003cc0877d02\u003e] init_wakeup_tracer+0xd/0xf\n\u003e  [\u003cc085d437\u003e] kernel_init+0x1a9/0x2ce\n\u003e  [\u003cc061397b\u003e] ? _spin_unlock_irq+0x3b/0x60\n\u003e  [\u003cc02d3f9c\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n\u003e  [\u003cc0877cf5\u003e] ? init_wakeup_tracer+0x0/0xf\n\u003e  [\u003cc0182646\u003e] ? trace_hardirqs_on_caller+0x126/0x180\n\u003e  [\u003cc02d3f9c\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n\u003e  [\u003cc01269c8\u003e] ? restore_nocheck_notrace+0x0/0xe\n\u003e  [\u003cc085d28e\u003e] ? kernel_init+0x0/0x2ce\n\u003e  [\u003cc085d28e\u003e] ? kernel_init+0x0/0x2ce\n\u003e  [\u003cc01275fb\u003e] kernel_thread_helper+0x7/0x10\n\u003e  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e ---[ end trace a7919e7f17c0a725 ]---\n\u003e irq event stamp: 579530\n\u003e hardirqs last  enabled at (579528): [\u003cc01826ab\u003e] trace_hardirqs_on+0xb/0x10\n\u003e hardirqs last disabled at (579529): [\u003cc01814eb\u003e] trace_hardirqs_off+0xb/0x10\n\u003e softirqs last  enabled at (579530): [\u003cc0162724\u003e] __do_softirq+0xf4/0x110\n\u003e softirqs last disabled at (579517): [\u003cc01627ed\u003e] do_softirq+0xad/0xb0\n\u003e irq event stamp: 579530\n\u003e hardirqs last  enabled at (579528): [\u003cc01826ab\u003e] trace_hardirqs_on+0xb/0x10\n\u003e hardirqs last disabled at (579529): [\u003cc01814eb\u003e] trace_hardirqs_off+0xb/0x10\n\u003e softirqs last  enabled at (579530): [\u003cc0162724\u003e] __do_softirq+0xf4/0x110\n\u003e softirqs last disabled at (579517): [\u003cc01627ed\u003e] do_softirq+0xad/0xb0\n\u003e PASSED\n\u003e\n\u003e Incidentally, the kernel also hung while I was typing in this report.\n\nThings get weird between lockdep and ftrace because ftrace can be called\nwithin lockdep internal code (via the mcount pointer) and lockdep can be\ncalled with ftrace (via spin_locks).\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6712e299b7dc78aa4971b85e803435ee6d49a9dd",
      "tree": "b3d17a2d068737ec07727b28e93c7d374c27721b",
      "parents": [
        "ec1bb60bbff0386c3ec25360e7a8c72f467a6ff1",
        "b2613e370dbeb69edbff989382fa54f2395aa471"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 15:58:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 15:58:35 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 into auto-ftrace-next\n"
    },
    {
      "commit": "b2613e370dbeb69edbff989382fa54f2395aa471",
      "tree": "e943c77ea618e08cc1d2ba8cd026079d357c69fb",
      "parents": [
        "60bc080090e3bf6afa29c62cb25f913706551010"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 16:44:27 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 16:46:50 2008 +0200"
      },
      "message": "ftrace: build fix for ftraced_suspend\n\nfix:\n\n kernel/trace/ftrace.c:1615: error: \u0027ftraced_suspend\u0027 undeclared (first use in this function)\n kernel/trace/ftrace.c:1615: error: (Each undeclared identifier is reported only once\n kernel/trace/ftrace.c:1615: error: for each function it appears in.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60bc080090e3bf6afa29c62cb25f913706551010",
      "tree": "42fa03bbae28072c0302f6c8f4efead22307828f",
      "parents": [
        "a2bb6a3d85ef3124cd336403a95abc0540d3fbe2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:22 2008 +0200"
      },
      "message": "ftrace: separate out the function enabled variable\n\nCurrently the function tracer uses the global tracer_enabled variable that\nis used to keep track if the tracer is enabled or not. The function tracing\nstartup needs to be separated out, otherwise the internal happenings of\nthe tracer startup is also recorded.\n\nThis patch creates a ftrace_function_enabled variable to all the starting\nof the function traces to happen after everything has been started.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a2bb6a3d85ef3124cd336403a95abc0540d3fbe2",
      "tree": "3048f355cc3ca814222ba34943c9a8f735e7a5e6",
      "parents": [
        "26bc83f4cb911a0b4dabfe23b700aaf3235f2955"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:15 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:21 2008 +0200"
      },
      "message": "ftrace: add ftrace_kill_atomic\n\nIt has been suggested that I add a way to disable the function tracer\non an oops. This code adds a ftrace_kill_atomic. It is not meant to be\nused in normal situations. It will disable the ftrace tracer, but will\nnot perform the nice shutdown that requires scheduling.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26bc83f4cb911a0b4dabfe23b700aaf3235f2955",
      "tree": "d68f36b2373164af899678eada1922dbdbfbd13a",
      "parents": [
        "ad591240ceadcaf41b2a88855ca5f1c77c5a0298"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:14 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:21 2008 +0200"
      },
      "message": "ftrace: use current CPU for function startup\n\nThis is more of a clean up. Currently the function tracer initializes the\ntracer with which ever CPU was last used for tracing. This value isn\u0027t\nrealy useful for function tracing, but at least it should be something other\nthan a random number.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad591240ceadcaf41b2a88855ca5f1c77c5a0298",
      "tree": "8ace309f09fd6d1cbbf422452618297714654f81",
      "parents": [
        "b5c21b4514b38f450848feb432f7120376d01ffe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:13 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:20 2008 +0200"
      },
      "message": "ftrace: start wakeup tracing after setting function tracer\n\nEnabling the wakeup tracer before enabling the function tracing causes\nsome strange results due to the dynamic enabling of the functions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5c21b4514b38f450848feb432f7120376d01ffe",
      "tree": "cb1309db3cecd0aeef9ca1e546f731c8c04faef4",
      "parents": [
        "1e16c0a081f6c93f04c6af784d6a160955269f91"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:12 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:19 2008 +0200"
      },
      "message": "ftrace: check proper config for preempt type\n\nThere is no CONFIG_PREEMPT_DESKTOP. Use the proper entry CONFIG_PREEMPT.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "001b6767b1d0c89e458e5ddb039245b268f569fb",
      "tree": "51d1135647957f9ad1a513103cdd3cfa11694cda",
      "parents": [
        "007c05d4d2ce42fabd58cb54ed98e0a1714d9d86"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:10 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:18 2008 +0200"
      },
      "message": "ftrace: define function trace nop\n\nWhen CONFIG_FTRACE is not enabled, the tracing_start_functon_trace\nand tracing_stop_function_trace should be nops.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "007c05d4d2ce42fabd58cb54ed98e0a1714d9d86",
      "tree": "94873072975275a1e03ccc1dad27a15c41ee3cc4",
      "parents": [
        "98a05ed4bd7774f533ab185fe0bf2fdc58292d7c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:18 2008 +0200"
      },
      "message": "ftrace: move sched_switch enable after markers\n\nWe have two markers now that are enabled on sched_switch. One that records\nthe context switching and the other that records task wake ups. Currently\nwe enable the tracing first and then set the markers. This causes some\nconfusing traces:\n\n# tracer: sched_switch\n#\n#           TASK-PID   CPU#    TIMESTAMP  FUNCTION\n#              | |      |          |         |\n       trace-cmd-3973  [00]   115.834817:   3973:120:R   +     3:  0:S\n       trace-cmd-3973  [01]   115.834910:   3973:120:R   +     6:  0:S\n       trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S\n       trace-cmd-3973  [03]   115.834910:   3973:120:R   +    12:  0:S\n       trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S\n          \u003cidle\u003e-0     [02]   115.834910:      0:140:R \u003d\u003d\u003e  3973:120:R\n\nHere we see that trace-cmd with PID 3973 wakes up task 9 but the next line\nshows the idle task doing a context switch to task 3973.\n\nEnabling the tracing to _after_ the markers are set creates a much saner\noutput:\n\n# tracer: sched_switch\n#\n#           TASK-PID   CPU#    TIMESTAMP  FUNCTION\n#              | |      |          |         |\n          \u003cidle\u003e-0     [02]  7922.634225:      0:140:R \u003d\u003d\u003e  4790:120:R\n       trace-cmd-4789  [03]  7922.634225:      0:140:R   +  4790:120:R\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec1bb60bbff0386c3ec25360e7a8c72f467a6ff1",
      "tree": "893c04336763acd84d575fd713773b882e8bc8a6",
      "parents": [
        "5373fdbdc1dba69aa956098650f71b731d471885",
        "37f5d732f34fa099676b2c52b8a57bab01a011de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:08 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/sysprof\u0027 into auto-ftrace-next\n"
    },
    {
      "commit": "5373fdbdc1dba69aa956098650f71b731d471885",
      "tree": "8d9f07539896a696352818820c9c5f6612370882",
      "parents": [
        "bac0c9103b31c3dd83ad9d731dd9834e2ba75e4f",
        "4d51c7587bb13dbb2fafcad6c0b5231bd864b55f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:06 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:06 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/mmiotrace\u0027 into auto-ftrace-next\n"
    },
    {
      "commit": "98a05ed4bd7774f533ab185fe0bf2fdc58292d7c",
      "tree": "aabf40b440c0931e92b8ff0aaf32052a6b4796de",
      "parents": [
        "760378e1497841246ea7e42abad617d8a8ac0bcc"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Thu Jun 26 22:51:51 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 03 14:46:24 2008 +0200"
      },
      "message": "ftrace: prevent ftrace modifications while being kprobe\u0027d, v2\n\nadd two missing chunks for ftrace+kprobe.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f22f9a89ce6857d377bf22dba4c1a8cd256c5136",
      "tree": "34899ea2a9dc603014052742f774e8aeb51d9591",
      "parents": [
        "ecea656d1d5e912d2f3d332657ea4a6d8380f891"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 21 23:50:29 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:10:59 2008 +0200"
      },
      "message": "ftrace: avoid modifying kprobe\u0027d records\n\nAvoid modifying the mcount call-site if there is a kprobe installed on it.\nThese records are not marked as failed however. This allowed the filter\nrules on them to remain up-to-date. Whenever the kprobe on the corresponding\nrecord is removed, the record gets updated as normal.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecea656d1d5e912d2f3d332657ea4a6d8380f891",
      "tree": "fd139cdd762230bf4e55a1341ba29e2b309968b1",
      "parents": [
        "785656a41f9a9c0e843a23d1ae05d900b5158f8f"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 21 23:47:53 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:10:58 2008 +0200"
      },
      "message": "ftrace: freeze kprobe\u0027d records\n\nLet records identified as being kprobe\u0027d be marked as \"frozen\". The trouble\nwith records which have a kprobe installed on their mcount call-site is\nthat they don\u0027t get updated. So if such a function which is currently being\ntraced gets its tracing disabled due to a new filter rule (or because it\nwas added to the notrace list) then it won\u0027t be updated and continue being\ntraced. This patch allows scanning of all frozen records during tracing to\ncheck if they should be traced.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "395a59d0f8e86bb39cd700c3d185d30c670bb958",
      "tree": "1558e635efcede901c5dbe9acd625d475db5b369",
      "parents": [
        "f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 21 23:47:27 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:10:56 2008 +0200"
      },
      "message": "ftrace: store mcount address in rec-\u003eip\n\nRecord the address of the mcount call-site. Currently all archs except sparc64\nrecord the address of the instruction following the mcount call-site. Some\ngeneral cleanups are entailed. Storing mcount addresses in rec-\u003eip enables\nlooking them up in the kprobe hash table later on to check if they\u0027re kprobe\u0027d.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: davem@davemloft.net\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f22529351f7060d61eff3b76d7c9706f90aaedf3",
      "tree": "199213077613a1d2929ff931968315c11056d765",
      "parents": [
        "e765ee90da62535ac7d7a97f2464f9646539d683"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 22 10:37:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 14:44:13 2008 +0200"
      },
      "message": "namespacecheck: fixes\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4500b84c51645bbc86be3ca84f2252b7ada060f",
      "tree": "4f11488be2c6a7f89762ce800c77d888d540fb1a",
      "parents": [
        "20764ff1efb440640353053ec83263e69e1259e0"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 14 11:59:39 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 14 08:32:29 2008 +0200"
      },
      "message": "ftrace: fix \"notrace\" filtering priority\n\nThis is a fix to give notrace filter rules priority over \"set_ftrace_filter\"\nrules.\n\nThis fix ensures that functions which are set to be filtered and are\nconcurrently marked as \"notrace\" don\u0027t get recorded. As of now, if\na record is marked as FTRACE_FL_FILTER and is enabled, then the notrace\nflag is not checked. Tested on x86-32.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20764ff1efb440640353053ec83263e69e1259e0",
      "tree": "090e4e3144ad2b06ecaf736f83383a4b65e34b5e",
      "parents": [
        "2b1bce1787700768cbc87c8509851c6f49d252dc"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Jun 12 11:27:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 12 11:51:03 2008 +0200"
      },
      "message": "ftrace: fix printout\n\nDo not print loglevel before \"entries of %ld bytes\". Move it to the previous\npr_info.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b1bce1787700768cbc87c8509851c6f49d252dc",
      "tree": "d21617cd4b77ce13417eee35aebec9f91850ce90",
      "parents": [
        "040ec23d07f95285e9777a85cda29cb339a3065b"
      ],
      "author": {
        "name": "Ankita Garg",
        "email": "ankita@in.ibm.com",
        "time": "Mon Jun 09 14:10:25 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 14:52:30 2008 +0200"
      },
      "message": "ftrace: disable tracing when current_tracer is set to \"none\"\n\nFound that inspite of setting the current_tracer to \"none\", trace from\nthe previous trace type continued to be collected. The patch below fixes\nthis and causes the trace to be disabled when the \"none\" type is\nselected.\n\nCompile and boot tested the patch for functionality.\n\nSigned-off-by: Ankita Garg \u003cankita@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34078a5e44db3cbed2e0ed580c29a39d94e0cd97",
      "tree": "30bc17928302d6e38f352ab7fb11d1907906d058",
      "parents": [
        "eb9a7bf09172f409c10ec9560adeea95bb4045f5"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Tue Jun 03 08:33:41 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:59:05 2008 +0200"
      },
      "message": "ftrace: prevent freeing of all failed updates\n\nSteven Rostedt wrote:\n\u003e If we unload a module and reload it, will it ever get converted again?\n\nThe intent was always to filter core kernel functions to prevent their freeing.\nHere\u0027s a fix which should allow re-recording of module call-sites.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb9a7bf09172f409c10ec9560adeea95bb4045f5",
      "tree": "0773fb494daf7157396d6a2069fe8698bad315e5",
      "parents": [
        "1d74f2a0f64b4091e5e91b55ac1b17dff93f4b59"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sun Jun 01 21:47:54 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:58:17 2008 +0200"
      },
      "message": "ftrace: add debugfs entry \u0027failures\u0027\n\nIdentify functions which had their mcount call-site updates failed. This can\nhelp us track functions which ftrace shouldn\u0027t fiddle with, and are thus not\nbeing traced. If there is no race with any external agent which is modifying\nthe mcount call-site, then this file displays no entries (normal case).\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d74f2a0f64b4091e5e91b55ac1b17dff93f4b59",
      "tree": "8777ee5d38cf27939687adf2dc3d2a9a5f60b33d",
      "parents": [
        "0eb967012ea15e6e8cfab483d9fa37bc602d400c"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sun Jun 01 21:47:42 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:57:49 2008 +0200"
      },
      "message": "ftrace: remove ftrace_ip_converted()\n\nRemove the unneeded function ftrace_ip_converted().\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0eb967012ea15e6e8cfab483d9fa37bc602d400c",
      "tree": "0e9c026a2d83f313cdc3f9f235d58ff522cee090",
      "parents": [
        "e0773410247f1e5fc6f7c52a4c5f3c6c9873d527"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sun Jun 01 21:47:30 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:56:57 2008 +0200"
      },
      "message": "ftrace: prevent freeing of all failed updates\n\nPrevent freeing of records which cause problems and correspond to function from\ncore kernel text. A new flag, FTRACE_FL_CONVERTED is used to mark a record\nas \"converted\". All other records are patched lazily to NOPs. Failed records\nnow also remain on frace_hash table. Each invocation of ftrace_record_ip now\nchecks whether the traced function has ever been recorded (including past\nfailures) and doesn\u0027t re-record it again.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad90c0e3ce8d20d6873b57e36181ef6d7a0097fe",
      "tree": "34af559928f9f2403c72156b672578d28f790a4f",
      "parents": [
        "76094a2cf46e4ab776055d4086615b884408568c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 27 20:48:37 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 12:50:04 2008 +0200"
      },
      "message": "ftrace: user update and disable dynamic ftrace daemon\n\nIn dynamic ftrace, the mcount function starts off pointing to a stub\nfunction that just returns.\n\nOn start up, the call to the stub is modified to point to a \"record_ip\"\nfunction. The job of the record_ip function is to add the function to\na pre-allocated hash list. If the function is already there, it simply is\nignored, otherwise it is added to the list.\n\nLater, a ftraced daemon wakes up and calls kstop_machine if any functions\nhave been recorded, and changes the calls to the recorded functions to\na simple nop.  If no functions were recorded, the daemon goes back to sleep.\n\nThe daemon wakes up once a second to see if it needs to update any newly\nrecorded functions into nops.  Usually it does not, but if a lot of code\nhas been executed for the first time in the kernel, the ftraced daemon\nwill call kstop_machine to update those into nops.\n\nThe problem currently is that there\u0027s no way to stop the daemon from doing\nthis, and it can cause unneeded latencies (800us which for some is bothersome).\n\nThis patch adds a new file /debugfs/tracing/ftraced_enabled. If the daemon\nis active, reading this will return \"enabled\\n\" and \"disabled\\n\" when the\ndaemon is not running. To disable the daemon, the user can echo \"0\" or\n\"disable\" into this file, and \"1\" or \"enable\" to re-enable the daemon.\n\nSince the daemon is used to convert the functions into nops to increase\nthe performance of the system, I also added that anytime something is\nwritten into the ftraced_enabled file, kstop_machine will run if there\nare new functions that have been detected that need to be converted.\n\nThis way the user can disable the daemon but still be able to control the\nconversion of the mcount calls to nops by simply,\n\n  \"echo 0 \u003e /debugfs/tracing/ftraced_enabled\"\n\nwhen they need to do more conversions.\n\nTo see the number of converted functions:\n\n  \"cat /debugfs/tracing/dyn_ftrace_total_info\"\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "76094a2cf46e4ab776055d4086615b884408568c",
      "tree": "d6c7bd23772fb8ed34a5c176af9d21b4c434b1eb",
      "parents": [
        "014c257cce65e9d1cd2d28ec1c89a37c536b151d"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Wed May 28 00:03:18 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 12:41:19 2008 +0200"
      },
      "message": "ftrace: distinguish kretprobe\u0027d functions in trace logs\n\nTracing functions via ftrace which have a kretprobe installed on them, can produce misleading output in their trace logs. E.g, consider the correct trace of the following sequence:\n\ndo_IRQ()\n{\n~\n  irq_enter();\n~\n}\n\nTrace log (sample):\n\u003cidle\u003e-0     [00] 4154504455.781616: irq_enter \u003c- do_IRQ\n\nBut if irq_enter() has a kretprobe installed on it, the return value stored on the stack at each invocation is modified to divert the return to a kprobe trampoline function called kretprobe_trampoline(). So with this the trace would (currently) look like:\n\n\u003cidle\u003e-0     [00] 4154504455.781616: irq_enter \u003c- kretprobe_trampoline\n\nNow this is quite misleading to the end user, as it suggests something that didn\u0027t actually happen. So just to avoid such misinterpretations, the inlined patch aims to output such a log as:\n\n\u003cidle\u003e-0     [00] 4154504455.781616: irq_enter \u003c- [unknown/kretprobe\u0027d]\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "492a7ea5bcf263ee02a9eb6a3ab0222a1946fade",
      "tree": "9905f9249f975751c1b880154753bb4c02d72ed3",
      "parents": [
        "ffdaa3582b6b39d625d585d07e329ffdc925e971"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sun May 25 00:10:04 2008 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:52:10 2008 +0200"
      },
      "message": "ftrace: fix updating of ftrace_update_cnt\n\nHi Ingo/Steven,\n\nFtrace currently maintains an update count which includes false updates,\ni.e, updates which failed. If anything, such failures should be tracked\nby some separate variable, but this patch provides a minimal fix.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: rostedt@goodmis.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ffdaa3582b6b39d625d585d07e329ffdc925e971",
      "tree": "2e75b26ea065d6e11eeb17b8ea77bcd2f16853c6",
      "parents": [
        "ccbfac2923c9febaeaf07a50054027a92b502718"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat May 24 23:45:02 2008 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:52:04 2008 +0200"
      },
      "message": "ftrace: safe traversal of ftrace_hash hlist\n\nHi Steven,\n\nI noticed that concurrent instances of ftrace_record_ip()\nhave a race between ftrace_hash list traversal during\nftrace_ip_in_hash() (before acquiring ftrace_shutdown_lock)\nand ftrace_add_hash(). If it\u0027s so then this should fix it.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: rostedt@goodmis.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41bc8144d02028133bcd1d545023c6f49e8b2411",
      "tree": "382a6bbd0560df129c27b490aca36404edd7b19a",
      "parents": [
        "41c52c0db9607e59f90da7da5309489fa06e887f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 11:49:22 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:49 2008 +0200"
      },
      "message": "ftrace: fix up cmdline recording\n\nThe new work with converting the trace hooks over to markers broke the\ncommand line recording of ftrace. This patch fixes it again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41c52c0db9607e59f90da7da5309489fa06e887f",
      "tree": "b0b1f282c087c53dfd4081da5a8a35cdc5ea5ebb",
      "parents": [
        "da89a7a2536c46e76a1a4351a70a8b8417e5fed1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 11:46:33 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:37 2008 +0200"
      },
      "message": "ftrace: set_ftrace_notrace feature\n\nWhile debugging latencies in the RT kernel, I found that it would be nice\nto be able to filter away functions from the trace than just to filter\non functions.\n\nI added a new interface to the debugfs tracing directory called\n\n  set_ftrace_notrace\n\nWhen dynamic frace is enabled, this lets you filter away functions that will\nnot be recorded in the trace. It is similar to adding \u0027notrace\u0027 to those\nfunctions but by doing it without recompiling the kernel.\n\nHere\u0027s how set_ftrace_filter and set_ftrace_notrace interact. Remember, if\nset_ftrace_filter is set, it removes all functions from the trace execpt for\nthose listed in the set_ftrace_filter. set_ftrace_notrace will prevent those\nfunctions from being traced.\n\nIf you were to set one function in both set_ftrace_filter and\nset_ftrace_notrace and that function was the same, then you would end up\nwith an empty trace.\n\nthe set of functions to trace is:\n\n  set_ftrace_filter \u003d\u003d empty then\n\n     all functions not in set_ftrace_notrace\n\n  else\n\n     set of the set_ftrace_filter and not in set of set_ftrace_notrace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "da89a7a2536c46e76a1a4351a70a8b8417e5fed1",
      "tree": "97443d1159d8965c9c349ddc0d63b4468ce14c15",
      "parents": [
        "7e18d8e701b6798a5df11e0a16881a60ab1018b6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 00:22:20 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:27 2008 +0200"
      },
      "message": "ftrace: remove printks from irqsoff trace\n\nPrinting out new max latencies was fine for the old RT tracer. But for\nmainline it is a bit messy. We also need to test if the run queue\nis locked before we can do the print. This means that we may not be\nprinting out latencies if the run queue is locked on another CPU.\nThis produces inconsistencies in the output.\n\nThis patch simply removes the print altogether.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: pq@iki.fi\nCc: proski@gnu.org\nCc: sandmann@redhat.com\nCc: a.p.zijlstra@chello.nl\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7e18d8e701b6798a5df11e0a16881a60ab1018b6",
      "tree": "788be0413af1f39fb7b493089dd5a497251279f6",
      "parents": [
        "4902f8849da6d2805bd291551a6dfd48f1b4f604"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 00:22:19 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:22 2008 +0200"
      },
      "message": "ftrace: add function tracing to wake up tracing\n\nThis patch adds function tracing to the functions that are called\non the CPU of the task being traced.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: pq@iki.fi\nCc: proski@gnu.org\nCc: sandmann@redhat.com\nCc: a.p.zijlstra@chello.nl\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4902f8849da6d2805bd291551a6dfd48f1b4f604",
      "tree": "ec19e62448c1d839c502cfc03cf8c60c2da17c6f",
      "parents": [
        "19384c0314342222b18d4c7f09cdce1ca74dfd2a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 00:22:18 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:09 2008 +0200"
      },
      "message": "ftrace: move ftrace_special to trace.c\n\nMove the ftrace_special out of sched_switch to trace.c.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: pq@iki.fi\nCc: proski@gnu.org\nCc: sandmann@redhat.com\nCc: a.p.zijlstra@chello.nl\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "19384c0314342222b18d4c7f09cdce1ca74dfd2a",
      "tree": "9312acd07471cb89f2090f01e3259eab40de3eea",
      "parents": [
        "c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 00:22:16 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:39:45 2008 +0200"
      },
      "message": "ftrace: limit use of check pages\n\nThe check_pages function is called often enough that it can cause problems\nwith trace outputs or even bringing the system to a halt.\n\nThis patch limits the check_pages to the places that are most likely to\nhave problems. The check is made at the flip between the global array and\nthe max save array, as well as when the size of the buffers changes and\nthe self tests.\n\nThis patch also removes the BUG_ON from check_pages and replaces it with\na WARN_ON and disabling of the tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: pq@iki.fi\nCc: proski@gnu.org\nCc: sandmann@redhat.com\nCc: a.p.zijlstra@chello.nl\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4d2df795f0c3eb91f97a666f47716121a2f166ed",
      "tree": "3eec35f76966ff456c6069ddabeb630afbe66a8a",
      "parents": [
        "cf3271a73b612a03da00681ecd9bfefab37c74c9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 15:00:46 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 15:00:46 2008 +0200"
      },
      "message": "sysprof: make it depend on X86\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dee310d0adf41019aca476052ac3085ff286d9be",
      "tree": "8e5b7982b787fc4036ad01a8a4a58accf9e15127",
      "parents": [
        "87e547fe41a8b57d6d80afc67a0031fbe477eb0d"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:21:03 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:27:36 2008 +0200"
      },
      "message": "x86 mmiotrace: use resource_size_t for phys addresses\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0fd5c2fa188311667267c02a702ae699a9fc2bd",
      "tree": "4b96842aef6d1142bf720ba3a13bacca314129fb",
      "parents": [
        "2039238b79b51a50f8477f53f33750e1c3fc146a"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:21:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:27:15 2008 +0200"
      },
      "message": "mmiotrace: do not print bogus pid for maps either\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2039238b79b51a50f8477f53f33750e1c3fc146a",
      "tree": "4ce2cf80d840b1846c416e376e0e8391f8f3c0f6",
      "parents": [
        "d0a7e8ca5b996d36219e6fc002907291c8ee677b"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:21:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:27:08 2008 +0200"
      },
      "message": "mmiotrace: print overrun counts\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0a7e8ca5b996d36219e6fc002907291c8ee677b",
      "tree": "b96c265c1fda3a23d6711759ec89a7cbbeb395ba",
      "parents": [
        "7423d1115f18627666d475fccc7c62394406ff8c"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:21:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:27:03 2008 +0200"
      },
      "message": "mmiotrace: print header using the read hook.\n\nNow the header is printed only for `trace_pipe\u0027 file.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "736ca61fa81874b3fee205a593251b1869d0bcf1",
      "tree": "d5228344a811420057e6c8a6c1bf31f733469e6b",
      "parents": [
        "e4b37ee68609037ffcaa2fcfae47cd31a605bb9e"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:20:59 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:26:00 2008 +0200"
      },
      "message": "x86 mmiotrace: Do not print bogus pid\n\nNon-zero pid indicates the MMIO access originated in user space.\nWe do not catch that kind of accesses yet, so always print zero for now.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "801a175bf601f9a9d5e86e92dee9adeeb6625da8",
      "tree": "05d82b1a935a9e2558402fd3d399196b6f60162e",
      "parents": [
        "138295373ccf7625fcb0218dfea114837983bc39"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:58 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:25:23 2008 +0200"
      },
      "message": "mmiotrace: ftrace fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "138295373ccf7625fcb0218dfea114837983bc39",
      "tree": "3d4afbb0d976fa41435fd5806ff0338aa1f15567",
      "parents": [
        "bd8ac686c73c7e925fcfe0b02dc4e7b947127864"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:20:58 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:25:16 2008 +0200"
      },
      "message": "ftrace: mmiotrace update, #2\n\nanother weekend, another patch. This should apply on top of my previous patch\nfrom March 23rd.\n\nSummary of changes:\n- Print PCI device list in output header\n- work around recursive probe hits on SMP\n- refactor dis/arm_kmmio_fault_page() and add check for page levels\n- remove un/reference_kmmio(), the die notifier hook is registered\npermanently into the list\n- explicitly check for single stepping in die notifier callback\n\nI have tested this version on my UP Athlon64 desktop with Nouveau, and\nSMP Core 2 Duo laptop with the proprietary nvidia driver. Both systems\nare 64-bit. One previously unknown bug crept into daylight: the ftrace\nframework\u0027s output routines print the first entry last after buffer has\nwrapped around.\n\nThe most important regressions compared to non-ftrace mmiotrace at this\ntime are:\n- failure of trace_pipe file\n- illegal lines in output file\n- unaware of losing data due to buffer full\n\nPersonally I\u0027d like to see these three solved before submitting to\nmainline. Other issues may come up once we know when we lose events.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bd8ac686c73c7e925fcfe0b02dc4e7b947127864",
      "tree": "7a675c4919429b507bb8e7b09677d96ae30ec561",
      "parents": [
        "f984b51e0779a6dd30feedc41404013ca54e5d05"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:20:57 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:24:53 2008 +0200"
      },
      "message": "ftrace: mmiotrace, updates\n\nhere is a patch that makes mmiotrace work almost well within the tracing\nframework. The patch applies on top of my previous patch. I have my own\noutput formatting in place now.\n\nSummary of changes:\n- fix the NULL dereference that was due to not calling tracing_reset()\n- add print_line() callback into struct tracer\n- implement print_line() for mmiotrace, producing up-to-spec text\n- add my output header, but that is not really called in the right place\n- rewrote the main structs in mmiotrace\n- added two new trace entry types: TRACE_MMIO_RW and TRACE_MMIO_MAP\n- made some functions in trace.c non-static\n- check current\u003d\u003dNULL in tracing_generic_entry_update()\n- fix(?) comparison in trace_seq_printf()\n\nThings seem to work fine except a few issues. Markers (text lines injected\ninto mmiotrace log) are missing, I did not feel hacking them in before we\nhave variable length entries. My output header is printed only for \u0027trace\u0027\nfile, but not \u0027trace_pipe\u0027. For some reason, despite my quick fix,\niter-\u003etrace is NULL in print_trace_line() when called from \u0027trace_pipe\u0027\nfile, which means I don\u0027t get proper output formatting.\n\nI only tried by loading nouveau.ko, which just detects the card, and that\nis traced fine. I didn\u0027t try further. Map, two reads and unmap. Works\nperfectly.\n\nI am missing the information about overflows, I\u0027d prefer to have a\ncounter for lost events. I didn\u0027t try, but I guess currently there is no\nway of knowning when it overflows?\n\nSo, not too far from being fully operational, it seems :-)\nAnd looking at the diffstat, there also is some 700-900 lines of user space\ncode that just became obsolete.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f984b51e0779a6dd30feedc41404013ca54e5d05",
      "tree": "ae7e80f53707e9069a9607072a554b51c660075b",
      "parents": [
        "d61fc44853f46fb002228b18aa5f30db21fcd4ac"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon May 12 21:20:57 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 11:22:43 2008 +0200"
      },
      "message": "ftrace: add mmiotrace plugin\n\nOn Sat, 22 Mar 2008 13:07:47 +0100\nIngo Molnar \u003cmingo@elte.hu\u003e wrote:\n\n\u003e \u003e \u003e i\u0027d suggest the following: pull x86.git and sched-devel.git into a\n\u003e \u003e \u003e single tree [the two will combine without rejects]. Then try to add a\n\u003e \u003e \u003e kernel/tracing/trace_mmiotrace.c ftrace plugin. The trace_sysprof.c\n\u003e \u003e \u003e plugin might be a good example.\n\u003e \u003e\n\u003e \u003e I did this and now I have mmiotrace enabled/disabled via the tracing\n\u003e \u003e framework (what do we call this, since ftrace is one of the tracers?).\n\u003e\n\u003e cool! could you send the patches for that? (even if they are not fully\n\u003e functional yet)\n\nPatch attached in the end. Nice to see how much code disappeared. I tried\nto mark all the features I had to break with XXX-comments.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cf3271a73b612a03da00681ecd9bfefab37c74c9",
      "tree": "fa4423bf262449aedea54a1145e6b10deefc3bf7",
      "parents": [
        "8a9e94c1fbfdac45a3b6811b880777c4116aa309"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Mon May 12 05:28:50 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 23:59:12 2008 +0200"
      },
      "message": "ftrace/sysprof: don\u0027t trace the user stack if we are a kernel thread.\n\nCheck that current-\u003emm is non-NULL before attempting to trace the user\nstack.\n\nAlso take depth of the kernel stack into account when comparing\nagainst sample_max_depth.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8a9e94c1fbfdac45a3b6811b880777c4116aa309",
      "tree": "450075d0a8abec4323692b4c8008d2d18c4b7ab5",
      "parents": [
        "cd2134b1dda92fd450e6a1e12b1c7960dd6a2178"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:54 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 23:59:00 2008 +0200"
      },
      "message": "sysprof: update copyrights\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd2134b1dda92fd450e6a1e12b1c7960dd6a2178",
      "tree": "2b5105a3055ffc8613719b07558d96a32a71fa30",
      "parents": [
        "5fc4511c756860149b81aead6eca5bdf5c438ea7"
      ],
      "author": {
        "name": "Soeren Sandmann Pedersen",
        "email": "sandmann@redhat.com",
        "time": "Mon May 12 21:20:54 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 23:58:50 2008 +0200"
      },
      "message": "sysprof: kernel trace\n\nadd kernel backtracing to the sysprof tracer.\n\nchange the format of the data, so that type\u003d0 means\nbeginning of stack trace, 1 means kernel address, 2 means user\naddress, and 3 means end of trace.\n\nEIP addresses are no longer distinguished from return addresses,\nmostly because sysprof userspace doesn\u0027t make use of it. It may be\nworthwhile adding this back in though, just in case it becomes\ninteresting.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5fc4511c756860149b81aead6eca5bdf5c438ea7",
      "tree": "5d4e2239badd3d43f03155fa4ab1ad7b7e7837b0",
      "parents": [
        "9caee613d3b860ae81b79370eeae9ac967c07536"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 23:58:21 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 23:58:21 2008 +0200"
      },
      "message": "ftrace: make it more available in the Kconfig\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "9caee613d3b860ae81b79370eeae9ac967c07536"
}
