)]}'
{
  "log": [
    {
      "commit": "932fed4e2e42c3d730c01bb63b1c4f812c533d5b",
      "tree": "11b1afac3a40d253cdb905c42901edfaae5e196e",
      "parents": [
        "57d524154ffe99d27fb55e0e30ddbad9f4c35806",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:24 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:45 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc7\u0027 into perf/core\n\nMerge reason: pull in the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a3a4a5acd3bd2f6f1e102e1f1b9d2e2bb320a7fd",
      "tree": "8ed40e1c0bb654d824e39e6b42d1619a2807e75d",
      "parents": [
        "e5e06985bec89414ce2b3f301c24d884f609b020"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu May 05 23:55:18 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 06 13:20:59 2011 -0700"
      },
      "message": "Regression: partial revert \"tracing: Remove lock_depth from event entry\"\n\nThis partially reverts commit e6e1e2593592a8f6f6380496655d8c6f67431266.\n\nThat commit changed the structure layout of the trace structure, which\nin turn broke PowerTOP (1.9x generation) quite badly.\n\nI appreciate not wanting to expose the variable in question, and\nPowerTOP was not using it, so I\u0027ve replaced the variable with just a\npadding field - that way if in the future a new field is needed it can\njust use this padding field.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32673822e440eb92eb334631eb0a199d0c532d13",
      "tree": "c1e55c1793fa17937d9b8e0a9a2946583f1948d5",
      "parents": [
        "fa7b69475a6c192853949ba496dd9c37b497b548",
        "5373db886b791b2bc7811e2c115377916c409a5d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:38:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:40:21 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n\nConflicts:\n\tinclude/linux/perf_event.h\n\nMerge reason: pick up the latest jump-label enhancements, they are cooked ready.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee5e51f51be755830f57445e268ba50e88ccbdbb",
      "tree": "059d6c5843275a5ab94ae01408c1dc6dbe00b2ea",
      "parents": [
        "1813dc3776c22ad4b0294a6df8434b9a02c98109"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Mar 25 12:05:18 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 04 12:18:24 2011 -0400"
      },
      "message": "tracing: Avoid soft lockup in trace_pipe\n\nrunning following commands:\n\n  # enable the binary option\n  echo 1 \u003e ./options/bin\n  # disable context info option\n  echo 0 \u003e ./options/context-info\n  # tracing only events\n  echo 1 \u003e ./events/enable\n  cat trace_pipe\n\nplus forcing system to generate many tracing events,\nis causing lockup (in NON preemptive kernels) inside\ntracing_read_pipe function.\n\nThe issue is also easily reproduced by running ltp stress test.\n(ftrace_stress_test.sh)\n\nThe reasons are:\n - bin/hex/raw output functions for events are set to\n   trace_nop_print function, which prints nothing and\n   returns TRACE_TYPE_HANDLED value\n - LOST EVENT trace do not handle trace_seq overflow\n\nThese reasons force the while loop in tracing_read_pipe\nfunction never to break.\n\nThe attached patch fixies handling of lost event trace, and\nchanges trace_nop_print to print minimal info, which is needed\nfor the correct tracing_read_pipe processing.\n\nv2 changes:\n - omit the cond_resched changes by trace_nop_print changes\n - WARN changed to WARN_ONCE and added info to be able\n   to find out the culprit\n\nv3 changes:\n - make more accurate patch comment\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c20110325110518.GC1922@jolsa.brq.redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "4a0b1665db09cf2da9ad7d0f12da386373c10bfa",
      "tree": "aecfb7f1d6df7920fc7134125bfe24647c98cdc4",
      "parents": [
        "9a24470b2826e4665b1484836c7ae6aba1ddea32"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 09 20:09:26 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:34:58 2011 -0500"
      },
      "message": "tracing: Fix irqoff selftest expanding max buffer\n\nIf the kernel command line declares a tracer \"ftrace\u003dsometracer\" and\nthat tracer is either not defined or is enabled after irqsoff,\nthen the irqs off selftest will fail with the following error:\n\nTesting tracer irqsoff:\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/autotest/nobackup/linux-test.git/kernel/trace/tra\nce.c:713 update_max_tr_single+0xfa/0x11b()\nHardware name:\nModules linked in:\nPid: 1, comm: swapper Not tainted 2.6.38-rc8-test #1\nCall Trace:\n [\u003cc0441d9d\u003e] ? warn_slowpath_common+0x65/0x7a\n [\u003cc049adb2\u003e] ? update_max_tr_single+0xfa/0x11b\n [\u003cc0441dc1\u003e] ? warn_slowpath_null+0xf/0x13\n [\u003cc049adb2\u003e] ? update_max_tr_single+0xfa/0x11b\n [\u003cc049e454\u003e] ? stop_critical_timing+0x154/0x204\n [\u003cc049b54b\u003e] ? trace_selftest_startup_irqsoff+0x5b/0xc1\n [\u003cc049b54b\u003e] ? trace_selftest_startup_irqsoff+0x5b/0xc1\n [\u003cc049b54b\u003e] ? trace_selftest_startup_irqsoff+0x5b/0xc1\n [\u003cc049e529\u003e] ? time_hardirqs_on+0x25/0x28\n [\u003cc0468bca\u003e] ? trace_hardirqs_on_caller+0x18/0x12f\n [\u003cc0468cec\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cc049b54b\u003e] ? trace_selftest_startup_irqsoff+0x5b/0xc1\n [\u003cc049b6b8\u003e] ? register_tracer+0xf8/0x1a3\n [\u003cc14e93fe\u003e] ? init_irqsoff_tracer+0xd/0x11\n [\u003cc040115e\u003e] ? do_one_initcall+0x71/0x121\n [\u003cc14e93f1\u003e] ? init_irqsoff_tracer+0x0/0x11\n [\u003cc14ce3a9\u003e] ? kernel_init+0x13a/0x1b6\n [\u003cc14ce26f\u003e] ? kernel_init+0x0/0x1b6\n [\u003cc0403842\u003e] ? kernel_thread_helper+0x6/0x10\n---[ end trace e93713a9d40cd06c ]---\n.. no entries found ..FAILED!\n\nWhat happens is the \"ftrace\u003d...\" will expand the ring buffer to its\ndefault size (from its minimum size) but it will not expand the\nmax ring buffer (the ring buffer to store maximum latencies).\nWhen the irqsoff test runs, it will call the ring buffer swap routine\nthat checks if the max ring buffer is the same size as the normal\nring buffer, and will fail if it is not. This causes the test to fail.\n\nThe solution is to expand the max ring buffer before running the self\ntest if the max ring buffer is used by that tracer and the normal ring\nbuffer is expanded. The max ring buffer should be shrunk again after\nthe test is done to save space.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e6e1e2593592a8f6f6380496655d8c6f67431266",
      "tree": "00ef843b23fac5ab6be92725ce5b01487f555997",
      "parents": [
        "de29be5e712dc8b7eef2bef9417af3bb6a88e47a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 09 10:41:56 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:31:48 2011 -0500"
      },
      "message": "tracing: Remove lock_depth from event entry\n\nThe lock_depth field in the event headers was added as a temporary\ndata point for help in removing the BKL. Now that the BKL is pretty\nmuch been removed, we can remove this field.\n\nThis in turn changes the header from 12 bytes to 8 bytes,\nremoving the 4 byte buffer that gcc would insert if the first field\nin the data load was 8 bytes in size.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "750912fa366312e9c5bc83eab352898a26750401",
      "tree": "bb8e5cd1444a74ea283e3fa55607225e7fda4d70",
      "parents": [
        "2a8247a2600c3e087a568fc68a6ec4eedac27ef1"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Wed Dec 08 13:46:47 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 09 13:52:27 2011 -0500"
      },
      "message": "tracing: Add an \u0027overwrite\u0027 trace_option.\n\nAdd an \"overwrite\" trace_option for ftrace to control whether the buffer should\nbe overwritten on overflow or not. The default remains to overwrite old events\nwhen the buffer is full. This patch adds the option to instead discard newest\nevents when the buffer is full. This is useful to get a snapshot of traces just\nafter enabling traces. Dropping the current event is also a simpler code path.\n\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291844807-15481-1-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6752ab4a9c30d5411b2dfdb251a3f1cb18aae487",
      "tree": "2f6e2bb5b562c43b3b3d7efe095e196a19995395",
      "parents": [
        "87d80de2800d087ea833cb79bc13f85ff34ed49f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 08 13:54:06 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 08 17:14:58 2011 -0500"
      },
      "message": "tracing: Deprecate tracing_enabled for tracing_on\n\ntracing_enabled should not be used, it is heavy weight and does not\ndo much in helping lower the overhead.\n\ntracing_on should be used instead. Warn users to use tracing_on\nwhen tracing_enabled is used as it will soon be removed from the\ntracing directory.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1dbd1951f39e13da579ffe879cce19586d0462de",
      "tree": "faf1ea3208d0e612968a2892917c036a32ff9bda",
      "parents": [
        "bd1c8b22b7b81c6f6c4f5c19cb2387da3d02fb0f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Dec 09 15:47:56 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 07 23:20:02 2011 -0500"
      },
      "message": "tracing: Fix preempt count leak\n\nWhile running my ftrace stress test, this showed up:\n\nBUG: sleeping function called from invalid context at mm/mmap.c:233\n...\nnote: cat[3293] exited with preempt_count 1\n\nThe bug was introduced by commit 91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e\n(\"tracing: Fix recursive user stack trace\")\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D0089AC.1020802@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d949750fed168b6553ca11ed19e4affd19d7a4d7",
      "tree": "a98953ef3448b7b4909f1d90be266e0cfbdff328",
      "parents": [
        "ce677831a4abd0f9f957c90ac6f6a0d0472bafb4",
        "e63233f75a1a6bfa97ffb52a20cc6801a4c63fb2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:21:24 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:21:24 2010 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "364829b1263b44aa60383824e4c1289d83d78ca7",
      "tree": "daaaf4cecd56ff9f3f9a2eadc69d0cc4f361c607",
      "parents": [
        "60e677373be9c0bf7c9a22937601d5a40e51c042"
      ],
      "author": {
        "name": "Slava Pestov",
        "email": "slavapestov@google.com",
        "time": "Wed Nov 24 15:13:16 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 30 12:18:17 2010 -0500"
      },
      "message": "tracing: Fix panic when lseek() called on \"trace\" opened for writing\n\nThe file_ops struct for the \"trace\" special file defined llseek as seq_lseek().\nHowever, if the file was opened for writing only, seq_open() was not called,\nand the seek would dereference a null pointer, file-\u003eprivate_data.\n\nThis patch introduces a new wrapper for seq_lseek() which checks if the file\ndescriptor is opened for reading first. If not, it does nothing.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Slava Pestov \u003cslavapestov@google.com\u003e\nLKML-Reference: \u003c1290640396-24179-1-git-send-email-slavapestov@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d2f30c73aba19be828c759edcd21140390cd06e4",
      "tree": "b9bad75b11e21680f8f9443f0143d62be23cae78",
      "parents": [
        "1b065fdff1c950d96e4c571abe873a9a8aaa6d51",
        "02a9d03772aa1ff33a26180a2da0bfb191240eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:28:17 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:28:17 2010 +0900"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf symbols: Remove incorrect open-coded container_of()\n  perf record: Handle restrictive permissions in /proc/{kallsyms,modules}\n  x86/kprobes: Prevent kprobes to probe on save_args()\n  irq_work: Drop cmpxchg() result\n  perf: Fix owner-list vs exit\n  x86, hw_nmi: Move backtrace_mask declaration under ARCH_HAS_NMI_WATCHDOG\n  tracing: Fix recursive user stack trace\n  perf,hw_breakpoint: Initialize hardware api earlier\n  x86: Ignore trap bits on single step exceptions\n  tracing: Force arch_local_irq_* notrace for paravirt\n  tracing: Fix module use of trace_bprintk()\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e",
      "tree": "26d7afb8373474a4d44d0eba4130499676c35bc7",
      "parents": [
        "b5908548537ccd3ada258ca5348df7ffc93e5a06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 10 12:56:12 2010 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 12 21:20:08 2010 -0500"
      },
      "message": "tracing: Fix recursive user stack trace\n\nThe user stack trace can fault when examining the trace. Which\nwould call the do_page_fault handler, which would trace again,\nwhich would do the user stack trace, which would fault and call\ndo_page_fault again ...\n\nThus this is causing a recursive bug. We need to have a recursion\ndetector here.\n\n[ Resubmitted by Jiri Olsa ]\n\n[ Eric Dumazet recommended using __this_cpu_* instead of __get_cpu_* ]\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1289390172-9730-3-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dd49a38cf30944be27892c10b1c0e5b3fa73bcb2",
      "tree": "6f517e3e643923556c92a647918984fc2ea36bb8",
      "parents": [
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Oct 20 21:51:26 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 21 08:55:06 2010 -0400"
      },
      "message": "tracing: Do not limit the size of the number of CPU buffers\n\nThe tracing per_cpu buffers were limited to 999 CPUs for a mear\nsavings in stack space of a char array. Up the array to 30 characters\nwhich is more than enough to hold a 64 bit number.\n\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "907f27840985fe6a0c62e43cd4702c6e04b4bcc7",
      "tree": "1023e32295a25e0602aef4bab14f41b97975f6bd",
      "parents": [
        "f92f6e6ee35d2779aa62e70f78ad8e1cd417eb52"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Mon Sep 27 19:04:53 2010 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 18 10:53:22 2010 -0400"
      },
      "message": "tracing/trivial: Remove cast from void*\n\nUnnecessary cast from void* in assignment.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d244b6bd41e09ecbb09c738cc2c108be227398c8",
      "tree": "848c6a8a0d6f83929daf43d63e241dc8072066ac",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73",
        "1aa54bca6ee0d07ebcafb8ca8074b624d80724aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 16 11:17:30 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Aug 16 11:17:30 2010 -0400"
      },
      "message": "Merge branch \u0027tip/perf/urgent-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4\n\nConflicts:\n\tkernel/trace/trace_events.c\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1aa54bca6ee0d07ebcafb8ca8074b624d80724aa",
      "tree": "815f3c1d184b61958ee48eb868ed28b1e5aab278",
      "parents": [
        "2a37a3df57c44e947271758a1aa4bea7bff9feab"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Jul 28 01:18:01 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 13 15:23:16 2010 -0400"
      },
      "message": "tracing: Sanitize value returned from write(trace_marker, \"...\", len)\n\nWhen userspace code writes non-new-line-terminated string to trace_marker\nfile, write handler appends new-line and returns number of bytes written\nto trace buffer, so\nwrite(fd, \"abc\", 3) will return 4\n\nThat\u0027s unexpected and unfortunately it confuses glibc\u0027s fprintf function.\n\nExample:\nint main() {\n  fprintf(stderr, \"abc\");\n  return 0;\n}\n\n$ gcc test.c -o test\n$ echo mmiotrace \u003e /sys/kernel/debug/tracing/current_tracer\n$ ./test 2\u003e/sys/kernel/debug/tracing/trace_marker\n\nresults in infinite loop:\nwrite(fd, \"abc\", 3) \u003d 4\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\n(...)\n\n...and kernel trace buffer full of empty markers.\n\nFix it by sanitizing write return value.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nLKML-Reference: \u003c20100727231801.GB2826@joi.lan\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c",
      "tree": "8e3fce9f27fd058904c0a3247a5c5ebb8df9fbe8",
      "parents": [
        "cd816a0d84377c4e87f55cbe934a23417f9f5743",
        "5f202bd5ca64132cdd7f186656bc0221f257733d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 17:06:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 17:06:54 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  do_coredump: Do not take BKL\n  init: Remove the BKL from startup code\n"
    },
    {
      "commit": "4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9",
      "tree": "1f69733e5daab4915a76a41de0e4d1dc61e12cfb",
      "parents": [
        "3a3527b6461b1298cc53ce72f336346739297ac8",
        "fc9ea5a1e53ee54f681e226d735008e2a6f8f470"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:30:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:30:52 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)\n  tracing/kprobes: unregister_trace_probe needs to be called under mutex\n  perf: expose event__process function\n  perf events: Fix mmap offset determination\n  perf, powerpc: fsl_emb: Restore setting perf_sample_data.period\n  perf, powerpc: Convert the FSL driver to use local64_t\n  perf tools: Don\u0027t keep unreferenced maps when unmaps are detected\n  perf session: Invalidate last_match when removing threads from rb_tree\n  perf session: Free the ref_reloc_sym memory at the right place\n  x86,mmiotrace: Add support for tracing STOS instruction\n  perf, sched migration: Librarize task states and event headers helpers\n  perf, sched migration: Librarize the GUI class\n  perf, sched migration: Make the GUI class client agnostic\n  perf, sched migration: Make it vertically scrollable\n  perf, sched migration: Parameterize cpu height and spacing\n  perf, sched migration: Fix key bindings\n  perf, sched migration: Ignore unhandled task states\n  perf, sched migration: Handle ignored migrate out events\n  perf: New migration tool overview\n  tracing: Drop cpparg() macro\n  perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call\n  ...\n\nFix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c\n"
    },
    {
      "commit": "955b61e597984745fb7d34c75708f6503b6aaeab",
      "tree": "c928ca54a8231b0432e729d8b675e473a5db9104",
      "parents": [
        "3f0a55e3579a500ce9f5cdab70a5741f99769118"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:23 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 05 09:22:23 2010 -0500"
      },
      "message": "ftrace,kdb: Extend kdb to be able to dump the ftrace buffer\n\nAdd in a helper function to allow the kdb shell to dump the ftrace\nbuffer.\n\nModify trace.c to expose the capability to iterate over the ftrace\nbuffer in a read only capacity.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "3a01736e70a7d629140695ba46a901266b4460cc",
      "tree": "49ff8ce1e7c6a267f0ce84b5daddbe6666bc4253",
      "parents": [
        "4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb",
        "24a461d537f49f9da6533d83100999ea08c6c755"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "24a461d537f49f9da6533d83100999ea08c6c755",
      "tree": "b7aa6258df988a64d802eff0b15e92c394742a2e",
      "parents": [
        "a484e54fae891703cbe1c9ec1b536605f11f5482"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Jul 10 12:06:44 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 22 14:56:41 2010 -0400"
      },
      "message": "trace: strlen() return doesn\u0027t account for the NULL\n\nWe need to add one to the strlen() return because of the NULL\ncharacter.  The type-\u003ename here generally comes from the kernel and I\ndon\u0027t think any of them come close to being MAX_TRACER_SIZE (100)\ncharacters long so this is basically a cleanup.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nLKML-Reference: \u003c20100710100644.GV19184@bicker\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ef710e100c1068d3dd5774d2b34c5485219e06ce",
      "tree": "ed295053a31de472d4ed4338679c00ac8e8437c7",
      "parents": [
        "bc289ae98b75d93228d24f521ef02a076e506e94"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Jul 01 14:34:35 2010 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 21 10:20:17 2010 -0400"
      },
      "message": "tracing: Shrink max latency ringbuffer if unnecessary\n\nDocumentation/trace/ftrace.txt says\n\n  buffer_size_kb:\n\n        This sets or displays the number of kilobytes each CPU\n        buffer can hold. The tracer buffers are the same size\n        for each CPU. The displayed number is the size of the\n        CPU buffer and not total size of all buffers. The\n        trace buffers are allocated in pages (blocks of memory\n        that the kernel uses for allocation, usually 4 KB in size).\n        If the last page allocated has room for more bytes\n        than requested, the rest of the page will be used,\n        making the actual allocation bigger than requested.\n        ( Note, the size may not be a multiple of the page size\n          due to buffer management overhead. )\n\n        This can only be updated when the current_tracer\n        is set to \"nop\".\n\nBut it\u0027s incorrect. currently total memory consumption is\n\u0027buffer_size_kb x CPUs x 2\u0027.\n\nWhy two times difference is there? because ftrace implicitly allocate\nthe buffer for max latency too.\n\nThat makes sad result when admin want to use large buffer. (If admin\nwant full logging and makes detail analysis). example, If admin\nhave 24 CPUs machine and write 200MB to buffer_size_kb, the system\nconsume ~10GB memory (200MB x 24 x 2). umm.. 5GB memory waste is\nusually unacceptable.\n\nFortunatelly, almost all users don\u0027t use max latency feature.\nThe max latency buffer can be disabled easily.\n\nThis patch shrink buffer size of the max latency buffer if\nunnecessary.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLKML-Reference: \u003c20100701104554.DA2D.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e870e9a1240bcef1157ffaaf71dac63362e71904",
      "tree": "b8f57a68ff45b35dab8cdfa474e17622d275bdc6",
      "parents": [
        "cc5edb0eb9ce892b530e34a5d110382483587942"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 02 11:07:32 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 20 21:52:33 2010 -0400"
      },
      "message": "tracing: Allow to disable cmdline recording\n\nWe found that even enabling a single trace event that will rarely be\ntriggered can add big overhead to context switch.\n\n(lmbench context switch test)\n -------------------------------------------------\n 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K\n ctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw\n------ ------ ------ ------ ------ ------- -------\n  2.19   2.3   2.21   2.56   2.13     2.54    2.07\n  2.39   2.51  2.35   2.75   2.27     2.81    2.24\n\nThe overhead is 6% ~ 11%.\n\nIt\u0027s because when a trace event is enabled 3 tracepoints (sched_switch,\nsched_wakeup, sched_wakeup_new) will be activated to map pid to cmdname.\n\nWe\u0027d like to avoid this overhead, so add a trace option \u0027(no)record-cmd\u0027\nto allow to disable cmdline recording.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4C2D57F4.2050204@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b444786f1a797a7f84e2561346a670649f9c7b3c",
      "tree": "42260d0930addbe623d952fff75e0fba7f63d6c6",
      "parents": [
        "eb7beb5c09af75494234ea6acd09d0a647cf7338"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jul 07 23:40:11 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 14:31:24 2010 +0200"
      },
      "message": "tracing: Use generic_file_llseek for debugfs\n\nThe default for llseek will change to no_llseek,\nso the tracing debugfs files need to add explicit\n.llseek assignments. Since we\u0027re dealing with regular\nfiles from a VFS perspective, use generic_file_llseek.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1278538820-1392-10-git-send-email-arnd@arndb.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "eb7beb5c09af75494234ea6acd09d0a647cf7338",
      "tree": "ab76cb3a6c1f1ea9befbbc72d0f997c03423dd57",
      "parents": [
        "f376bf5ffbad863d4bc3b2586b7e34cdf756ad17"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 16 00:50:03 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 14:31:07 2010 +0200"
      },
      "message": "tracing: Remove special traces\n\nSpecial traces type was only used by sysprof. Lets remove it now\nthat sysprof ftrace plugin has been dropped.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Soeren Sandmann \u003csandmann@daimi.au.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "f376bf5ffbad863d4bc3b2586b7e34cdf756ad17",
      "tree": "712a78b2b455995ceb4e12b5ae02df76dc07f01e",
      "parents": [
        "cc5edb0eb9ce892b530e34a5d110382483587942"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 16 00:26:26 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 14:29:46 2010 +0200"
      },
      "message": "tracing: Remove sysprof ftrace plugin\n\nThe sysprof ftrace plugin doesn\u0027t seem to be seriously used\nsomewhere. There is a branch in the sysprof tree that makes\nan interface to it, but the real sysprof tool uses either its\nown module or perf events.\n\nDrop the sysprof ftrace plugin then, as it\u0027s mostly useless.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Soeren Sandmann \u003csandmann@daimi.au.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "5e3d20a68f63fc5a310687d81956c3b96e488b84",
      "tree": "576da563442772fe7a492589c1e08c422ff02b1c",
      "parents": [
        "815c4163b6c8ebf8152f42b0a5fd015cfdcedc78"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Jul 04 00:02:26 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 09 15:40:32 2010 +0200"
      },
      "message": "init: Remove the BKL from startup code\n\nI have shown by code review that no driver takes\nthe BKL at init time any more, so whatever the\ninit code was locking against is no longer there\nand it is now safe to remove the BKL there.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8",
      "tree": "3f44aa013d31d34951e9610e79ff14c1148ad6ac",
      "parents": [
        "7be7923633a142402266d642ccebf74f556a649b",
        "018378c55b03f88ff513aba4e0e93b8d4a9cf241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:57 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e",
      "tree": "b28f8232756e0de57ded858d6584724317b405ef",
      "parents": [
        "b0f82b81fe6bbcf78d478071f33e44554726bc81"
      ],
      "author": {
        "name": "Américo Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed May 26 18:57:53 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:31:28 2010 +0200"
      },
      "message": "tracing: Remove boot tracer\n\nThe boot tracer is useless. It simply logs the initcalls\nbut in fact these initcalls are also logged through printk\nwhile using the initcall_debug kernel parameter.\n\nNobody seem to be using it so far. Then just remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c20100526105753.GA5677@cr0.nay.redhat.com\u003e\n[ remove the hooks in main.c, and the headers ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6113e45f831616de98c54a005260223b21bcb6b9",
      "tree": "0d56dbfae392f89b33c2ae6a36a5cc1ea1c1c988",
      "parents": [
        "84bb671dc46d77d665d2b5e74539e81b2129bb3e",
        "5168ae50a66e3ff7184c2b16d661bd6d70367e50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 19:34:40 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 19:34:40 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "5168ae50a66e3ff7184c2b16d661bd6d70367e50",
      "tree": "2fb21fc3bd346e4f589605d940dfb1bacac30bf5",
      "parents": [
        "d1f74e20b5b064a130cd0743a256c2d3cfe84010"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 03 09:36:50 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 03 19:32:38 2010 -0400"
      },
      "message": "tracing: Remove ftrace_preempt_disable/enable\n\nThe ftrace_preempt_disable/enable functions were to address a\nrecursive race caused by the function tracer. The function tracer\ntraces all functions which makes it easily susceptible to recursion.\nOne area was preempt_enable(). This would call the scheduler and\nthe schedulre would call the function tracer and loop.\n(So was it thought).\n\nThe ftrace_preempt_disable/enable was made to protect against recursion\ninside the scheduler by storing the NEED_RESCHED flag. If it was\nset before the ftrace_preempt_disable() it would not call schedule\non ftrace_preempt_enable(), thinking that if it was set before then\nit would have already scheduled unless it was already in the scheduler.\n\nThis worked fine except in the case of SMP, where another task would set\nthe NEED_RESCHED flag for a task on another CPU, and then kick off an\nIPI to trigger it. This could cause the NEED_RESCHED to be saved at\nftrace_preempt_disable() but the IPI to arrive in the the preempt\ndisabled section. The ftrace_preempt_enable() would not call the scheduler\nbecause the flag was already set before entring the section.\n\nThis bug would cause a missed preemption check and cause lower latencies.\n\nInvestigating further, I found that the recusion caused by the function\ntracer was not due to schedule(), but due to preempt_schedule(). Now\nthat preempt_schedule is completely annotated with notrace, the recusion\nno longer is an issue.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bc7d352c5e76c74c628a39b99777a1bdddde5e81",
      "tree": "3cc0a80defb54d284e2a9a1e69b1224064921775",
      "parents": [
        "b3f2f6cd1ff935ecac9a5346904b899d7af689fe",
        "92af1abde4f2d74c9e5f7b670a1971779ed0b051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:01 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tui: Fix last use_browser problem related to .perfconfig\n  perf symbols: Add the build id cache to the vmlinux path\n  perf tui: Reset use_browser if stdout is not a tty\n  ring-buffer: Move zeroing out excess in page to ring buffer code\n  ring-buffer: Reset \"real_end\" when page is filled\n"
    },
    {
      "commit": "c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9",
      "tree": "40d5e99660c77c5791392d349a93113c044dbf14",
      "parents": [
        "cad719d86e9dbd06634eaba6401e022c8101d6b2",
        "49c177461bfbedeccbab22bf3905db2f9da7f1c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)\n  tracing: Add __used annotation to event variable\n  perf, trace: Fix !x86 build bug\n  perf report: Support multiple events on the TUI\n  perf annotate: Fix up usage of the build id cache\n  x86/mmiotrace: Remove redundant instruction prefix checks\n  perf annotate: Add TUI interface\n  perf tui: Remove annotate from popup menu after failure\n  perf report: Don\u0027t start the TUI if -D is used\n  perf: Fix getline undeclared\n  perf: Optimize perf_tp_event_match()\n  perf: Remove more code from the fastpath\n  perf: Optimize the !vmalloc backed buffer\n  perf: Optimize perf_output_copy()\n  perf: Fix wakeup storm for RO mmap()s\n  perf-record: Share per-cpu buffers\n  perf-record: Remove -M\n  perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n  perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n  perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n  perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig\n  ...\n"
    },
    {
      "commit": "2711ca237a084286ea1c2dcf82ab2aadab23a00d",
      "tree": "a795fa0e31e8557befd803153a33827b1d0c8764",
      "parents": [
        "b3230c8b44da5838cf396942d5c1ab19f8e8f720"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 21 13:32:26 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 25 11:57:26 2010 -0400"
      },
      "message": "ring-buffer: Move zeroing out excess in page to ring buffer code\n\nCurrently the trace splice code zeros out the excess bytes in the page before\nsending it off to userspace.\n\nThis is to make sure userspace is not getting anything it should not be\nwhen reading the pages, because the excess data was never initialized\nto zero before writing (for perfomance reasons).\n\nBut the splice code has no business in doing this work, it should be\ndone by the ring buffer. With the latest changes for recording lost\nevents, the splice code gets it wrong anyway.\n\nMove the zeroing out of excess bytes into the ring buffer code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ee9a3607fb03e804ddf624544105f4e34260c380",
      "tree": "ce41b6e0fa10982a306f6c142a92dbf3c9961284",
      "parents": [
        "b492e95be0ae672922f4734acf3f5d35c30be948",
        "d515e86e639890b33a09390d062b0831664f04a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.35\n\nConflicts:\n\tfs/ext3/fsync.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "35f3d14dbbc58447c61e38a162ea10add6b31dc7",
      "tree": "3e03cd540b7dcdac82195c4e76862c0ce6daaaf0",
      "parents": [
        "3d42b3612891baecf709d93f28655a6882a65d41"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 20 10:43:18 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:40 2010 +0200"
      },
      "message": "pipe: add support for shrinking and growing pipes\n\nThis patch adds F_GETPIPE_SZ and F_SETPIPE_SZ fcntl() actions for\ngrowing and shrinking the size of a pipe and adjusts pipe.c and splice.c\n(and relay and network splice) usage to work with these larger (or smaller)\npipes.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a9a5776380208a3e48a92d0c763ee1a3b486fb73",
      "tree": "5ecd41c3b373e2156f5bf748ae777e022296a30c",
      "parents": [
        "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 18:46:14 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:32 2010 -0400"
      },
      "message": "tracing: Allow events to share their print functions\n\nMultiple events may use the same method to print their data.\nInstead of having all events have a pointer to their print funtions,\nthe trace_event structure now points to a trace_event_functions structure\nthat will hold the way to print ouf the event.\n\nThe event itself is now passed to the print function to let the print\nfunction know what kind of event it should print.\n\nThis opens the door to consolidating the way several events print\ntheir output.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n\nThis change slightly increases the size but is needed for the next change.\n\nv3: Fix the branch tracer events to handle this change.\n\nv2: Fix the new function graph tracer event calls to handle this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72c9ddfd4c5bf54ef03cfdf57026416cb678eeba",
      "tree": "bd2c2b6b411975a8219d7138ba7699ee5d324e77",
      "parents": [
        "62b915f1060996a8e1f69be50e3b8e9e43b710cb"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 15:47:11 2010 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 27 13:06:35 2010 -0400"
      },
      "message": "ring-buffer: Make non-consuming read less expensive with lots of cpus.\n\nWhen performing a non-consuming read, a synchronize_sched() is\nperformed once for every cpu which is actively tracing.\n\nThis is very expensive, and can make it take several seconds to open\nup the \u0027trace\u0027 file with lots of cpus.\n\nOnly one synchronize_sched() call is actually necessary.  What is\ndesired is for all cpus to see the disabling state change.  So we\ntransform the existing sequence:\n\n\tfor_each_cpu() {\n\t\tring_buffer_read_start();\n\t}\n\nwhere each ring_buffer_start() call performs a synchronize_sched(),\ninto the following:\n\n\tfor_each_cpu() {\n\t\tring_buffer_read_prepare();\n\t}\n\tring_buffer_read_prepare_sync();\n\tfor_each_cpu() {\n\t\tring_buffer_read_start();\n\t}\n\nwherein only the single ring_buffer_read_prepare_sync() call needs to\ndo the synchronize_sched().\n\nThe first phase, via ring_buffer_read_prepare(), allocates the \u0027iter\u0027\nmemory and increments -\u003erecord_disabled.\n\nIn the second phase, ring_buffer_read_prepare_sync() makes sure this\n-\u003erecord_disabled state is visible fully to all cpus.\n\nAnd in the final third phase, the ring_buffer_read_start() calls reset\nthe \u0027iter\u0027 objects allocated in the first phase since we now know that\nnone of the cpus are adding trace entries any more.\n\nThis makes openning the \u0027trace\u0027 file nearly instantaneous on a\nsparc64 Niagara2 box with 128 cpus tracing.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c20100420.154711.11246950.davem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "62b915f1060996a8e1f69be50e3b8e9e43b710cb",
      "tree": "26741f065b30b67022d680c3bc2afbda319638e1",
      "parents": [
        "d7a8d9e907cc294ec7a4a7046d1886375fbcc82e"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Apr 02 19:01:22 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 27 12:36:53 2010 -0400"
      },
      "message": "tracing: Add graph output support for irqsoff tracer\n\nAdd function graph output to irqsoff tracer.\n\nThe graph output is enabled by setting new \u0027display-graph\u0027 trace option.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1270227683-14631-4-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cecbca96da387428e220e307a9c945e37e2f4d9e",
      "tree": "2edefda983658c19a8f2b38ff951a3046597a4f7",
      "parents": [
        "b15c7b1cee119999e9eafcd602d24a595e77adac"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Apr 18 19:08:41 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 21 23:11:42 2010 +0200"
      },
      "message": "tracing: Dump either the oops\u0027s cpu source or all cpus buffers\n\nThe ftrace_dump_on_oops kernel parameter, sysctl and sysrq let one\ndump every cpu buffers when an oops or panic happens.\n\nIt\u0027s nice when you have few cpus but it may take ages if have many,\nplus you miss the real origin of the problem in all the cpu traces.\n\nSometimes, all you need is to dump the cpu buffer that triggered the\nopps, most of the time it is our main interest.\n\nThis patch modifies ftrace_dump_on_oops to handle this choice.\n\nThe ftrace_dump_on_oops kernel parameter, when it comes alone, has\nthe same behaviour than before. But ftrace_dump_on_oops\u003dorig_cpu\nwill only dump the buffer of the cpu that oops\u0027ed.\n\nSimilarly, sysctl kernel.ftrace_dump_on_oops\u003d1 and\necho 1 \u003e /proc/sys/kernel/ftrace_dump_on_oops keep their previous\nbehaviour. But setting 2 jumps into cpu origin dump mode.\n\nv2: Fix double setup\nv3: Fix spelling issues reported by Randy Dunlap\nv4: Also update __ftrace_dump in the selftests\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "b15c7b1cee119999e9eafcd602d24a595e77adac",
      "tree": "48765b70c65e80d62f0ce11a3245b4ef2299b060",
      "parents": [
        "c1ab9cab75098924fa8226a8a371de66977439df",
        "aa27497c2fb4c7f57706099bd489e683e5cc3e3b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:15:23 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:15:23 2010 +0200"
      },
      "message": "Merge branch \u0027tip/tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core\n"
    },
    {
      "commit": "c1ab9cab75098924fa8226a8a371de66977439df",
      "tree": "767e77302ca8f2eb781c60624bc8518cd50ba6eb",
      "parents": [
        "ff0ff84a0767df48d728c36510365344a7e7d582",
        "f5284e7635787224dda1a2bf82a4c56b1c75671f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 09:06:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 10:18:47 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/module.h\n\tkernel/module.c\n\nSemantic conflict:\n\tinclude/trace/events/module.h\n\nMerge reason: Resolve the conflict with upstream commit 5fbfb18 (\"Fix up\n              possibly racy module refcounting\")\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa27497c2fb4c7f57706099bd489e683e5cc3e3b",
      "tree": "66fab7036e68592003548fd753b31d906d38b7ee",
      "parents": [
        "ff0ff84a0767df48d728c36510365344a7e7d582"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Apr 05 17:11:05 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 05 11:01:22 2010 -0400"
      },
      "message": "tracing: Fix uninitialized variable of tracing/trace output\n\nBecause a local variable is not initialized, I got these\nwhen I did \u0027cat tracing/trace\u0027. (not trace_pipe):\n\nCPU:0 [LOST 18446744071579453134 EVENTS]\n              ps-3099  [000]   560.770221: lock_acquire: ffff880030865010 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\nCPU:0 [LOST 18446744071579453134 EVENTS]\n              ps-3099  [000]   560.770221: lock_release: ffff880030865010 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\nCPU:0 [LOST 18446612133255294080 EVENTS]\n              ps-3099  [000]   560.770221: lock_acquire: ffff880030865010 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\nCPU:0 [LOST 18446744071579453134 EVENTS]\n              ps-3099  [000]   560.770222: lock_release: ffff880030865010 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\nCPU:0 [LOST 18446744071579453134 EVENTS]\n              ps-3099  [000]   560.770222: lock_release: ffffffff816cfb98 dcache_lock\n\nSee peek_next_entry(), it does not set *lost_events when we \u0027cat tracing/trace\u0027\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BB9A929.2000303@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bc21b478425ac73f66a5ec0b375a5e0d12d609ce",
      "tree": "a5e8be66a9114f73d4c87112d515424f14e7bebd",
      "parents": [
        "66a8cb95ed04025664d1db4e952155ee1dccd048"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 31 19:49:26 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 31 22:57:06 2010 -0400"
      },
      "message": "tracing: Show the lost events in the trace_pipe output\n\nNow that the ring buffer can keep track of where events are lost.\nUse this information to the output of trace_pipe:\n\n       hackbench-3588  [001]  1326.701660: lock_acquire: ffffffff816591e0 read rcu_read_lock\n       hackbench-3588  [001]  1326.701661: lock_acquire: ffff88003f4091f0 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\n       hackbench-3588  [001]  1326.701664: lock_release: ffff88003f4091f0 \u0026(\u0026dentry-\u003ed_lock)-\u003erlock\nCPU:1 [LOST 673 EVENTS]\n       hackbench-3588  [001]  1326.702711: kmem_cache_free: call_site\u003dffffffff81102b85 ptr\u003dffff880026d96738\n       hackbench-3588  [001]  1326.702712: lock_release: ffff88003e1480a8 \u0026mm-\u003emmap_sem\n       hackbench-3588  [001]  1326.702713: lock_acquire: ffff88003e1480a8 \u0026mm-\u003emmap_sem\n\nEven works with the function graph tracer:\n\n 2) ! 170.098 us  |                                            }\n 2)   4.036 us    |                                            rcu_irq_exit();\n 2)   3.657 us    |                                            idle_cpu();\n 2) ! 190.301 us  |                                          }\nCPU:2 [LOST 2196 EVENTS]\n 2)   0.853 us    |                            } /* cancel_dirty_page */\n 2)               |                            remove_from_page_cache() {\n 2)   1.578 us    |                              _raw_spin_lock_irq();\n 2)               |                              __remove_from_page_cache() {\n\nNote, it does not work with the iterator \"trace\" file, since it requires\nthe use of consuming the page from the ring buffer to determine how many\nevents were lost, which the iterator does not do.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "66a8cb95ed04025664d1db4e952155ee1dccd048",
      "tree": "74417422a78bc8198de46b0e52e490175af866e0",
      "parents": [
        "eb0c53771fb2f5f66b0edb3ebce33be4bbf1c285"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 31 13:21:56 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 31 22:57:04 2010 -0400"
      },
      "message": "ring-buffer: Add place holder recording of dropped events\n\nCurrently, when the ring buffer drops events, it does not record\nthe fact that it did so. It does inform the writer that the event\nwas dropped by returning a NULL event, but it does not put in any\nplace holder where the event was dropped.\n\nThis is not a trivial thing to add because the ring buffer mostly\nruns in overwrite (flight recorder) mode. That is, when the ring\nbuffer is full, new data will overwrite old data.\n\nIn a produce/consumer mode, where new data is simply dropped when\nthe ring buffer is full, it is trivial to add the placeholder\nfor dropped events. When there\u0027s more room to write new data, then\na special event can be added to notify the reader about the dropped\nevents.\n\nBut in overwrite mode, any new write can overwrite events. A place\nholder can not be inserted into the ring buffer since there never\nmay be room. A reader could also come in at anytime and miss the\nplaceholder.\n\nLuckily, the way the ring buffer works, the read side can find out\nif events were lost or not, and how many events. Everytime a write\ntakes place, if it overwrites the header page (the next read) it\nupdates a \"overrun\" variable that keeps track of the number of\nlost events. When a reader swaps out a page from the ring buffer,\nit can record this number, perfom the swap, and then check to\nsee if the number changed, and take the diff if it has, which would be\nthe number of events dropped. This can be stored by the reader\nand returned to callers of the reader.\n\nSince the reader page swap will fail if the writer moved the head\npage since the time the reader page set up the swap, this gives room\nto record the overruns without worrying about races. If the reader\nsets up the pages, records the overrun, than performs the swap,\nif the swap succeeds, then the overrun variable has not been\nupdated since the setup before the swap.\n\nFor binary readers of the ring buffer, a flag is set in the header\nof each sub page (sub buffer) of the ring buffer. This flag is embedded\nin the size field of the data on the sub buffer, in the 31st bit (the size\ncan be 32 or 64 bits depending on the architecture), but only 27\nbits needs to be used for the actual size (less actually).\n\nWe could add a new field in the sub buffer header to also record the\nnumber of events dropped since the last read, but this will change the\nformat of the binary ring buffer a bit too much. Perhaps this change can\nbe made if the information on the number of events dropped is considered\nimportant enough.\n\nNote, the notification of dropped events is only used by consuming reads\nor peeking at the ring buffer. Iterating over the ring buffer does not\nkeep this information because the necessary data is only available when\na page swap is made, and the iterator does not swap out pages.\n\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"Luis Claudio R. Goncalves\" \u003clclaudio@uudg.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
      "tree": "711b6da2a665e26940c59b9db493c59d879f6cc6",
      "parents": [
        "461d208cfbd1f0af26027b2c35ded515e54b1ee6",
        "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Do not record user stack trace from NMI context\n  tracing: Disable buffer switching when starting or stopping trace\n  tracing: Use same local variable when resetting the ring buffer\n  function-graph: Init curr_ret_stack with ret_stack\n  ring-buffer: Move disabled check into preempt disable section\n  function-graph: Add tracing_thresh support to function_graph tracer\n  tracing: Update the comm field in the right variable in update_max_tr\n  function-graph: Use comment notation for func names of dangling \u0027}\u0027\n  function-graph: Fix unused reference to ftrace_set_func()\n  tracing: Fix warning in s_next of trace file ops\n  tracing: Include irqflags headers from trace clock\n"
    },
    {
      "commit": "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15",
      "tree": "5f7d831ab4de8f8c3577230ba8b15e0681eef52f",
      "parents": [
        "a2f8071428ed9a0f06865f417c962421c9a6b488"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 20:03:30 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:31:49 2010 -0500"
      },
      "message": "tracing: Do not record user stack trace from NMI context\n\nA bug was found with Li Zefan\u0027s ftrace_stress_test that caused applications\nto segfault during the test.\n\nPlacing a tracing_off() in the segfault code, and examining several\ntraces, I found that the following was always the case. The lock tracer\nwas enabled (lockdep being required) and userstack was enabled. Testing\nthis out, I just enabled the two, but that was not good enough. I needed\nto run something else that could trigger it. Running a load like hackbench\ndid not work, but executing a new program would. The following would\ntrigger the segfault within seconds:\n\n  # echo 1 \u003e /debug/tracing/options/userstacktrace\n  # echo 1 \u003e /debug/tracing/events/lock/enable\n  # while :; do ls \u003e /dev/null ; done\n\nEnabling the function graph tracer and looking at what was happening\nI finally noticed that all cashes happened just after an NMI.\n\n 1)               |    copy_user_handle_tail() {\n 1)               |      bad_area_nosemaphore() {\n 1)               |        __bad_area_nosemaphore() {\n 1)               |          no_context() {\n 1)               |            fixup_exception() {\n 1)   0.319 us    |              search_exception_tables();\n 1)   0.873 us    |            }\n[...]\n 1)   0.314 us    |  __rcu_read_unlock();\n 1)   0.325 us    |    native_apic_mem_write();\n 1)   0.943 us    |  }\n 1)   0.304 us    |  rcu_nmi_exit();\n[...]\n 1)   0.479 us    |  find_vma();\n 1)               |  bad_area() {\n 1)               |    __bad_area() {\n\nAfter capturing several traces of failures, all of them happened\nafter an NMI. Curious about this, I added a trace_printk() to the NMI\nhandler to read the regs-\u003eip to see where the NMI happened. In which I\nfound out it was here:\n\nffffffff8135b660 \u003cpage_fault\u003e:\nffffffff8135b660:       48 83 ec 78             sub    $0x78,%rsp\nffffffff8135b664:       e8 97 01 00 00          callq  ffffffff8135b800 \u003cerror_entry\u003e\n\nWhat was happening is that the NMI would happen at the place that a page\nfault occurred. It would call rcu_read_lock() which was traced by\nthe lock events, and the user_stack_trace would run. This would trigger\na page fault inside the NMI. I do not see where the CR2 register is\nsaved or restored in NMI handling. This means that it would corrupt\nthe page fault handling that the NMI interrupted.\n\nThe reason the while loop of ls helped trigger the bug, was that\neach execution of ls would cause lots of pages to be faulted in, and\nincrease the chances of the race happening.\n\nThe simple solution is to not allow user stack traces in NMI context.\nAfter this patch, I ran the above \"ls\" test for a couple of hours\nwithout any issues. Without this patch, the bug would trigger in less\nthan a minute.\n\nCc: stable@kernel.org\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a2f8071428ed9a0f06865f417c962421c9a6b488",
      "tree": "731d1e4f684fa5e5e27b56f1ed5f74d5945b20bd",
      "parents": [
        "283740c619d211e34572cc93c8cdba92ccbdb9cc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 19:56:00 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:30:21 2010 -0500"
      },
      "message": "tracing: Disable buffer switching when starting or stopping trace\n\nWhen the trace iterator is read, tracing_start() and tracing_stop()\nis called to stop tracing while the iterator is processing the trace\noutput.\n\nThese functions disable both the standard buffer and the max latency\nbuffer. But if the wakeup tracer is running, it can switch these\nbuffers between the two disables:\n\n  buffer \u003d global_trace.buffer;\n  if (buffer)\n      ring_buffer_record_disable(buffer);\n\n      \u003c\u003c\u003c--------- swap happens here\n\n  buffer \u003d max_tr.buffer;\n  if (buffer)\n      ring_buffer_record_disable(buffer);\n\nWhat happens is that we disabled the same buffer twice. On tracing_start()\nwe can enable the same buffer twice. All ring_buffer_record_disable()\nmust be matched with a ring_buffer_record_enable() or the buffer\ncan be disable permanently, or enable prematurely, and cause a bug\nwhere a reset happens while a trace is commiting.\n\nThis patch protects these two by taking the ftrace_max_lock to prevent\na switch from occurring.\n\nFound with Li Zefan\u0027s ftrace_stress_test.\n\nCc: stable@kernel.org\nReported-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "283740c619d211e34572cc93c8cdba92ccbdb9cc",
      "tree": "3bdce475017ff9a5fe82c6d214d27b27e555320c",
      "parents": [
        "ea14eb714041d40fcc5180b5a586034503650149"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 19:48:41 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:29:20 2010 -0500"
      },
      "message": "tracing: Use same local variable when resetting the ring buffer\n\nIn the ftrace code that resets the ring buffer it references the\nbuffer with a local variable, but then uses the tr-\u003ebuffer as the\nparameter to reset. If the wakeup tracer is running, which can\nswitch the tr-\u003ebuffer with the max saved buffer, this can break\nthe requirement of disabling the buffer before the reset.\n\n   buffer \u003d tr-\u003ebuffer;\n   ring_buffer_record_disable(buffer);\n   synchronize_sched();\n   __tracing_reset(tr-\u003ebuffer, cpu);\n\nIf the tr-\u003ebuffer is swapped, then the reset is not happening to the\nbuffer that was disabled. This will cause the ring buffer to fail.\n\nFound with Li Zefan\u0027s ftrace_stress_test.\n\nCc: stable@kernel.org\nReported-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "915a0b575fdb2376135ed9334b3ccb1eb51db622",
      "tree": "12070fc07897e0cd9170aeb351a96923d44d7813",
      "parents": [
        "e02c4fd3142dfb9412531bbfabd510a2a7c6ea46",
        "0e95017355dcf43031da6d0e360a748717e56df1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:39:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:39:33 2010 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "0e95017355dcf43031da6d0e360a748717e56df1",
      "tree": "829989bfb494e8d2d773d9dc1bc014b7f28d3bed",
      "parents": [
        "1acaa1b2d9b5904c9cce06122990a2d71046ce16"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu Feb 25 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:20:57 2010 -0500"
      },
      "message": "function-graph: Add tracing_thresh support to function_graph tracer\n\nAdd support for tracing_thresh to the function_graph tracer.  This\nversion of this feature isolates the checks into new entry and\nreturn functions, to avoid adding more conditional code into the\nmain function_graph paths.\n\nWhen the tracing_thresh is set and the function graph tracer is\nenabled, only the functions that took longer than the time in\nmicroseconds that was set in tracing_thresh are recorded. To do this\nefficiently, only the function exits are recorded:\n\n [tracing]# echo 100 \u003e tracing_thresh\n [tracing]# echo function_graph \u003e current_tracer\n [tracing]# cat trace\n # tracer: function_graph\n #\n # CPU  DURATION                  FUNCTION CALLS\n # |     |   |                     |   |   |   |\n  1) ! 119.214 us  |  } /* smp_apic_timer_interrupt */\n  1)   \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d |\n  0) ! 101.527 us  |              } /* __rcu_process_callbacks */\n  0) ! 126.461 us  |            } /* rcu_process_callbacks */\n  0) ! 145.111 us  |          } /* __do_softirq */\n  0) ! 149.667 us  |        } /* do_softirq */\n  0) ! 168.817 us  |      } /* irq_exit */\n  0) ! 248.254 us  |    } /* smp_apic_timer_interrupt */\n\nAlso, add support for specifying tracing_thresh on the kernel\ncommand line.  When used like so: \"tracing_thresh\u003d200 ftrace\u003dfunction_graph\"\nthis can be used to analyse system startup.  It is important to disable\ntracing soon after boot, in order to avoid losing the trace data.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nLKML-Reference: \u003c4B87098B.4040308@am.sony.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1acaa1b2d9b5904c9cce06122990a2d71046ce16",
      "tree": "76e4d061aa4c666c89f581e438b105bd69ee27df",
      "parents": [
        "a094fe04c751698a18c3a0d376a3bdb117f1e0d8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 05 18:23:50 2010 -0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:12:08 2010 -0500"
      },
      "message": "tracing: Update the comm field in the right variable in update_max_tr\n\nThe latency output showed:\n\n #    | task: -3 (uid:0 nice:0 policy:1 rt_prio:99)\n\nThe comm is missing in the \"task:\" and it looks like a minus 3 is\nthe output. The correct display should be:\n\n #    | task: migration/0-3 (uid:0 nice:0 policy:1 rt_prio:99)\n\nThe problem is that the comm is being stored in the wrong data\nstructure. The max_tr.data[cpu] is what stores the comm, not the\ntr-\u003edata[cpu].\n\nBefore this patch the max_tr.data[cpu]-\u003ecomm was zeroed and the /debug/trace\nended up showing just the \u0027-\u0027 sign followed by the pid.\n\nAlso remove a needless initialization of max_data.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1267824230-23861-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0a135ba14d71fb84c691a5386aff5049691fe6d7",
      "tree": "adb1de887dd6839d69d2fc16ffa2a10ff63298fa",
      "parents": [
        "4850f524b2c4c8a4e9f8ef4dd9c7c4afde2f2b2c",
        "a29d8b8e2d811a24bbe49215a0f0c536b72ebc18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: add __percpu sparse annotations to what\u0027s left\n  percpu: add __percpu sparse annotations to fs\n  percpu: add __percpu sparse annotations to core kernel subsystems\n  local_t: Remove leftover local.h\n  this_cpu: Remove pageset_notifier\n  this_cpu: Page allocator conversion\n  percpu, x86: Generic inc / dec percpu instructions\n  local_t: Move local.h include to ringbuffer.c and ring_buffer_benchmark.c\n  module: Use this_cpu_xx to dynamically allocate counters\n  local_t: Remove cpu_local_xx macros\n  percpu: refactor the code in pcpu_[de]populate_chunk()\n  percpu: remove compile warnings caused by __verify_pcpu_ptr()\n  percpu: make accessors check for percpu pointer in sparse\n  percpu: add __percpu for sparse.\n  percpu: make access macros universal\n  percpu: remove per_cpu__ prefix.\n"
    },
    {
      "commit": "ac91d85456372a90af5b85eb6620fd2efb1e431b",
      "tree": "df15f1b8c3c6b8b5a6367f70a527b2da7e240361",
      "parents": [
        "3a5b27bf6f29574d667230c7e76e4b83fe3014e0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 02 17:54:50 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 02 21:11:47 2010 -0500"
      },
      "message": "tracing: Fix warning in s_next of trace file ops\n\nThis warning in s_next() can be triggered by lseek():\n [\u003cc018b3f7\u003e] ? s_next+0x77/0x80\n [\u003cc013e3c1\u003e] warn_slowpath_common+0x81/0xa0\n [\u003cc018b3f7\u003e] ? s_next+0x77/0x80\n [\u003cc013e3fa\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cc018b3f7\u003e] s_next+0x77/0x80\n [\u003cc01efa77\u003e] traverse+0x117/0x200\n [\u003cc01eff13\u003e] seq_lseek+0xa3/0x120\n [\u003cc01efe70\u003e] ? seq_lseek+0x0/0x120\n [\u003cc01d7081\u003e] vfs_llseek+0x41/0x50\n [\u003cc01d8116\u003e] sys_llseek+0x66/0xa0\n [\u003cc0102bd0\u003e] sysenter_do_call+0x12/0x26\n\nThe iterator \"leftover\" variable is zeroed in the opening of the trace\nfile. But lseek can call s_start() which will call s_next() without\nreseting the \"leftover\" variable back to zero, which might trigger\nthe WARN_ON_ONCE(iter-\u003eleftover) that is in s_next().\n\nCc: stable@kernel.org\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B8CE06A.9090207@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "64b9fb5704a479d98a59f2a1d45d3331a8f847f8",
      "tree": "2b1052b05fa7615c817894bc9802bc5bb2af7ac1",
      "parents": [
        "83f0d53993b2967e54186468b0fc4321447f68f1",
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 09:18:32 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 09:18:32 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.33\u0027 into tracing/core\n\nConflicts:\n\tscripts/recordmcount.pl\n\nMerge reason: Merge up to v2.6.33.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab386128f20c44c458a90039ab1bdc265ac474c9",
      "tree": "2ad188744922b1bb951fd10ff50dc04c83acce22",
      "parents": [
        "dbfc196a3cc1a2514ad0737a82f764de23bd65e6",
        "ab658321f32770b903a4426e2a6fae0392757755"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:15 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:15 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into percpu\n"
    },
    {
      "commit": "74bf4076f2ed79b5510440b72a561823a8852ec0",
      "tree": "d992d49f992cd77e20c9833876c021ad9b265f57",
      "parents": [
        "f6760aa024199cfbce564311dc4bc4d47b6fb349"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jan 25 15:11:53 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 25 15:11:53 2010 -0500"
      },
      "message": "tracing: Prevent kernel oops with corrupted buffer\n\nIf the contents of the ftrace ring buffer gets corrupted and the trace\nfile is read, it could create a kernel oops (usualy just killing the user\ntask thread). This is caused by the checking of the pid in the buffer.\nIf the pid is negative, it still references the cmdline cache array,\nwhich could point to an invalid address.\n\nThe simple fix is to test for negative PIDs.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d931369b74b3d6f2044f595af6f3dd074f65d9cf",
      "tree": "ae60bd92388f278d32f659b7ce5ff20a229e0bb1",
      "parents": [
        "dfaa9e2c5707b2c217c0121aac796e0fa3051482"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 06 17:27:11 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 06 18:09:57 2010 -0500"
      },
      "message": "tracing: Add stack dump to trace_printk if stacktrace option is set\n\nIf the ftrace stacktrace option is set, then add the stack dumps to\ntrace_printk.\n\nRequested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7e53bd42d14c75192b99674c40fcc359392da59d",
      "tree": "65c3638604a2c03947da5cbd7ffb3e4dfee66370",
      "parents": [
        "0fa0edaf32b9a78b9854f1da98d4511a501089b0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 06 20:08:50 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 06 12:51:34 2010 -0500"
      },
      "message": "tracing: Consolidate protection of reader access to the ring buffer\n\nAt the beginning, access to the ring buffer was fully serialized\nby trace_types_lock. Patch d7350c3f4569 gives more freedom to readers,\nand patch b04cc6b1f6 adds code to protect trace_pipe and cpu#/trace_pipe.\n\nBut actually it is not enough, ring buffer readers are not always\nread-only, they may consume data.\n\nThis patch makes accesses to trace, trace_pipe, trace_pipe_raw\ncpu#/trace, cpu#/trace_pipe and cpu#/trace_pipe_raw serialized.\nAnd removes tracing_reader_cpumask which is used to protect trace_pipe.\n\nDetails:\n\nRing buffer serializes readers, but it is low level protection.\nThe validity of the events (which returns by ring_buffer_peek() ..etc)\nare not protected by ring buffer.\n\nThe content of events may become garbage if we allow another process to consume\nthese events concurrently:\n  A) the page of the consumed events may become a normal page\n     (not reader page) in ring buffer, and this page will be rewritten\n     by the events producer.\n  B) The page of the consumed events may become a page for splice_read,\n     and this page will be returned to system.\n\nThis patch adds trace_access_lock() and trace_access_unlock() primitives.\n\nThese primitives allow multi process access to different cpu ring buffers\nconcurrently.\n\nThese primitives don\u0027t distinguish read-only and read-consume access.\nMulti read-only access is also serialized.\n\nAnd we don\u0027t use these primitives when we open files,\nwe only use them when we read files.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B447D52.1050602@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "32032df6c2f6c9c6b2ada2ce42322231824f70c2",
      "tree": "b1ce838a37044bb38dfc128e2116ca35630e629a",
      "parents": [
        "22b737f4c75197372d64afc6ed1bccd58c00e549",
        "c5974b835a909ff15c3b7e6cf6789b5eb919f419"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 09:17:33 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 05 09:17:33 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into percpu\n\nConflicts:\n\tarch/powerpc/platforms/pseries/hvCall.S\n\tinclude/linux/percpu.h\n"
    },
    {
      "commit": "b21c07040304b8716e38a4a0e4ab60f386357e61",
      "tree": "eb2cf03ec35b9a5090c0adaab659a766e02c3b10",
      "parents": [
        "4e58fb7305449cf8c5a86dd97dfc1812221be77c",
        "fb7ae981cb9fe8665b9da97e8734745e030c151d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:52:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:52:01 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix sign fields in ftrace_define_fields_##call()\n  tracing/syscalls: Fix typo in SYSCALL_DEFINE0\n  tracing/kprobe: Show sign of fields in trace_kprobe format files\n  ksym_tracer: Remove trace_stat\n  ksym_tracer: Fix race when incrementing count\n  ksym_tracer: Fix to allow writing newline to ksym_trace_filter\n  ksym_tracer: Fix to make the tracer work\n  tracing: Kconfig spelling fixes and cleanups\n  tracing: Fix setting tracer specific options\n  Documentation: Update ftrace-design.txt\n  Documentation: Update tracepoint-analysis.txt\n  Documentation: Update mmiotrace.txt\n"
    },
    {
      "commit": "c757bea93bea4b77ebd181cc6dca60c15e3b1a2c",
      "tree": "f1a4ddfea72acf13864f543648bf3f79924cbdc3",
      "parents": [
        "7e25f44cbf8d95a9748fdfd19c06145f19fd10e3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 21 22:35:16 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 21 22:35:16 2009 -0500"
      },
      "message": "tracing: Fix setting tracer specific options\n\nThe function __set_tracer_option() takes as its last parameter a\n\"neg\" value. If set it should negate the value of the option.\n\nThe trace_options_write() passed the value written to the file\nwhich is what the new value needs to be set as. But since this\nis not the negative, it never sets the value.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a865c0606eb44d5d12cabb429751c83712183de",
      "tree": "726d6eaf3b20f30900304bd0cbb6339b423a071f",
      "parents": [
        "331d9d5958277de27e6ce42247e1cbec54fd1c7e",
        "46e75f66677f5094bb51e91f9473128c4e907c7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 07:23:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 07:23:42 2009 -0800"
      },
      "message": "Merge branch \u0027for-33\u0027 of git://repo.or.cz/linux-kbuild\n\n* \u0027for-33\u0027 of git://repo.or.cz/linux-kbuild: (29 commits)\n  net: fix for utsrelease.h moving to generated\n  gen_init_cpio: fixed fwrite warning\n  kbuild: fix make clean after mismerge\n  kbuild: generate modules.builtin\n  genksyms: properly consider  EXPORT_UNUSED_SYMBOL{,_GPL}()\n  score: add asm/asm-offsets.h wrapper\n  unifdef: update to upstream revision 1.190\n  kbuild: specify absolute paths for cscope\n  kbuild: create include/generated in silentoldconfig\n  scripts/package: deb-pkg: use fakeroot if available\n  scripts/package: add KBUILD_PKG_ROOTCMD variable\n  scripts/package: tar-pkg: use tar --owner\u003droot\n  Kbuild: clean up marker\n  net: add net_tstamp.h to headers_install\n  kbuild: move utsrelease.h to include/generated\n  kbuild: move autoconf.h to include/generated\n  drop explicit include of autoconf.h\n  kbuild: move compile.h to include/generated\n  kbuild: drop include/asm\n  kbuild: do not check for include/asm-$ARCH\n  ...\n\nFixed non-conflicting clean merge of modpost.c as per comments from\nStephen Rothwell (modpost.c had grown an include of linux/autoconf.h\nthat needed to be changed to generated/autoconf.h)\n"
    },
    {
      "commit": "da184a8064efe2a78d8542877970f7c6bb62775a",
      "tree": "d10193bb583f60333e243fe46386cab31f591e0c",
      "parents": [
        "525995d77ca08dfc2ba6f8e606f93694271dbd66",
        "e36c54582c6f14adc9e10473e2aec2cc4f0acc03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:02:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:02:25 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix return of trace_dump_stack()\n  ksym_tracer: Fix bad cast\n  tracing/power: Remove two exports\n  tracing: Change event-\u003eprofile_count to be int type\n  tracing: Simplify trace_option_write()\n  tracing: Remove useless trace option\n  tracing: Use seq file for trace_clock\n  tracing: Use seq file for trace_options\n  function-graph: Allow writing the same val to set_graph_function\n  ftrace: Call trace_parser_clear() properly\n  ftrace: Return EINVAL when writing invalid val to set_ftrace_filter\n  tracing: Move a printk out of ftrace_raw_reg_event_foo()\n  tracing: Pull up calls to trace_define_common_fields()\n  tracing: Extract duplicate ftrace_raw_init_event_foo()\n  ftrace.h: Use common pr_info fmt string\n  tracing: Add stack trace to irqsoff tracer\n  tracing: Add trace_dump_stack()\n  ring-buffer: Move resize integrity check under reader lock\n  ring-buffer: Use sync sched protection on ring buffer resizing\n  tracing: Fix wrong usage of strstrip in trace_ksyms\n"
    },
    {
      "commit": "28dfef8febe48f59cf1e7596e1992a6a1893ca24",
      "tree": "eb2df6dd75e72db066062950f91c9ab2e8215280",
      "parents": [
        "5116fa2b3a0a3ec625a10445ae45667f094c125b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:46:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:05 2009 -0800"
      },
      "message": "const: constify remaining pipe_buf_operations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e36c54582c6f14adc9e10473e2aec2cc4f0acc03",
      "tree": "057c54ccfd431152486fd781070713ad0e34bb01",
      "parents": [
        "0087aabd6a3744c28114240776918f5d15e46b98"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 14 15:58:33 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 08:36:11 2009 +0100"
      },
      "message": "tracing: Fix return of trace_dump_stack()\n\nThe trace_dump_stack() returned a value for a void function.\n\nAlso, added the missing stub for trace_dump_stack() when tracing is\nnot configured.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20091214162713.GA31060@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62",
      "tree": "e371d17bd73d64332349debbf45962ec67e7269d",
      "parents": [
        "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:01:25 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert __raw_spin* functions to arch_spin*\n\nName space cleanup. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26",
      "tree": "a4fac9d24d243d3296fc36a2371db2a56d363e1a",
      "parents": [
        "445c89514be242b1b0080056d50bdc1b72adeb5c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 12:38:57 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED\n\nFurther name space cleanup. No functional change\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "445c89514be242b1b0080056d50bdc1b72adeb5c",
      "tree": "96ed062794ad0fb6a649713c83f009eea382e8b2",
      "parents": [
        "6b6b4792f89346e47437682c7ba3438e6681c0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 19:49:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_spinlock to arch_spinlock\n\nThe raw_spin* namespace was taken by lockdep for the architecture\nspecific implementations. raw_spin_* would be the ideal name space for\nthe spinlocks which are not converted to sleeping locks in preempt-rt.\n\nLinus suggested to convert the raw_ to arch_ locks and cleanup the\nname space instead of using an artifical name like core_spin,\natomic_spin or whatever\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "0087aabd6a3744c28114240776918f5d15e46b98",
      "tree": "8bf3ba7b3395490441722360d2872480f64cd694",
      "parents": [
        "cc0104e877fff32865a67b256d3a9ce52ff15790",
        "cc51a0fca66658ea710db566ba17e80e3f7d4957"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:12:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:12:37 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "8d18eaaff5acaa58369be342c86e607643ce10c7",
      "tree": "ff5d275165cd224468a9930f94ac80a53bfc55c7",
      "parents": [
        "2cbafd68b826f8e0471875cf33cdfb8a1478aef1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:17:06 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:28 2009 +0100"
      },
      "message": "tracing: Simplify trace_option_write()\n\n- remove duplicate code inside trace_options_write()\n- extract duplicate code in trace_options_write() and set_tracer_option()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC532.9010802@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "2cbafd68b826f8e0471875cf33cdfb8a1478aef1",
      "tree": "27bf54c8f0803fc3ed854140eee01d7ac5104c6a",
      "parents": [
        "13f16d209161c95e92aef40e350cc6cf56ac440b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:16:26 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Remove useless trace option\n\nSince commit 4d9493c90f8e6e1b164aede3814010a290161abb\n(\"ftrace: remove add-hoc code\"), option \"sched-tree\"\nhas become useless.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC50A.7040402@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "13f16d209161c95e92aef40e350cc6cf56ac440b",
      "tree": "a8e3bc78c7b07f5dab8776d91642d29ea1783fb8",
      "parents": [
        "fdb372ed4cadbfe9dbba0e932a77d0523682e690"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:16:11 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Use seq file for trace_clock\n\nThe buffer for the output is as small as 64 bytes, so it\u0027ll\noverflow if we add more clock type. Use seq file instead.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4B1DC4FB.5030407@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "fdb372ed4cadbfe9dbba0e932a77d0523682e690",
      "tree": "fe58239da27070baac9c0dc3c692f7535cfcfa15",
      "parents": [
        "91baf6285be7282cfa487de92f836c50749dffb9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 08 11:15:59 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 13 18:37:27 2009 +0100"
      },
      "message": "tracing: Use seq file for trace_options\n\nCode simplification for reading trace_options.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-reference: \u003c4B1DC4EF.3090106@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "273b281fa22c293963ee3e6eec418f5dda2dbc83",
      "tree": "1503005f5b106c0293a5eba1fb9ff90a9c91e4c9",
      "parents": [
        "264a26838056fc2d759f58bec2e720e01fcb1bdb"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Oct 18 00:52:28 2009 +0200"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Sat Dec 12 13:08:15 2009 +0100"
      },
      "message": "kbuild: move utsrelease.h to include/generated\n\nFix up all users of utsrelease.h\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "03889384cee7a198a79447c1ea6aca2c8e54d155",
      "tree": "66794ab12e3196c4bee4d8d020f451e8cc8a1f6d",
      "parents": [
        "dd7f59435782a02ceb6d16b9ce823dd3345d75ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 11 09:48:22 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 11 10:38:47 2009 -0500"
      },
      "message": "tracing: Add trace_dump_stack()\n\nI\u0027ve been asked a few times about how to find out what is calling\nsome location in the kernel. One way is to use dynamic function tracing\nand implement the func_stack_trace. But this only finds out who is\ncalling a particular function. It does not tell you who is calling\nthat function and entering a specific if conditional.\n\nI have myself implemented a quick version of trace_dump_stack() for\nthis purpose a few times, and just needed it now. This is when I realized\nthat this would be a good tool to have in the kernel like trace_printk().\n\nUsing trace_dump_stack() is similar to dump_stack() except that it\nwrites to the trace buffer instead and can be used in critical locations.\n\nFor example:\n\n@@ -5485,8 +5485,12 @@ need_resched_nonpreemptible:\n \tif (prev-\u003estate \u0026\u0026 !(preempt_count() \u0026 PREEMPT_ACTIVE)) {\n \t\tif (unlikely(signal_pending_state(prev-\u003estate, prev)))\n \t\t\tprev-\u003estate \u003d TASK_RUNNING;\n-\t\telse\n+\t\telse {\n \t\t\tdeactivate_task(rq, prev, 1);\n+\t\t\ttrace_printk(\"Deactivating task %s:%d\\n\",\n+\t\t\t\t     prev-\u003ecomm, prev-\u003epid);\n+\t\t\ttrace_dump_stack();\n+\t\t}\n \t\tswitch_count \u003d \u0026prev-\u003envcsw;\n \t}\n\nProduces:\n\n           \u003c...\u003e-3249  [001]   296.105269: schedule: Deactivating task ntpd:3249\n           \u003c...\u003e-3249  [001]   296.105270: \u003cstack trace\u003e\n \u003d\u003e schedule\n \u003d\u003e schedule_hrtimeout_range\n \u003d\u003e poll_schedule_timeout\n \u003d\u003e do_select\n \u003d\u003e core_sys_select\n \u003d\u003e sys_select\n \u003d\u003e system_call_fastpath\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f2942487ffb0c0a80b2312f667ea30dd55a24bb0",
      "tree": "8e6e4c8ae8230f2648142c863e8482b7656e6614",
      "parents": [
        "be1eca39319689aed7d3aedb9c3bece9469fe10f"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Sun Dec 06 14:02:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 14:20:08 2009 -0500"
      },
      "message": "tracing: Remove comparing of NULL to va_list in trace_array_vprintk()\n\nOlof Johansson stated the following:\n\n  Comparing a va_list with NULL is bogus. It\u0027s supposed to be treated like\n  an opaque type and only be manipulated with va_* accessors.\n\nOlof noticed that this code broke the ARM builds:\n\n    kernel/trace/trace.c: In function \u0027trace_array_vprintk\u0027:\n    kernel/trace/trace.c:1364: error: invalid operands to binary \u003d\u003d (have \u0027va_list\u0027 and \u0027void *\u0027)\n    kernel/trace/trace.c: In function \u0027tracing_mark_write\u0027:\n    kernel/trace/trace.c:3349: error: incompatible type for argument 3 of \u0027trace_vprintk\u0027\n\nThis patch partly reverts c13d2f7c3231e873f30db92b96c8caa48f100f33 and\nre-installs the original mark_printk() mechanism.\n\nReported-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B1BAB74.104@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a63ce5b306855bccdacba95c03bfc293316c8ae3",
      "tree": "b6d91266e9333a9cf74d6171bbee0acc0e18096b",
      "parents": [
        "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 07 09:11:39 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 13:55:26 2009 -0500"
      },
      "message": "tracing: Buffer the output of seq_file in case of filled buffer\n\nIf the seq_read fills the buffer it will call s_start again on the next\nitertation with the same position. This causes a problem with the\nfunction_graph tracer because it consumes the iteration in order to\ndetermine leaf functions.\n\nWhat happens is that the iterator stores the entry, and the function\ngraph plugin will look at the next entry. If that next entry is a return\nof the same function and task, then the function is a leaf and the\nfunction_graph plugin calls ring_buffer_read which moves the ring buffer\niterator forward (the trace iterator still points to the function start\nentry).\n\nThe copying of the trace_seq to the seq_file buffer will fail if the\nseq_file buffer is full. The seq_read will not show this entry.\nThe next read by userspace will cause seq_read to again call s_start\nwhich will reuse the trace iterator entry (the function start entry).\nBut the function return entry was already consumed. The function graph\nplugin will think that this entry is a nested function and not a leaf.\n\nTo solve this, the trace code now checks the return status of the\nseq_printf (trace_print_seq). If the writing to the seq_file buffer\nfails, we set a flag in the iterator (leftover) and we do not reset\nthe trace_seq buffer. On the next call to s_start, we check the leftover\nflag, and if it is set, we just reuse the trace_seq buffer and do not\ncall into the plugin print functions.\n\nBefore this patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)               |          __fsnotify_parent() {\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\nAfter the patch:\n\n 2)               |      fput() {\n 2)               |        __fput() {\n 2)   0.550 us    |          inotify_inode_queue_event();\n 2)   0.548 us    |          __fsnotify_parent();\n 2)   0.540 us    |          inotify_dentry_parent_queue_event();\n\n[\n  Updated the patch to fix a missing return 0 from the trace_print_seq()\n  stub when CONFIG_TRACING is disabled.\n\n  Reported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n]\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "29bf4a5e3fed3dde3eb629a0cb1762c1e9217458",
      "tree": "42a93ba9e1e7d0fb7b1f46382dba9a5245768629",
      "parents": [
        "c521efd1700a8c0f7ce26f011f5eaecca17fabfa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 09 12:37:43 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 09 12:47:35 2009 -0500"
      },
      "message": "tracing: Only call pipe_close if pipe_close is defined\n\nThis fixes a cut and paste error that had pipe_close get called\nif pipe_open was defined (not pipe_close).\n\nReported-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLKML-Reference: \u003c20091209153204.F4CD.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c521efd1700a8c0f7ce26f011f5eaecca17fabfa",
      "tree": "8dd9f8171222e856aafa5db1c1a150098327d409",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 07 09:06:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 07 12:01:35 2009 -0500"
      },
      "message": "tracing: Add pipe_close interface\n\nAn ftrace plugin can add a pipe_open interface when the user opens\ntrace_pipe. But if the plugin allocates something within the pipe_open\nit can not free it because there exists no pipe_close. The hook to\nthe trace file open has a corresponding close. The closing of the\ntrace_pipe file should also have a corresponding close.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "c13d2f7c3231e873f30db92b96c8caa48f100f33",
      "tree": "b849f99094e847f31f89e2e1a8944c9ff7f0ad30",
      "parents": [
        "811cb50baf63461ce0bdb234927046131fc7fa8b"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Mon Nov 16 20:56:13 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 09:19:06 2009 -0500"
      },
      "message": "tracing: Fix trace_marker output\n\nWhen a string was written to \u003cdebugfs\u003e/tracing/trace_marker, some\nstrange characters appeared in the trace output instead of the\nstring, since a vprint function erroneously called a vararg print\nfunction with a va_list argument. This patch fixes the problem and\nsimplifies the related code.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B01AE5D.1010801@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a646365cc330b5aaf4452c91f61b1e0d1acf68d0",
      "tree": "a1fda53758eb90e93d4a03efd21b2a35f3b283e0",
      "parents": [
        "ed146b25942b428f8e8056587b7638ce76573c2f"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Nov 11 22:26:35 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 11 21:26:55 2009 -0500"
      },
      "message": "tracing: Fix return value of tracing_stats_read()\n\nThe function tracing_stats_read() mistakenly returns ENOMEM instead\nof the negative value -ENOMEM.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nLKML-Reference: \u003c4AFB2C0B.50605@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dd17c8f72993f9461e9c19250e3f155d6d99df22",
      "tree": "c33eedf0cf2862e9feeb796e94d49a2ccdce0149",
      "parents": [
        "390dfd95c5df1ab3921dd388d11b2aee332c3f2c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 22:34:15 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:15 2009 +0900"
      },
      "message": "percpu: remove per_cpu__ prefix.\n\nNow that the return from alloc_percpu is compatible with the address\nof per-cpu vars, it makes sense to hand around the address of per-cpu\nvariables.  To make this sane, we remove the per_cpu__ prefix we used\ncreated to stop people accidentally using these vars directly.\n\nNow we have sparse, we can use that (next patch).\n\ntj: * Updated to convert stuff which were missed by or added after the\n      original patch.\n\n    * Kill per_cpu_var() macro.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9705f69ed0a5ef593f45e618bcb3cbfdbf391f64",
      "tree": "18db802e8a985d6f7427e0949aea2e08f53ff2a8",
      "parents": [
        "1871e52c76dd95895caeb772f845a1718dcbcd75"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols in tracer unique\n\nThis patch updates percpu related symbols in kernel tracer such that\npercpu symbols are unique and don\u0027t clash with local symbols.  This\nserves two purposes of decreasing the possibility of global percpu\nsymbol collision and allowing dropping per_cpu__ prefix from percpu\nsymbols.\n\n* kernel/trace/trace.c: s/max_data/max_tr_data/\n* kernel/trace/trace_hw_branches: s/tracer/hwb_tracer/, s/buffer/hwb_buffer/\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "9de09ace8d518141a4375e1d216ab64db4377799",
      "tree": "da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16",
      "parents": [
        "1beee96bae0daf7f491356777c3080cc436950f5",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:20 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up fixes and move base from -rc1 to -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8517cf905b5cd31d5790250b9ac39f7cb8aa53",
      "tree": "22796f676ce955ec204ece1485dac6e93d1aeb3e",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:16 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:49 2009 +0200"
      },
      "message": "tracing: Update *ppos instead of filp-\u003ef_pos\n\nInstead of directly updating filp-\u003ef_pos we should update the *ppos\nargument. The filp-\u003ef_pos gets updated within the file_pos_write()\nfunction called from sys_write().\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.399670810@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1beee96bae0daf7f491356777c3080cc436950f5",
      "tree": "08aa1380fce845680b15f6911100776439246954",
      "parents": [
        "06f43d66ec36388056f5c697bf1e67c0e0a1645c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:50:32 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 14 20:55:55 2009 +0200"
      },
      "message": "ftrace: Rename set_bootup_ftrace into set_cmdline_ftrace\n\nset_cmdline_ftrace is a better match against what does this function:\napply a tracer name from the kernel command line.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "1bac0497ef9af8d933860672223e38bd6ac4934a",
      "tree": "8e569b0e7ed977a4659002632362855cc245990f",
      "parents": [
        "2c96c142e941041973faab20ca3b82d57f435c5e",
        "bf7c5b43a12614847b83f507fb169ad30640e406"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 12:03:08 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core\n"
    },
    {
      "commit": "aef6f81b55f462082699c06e8e67e6eb5630ed45",
      "tree": "f5d0bf2b89b0b3e91d23f9eb3dea5ebb0e6f39cc",
      "parents": [
        "369bc18f9a6c4e2686204c1d7476ab684a720968"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 12 22:23:24 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 13 09:32:57 2009 +0200"
      },
      "message": "tracing: Rename set_ftrace to set_bootup_ftrace\n\nDo this rename because set_ftrace is too much generic and not enough\nself-explainable as a name.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "9288f99aa52d90a5b82573c4b769c97c55af2f56",
      "tree": "34d484799f1d779d7244e373be7cd5d7d2e684af",
      "parents": [
        "494f6a9e12f5137d355d3ce3f5789ef148b642bc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Wed Oct 07 19:17:45 2009 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 12 19:51:49 2009 +0900"
      },
      "message": "this_cpu: Use this_cpu_xx for ftrace\n\nthis_cpu_xx can reduce the instruction count here and also\navoid address arithmetic.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a813a159766ee9d36aa1fc717c60d63325a6d077",
      "tree": "a895e702adea43c61f2890424c800d1f99a24f5c",
      "parents": [
        "8f6e8a314ab37cadd72da5ace9027f2d04aba854"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "message": "tracing: fix trace_vprintk call\n\nThe addition of trace_array_{v}printk used the wrong function for\ntrace_vprintk to call. This broke trace_marker and trace_vprintk\nitself. Although trace_printk may not have been affected by those\nthat end up calling trace_vbprintk.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4187e7e9f1294afdcb3be5d00aa74412a1c2ded8",
      "tree": "1d4b3447cb2a7407d97e51ee5c48069d6b92c9e3",
      "parents": [
        "5bb241b325d7d91bc4ec0b394f31dffb17fe7978",
        "115e8a288252ef748f34f8b7c1115c563d702eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 10:13:54 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  modules, tracing: Remove stale struct marker signature from module_layout()\n  tracing/workqueue: Use %pf in workqueue trace events\n  tracing: Fix a comment and a trivial format issue in tracepoint.h\n  tracing: Fix failure path in ftrace_regex_open()\n  tracing: Fix failure path in ftrace_graph_write()\n  tracing: Check the return value of trace_get_user()\n  tracing: Fix off-by-one in trace_get_user()\n"
    },
    {
      "commit": "79f5599772ac2f138d7a75b8f3f06a93f09c75f7",
      "tree": "092c9f6e3f7c49d8f5bb9f3d39752ae7cfb9415a",
      "parents": [
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 15 14:58:26 2009 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:24 2009 +0930"
      },
      "message": "cpumask: use zalloc_cpumask_var() where possible\n\nRemove open-coded zalloc_cpumask_var() and zalloc_cpumask_var_node().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3c235a337e205da0f614e456be72881483dcde6e"
}
