)]}'
{
  "log": [
    {
      "commit": "3b7433b8a8a83c87972065b1852b7dcae691e464",
      "tree": "93fa2c003f8baef5ab0733b53bac77961ed5240c",
      "parents": [
        "4a386c3e177ca2fbc70c9283d0b46537844763a0",
        "6ee0578b4daaea01c96b172c6aacca43fd9807a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)\n  workqueue: mark init_workqueues() as early_initcall()\n  workqueue: explain for_each_*cwq_cpu() iterators\n  fscache: fix build on !CONFIG_SYSCTL\n  slow-work: kill it\n  gfs2: use workqueue instead of slow-work\n  drm: use workqueue instead of slow-work\n  cifs: use workqueue instead of slow-work\n  fscache: drop references to slow-work\n  fscache: convert operation to use workqueue instead of slow-work\n  fscache: convert object to use workqueue instead of slow-work\n  workqueue: fix how cpu number is stored in work-\u003edata\n  workqueue: fix mayday_mask handling on UP\n  workqueue: fix build problem on !CONFIG_SMP\n  workqueue: fix locking in retry path of maybe_create_worker()\n  async: use workqueue for worker pool\n  workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead\n  workqueue: implement unbound workqueue\n  workqueue: prepare for WQ_UNBOUND implementation\n  libata: take advantage of cmwq and remove concurrency limitations\n  workqueue: fix worker management invocation without pending works\n  ...\n\nFixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in\ninclude/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c\n"
    },
    {
      "commit": "b62ad9ab181a67207a4c8c373461b587c4861a68",
      "tree": "ace1572964d81f5f9bbc10b7960c1f742832d744",
      "parents": [
        "af390084359a5de20046c901529b2b6a50b941cb",
        "b29230769e3482bbd62a07d6d9485371ee66a18f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "message": "Merge branch \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  um: Fix read_persistent_clock fallout\n  kgdb: Do not access xtime directly\n  powerpc: Clean up obsolete code relating to decrementer and timebase\n  powerpc: Rework VDSO gettimeofday to prevent time going backwards\n  clocksource: Add __clocksource_updatefreq_hz/khz methods\n  x86: Convert common clocksources to use clocksource_register_hz/khz\n  timekeeping: Make xtime and wall_to_monotonic static\n  hrtimer: Cleanup direct access to wall_to_monotonic\n  um: Convert to use read_persistent_clock\n  timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset\n  powerpc: Cleanup xtime usage\n  powerpc: Simplify update_vsyscall\n  time: Kill off CONFIG_GENERIC_TIME\n  time: Implement timespec_add\n  x86: Fix vtime/file timestamp inconsistencies\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n\nMuch less trivial conflicts in arch/powerpc/kernel/time.c resolved as\nper Thomas\u0027 earlier merge commit 47916be4e28c (\"Merge branch\n\u0027powerpc.cherry-picks\u0027 into timers/clocksource\")\n"
    },
    {
      "commit": "592913ecb87a9e06f98ddb55b298f1a66bf94c6b",
      "tree": "0f63f5535fe517faf418e0f7e69800fcf1e4d8db",
      "parents": [
        "ce3bf7ab22527183634a76512d9854a38615e4d5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:20 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:54 2010 +0200"
      },
      "message": "time: Kill off CONFIG_GENERIC_TIME\n\nNow that all arches have been converted over to use generic time via\nclocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME\nconfig option and simplify the generic code.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-4-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "5d550467b9770042e9699690907babc32104a8d4",
      "tree": "eda923f5976f5d6f881719998207696147cffa41",
      "parents": [
        "86a8c63f75a4582c44465e2bf71bc2df175cee77"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 15 23:27:35 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 15 23:59:33 2010 +0200"
      },
      "message": "tracing: Remove ksym tracer\n\nThe ksym (breakpoint) ftrace plugin has been superseded by perf\ntools that are much more poweful to use the cpu breakpoints.\nThis tracer doesn\u0027t bring more feature. It has been deprecated\nfor a while now, lets remove it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64166699752006f1a23a9cf7c96ae36654ccfc2c",
      "tree": "ef4d825be9526409102bff79ca8bb1dd60aa2443",
      "parents": [
        "a62428c0ae54a39e411251e836c3fe3dc11a5f5f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:11 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:11 2010 +0200"
      },
      "message": "workqueue: temporarily remove workqueue tracing\n\nStrip tracing code from workqueue and remove workqueue tracing.  This\nis temporary measure till concurrency managed workqueue is complete.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "039ca4e74a1cf60bd7487324a564ecf5c981f254",
      "tree": "61c6fa8409961d2e22ef9d04ac54442734ebd41a",
      "parents": [
        "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 26 17:22:17 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 09 17:31:22 2010 +0200"
      },
      "message": "tracing: Remove kmemtrace ftrace plugin\n\nWe have been resisting new ftrace plugins and removing existing\nones, and kmemtrace has been superseded by kmem trace events\nand perf-kmem, so we remove it.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ remove kmemtrace from the makefile, handle slob too ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\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": "faa4602e47690fb11221e00f9b9697c8dc0d4b19",
      "tree": "af667d1cdff7dc63b6893ee3f27a1f2503229ed1",
      "parents": [
        "7c5ecaf7666617889f337296c610815b519abfa9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 25 14:51:50 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 26 11:33:55 2010 +0100"
      },
      "message": "x86, perf, bts, mm: Delete the never used BTS-ptrace code\n\nSupport for the PMU\u0027s BTS features has been upstreamed in\nv2.6.32, but we still have the old and disabled ptrace-BTS,\nas Linus noticed it not so long ago.\n\nIt\u0027s buggy: TIF_DEBUGCTLMSR is trampling all over that MSR without\nregard for other uses (perf) and doesn\u0027t provide the flexibility\nneeded for perf either.\n\nIts users are ptrace-block-step and ptrace-bts, since ptrace-bts\nwas never used and ptrace-block-step can be implemented using a\nmuch simpler approach.\n\nSo axe all 3000 lines of it. That includes the *locked_memory*()\nAPIs in mm/mlock.c as well.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20100325135413.938004390@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fb83029db161141d68cf019760a893d03d0682b",
      "tree": "6f149c23cedc9b2a5f72b5b90ab8426b39afbb7c",
      "parents": [
        "281b3714e91162b66add1cfac404cf7b81e3e2f2",
        "e01292b1fd68ff2abe234d584b06e64344d2c1de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 27 10:06:10 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 27 10:06:10 2010 +0100"
      },
      "message": "Merge branch \u0027tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core\n"
    },
    {
      "commit": "281b3714e91162b66add1cfac404cf7b81e3e2f2",
      "tree": "9f80453153db272c207129d971e17d31a6bb214a",
      "parents": [
        "64b9fb5704a479d98a59f2a1d45d3331a8f847f8",
        "7b60997f73865b019e595720185c85285ca3df9a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 09:20:17 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 09:20:17 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/core\n"
    },
    {
      "commit": "1ab83a89411556c4d5914dcf0d5da190178ae7db",
      "tree": "894b875ef02497e02e5c4c03ca5a4a0b40ce47dc",
      "parents": [
        "86c38a31aa7f2dd6e74a262710bf8ebf7455acc5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 24 15:28:14 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 25 10:31:45 2010 -0500"
      },
      "message": "tracing: Remove CONFIG_TRACE_POWER from kernel config\n\nThe power tracer has been converted to power trace events.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B84D50E.4070806@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f850c30c8b426ba1688cb63b1a3e534eed03a138",
      "tree": "b01f27bc57b73cf8311c8135be0ffc8e93b16ed6",
      "parents": [
        "e7b8e675d9c71b868b66f62f725a948047514719"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Feb 10 17:25:17 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 17 13:13:08 2010 +0100"
      },
      "message": "tracing/kprobes: Make Kconfig dependencies generic\n\nKPROBES_EVENT actually depends on the regs and stack access API\n(b1cf540f) and not on x86.\nSo introduce a new config option which architectures can select if\nthey have the API implemented and switch x86.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nLKML-Reference: \u003c20100210162517.GB6933@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "03688970347bfea32823953a7ce5886d1713205f",
      "tree": "7ae2cc539b20b0a621d4a11f335f96de619ecfcb",
      "parents": [
        "6993b1bb1e62367f500789835a1f747e12259f07"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jan 22 08:12:47 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 26 17:00:39 2010 -0500"
      },
      "message": "tracing/documentation: Cover new frame pointer semantics\n\nUpdate the graph tracer examples to cover the new frame pointer semantics\n(in terms of passing it along).  Move the HAVE_FUNCTION_GRAPH_FP_TEST docs\nout of the Kconfig, into the right place, and expand on the details.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nLKML-Reference: \u003c1264165967-18938-1-git-send-email-vapier@gentoo.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "40892367bc893f3abf6f5ca8ac2ed1c98ba26a77",
      "tree": "f73c4b14b52247911a89fbcce0bcf9bd2b227913",
      "parents": [
        "c757bea93bea4b77ebd181cc6dca60c15e3b1a2c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Dec 21 12:01:17 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 10:37:54 2009 +0100"
      },
      "message": "tracing: Kconfig spelling fixes and cleanups\n\nFix filename reference (ftrace-implementation.txt -\u003e\nftrace-design.txt).\n\nFix spelling, punctuation, grammar.\n\nFix help text indentation and line lengths to reduce need for\nhorizontal scrolling or larger window sizes.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091221120117.3fb49cdc.randy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96200591a34f8ecb98481c626125df43a2463b55",
      "tree": "314c376b01f254d04f9aaf449b1f9147ad177fa6",
      "parents": [
        "7031281e02bf951a2259849217193fb9d75a9762",
        "68efa37df779b3e04280598e8b5b3a1919b65fee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/hw-breakpoints\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/kprobes.c\n\tkernel/trace/Makefile\n\nMerge reason: hw-breakpoints perf integration is looking\n              good in testing and in reviews, plus conflicts\n              are mounting up - so merge \u0026 resolve.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77b44d1b7c28360910cdbd427fb62d485c08674c",
      "tree": "00db4f966b488abb88e5f3884ab2635e06f3f1d6",
      "parents": [
        "91365bbe4f8c39a821f390f785d606304d6dee3c"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Nov 03 19:12:47 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 13:02:48 2009 +0100"
      },
      "message": "tracing/kprobes: Rename Kprobe-tracer to kprobe-event\n\nRename Kprobes-based event tracer to kprobes-based tracing event\n(kprobe-event), since it is not a tracer but an extensible\ntracing event interface.\n\nThis also changes CONFIG_KPROBE_TRACER to CONFIG_KPROBE_EVENT\nand sets it y by default.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091104001247.3454.14131.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f8f86c7bdd1c954fbe153af437a0d91a6c5721a",
      "tree": "94a8d419a470a4f9852ca397bb9bbe48db92ff5c",
      "parents": [
        "dca2d6ac09d9ef59ff46820d4f0c94b08a671202",
        "f39cdf25bf77219676ec5360980ac40b1a7e144a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:09:09 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:12:33 2009 +0200"
      },
      "message": "Merge commit \u0027perf/core\u0027 into perf/hw-breakpoint\n\nConflicts:\n\tkernel/Makefile\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tsamples/Makefile\n\nMerge reason: We need to be uptodate with the perf events development\nbranch because we plan to rewrite the breakpoints API on top of\nperf events.\n"
    },
    {
      "commit": "d7a4b414eed51f1653bb05ebe84122bf9a7ae18b",
      "tree": "bd6603a0c27de4c138a1767871897e9cd3e1a1d2",
      "parents": [
        "1f0ab40976460bc4673fa204ce917a725185d8f2",
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tkernel/trace/trace_event_types.h\n\tkernel/trace/trace_export.c\n\nMerge reason:\n\tSync with latest significant tracing core changes.\n"
    },
    {
      "commit": "2944fcbe03d65a704f07e43efe14adb0d226fd09",
      "tree": "875e431be243f77fe04aaa57d5b5288d22532b44",
      "parents": [
        "f0a75770bde5cb5f9596bd0256d8ec3649720525"
      ],
      "author": {
        "name": "Uwe Kleine-Koenig",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Aug 05 22:06:42 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:58 2009 +0200"
      },
      "message": "trivial: Fix duplicated word \"options\" in comment\n\nthis was introduced in\n\n\t5e0a093 (tracing: fix config options to not show when automatically selected)\n\nSigned-off-by: Uwe Kleine-Koenig \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: trivial@kernel.org\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "555f386c98cc93890f48fdea098936755270304b",
      "tree": "1c0d9c2124327511e2e5bb26b24d305e8f701341",
      "parents": [
        "1f5a6b45416694ff8c0d04625f1a438a0e380add"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 14 20:10:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 14 21:43:15 2009 -0400"
      },
      "message": "ftrace: document function and function graph implementation\n\nWhile implementing function tracer and function tracer graph support,\nI found the exact arch implementation details to be a bit lacking\n(and my x86 foo ain\u0027t great).  So after pounding out support for\nthe Blackfin arch, start documenting the requirements/details.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nLKML-Reference: \u003c1252973415-21264-1-git-send-email-vapier@gentoo.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1f5a6b45416694ff8c0d04625f1a438a0e380add",
      "tree": "bdf5a59ac8297ead4dd8fabea6124beb7d965cb4",
      "parents": [
        "20a58a77231c5f5f61470932503b889303e8d4f3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 14 11:58:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 14 11:58:24 2009 -0400"
      },
      "message": "tracing: make testing syscall events a separate configuration\n\nParag noticed that the number of event tests has increased tremendously:\n\ngrep \"Testing event\" dmesg.31rc9 |wc -l\n100\n\ngrep \"Testing event\" dmesg.31git |wc -l\n1172\n\nThis is due to the testing of every syscall event when ftrace self\ntest is enabled. This adds a bit more time to kernel boot up and can\naffect development by slowing down the time it takes between reboots.\n\nThis option makes the testing of the syscall events into a separate\nconfig, to still be able to test most of ftrace internals at boot up\nbut not have to wait for all the syscall events to be tested.\n\nThe syscall event testing only tests the enabling and disabling of\nthe trace point, since the syscalls are not executed. What really needs\nto be done is to somehow have a userspace tool test the syscall tracepoints\nas well.\n\nReported-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nLKML-Reference: \u003cf7848160909130815l3e768a30n3b28808bbe5c254b@mail.gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8f8ffe2485bcaa890800681451d380779cea06af",
      "tree": "1d2ef3a27f1cab9a2b9014f4b75886a96a1ae8db",
      "parents": [
        "70069577323e6f72b845166724f34b9858134437",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 01:09:23 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 01:09:23 2009 +0200"
      },
      "message": "Merge commit \u0027tracing/core\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/trace_export.c\n\tkernel/trace/trace_kprobe.c\n\nMerge reason: This topic branch lacks an important\nbuild fix in tracing/core:\n\n\t0dd7b74787eaf7858c6c573353a83c3e2766e674:\n\ttracing: Fix double CPP substitution in TRACE_EVENT_FN\n\nthat prevents from multiple tracepoint headers inclusion crashes.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "a1922ed661ab2c1637d0b10cde933bd9cd33d965",
      "tree": "0f1777542b385ebefd30b3586d830fd8ed6fda5b",
      "parents": [
        "75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 08:19:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 08:19:51 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core\u0027 into tracing/hw-breakpoints\n\nConflicts:\n\tarch/Kconfig\n\tkernel/trace/trace.h\n\nMerge reason: resolve the conflicts, plus adopt to the new\n              ring-buffer APIs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85bac32c4a52c592b857f2c360cc5ec93a097d70",
      "tree": "510e516dd5fa388cb9582a2f6b055f3725fbf2c1",
      "parents": [
        "62f0b3eb5cb58931a02ee4e599e19c80a171e351"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Sep 04 14:24:40 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 19:42:22 2009 -0400"
      },
      "message": "ring-buffer: only enable ring_buffer_swap_cpu when needed\n\nSince the ability to swap the cpu buffers adds a small overhead to\nthe recording of a trace, we only want to add it when needed.\n\nOnly the irqsoff and preemptoff tracers use this feature, and both are\nnot recommended for production kernels. This patch disables its use\nwhen neither irqsoff nor preemptoff is configured.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c0729be99cb2b9d9749256254f1c40a801835896",
      "tree": "f7cb3d86ed28f2f42dcaa23035f2ecc30e363137",
      "parents": [
        "6c347d43eea29221a8ebab9ff9cbe7a00cddac98"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Aug 26 22:23:52 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 27 16:58:03 2009 -0400"
      },
      "message": "tracing: remove legacy select of MARKERS by context switch tracing\n\nThe context switch tracer was made before tracepoints were mature, and\nthe original version used markers. This is no longer true and this\npatch removes the select.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "413d37d1eb69c1765b9ace0a612dac9b6c990e66",
      "tree": "6f483714046c388ab9f57b33f17f365cd4e57446",
      "parents": [
        "d93f12f3f417e49a175800da85c6fcb2a5096e03"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Aug 13 16:35:11 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 27 02:31:54 2009 +0200"
      },
      "message": "tracing: Add kprobe-based event tracer\n\nAdd kprobes-based event tracer on ftrace.\n\nThis tracer is similar to the events tracer which is based on Tracepoint\ninfrastructure. Instead of Tracepoint, this tracer is based on kprobes\n(kprobe and kretprobe). It probes anywhere where kprobes can probe(this\n means, all functions body except for __kprobes functions).\n\nSimilar to the events tracer, this tracer doesn\u0027t need to be activated\nvia current_tracer, instead of that, just set probe points via\n/sys/kernel/debug/tracing/kprobe_events. And you can set filters on each\nprobe events via /sys/kernel/debug/tracing/events/kprobes/\u003cEVENT\u003e/filter.\n\nThis tracer supports following probe arguments for each probe.\n\n  %REG  : Fetch register REG\n  sN    : Fetch Nth entry of stack (N \u003e\u003d 0)\n  sa    : Fetch stack address.\n  @ADDR : Fetch memory at ADDR (ADDR should be in kernel)\n  @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol)\n  aN    : Fetch function argument. (N \u003e\u003d 0)\n  rv    : Fetch return value.\n  ra    : Fetch return address.\n  +|-offs(FETCHARG) : fetch memory at FETCHARG +|- offs address.\n\nSee Documentation/trace/kprobetrace.txt in the next patch for details.\n\nChanges from v13:\n - Support \u0027sa\u0027 for stack address.\n - Use call-\u003edata instead of container_of() macro.\n\n[fweisbec@gmail.com: Fixed conflict against latest tracing/core]\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Przemysław Pawełczyk \u003cprzemyslaw@pawelczyk.it\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nLKML-Reference: \u003c20090813203510.31965.29123.stgit@localhost.localdomain\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "667000011927b4fcc359beac4a2447889db6d349",
      "tree": "d21f0bce17e08479885818792529d3cadf7b8003",
      "parents": [
        "d88cb582325830698de5071fa8b8c9e933dbbcad"
      ],
      "author": {
        "name": "Josh Stone",
        "email": "jistone@redhat.com",
        "time": "Mon Aug 24 14:43:11 2009 -0700"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 26 00:17:35 2009 +0200"
      },
      "message": "tracing: Rename FTRACE_SYSCALLS for tracepoints\n\ns/HAVE_FTRACE_SYSCALLS/HAVE_SYSCALL_TRACEPOINTS/g\ns/TIF_SYSCALL_FTRACE/TIF_SYSCALL_TRACEPOINT/g\n\nThe syscall enter/exit tracing is no longer specific to just ftrace, so\nthey now have names that reflect their tie to tracepoints instead.\n\nSigned-off-by: Josh Stone \u003cjistone@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Jiaying Zhang \u003cjiayingz@google.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nLKML-Reference: \u003c1251150194-1713-2-git-send-email-jistone@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "238a24f626628cb16a3015f332d649f08246ca89",
      "tree": "f4454dd15f7b86c0ca0869230f6e389901147b70",
      "parents": [
        "82d5308127c3e3404ffbf41e503853c68660b18b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 29 15:55:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 29 10:22:10 2009 +0200"
      },
      "message": "tracing/fastboot: Document the need of initcall_debug\n\nTo use boot tracer, one should pass initcall_debug as well as\nftrace\u003dinitcall to the command line.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A48735E.9050002@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0b7065b64fe517b4a50915a1555e8ee98890d64",
      "tree": "950e7735585a83f5b4efe7a9473b5b42d5ca4f57",
      "parents": [
        "38df92b8cee936334f686c06df0e5fbb92e252df",
        "d4c4038343510d83727ea922de4435996c26c0c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:56:46 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: (24 commits)\n  tracing/urgent: warn in case of ftrace_start_up inbalance\n  tracing/urgent: fix unbalanced ftrace_start_up\n  function-graph: add stack frame test\n  function-graph: disable when both x86_32 and optimize for size are configured\n  ring-buffer: have benchmark test print to trace buffer\n  ring-buffer: do not grab locks in nmi\n  ring-buffer: add locks around rb_per_cpu_empty\n  ring-buffer: check for less than two in size allocation\n  ring-buffer: remove useless compile check for buffer_page size\n  ring-buffer: remove useless warn on check\n  ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index\n  tracing: update sample event documentation\n  tracing/filters: fix race between filter setting and module unload\n  tracing/filters: free filter_string in destroy_preds()\n  ring-buffer: use commit counters for commit pointer accounting\n  ring-buffer: remove unused variable\n  ring-buffer: have benchmark test handle discarded events\n  ring-buffer: prevent adding write in discarded area\n  tracing/filters: strloc should be unsigned short\n  tracing/filters: operand can be negative\n  ...\n\nFix up kmemcheck-induced conflict in kernel/trace/ring_buffer.c manually\n"
    },
    {
      "commit": "71e308a239c098673570d0b417d42262bb535909",
      "tree": "a9e415d0ae6302e820a1f9d4ff55a724b3a12cf6",
      "parents": [
        "eb4a03780d4c4464ef2ad86d80cca3f3284fe81d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 18 12:45:08 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 18 18:40:18 2009 -0400"
      },
      "message": "function-graph: add stack frame test\n\nIn case gcc does something funny with the stack frames, or the return\nfrom function code, we would like to detect that.\n\nAn arch may implement passing of a variable that is unique to the\nfunction and can be saved on entering a function and can be tested\nwhen exiting the function. Usually the frame pointer can be used for\nthis purpose.\n\nThis patch also implements this for x86. Where it passes in the stack\nframe of the parent function, and will test that frame on exit.\n\nThere was a case in x86_32 with optimize for size (-Os) where, for a\nfew functions, gcc would align the stack frame and place a copy of the\nreturn address into it. The function graph tracer modified the copy and\nnot the actual return address. On return from the funtion, it did not go\nto the tracer hook, but returned to the parent. This broke the function\ngraph tracer, because the return of the parent (where gcc did not do\nthis funky manipulation) returned to the location that the child function\nwas suppose to. This caused strange kernel crashes.\n\nThis test detected the problem and pointed out where the issue was.\n\nThis modifies the parameters of one of the functions that the arch\nspecific code calls, so it includes changes to arch code to accommodate\nthe new prototype.\n\nNote, I notice that the parsic arch implements its own push_return_trace.\nThis is now a generic function and the ftrace_push_return_trace should be\nused instead. This patch does not touch that code.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eb4a03780d4c4464ef2ad86d80cca3f3284fe81d",
      "tree": "5bf249073e7c5dec68ced1411b78b4bcf41660b7",
      "parents": [
        "4b221f0313f0f7f1f7aa0a1fd16ad400840def26"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 18 12:53:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 18 18:39:30 2009 -0400"
      },
      "message": "function-graph: disable when both x86_32 and optimize for size are configured\n\nOn x86_32, when optimize for size is set, gcc may align the frame pointer\nand make a copy of the the return address inside the stack frame.\nThe return address that is located in the stack frame may not be\nthe one used to return to the calling function. This will break the\nfunction graph tracer.\n\nThe function graph tracer replaces the return address with a jump to a hook\nfunction that can trace the exit of the function. If it only replaces\na copy, then the hook will not be called when the function returns.\nWorse yet, when the parent function returns, the function graph tracer\nwill return back to the location of the child function which will\neasily crash the kernel with weird results.\n\nTo see the problem, when i386 is compiled with -Os we get:\n\nc106be03:       57                      push   %edi\nc106be04:       8d 7c 24 08             lea    0x8(%esp),%edi\nc106be08:       83 e4 e0                and    $0xffffffe0,%esp\nc106be0b:       ff 77 fc                pushl  0xfffffffc(%edi)\nc106be0e:       55                      push   %ebp\nc106be0f:       89 e5                   mov    %esp,%ebp\nc106be11:       57                      push   %edi\nc106be12:       56                      push   %esi\nc106be13:       53                      push   %ebx\nc106be14:       81 ec 8c 00 00 00       sub    $0x8c,%esp\nc106be1a:       e8 f5 57 fb ff          call   c1021614 \u003cmcount\u003e\n\nWhen it is compiled with -O2 instead we get:\n\nc10896f0:       55                      push   %ebp\nc10896f1:       89 e5                   mov    %esp,%ebp\nc10896f3:       83 ec 28                sub    $0x28,%esp\nc10896f6:       89 5d f4                mov    %ebx,0xfffffff4(%ebp)\nc10896f9:       89 75 f8                mov    %esi,0xfffffff8(%ebp)\nc10896fc:       89 7d fc                mov    %edi,0xfffffffc(%ebp)\nc10896ff:       e8 d0 08 fa ff          call   c1029fd4 \u003cmcount\u003e\n\nThe compile with -Os will align the stack pointer then set up the\nframe pointer (%ebp), and it copies the return address back into\nthe stack frame. The change to the return address in mcount is done\nto the copy and not the real place holder of the return address.\n\nThen compile with -O2 sets up the frame pointer first, this makes\nthe change to the return address by mcount affect where the function\nwill jump on exit.\n\nReported-by: Jake Edge \u003cjake@lwn.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eadb8a091b27a840de7450f84ecff5ef13476424",
      "tree": "58c3782d40def63baa8167f3d31e3048cb4c7660",
      "parents": [
        "73874005cd8800440be4299bd095387fff4b90ac",
        "65795efbd380a832ae508b04dba8f8e53f0b84d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 12:52:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 12:56:49 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/hw-breakpoints\n\nConflicts:\n\tarch/x86/Kconfig\n\tarch/x86/kernel/traps.c\n\tarch/x86/power/cpu.c\n\tarch/x86/power/cpu_32.c\n\tkernel/Makefile\n\nSemantic conflict:\n\tarch/x86/kernel/hw_breakpoint.c\n\nMerge reason: Resolve the conflicts, move from put_cpu_no_sched() to\n              put_cpu() in arch/x86/kernel/hw_breakpoint.c.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "156f5a7801195fa2ce44aeeb62d6cf8468f3332a",
      "tree": "dd506816ca6f14bb650189aa364eb0a2f51ad5cc",
      "parents": [
        "1b713e00500c6f03317742981674e89a21629399"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Tue Jun 02 15:01:37 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:28 2009 -0700"
      },
      "message": "debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n\nMany developers use \"/debug/\" or \"/debugfs/\" or \"/sys/kernel/debug/\"\ndirectory name to mount debugfs filesystem for ftrace according to\n./Documentation/tracers/ftrace.txt file.\n\nAnd, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is\nexisted in kernel source like ftrace, DRM, Wireless, Documentation,\nNetwork[sky2]files to mount debugfs filesystem.\n\ndebugfs means debug filesystem for debugging easy to use by greg kroah\nhartman. \"/sys/kernel/debug/\" name is suitable as directory name\nof debugfs filesystem.\n- debugfs related reference: http://lwn.net/Articles/334546/\n\nFix inconsistency of directory name to mount debugfs filesystem.\n\n* From Steven Rostedt\n  - find_debugfs() and tracing_files() in this patch.\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by     : Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nReviewed-by  : Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by  : James Smart \u003cjames.smart@emulex.com\u003e\nCC: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCC: David Airlie \u003cairlied@linux.ie\u003e\nCC: Peter Osterlund \u003cpetero2@telia.com\u003e\nCC: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCC: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCC: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0722db015c246204044299eae3b02d18d3ca4faf",
      "tree": "cc9a6b21961d62e1788ee2b9cbd0ae23b43f11a0",
      "parents": [
        "432039933a16b8227b7b267f46ac1c1b9b3adf14"
      ],
      "author": {
        "name": "K.Prasad",
        "email": "prasad@linux.vnet.ibm.com",
        "time": "Mon Jun 01 23:46:40 2009 +0530"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 22:47:00 2009 +0200"
      },
      "message": "hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces\n\nThis patch adds an ftrace plugin to detect and profile memory access over kernel\nvariables. It uses HW Breakpoint interfaces to \u0027watch memory addresses.\n\nSigned-off-by: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "897f17a65389a26509bd0c79a9812d1c9ea8ea6f",
      "tree": "ec23bdc97840581c6f4881f6e427c66d72a1269c",
      "parents": [
        "5e0a093910876882f91f1d4b8a1635a099e6c7ba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 16:31:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:55 2009 -0400"
      },
      "message": "tracing: combine the default tracers into one config\n\nBoth event tracer and sched switch plugin are selected by default\nby all generic tracers. But if no generic tracer is enabled, their options\nappear. But ether one of them will select the other, thus it only\nmakes sense to have the default tracers be selected by one option.\n\n[ Impact: clean up kconfig menu ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5e0a093910876882f91f1d4b8a1635a099e6c7ba",
      "tree": "2e9fb5caa629c2f1f77f82a78863366b82ad05f6",
      "parents": [
        "2af15d6a44b871ad4c2a651302374cde8f335480"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 15:50:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:30 2009 -0400"
      },
      "message": "tracing: fix config options to not show when automatically selected\n\nThere are two options that are selected by all tracers, but we want\nto have those options available when no tracer is selected. These are\n\n The event tracer and sched switch tracer.\n\nThe are enabled by all tracers, but if a tracer is not selected we want\nthe options to appear. All tracers including them select TRACING.\nThus what we would like to do is:\n\n  config EVENT_TRACER\n\tbool \"prompt\"\n\tdepends on TRACING\n\tselect TRACING\n\nBut that gives us a bug in the kbuild system since we just created a\ncircular dependency. We only want the prompt to show when TRACING is off.\n\nThis patch adds GENERIC_TRACER that all tracers will select instead of\nTRACING. The two options (sched switch and event tracer) will select\nTRACING directly and depend on !GENERIC_TRACER. This solves the cicular\ndependency.\n\n[ Impact: hide options that are selected by default ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b11c53e12f94a46b50bccc7a1a953d7ca1d54a31",
      "tree": "a0d658e31ffd7f05834c6026874cd4120a35dd29",
      "parents": [
        "29fcefba8a2f0fea11e2b721fe174a1832801284"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon May 25 18:11:59 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 26 03:03:21 2009 +0200"
      },
      "message": "ftrace: Add task_comm support for trace_event\n\nIf we enable a trace event alone without any tracer running (such as\nfunction tracer, sched switch tracer, etc...) it can\u0027t output enough\ntask command information.\n\nWe need to use the tracing_{start/stop}_cmdline_record() helpers\nwhich are designed to keep track of cmdlines for any tasks that\nwere scheduled during the tracing.\n\nBefore this patch:\n # echo 1 \u003e debugfs/tracing/events/sched/sched_switch/enable\n # cat debugfs/tracing/trace\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n            \u003c...\u003e-2289  [000] 526276.724790: sched_switch: task bash:2289 [120] \u003d\u003d\u003e sshd:2287 [120]\n            \u003c...\u003e-2287  [000] 526276.725231: sched_switch: task sshd:2287 [120] \u003d\u003d\u003e bash:2289 [120]\n            \u003c...\u003e-2289  [000] 526276.725452: sched_switch: task bash:2289 [120] \u003d\u003d\u003e sshd:2287 [120]\n            \u003c...\u003e-2287  [000] 526276.727181: sched_switch: task sshd:2287 [120] \u003d\u003d\u003e swapper:0 [140]\n           \u003cidle\u003e-0     [000] 526277.032734: sched_switch: task swapper:0 [140] \u003d\u003d\u003e events/0:5 [115]\n            \u003c...\u003e-5     [000] 526277.032782: sched_switch: task events/0:5 [115] \u003d\u003d\u003e swapper:0 [140]\n ...\n\nAfter this patch:\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n             bash-2269  [000] 527347.989229: sched_switch: task bash:2269 [120] \u003d\u003d\u003e sshd:2267 [120]\n             sshd-2267  [000] 527347.990960: sched_switch: task sshd:2267 [120] \u003d\u003d\u003e bash:2269 [120]\n             bash-2269  [000] 527347.991143: sched_switch: task bash:2269 [120] \u003d\u003d\u003e sshd:2267 [120]\n             sshd-2267  [000] 527347.992959: sched_switch: task sshd:2267 [120] \u003d\u003d\u003e swapper:0 [140]\n           \u003cidle\u003e-0     [000] 527348.531989: sched_switch: task swapper:0 [140] \u003d\u003d\u003e events/0:5 [115]\n         events/0-5     [000] 527348.532115: sched_switch: task events/0:5 [115] \u003d\u003d\u003e swapper:0 [140]\n ...\n\nChangelog:\nv1-\u003ev2: Update Kconfig to select CONTEXT_SWITCH_TRACER in\n        ENABLE_EVENT_TRACING\nv2-\u003ev3: v2 can solve problem that was caused by config EVENT_TRACING\n        alone, but when CONFIG_FTRACE is off and CONFIG_TRACING is\n        selected by other config, compile fail happened again.\n        This version solves it.\n\n[ Impact: fix incomplete output of event tracing ]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c4A14FDFE.2080402@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "65b77242043f74bca6a0d733c0e48ef03a8c9893",
      "tree": "f7ba92bd5633ee6389bd51191d5a736d7b4666ea",
      "parents": [
        "d6bf81ef0f7474434c2a049e8bf3c9146a14dd96"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 07 12:49:27 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 07 12:49:27 2009 -0400"
      },
      "message": "tracing: have menu default enabled when kernel debug is configured\n\nTracing can be very helpful to debug the kernel. When DEBUG_KERNEL is\nenabled it is nice to enable the trace menu as well.\n\nThis patch only make the tracing menu enabled by default, it does not\nmake any of the tracers enabled. And the menu is only enabled by\ndefault if DEBUG_KERNEL is enabled.\n\n[ Impact: show tracing options to those debugging the kernel ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5092dbc96f3acdac5433b27c06860352dc6d23b9",
      "tree": "641b6b25439bf879769e20b4dc0f0bc9a6e6d702",
      "parents": [
        "aa20ae8444fc6c318272c643f856d8d8ad3e198d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 05 22:47:18 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 06 00:08:50 2009 -0400"
      },
      "message": "ring-buffer: add benchmark and tester\n\nThis patch adds code that can benchmark the ring buffer as well as\ntest it. This code can be compiled into the kernel (not recommended)\nor as a module.\n\nA separate ring buffer is used to not interfer with other users, like\nftrace. It creates a producer and a consumer (option to disable creation\nof the consumer) and will run for 10 seconds, then sleep for 10 seconds\nand then repeat.\n\nWhile running, the producer will write 10 byte loads into the ring\nbuffer with just putting in the current CPU number. The reader will\ncontinually try to read the buffer. The reader will alternate from reading\nthe buffer via event by event, or by full pages.\n\nThe output is a pr_info, thus it will fill up the syslogs.\n\n  Starting ring buffer hammer\n  End ring buffer hammer\n  Time:     9000349 (usecs)\n  Overruns: 12578640\n  Read:     5358440  (by events)\n  Entries:  0\n  Total:    17937080\n  Missed:   0\n  Hit:      17937080\n  Entries per millisec: 1993\n  501 ns per entry\n  Sleeping for 10 secs\n  Starting ring buffer hammer\n  End ring buffer hammer\n  Time:     9936350 (usecs)\n  Overruns: 0\n  Read:     28146644  (by pages)\n  Entries:  74\n  Total:    28146718\n  Missed:   0\n  Hit:      28146718\n  Entries per millisec: 2832\n  353 ns per entry\n  Sleeping for 10 secs\n\nTime:      is the time the test ran\nOverruns:  the number of events that were overwritten and not read\nRead:      the number of events read (either by pages or events)\nEntries:   the number of entries left in the buffer\n                 (the by pages will only read full pages)\nTotal:     Entries + Read + Overruns\nMissed:    the number of entries that failed to write\nHit:       the number of entries that were written\n\nThe above example shows that it takes ~353 nanosecs per entry when\nthere is a reader, reading by pages (and no overruns)\n\nThe event by event reader slowed the producer down to 501 nanosecs.\n\n[ Impact: see how changes to the ring buffer affect stability and performance ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a7abe97fd8e7a6ccabba5a04a9f17be9211d418c",
      "tree": "5bd11a18c08cd3f53a7e48ba72443b52f84b9369",
      "parents": [
        "4ed9f0716e46bb9646f26e73f4a1b5b24db7947a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:59:34 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 17:55:35 2009 +0200"
      },
      "message": "tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING\n\nCurrently we have two configs: EVENT_TRACING and EVENT_TRACER.\nAll tracers enable EVENT_TRACING. The EVENT_TRACER is only a\nconvenience to enable the EVENT_TRACING when no other tracers\nare enabled.\n\nThe names EVENT_TRACER and EVENT_TRACING are too similar and confusing.\nThis patch renames EVENT_TRACER to ENABLE_EVENT_TRACING to be more\nappropriate to what it actually does, as well as add a comment in\nthe help menu to explain the option\u0027s purpose.\n\n[ Impact: rename config option to reduce confusion ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4ed9f0716e46bb9646f26e73f4a1b5b24db7947a",
      "tree": "c900491f9a7a67d063745d10f24e4e4010ffd901",
      "parents": [
        "9ae5b8790037d05d32746f521af146c32089bfec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:47:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 11:07:49 2009 -0400"
      },
      "message": "tracing: create menuconfig for tracing infrastructure\n\nDuring testing we often use randconfig to test various kernels.\nThe current configuration set up does not give an easy way to disable\nall tracing with a single config. The case where randconfig would\ntest all tracing disabled is very unlikely.\n\nThis patch adds a config option to enable or disable all tracing.\nIt is hooked into the tracing menu just like other submenus are done.\n\n[ Impact: allow randconfig to easily produce all traces disabled ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9ae5b8790037d05d32746f521af146c32089bfec",
      "tree": "29b0ef5bc534490fa8a25a906d41b8d44ebcfe48",
      "parents": [
        "f3b9aae16219aaeca2dd5a9ca69f7a10faa063df"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 20 10:27:58 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 20 11:07:48 2009 -0400"
      },
      "message": "tracing: change branch profiling to a choice selection\n\nThis patch makes the branch profiling into a choice selection:\n\n  None               - no branch profiling\n  likely/unlikely    - only profile likely/unlikely branches\n  all                - profile all branches\n\nThe all profiler will also enable the likely/unlikely branches.\n\nThis does not change the way the profiler works or the dependencies\nbetween the profilers.\n\nWhat this patch does, is keep the branch profiling from being selected\nby an allyesconfig make. The branch profiler is very intrusive and\nit is known to break various architecture builds when selected as an\nallyesconfig.\n\n[ Impact: prevent branch profiler from being selected in allyesconfig ]\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b5c851a88a369854c04e511cefb84ea2d0cfa209",
      "tree": "55084d3d51708f90f27d0a70db5ab63916942f14",
      "parents": [
        "eb02ce017dd83985041a7e54c6449f92d53b026f",
        "80a04d3f2f94fb68b5df05e3ac6697130bc3467a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:02:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:02:22 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: merge latest tracing fixes to avoid conflicts in\n              kernel/trace/trace_events_filter.c with upcoming change\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f77a88b3f8268b11940b51d2e03d26a663ceb90",
      "tree": "b9540f9391b6f03860666193787619b5bdff1375",
      "parents": [
        "77d9f465d46fd67cdb82ee5e1ab99dd57a17c486"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Wed Apr 08 03:14:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 00:00:55 2009 +0200"
      },
      "message": "tracing/infrastructure: separate event tracer from event support\n\nAdd a new config option, CONFIG_EVENT_TRACING that gets selected\nwhen CONFIG_TRACING is selected and adds everything needed by the stuff\nin trace_export - basically all the event tracing support needed by e.g.\nbprint, minus the actual events, which are only included if\nCONFIG_EVENT_TRACER is selected.\n\nSo CONFIG_EVENT_TRACER can be used to turn on or off the generated events\n(what I think of as the \u0027event tracer\u0027), while CONFIG_EVENT_TRACING turns\non or off the base event tracing support used by both the event tracer and\nthe other things such as bprint that can\u0027t be configured out.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1239178441.10295.34.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d1f4372dbea068ba4ee3d98231133a4a4ee15bd",
      "tree": "ddde3be45174648efd3f151c40220b07bb6ca757",
      "parents": [
        "93cfb3c9fd83d877a8f1ffad9ff862b617b32828"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 10 08:48:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 13:08:50 2009 +0200"
      },
      "message": "tracing: fix document references\n\nWhen moving documents to Documentation/trace/, I forgot to\ngrep Kconfig to find out those references.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Pekka Paalanen \u003cpq@iki.fi\u003e\nCc: eduard.munteanu@linux360.ro\nLKML-Reference: \u003c49DE97EF.7080208@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93776a8ec746cf9d32c36e5a5b23d28d8be28826",
      "tree": "6c472ae9f709246ee5268e1d71559d07839fb965",
      "parents": [
        "34886c8bc590f078d4c0b88f50d061326639198d",
        "d508afb437daee7cf07da085b635c44a4ebf9b38"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:47:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 13:47:45 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: update to upstream tracing facilities\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "714f83d5d9f7c785f622259dad1f4fad12d64664",
      "tree": "20563541ae438e11d686b4d629074eb002a481b7",
      "parents": [
        "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)\n  tracing, net: fix net tree and tracing tree merge interaction\n  tracing, powerpc: fix powerpc tree and tracing tree interaction\n  ring-buffer: do not remove reader page from list on ring buffer free\n  function-graph: allow unregistering twice\n  trace: make argument \u0027mem\u0027 of trace_seq_putmem() const\n  tracing: add missing \u0027extern\u0027 keywords to trace_output.h\n  tracing: provide trace_seq_reserve()\n  blktrace: print out BLK_TN_MESSAGE properly\n  blktrace: extract duplidate code\n  blktrace: fix memory leak when freeing struct blk_io_trace\n  blktrace: fix blk_probes_ref chaos\n  blktrace: make classic output more classic\n  blktrace: fix off-by-one bug\n  blktrace: fix the original blktrace\n  blktrace: fix a race when creating blk_tree_root in debugfs\n  blktrace: fix timestamp in binary output\n  tracing, Text Edit Lock: cleanup\n  tracing: filter fix for TRACE_EVENT_FORMAT events\n  ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n  x86: kretprobe-booster interrupt emulation code fix\n  ...\n\nFix up trivial conflicts in\n arch/parisc/include/asm/ftrace.h\n include/linux/memory.h\n kernel/extable.c\n kernel/module.c\n"
    },
    {
      "commit": "692105b8ac5bcd75dc65f6a8f10bdbd0f0f34dcf",
      "tree": "e079cea0948d250e5411befe0c5cca7c97bcf860",
      "parents": [
        "877d03105d04b2c13e241130277fa69c8d2564f0"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Mon Jan 26 11:12:25 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 30 15:22:01 2009 +0200"
      },
      "message": "trivial: fix typos/grammar errors in Kconfig texts\n\nSigned-off-by: Matt LaPlante \u003ckernel1@cyberdogtech.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "493762fc534c71d11d489f872c4b4a2c61173668",
      "tree": "90f308853f26ad5334717d53b18680957aab5ff4",
      "parents": [
        "bac429f037f1a51a74d62bad6d1518c3be065df3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 23 17:12:36 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:41:06 2009 -0400"
      },
      "message": "tracing: move function profiler data out of function struct\n\nImpact: reduce size of memory in function profiler\n\nThe function profiler originally introduces its counters into the\nfunction records itself. There is 20 thousand different functions on\na normal system, and that is adding 20 thousand counters for profiling\nevent when not needed.\n\nA normal run of the profiler yields only a couple of thousand functions\nexecuted, depending on what is being profiled. This means we have around\n18 thousand useless counters.\n\nThis patch rectifies this by moving the data out of the function\nrecords used by dynamic ftrace. Data is preallocated to hold the functions\nwhen the profiling begins. Checks are made during profiling to see if\nmore recorcds should be allocated, and they are allocated if it is safe\nto do so.\n\nThis also removes the dependency from using dynamic ftrace, and also\nremoves the overhead by having it enabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "bac429f037f1a51a74d62bad6d1518c3be065df3",
      "tree": "40c3dbdd0f6c097c3c9a1087d219dd8632bd7b74",
      "parents": [
        "425480081e936d8725f0d44b8829d699bf088c6b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 20 12:50:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 24 23:40:00 2009 -0400"
      },
      "message": "tracing: add function profiler\n\nImpact: new profiling feature\n\nThis patch adds a function profiler. In debugfs/tracing/ two new\nfiles are created.\n\n  function_profile_enabled  - to enable or disable profiling\n\n  trace_stat/functions   - the profiled functions.\n\nFor example:\n\n  echo 1 \u003e /debugfs/tracing/function_profile_enabled\n  ./hackbench 50\n  echo 0 \u003e /debugfs/tracing/function_profile_enabled\n\nyields:\n\n  cat /debugfs/tracing/trace_stat/functions\n\n  Function                               Hit\n  --------                               ---\n  _spin_lock                        10106442\n  _spin_unlock                      10097492\n  kfree                              6013704\n  _spin_unlock_irqrestore            4423941\n  _spin_lock_irqsave                 4406825\n  __phys_addr                        4181686\n  __slab_free                        4038222\n  dput                               4030130\n  path_put                           4023387\n  unroll_tree_refs                   4019532\n[...]\n\nThe most hit functions are listed first. Functions that are not\nhit are not listed.\n\nThis feature depends on and uses dynamic function tracing. When the\nfunction profiling is disabled, no overhead occurs. But it still\ntakes up around 300KB to hold the data, thus it is not recomended\nto keep it enabled for systems low on memory.\n\nWhen a \u00271\u0027 is echoed into the function_profile_enabled file, the\ncounters for is function is reset back to zero. Thus you can see what\nfunctions are hit most by different programs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "45b9560895b07a4a09d55d49235c984db512c5aa",
      "tree": "327ccd6be20791915007137c7db64361c1eef6e6",
      "parents": [
        "3e1f60b80cafcb5d7e8d3665b35962fbb8fb9efa"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Mar 24 01:07:24 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 23:23:03 2009 +0100"
      },
      "message": "tracing: Fix TRACING_SUPPORT dependency for PPC32\n\ncommit 40ada30f9621fbd831ac2437b9a2a399aa (\"tracing: clean up menu\"),\ndespite the \"clean up\" in its purpose, introduced a behavioural\nchange for Kconfig symbols: we no longer able to select tracing\nsupport on PPC32 (because IRQFLAGS_SUPPORT isn\u0027t yet implemented).\n\nThe IRQFLAGS_SUPPORT is not mandatory for most tracers, tracing core\nhas a special case for platforms w/o irqflags (which, by the way, has\nbecome useless as of the commit above).\n\nThough according to Ingo Molnar, there was periodic build failures on\nweird, unmaintained architectures that had no irqflags-tracing support\nand hence didn\u0027t know the raw_irqs_save/restore primitives. Thus we\u0027d\nbetter not enable irqflags-less tracing for all architectures.\n\nThis patch restores the old behaviour for PPC32, and thus brings the\ntracing back. Other architectures can either add themselves to the\nexception list or (better) implement TRACE_IRQFLAGS_SUPPORT.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-b: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: linuxppc-dev@ozlabs.org\nLKML-Reference: \u003c20090323220724.GA9851@oksana.dev.rtsoft.ru\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ea1c4156bf9e2eb370cc5c6fa6eb112bd844dec",
      "tree": "f07c37d42ca285f7cc88307c6b3586bc11e80090",
      "parents": [
        "5be71b61f17b0e3bc8ad0b1a1b7b53ab7d574ebb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Mar 15 22:10:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 16 09:13:17 2009 +0100"
      },
      "message": "tracing/syscalls: select kallsysms\n\nSyscall tracing must select kallsysms.\n\nThe arch code builds a table to find the syscall metadata by syscall\nnumber. It needs the syscalls names resolution from the symbol table\nto know which name found on the syscalls metadatas match a function\npointer from the arch sys_call_table.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1237151439-6755-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee08c6eccb7d1295516f7cf420fddf7b14e9146f",
      "tree": "ec6d209e47bb1a8910d16c1c8b4ea65959850689",
      "parents": [
        "4c6ed8f496fe89ff81b3d6e617a531bedfb613e4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Mar 07 05:52:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 06:25:43 2009 +0100"
      },
      "message": "tracing/ftrace: syscall tracing infrastructure, basics\n\nProvide basic callbacks to do syscall tracing.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1236401580-5758-2-git-send-email-fweisbec@gmail.com\u003e\n[ simplified it to a trace_printk() for now. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "769b0441f438c4bb4872cb8560eb6fe51bcc09ee",
      "tree": "9908682dfd89e97c3097a7c3adcae35d821e1895",
      "parents": [
        "1ba28e02a18cbdbea123836f6c98efb09cbf59ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 06 17:21:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:12 2009 +0100"
      },
      "message": "tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()\n\nImpact: faster and lighter tracing\n\nNow that we have trace_bprintk() which is faster and consume lesser\nmemory than trace_printk() and has the same purpose, we can now drop\nthe old implementation in favour of the binary one from trace_bprintk(),\nwhich means we move all the implementation of trace_bprintk() to\ntrace_printk(), so the Api doesn\u0027t change except that we must now use\ntrace_seq_bprintk() to print the TRACE_PRINT entries.\n\nSome changes result of this:\n\n- Previously, trace_bprintk depended of a single tracer and couldn\u0027t\n  work without. This tracer has been dropped and the whole implementation\n  of trace_printk() (like the module formats management) is now integrated\n  in the tracing core (comes with CONFIG_TRACING), though we keep the file\n  trace_printk (previously trace_bprintk.c) where we can find the module\n  management. Thus we don\u0027t overflow trace.c\n\n- changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries.\n\n- change a bit trace_printk/trace_vprintk macros to support non-builtin formats\n  constants, and fix \u0027const\u0027 qualifiers warnings. But this is all transparent for\n  developers.\n\n- etc...\n\nV2:\n\n- Rebase against last changes\n- Fix mispell on the changelog\n\nV3:\n\n- Rebase against last changes (moving trace_printk() to kernel.h)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-5-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1427cdf0592368bdec57276edaf714040ee8744f",
      "tree": "4b214ee49643db383328cf53a31959eb0627a167",
      "parents": [
        "546e5354a6e4ec760ac03ef1148e9a4762abb5f5"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:59:11 2009 +0100"
      },
      "message": "tracing: infrastructure for supporting binary record\n\nImpact: save on memory for tracing\n\nCurrent tracers are typically using a struct(like struct ftrace_entry,\nstruct ctx_switch_entry, struct special_entr etc...)to record a binary\nevent. These structs can only record a their own kind of events.\nA new kind of tracer need a new struct and a lot of code too handle it.\n\nSo we need a generic binary record for events. This infrastructure\nis for this purpose.\n\n[fweisbec@gmail.com: rebase against latest -tip, make it safe while sched\ntracing as reported by Steven Rostedt]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "422d3c7a577b15e1384c9d4e72a9540896b685fa",
      "tree": "8852c53347ec55c53bea321bd9b9f07cd9cc9d66",
      "parents": [
        "bc722f508a5bcbb65a7bb0c7ce8e3934f5763a1a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 06 10:40:53 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:56:42 2009 +0100"
      },
      "message": "tracing: current tip/master can\u0027t enable ftrace\n\nAfter commit 40ada30f9621fbd831ac2437b9a2a399aad34b00,\n\"make menuconfig\" doesn\u0027t display \"Tracer\" item.\n\nFollowing modification restores it.\n"
    },
    {
      "commit": "40ada30f9621fbd831ac2437b9a2a399aad34b00",
      "tree": "47df1abc756d9ce33feec3eb5bb601edafbcf14c",
      "parents": [
        "526211bc58c4b3265352801c5a7f469af5c34711"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 21:19:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 21:53:25 2009 +0100"
      },
      "message": "tracing: clean up menu\n\nClean up menu structure, introduce TRACING_SUPPORT switch that signals\nwhether an architecture supports various instrumentation mechanisms.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b77e38aa240c3bd9c55c98b9f7c81541e042eae5",
      "tree": "bbb40993e76edc52d2cae1040b941ba4e4d2f965",
      "parents": [
        "7c37730cd31ddb2d3a1da142af9b18c29b8c433b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 10:21:36 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 24 21:54:05 2009 -0500"
      },
      "message": "tracing: add event trace infrastructure\n\nThis patch creates the event tracing infrastructure of ftrace.\nIt will create the files:\n\n /debug/tracing/available_events\n /debug/tracing/set_event\n\nThe available_events will list the trace points that have been\nregistered with the event tracer.\n\nset_events will allow the user to enable or disable an event hook.\n\nexample:\n\n # echo sched_wakeup \u003e /debug/tracing/set_event\n\nWill enable the sched_wakeup event (if it is registered).\n\n # echo \"!sched_wakeup\" \u003e\u003e /debug/tracing/set_event\n\nWill disable the sched_wakeup event (and only that event).\n\n # echo \u003e /debug/tracing/set_event\n\nWill disable all events (notice the \u0027\u003e\u0027)\n\n # cat /debug/tracing/available_events \u003e /debug/tracing/set_event\n\nWill enable all registered event hooks.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "40999096e8b9872199bf56ecd0c4d98397ccaf2f",
      "tree": "a1019965100c10cae52014c447bfb4d1381ebec9",
      "parents": [
        "72c26c9a26ea7f2f3d14f162c2ebb07805f724ea",
        "fa7c7f6e11f70d62505074a8b30a776236850dec",
        "ed4a2f374d71770796789ed559c35a36bab82f1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 10:20:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 10:20:17 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/blktrace\u0027, \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8",
      "tree": "6c5499988ccb21898b22d709f9f66d019e0fe475",
      "parents": [
        "0c5119c1e655e0719a69601b1049acdd5ec1c125"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "message": "tracing: have function trace select kallsyms\n\nImpact: fix output of function tracer to be useful\n\nThe function tracer is pretty useless if KALLSYMS is not configured.\nUnless you are good at reading hex values, the function tracer should\nselect the KALLSYMS configuration.\n\nAlso, the dynamic function tracer will fail its self test if KALLSYMS\nis not selected.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "6bc5c366b1a45ca18fba6851f62db5743b3f6db5",
      "tree": "c3e2a092760b2eca5ff052cbea77cc84502b8016",
      "parents": [
        "391b170f10e669dd429aa47bce998c2fa839404c"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Sat Jan 03 21:23:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 20:03:28 2009 +0100"
      },
      "message": "trace: mmiotrace to the tracer menu in Kconfig\n\nImpact: cosmetic change in Kconfig menu layout\n\nThis patch was originally suggested by Peter Zijlstra, but seems it\nwas forgotten.\n\nCONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable\ndirectly under the Kernel hacking / debugging menu in the kernel\nconfiguration system. They were present only for x86 and x86_64.\n\nOther tracers that use the ftrace tracing framework are in their own\nsub-menu. This patch moves the mmiotrace configuration options there.\nSince the Kconfig file, where the tracer menu is, is not architecture\nspecific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by\nx86/x86_64. CONFIG_MMIOTRACE now depends on it.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b22f4858126a6aa852ad745b94f6b25dbdea708e",
      "tree": "6dc35af9c91144e45938a1fb6c0f28bcd685d50d",
      "parents": [
        "d524e03207591a6de7e6b5069aabc778e3f0f5f8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 10 15:49:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 12:55:19 2009 +0100"
      },
      "message": "tracing/sysprof: add missing tracing_{start,stop}_record_cmdline()\n\nAdd the missing pair tracing_{start,stop}_record_cmdline() to record well\nthe cmdline associated with pid.\n\nChanges in v2:\n\n- fix a build error, the sched_switch tracer is needed to record the\n  cmdline.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1dfba05d0f1a9b4245bb242a7c17fe448811a520",
      "tree": "c3452c4c41b6e7d9660fe49464238dae004fbd0b",
      "parents": [
        "b5db03c4355e568f1567758287b30a6a262d5057"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:06:54 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:07:28 2009 +0100"
      },
      "message": "tracing/blktrace: move the tracing file to kernel/trace, fix\n\nImpact: build fix\n\nThe BLK_DEV_IO_TRACE entry used to be in block/Kconfig - which\nfile itself was dependent on CONFIG_BLOCK. But now the entry is\nin kernel/trace/Kconfig - which is present even on !CONFIG_BLOCK.\n\nSo add a \u0027depends on BLOCK\u0027 to BLK_DEV_IO_TRACE.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2db270a80b8f2238e536876cfb3987af02684df8",
      "tree": "352bf63f9d48cf686a2a36c157707789a29fe7d1",
      "parents": [
        "44b0635481437140b0e29d6023f05e805d5e7620"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 07 20:46:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:51:02 2009 +0100"
      },
      "message": "tracing/blktrace: move the tracing file to kernel/trace\n\nImpact: cleanup\n\nMove blktrace.c to kernel/trace, also move its config entry.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78d904b46a72fcf15ea6a39672bbef92953876b5",
      "tree": "69f56f7bbd1866491517d902bdf18ab973f0eb5f",
      "parents": [
        "1830b52d0de8c60c4f5dfbac134aa8f69d815801"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 05 18:43:07 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Feb 07 20:00:17 2009 -0500"
      },
      "message": "ring-buffer: add NMI protection for spinlocks\n\nImpact: prevent deadlock in NMI\n\nThe ring buffers are not yet totally lockless with writing to\nthe buffer. When a writer crosses a page, it grabs a per cpu spinlock\nto protect against a reader. The spinlocks taken by a writer are not\nto protect against other writers, since a writer can only write to\nits own per cpu buffer. The spinlocks protect against readers that\ncan touch any cpu buffer. The writers are made to be reentrant\nwith the spinlocks disabling interrupts.\n\nThe problem arises when an NMI writes to the buffer, and that write\ncrosses a page boundary. If it grabs a spinlock, it can be racing\nwith another writer (since disabling interrupts does not protect\nagainst NMIs) or with a reader on the same CPU. Luckily, most of the\nusers are not reentrant and protects against this issue. But if a\nuser of the ring buffer becomes reentrant (which is what the ring\nbuffers do allow), if the NMI also writes to the ring buffer then\nwe risk the chance of a deadlock.\n\nThis patch moves the ftrace_nmi_enter called by nmi_enter() to the\nring buffer code. It replaces the current ftrace_nmi_enter that is\nused by arch specific code to arch_ftrace_nmi_enter and updates\nthe Kconfig to handle it.\n\nWhen an NMI is called, it will set a per cpu variable in the ring buffer\ncode and will clear it when the NMI exits. If a write to the ring buffer\ncrosses page boundaries inside an NMI, a trylock is used on the spin\nlock instead. If the spinlock fails to be acquired, then the entry\nis discarded.\n\nThis bug appeared in the ftrace work in the RT tree, where event tracing\nis reentrant. This workaround solved the deadlocks that appeared there.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "79fb0768fbd371f3b94d909f51f587b3a24ab272",
      "tree": "f8a891fcfae6eb9eeef10e9f8b343b813371789c",
      "parents": [
        "b2821ae68b14480bfc85ea1629537163310bc5cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 02 21:38:33 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:26:12 2009 +0100"
      },
      "message": "trace: let boot trace be chosen by command line\n\nNow that we have a working ftrace\u003d\u003ctracer\u003e function, make the boot\ntracer get activated by it. This way we can turn it on or off without\nrecompiling the kernel, as well as keeping the selftests on. The\nselftests are disabled whenever a default tracer starts running.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1d8aa9f1dd655a3534b22fcfbecb70cdb125766",
      "tree": "eb01b005a1d378515d5839bf1c7ea9836355ec9c",
      "parents": [
        "002bb86d8d42f18937aef396c3ecd65c7e02e21a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jan 12 23:15:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 14 12:11:43 2009 +0100"
      },
      "message": "tracing: add a new workqueue tracer\n\nImpact: new tracer\n\nThe workqueue tracer provides some statistical informations\nabout each cpu workqueue thread such as the number of the\nworks inserted and executed since their creation. It can help\nto evaluate the amount of work each of them have to perform.\nFor example it can help a developer to decide whether he should\nchoose a per cpu workqueue instead of a singlethreaded one.\n\nIt only traces statistical informations for now but it will probably later\nprovide event tracing too.\n\nSuch a tracer could help too, and be improved, to help rt priority sorted\nworkqueue development.\n\nTo have a snapshot of the workqueues state at any time, just do\n\ncat /debugfs/tracing/trace_stat/workqueues\n\nIe:\n\n  1    125        125       reiserfs/1\n  1      0          0       scsi_tgtd/1\n  1      0          0       aio/1\n  1      0          0       ata/1\n  1    114        114       kblockd/1\n  1      0          0       kintegrityd/1\n  1   2147       2147       events/1\n\n  0      0          0       kpsmoused\n  0    105        105       reiserfs/0\n  0      0          0       scsi_tgtd/0\n  0      0          0       aio/0\n  0      0          0       ata_aux\n  0      0          0       ata/0\n  0      0          0       cqueue\n  0      0          0       kacpi_notify\n  0      0          0       kacpid\n  0    149        149       kblockd/0\n  0      0          0       kintegrityd/0\n  0   1000       1000       khelper\n  0   2270       2270       events/0\n\nChanges in V2:\n\n_ Drop the static array based on NR_CPU and dynamically allocate the stat array\n  with num_possible_cpus() and other cpu mask facilities....\n_ Trace workqueue insertion at a bit lower level (insert_work instead of queue_work) to handle\n  even the workqueue barriers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe6f90e57fd31af8daca534ea01db2e5666c15da",
      "tree": "3d1d96af9f7f59aaa884b1b7aa67d21b24929f6d",
      "parents": [
        "5d2ad3316e29ad218f98d66b9c0ce6d4bcd05b77"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Sat Jan 03 21:23:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 04:01:24 2009 +0100"
      },
      "message": "trace: mmiotrace to the tracer menu in Kconfig\n\nImpact: cosmetic change in Kconfig menu layout\n\nThis patch was originally suggested by Peter Zijlstra, but seems it\nwas forgotten.\n\nCONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable\ndirectly under the Kernel hacking / debugging menu in the kernel\nconfiguration system. They were present only for x86 and x86_64.\n\nOther tracers that use the ftrace tracing framework are in their own\nsub-menu. This patch moves the mmiotrace configuration options there.\nSince the Kconfig file, where the tracer menu is, is not architecture\nspecific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by\nx86/x86_64. CONFIG_MMIOTRACE now depends on it.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "723cbe0775514853c22dc45005af59c360916af1",
      "tree": "1997e41a652ca5bd5cd1bbeb624f808cb2acb0a9",
      "parents": [
        "f09eac9034a4502cce558b0ec4bf7d422b8b355b"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Mon Jan 05 22:09:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:48:39 2009 +0100"
      },
      "message": "kmemtrace: Remove the relay version of kmemtrace\n\nImpact: cleanup\n\nkmemtrace now uses ftrace. This patch removes the relay version.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fd4bc015ef879a7d2b955ce97fb125e3a51ba7e",
      "tree": "7c33ee197cd97b72a44c0991ff4abc4c36f3a45c",
      "parents": [
        "b6ab4afee4ed56d0f69df59485585cff828c327d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 12:07:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 16:06:00 2008 +0100"
      },
      "message": "tracing/kmemtrace: export kmemtrace_mark_alloc_node() / kmemtrace_mark_free()\n\nImpact: build fix\n\nAlso fix up Kconfig dependencies and include files.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36994e58a48fb8f9651c7dc845a6de298aba5bfc",
      "tree": "fac4b8a1c30560e91460651487f3a57ef7f2b5cc",
      "parents": [
        "7a51cffbd10886c0557677dd916c090097c691ef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 29 13:42:23 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 09:36:13 2008 +0100"
      },
      "message": "tracing/kmemtrace: normalize the raw tracer event to the unified tracing API\n\nImpact: new tracer plugin\n\nThis patch adapts kmemtrace raw events tracing to the unified tracing API.\n\nTo enable and use this tracer, just do the following:\n\n echo kmemtrace \u003e /debugfs/tracing/current_tracer\n cat /debugfs/tracing/trace\n\nYou will have the following output:\n\n # tracer: kmemtrace\n #\n #\n # ALLOC  TYPE  REQ   GIVEN  FLAGS           POINTER         NODE    CALLER\n # FREE   |      |     |       |              |   |            |        |\n # |\n\ntype_id 1 call_site 18446744071565527833 ptr 18446612134395152256\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345164672 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345164912 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345165152 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071566144042 ptr 18446612134346191680 bytes_req 1304 bytes_alloc 1312 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\n\nThat was to stay backward compatible with the format output produced in\ninux/tracepoint.h.\n\nThis is the default ouput, but note that I tried something else.\n\nIf you change an option:\n\necho kmem_minimalistic \u003e /debugfs/trace_options\n\nand then cat /debugfs/trace, you will have the following output:\n\n # tracer: kmemtrace\n #\n #\n # ALLOC  TYPE  REQ   GIVEN  FLAGS           POINTER         NODE    CALLER\n # FREE   |      |     |       |              |   |            |        |\n # |\n\n   -      C                            0xffff88007c088780          file_free_rcu\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc780     -1   d_alloc\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc870     -1   d_alloc\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc960     -1   d_alloc\n   +      K   1304   1312   000000d0   0xffff8800791d7340     -1   reiserfs_alloc_inode\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   -      C                            0xffff88007cad6000          putname\n   +      K    992   1000   000000d0   0xffff880079045b58     -1   alloc_inode\n   +      K    768   1024   000080d0   0xffff88007c096400     -1   alloc_pipe_info\n   +      K    240    240   000000d0   0xffff8800790dca50     -1   d_alloc\n   +      K    272    320   000080d0   0xffff88007c088780     -1   get_empty_filp\n   +      K    272    320   000080d0   0xffff88007c088000     -1   get_empty_filp\n\nYeah I shall confess kmem_minimalistic should be: kmem_alternative.\n\nWhatever, I find it more readable but this a personal opinion of course.\nWe can drop it if you want.\n\nOn the ALLOC/FREE column, + means an allocation and - a free.\n\nOn the type column, you have K \u003d kmalloc, C \u003d cache, P \u003d page\n\nI would like the flags to be GFP_* strings but that would not be easy to not\nbreak the column with strings....\n\nAbout the node...it seems to always be -1. I don\u0027t know why but that shouldn\u0027t\nbe difficult to find.\n\nI moved linux/tracepoint.h to trace/tracepoint.h as well. I think that would\nbe more easy to find the tracer headers if they are all in their common\ndirectory.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f38f1d2aa5a3520cf05da7cd6bd12fe2b0c509b7",
      "tree": "5eef795a1a081c41686971eaaa5ba2d1098ceb9d",
      "parents": [
        "40874491f9e9a4cb08eaf663dbe018bf5671975a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 16 23:06:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 12:56:24 2008 +0100"
      },
      "message": "trace: add a way to enable or disable the stack tracer\n\nImpact: enhancement to stack tracer\n\nThe stack tracer currently is either on when configured in or\noff when it is not. It can not be disabled when it is configured on.\n(besides disabling the function tracer that it uses)\n\nThis patch adds a way to enable or disable the stack tracer at\nrun time. It defaults off on bootup, but a kernel parameter \u0027stacktrace\u0027\nhas been added to enable it on bootup.\n\nA new sysctl has been added \"kernel.stack_tracer_enabled\" to let\nthe user enable or disable the stack tracer at run time.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a93751cab71d63126687551823ed3e70cd85854a",
      "tree": "665e9bf274c457edd672ad44320fad962e6c16f5",
      "parents": [
        "c2724775ce57c98b8af9694857b941dc61056516"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markut.t.metzger@intel.com",
        "time": "Thu Dec 11 13:53:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 08:08:14 2008 +0100"
      },
      "message": "x86, bts, ftrace: adapt the hw-branch-tracer to the ds.c interface\n\nImpact: restructure code, cleanup\n\nRemove BTS bits from the hw-branch-tracer (renamed from bts-tracer) and\nuse the ds interface.\n\nSigned-off-by: Markus Metzger \u003cmarkut.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "764f3b95131a7ce5c992e3d00caf590fcada2f7b",
      "tree": "b150395582594ac8e158d5f0d8f48e411b295ef8",
      "parents": [
        "f0461d0146ee30927bc7efa2ae24ea8c6693b725"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 10:33:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 10:33:58 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: enabled by default\n\nCONFIG_FUNCTION_GRAPH_TRACER depends on FUNCTION_TRACER already,\n(turning it non-default) so it so making it default-n is pointless.\n\nSo enable it by default - it\u0027s a nice extension of the function tracer.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7cc77307669336a08928ab8668bdb3f3bcc021b",
      "tree": "c9f2997a7266cc5d8c5b61e964d8e014f274f5d3",
      "parents": [
        "0bfc24559d7945506184d86739fe365a181f06b7",
        "d144d5ee6a265823d39f75ecfed351a516295183",
        "437f24fb897d409a9978eb71ecfaf279dcd94acd",
        "f3f47a6768a29448866da4422b6f6bee485c947f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 27 10:56:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 27 10:56:13 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/blktrace\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/function-graph-tracer\u0027 and \u0027tracing/power-tracer\u0027 into tracing/core\n"
    },
    {
      "commit": "f3f47a6768a29448866da4422b6f6bee485c947f",
      "tree": "ba4bf1b79cbd13412871eec50250294d7140fd09",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sun Nov 23 16:49:58 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 08:29:32 2008 +0100"
      },
      "message": "tracing: add \"power-tracer\": C/P state tracer to help power optimization\n\nImpact: new \"power-tracer\" ftrace plugin\n\nThis patch adds a C/P-state ftrace plugin that will generate\ndetailed statistics about the C/P-states that are being used,\nso that we can look at detailed decisions that the C/P-state\ncode is making, rather than the too high level \"average\"\nthat we have today.\n\nAn example way of using this is:\n\n mount -t debugfs none /sys/kernel/debug\n echo cstate \u003e /sys/kernel/debug/tracing/current_tracer\n echo 1 \u003e /sys/kernel/debug/tracing/tracing_enabled\n sleep 1\n echo 0 \u003e /sys/kernel/debug/tracing/tracing_enabled\n cat /sys/kernel/debug/tracing/trace | perl scripts/trace/cstate.pl \u003e out.svg\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb52607afcd0629776f1dc9e657647ceae81dd50",
      "tree": "7bf43b41ff8510d3098c089913cce56a9049f0fd",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 25 21:07:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 01:59:45 2008 +0100"
      },
      "message": "tracing/function-return-tracer: change the name into function-graph-tracer\n\nImpact: cleanup\n\nThis patch changes the name of the \"return function tracer\" into\nfunction-graph-tracer which is a more suitable name for a tracing\nwhich makes one able to retrieve the ordered call stack during\nthe code flow.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e9b51c28312f7334394aa30be56ff52c2b65b7e",
      "tree": "c0a231d83541263ee938e3452475409323e4e9a9",
      "parents": [
        "8bba1bf5e2434c83f2fe8b1422604ace9bbe4cb8"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Tue Nov 25 09:24:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 17:31:13 2008 +0100"
      },
      "message": "x86, bts, ftrace: a BTS ftrace plug-in prototype\n\nImpact: add new ftrace plugin\n\nA prototype for a BTS ftrace plug-in.\n\nThe tracer collects branch trace in a cyclic buffer for each cpu.\n\nThe tracer is not configurable and the trace for each snapshot is\nappended when doing cat /debug/tracing/trace.\n\nThis is a proof of concept that will be extended with future patches\nto become a (hopefully) useful tool.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f893fb2e89287a4d755f928c3cda9d18440355c",
      "tree": "e2b2d9b3974567bc25a5298b14660062d6afb871",
      "parents": [
        "0429149fb5e01edc410648591c19095d2074ee00",
        "1d926f2756392c6909f60e0c9fe2a09d5462e376",
        "69bb54ec05f57da7f6fac2cec0820cbc970df20f",
        "65afa5e603d507014580ead016ec887b49e1afa6",
        "cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349",
        "813b8520f5c240c71df55d14095a7b171de264ce",
        "033601a32b2012b6948e80e739cca40bff4de4a0",
        "958086d1784459be3fe85e4cad79d42b17d33381",
        "fb91ee6cf5b8be5360acec577458e29ec7e97e5e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:24 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/branch-tracer\u0027, \u0027tracing/fastboot\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/function-return-tracer\u0027, \u0027tracing/power-tracer\u0027, \u0027tracing/powerpc\u0027, \u0027tracing/ring-buffer\u0027, \u0027tracing/stack-tracer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "8d26487fd4ddda7a0237da418fb8669fb06ae557",
      "tree": "df518f9aef1c0f830ada2f2ad221ee41fd38ba1e",
      "parents": [
        "cffa10aecb6891f090a4d53a075bc40c082c45fc"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Sun Nov 23 12:39:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:53:50 2008 +0100"
      },
      "message": "tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT\n\nImpact: cleanup\n\nUser stack tracing is just implemented for x86, but it is not x86 specific.\n\nIntroduce a generic config flag, that is currently enabled only for x86.\nWhen other arches implement it, they will have to\nSELECT USER_STACKTRACE_SUPPORT.\n\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2bcd521a684cc94befbe2ce7d5b613c841b0d304",
      "tree": "63bc4dbc52defa27c8cac9e46dddadfcb36c1c7a",
      "parents": [
        "bac28bfe42ba98ee67503f78984d1d5e1ebbbb78"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 01:30:54 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:41:01 2008 +0100"
      },
      "message": "trace: profile all if conditionals\n\nImpact: feature to profile if statements\n\nThis patch adds a branch profiler for all if () statements.\nThe results will be found in:\n\n  /debugfs/tracing/profile_branch\n\nFor example:\n\n   miss      hit    %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n       0        1 100 x86_64_start_reservations      head64.c             127\n       0        1 100 copy_bootdata                  head64.c             69\n       1        0   0 x86_64_start_kernel            head64.c             111\n      32        0   0 set_intr_gate                  desc.h               319\n       1        0   0 reserve_ebda_region            head.c               51\n       1        0   0 reserve_ebda_region            head.c               47\n       0        1 100 reserve_ebda_region            head.c               42\n       0        0   X maxcpus                        main.c               165\n\nMiss means the branch was not taken. Hit means the branch was taken.\nThe percent is the percentage the branch was taken.\n\nThis adds a significant amount of overhead and should only be used\nby those analyzing their system.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45b797492a0758e64dff74e9db70e1f65e0603a5",
      "tree": "75db13ee888a6c7f90c92c17a743bff8ce42d86a",
      "parents": [
        "42f565e116e0408b5ddc21a33c4a4d41fd572420"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 00:40:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:39:56 2008 +0100"
      },
      "message": "trace: consolidate unlikely and likely profiler\n\nImpact: clean up to make one profiler of like and unlikely tracer\n\nThe likely and unlikely profiler prints out the file and line numbers\nof the annotated branches that it is profiling. It shows the number\nof times it was correct or incorrect in its guess. Having two\ndifferent files or sections for that matter to tell us if it was a\nlikely or unlikely is pretty pointless. We really only care if\nit was correct or not.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7d3737ea1b102030f44e96c97754101e41515f0",
      "tree": "44fdc3dea100d1fa639e6ba3cb1bfca2ab40e70b",
      "parents": [
        "b01c746617da5e260803eb10ed64ca043e9a1241"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 16 06:02:06 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:57:38 2008 +0100"
      },
      "message": "tracing/function-return-tracer: support for dynamic ftrace on function return tracer\n\nThis patch adds the support for dynamic tracing on the function return tracer.\nThe whole difference with normal dynamic function tracing is that we don\u0027t need\nto hook on a particular callback. The only pro that we want is to nop or set\ndynamically the calls to ftrace_caller (which is ftrace_return_caller here).\n\nSome security checks ensure that we are not trying to launch dynamic tracing for\nreturn tracing while normal function tracing is already running.\n\nAn example of trace with getnstimeofday set as a filter:\n\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (2283 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1396 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1382 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1825 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1426 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1464 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1524 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1382 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1382 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1434 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1464 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1502 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1404 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1397 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1051 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1314 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1344 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1163 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1390 ns)\nktime_get_ts+0x22/0x50 -\u003e getnstimeofday (1374 ns)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e",
      "tree": "3aa22269a1fd5ed0b66826120ca9b572400962b5",
      "parents": [
        "68d119f0a66f7e3663304343b072e56a2693446b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 15:24:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:27:58 2008 +0100"
      },
      "message": "trace: rename unlikely profiler to branch profiler\n\nImpact: name change of unlikely tracer and profiler\n\nIngo Molnar suggested changing the config from UNLIKELY_PROFILE\nto BRANCH_PROFILING. I never did like the \"unlikely\" name so I\nwent one step farther, and renamed all the unlikely configurations\nto a \"BRANCH\" variant.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "52f232cb720a7babb752849cbc2cab2d24021209",
      "tree": "47c7e800549457bd5ab9b54f47729acac6e10780",
      "parents": [
        "1f0d69a9fc815db82f15722bf05227190b1d714d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:14:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:52:02 2008 +0100"
      },
      "message": "tracing: likely/unlikely branch annotation tracer\n\nImpact: new likely/unlikely branch tracer\n\nThis patch adds a way to record the instances of the likely() and unlikely()\nbranch condition annotations.\n\nWhen \"unlikely\" is set in /debugfs/tracing/iter_ctrl the unlikely conditions\nwill be added to any of the ftrace tracers. The change takes effect when\na new tracer is passed into the current_tracer file.\n\nFor example:\n\n bash-3471  [003]   357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177\n bash-3471  [003]   357.014756: [correct] update_curr:sched_fair.c:489\n bash-3471  [003]   357.014758: [correct] calc_delta_fair:sched_fair.c:411\n bash-3471  [003]   357.014759: [correct] account_group_exec_runtime:sched_stats.h:356\n bash-3471  [003]   357.014761: [correct] update_curr:sched_fair.c:489\n bash-3471  [003]   357.014763: [INCORRECT] calc_delta_fair:sched_fair.c:411\n bash-3471  [003]   357.014765: [correct] calc_delta_mine:sched.c:1279\n\nWhich shows the normal tracer heading, as well as whether the condition was\ncorrect \"[correct]\" or was mistaken \"[INCORRECT]\", followed by the function,\nfile name and line number.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f0d69a9fc815db82f15722bf05227190b1d714d",
      "tree": "21e0a9664fd47827d9168938a965b39b85b6e287",
      "parents": [
        "cb9382e5a94e54d0356d730954396c746ae66d6e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:14:39 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:52:02 2008 +0100"
      },
      "message": "tracing: profile likely and unlikely annotations\n\nImpact: new unlikely/likely profiler\n\nAndrew Morton recently suggested having an in-kernel way to profile\nlikely and unlikely macros. This patch achieves that goal.\n\nWhen configured, every(*) likely and unlikely macro gets a counter attached\nto it. When the condition is hit, the hit and misses of that condition\nare recorded. These numbers can later be retrieved by:\n\n  /debugfs/tracing/profile_likely    - All likely markers\n  /debugfs/tracing/profile_unlikely  - All unlikely markers.\n\n# cat /debug/tracing/profile_unlikely | head\n correct incorrect  %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n    2167        0   0 do_arch_prctl                  process_64.c         832\n       0        0   0 do_arch_prctl                  process_64.c         804\n    2670        0   0 IS_ERR                         err.h                34\n   71230     5693   7 __switch_to                    process_64.c         673\n   76919        0   0 __switch_to                    process_64.c         639\n   43184    33743  43 __switch_to                    process_64.c         624\n   12740    64181  83 __switch_to                    process_64.c         594\n   12740    64174  83 __switch_to                    process_64.c         590\n\n# cat /debug/tracing/profile_unlikely | \\\n  awk \u0027{ if ($3 \u003e 25) print $0; }\u0027 |head -20\n   44963    35259  43 __switch_to                    process_64.c         624\n   12762    67454  84 __switch_to                    process_64.c         594\n   12762    67447  84 __switch_to                    process_64.c         590\n    1478      595  28 syscall_get_error              syscall.h            51\n       0     2821 100 syscall_trace_leave            ptrace.c             1567\n       0        1 100 native_smp_prepare_cpus        smpboot.c            1237\n   86338   265881  75 calc_delta_fair                sched_fair.c         408\n  210410   108540  34 calc_delta_mine                sched.c              1267\n       0    54550 100 sched_info_queued              sched_stats.h        222\n   51899    66435  56 pick_next_task_fair            sched_fair.c         1422\n       6       10  62 yield_task_fair                sched_fair.c         982\n    7325     2692  26 rt_policy                      sched.c              144\n       0     1270 100 pre_schedule_rt                sched_rt.c           1261\n    1268    48073  97 pick_next_task_rt              sched_rt.c           884\n       0    45181 100 sched_info_dequeued            sched_stats.h        177\n       0       15 100 sched_move_task                sched.c              8700\n       0       15 100 sched_move_task                sched.c              8690\n   53167    33217  38 schedule                       sched.c              4457\n       0    80208 100 sched_info_switch              sched_stats.h        270\n   30585    49631  61 context_switch                 sched.c              2619\n\n# cat /debug/tracing/profile_likely | awk \u0027{ if ($3 \u003e 25) print $0; }\u0027\n   39900    36577  47 pick_next_task                 sched.c              4397\n   20824    15233  42 switch_mm                      mmu_context_64.h     18\n       0        7 100 __cancel_work_timer            workqueue.c          560\n     617    66484  99 clocksource_adjust             timekeeping.c        456\n       0   346340 100 audit_syscall_exit             auditsc.c            1570\n      38   347350  99 audit_get_context              auditsc.c            732\n       0   345244 100 audit_syscall_entry            auditsc.c            1541\n      38     1017  96 audit_free                     auditsc.c            1446\n       0     1090 100 audit_alloc                    auditsc.c            862\n    2618     1090  29 audit_alloc                    auditsc.c            858\n       0        6 100 move_masked_irq                migration.c          9\n       1      198  99 probe_sched_wakeup             trace_sched_switch.c 58\n       2        2  50 probe_wakeup                   trace_sched_wakeup.c 227\n       0        2 100 probe_wakeup_sched_switch      trace_sched_wakeup.c 144\n    4514     2090  31 __grab_cache_page              filemap.c            2149\n   12882   228786  94 mapping_unevictable            pagemap.h            50\n       4       11  73 __flush_cpu_slab               slub.c               1466\n  627757   330451  34 slab_free                      slub.c               1731\n    2959    61245  95 dentry_lru_del_init            dcache.c             153\n     946     1217  56 load_elf_binary                binfmt_elf.c         904\n     102       82  44 disk_put_part                  genhd.h              206\n       1        1  50 dst_gc_task                    dst.c                82\n       0       19 100 tcp_mss_split_point            tcp_output.c         1126\n\nAs you can see by the above, there\u0027s a bit of work to do in rethinking\nthe use of some unlikelys and likelys. Note: the unlikely case had 71 hits\nthat were more than 25%.\n\nNote:  After submitting my first version of this patch, Andrew Morton\n  showed me a version written by Daniel Walker, where I picked up\n  the following ideas from:\n\n  1)  Using __builtin_constant_p to avoid profiling fixed values.\n  2)  Using __FILE__ instead of instruction pointers.\n  3)  Using the preprocessor to stop all profiling of likely\n       annotations from vsyscall_64.c.\n\nThanks to Andrew Morton, Arjan van de Ven, Theodore Tso and Ingo Molnar\nfor their feed back on this patch.\n\n(*) Not ever unlikely is recorded, those that are used by vsyscalls\n (a few of them) had to have profiling disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15e6cb3673ea6277999642802406a764b49391b0",
      "tree": "d0a46a918caa64d5fb1ed37be3e026b30e94fe77",
      "parents": [
        "caf4b323b02a16c92fba449952ac6515ddc76d7a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 11 07:14:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 10:29:12 2008 +0100"
      },
      "message": "tracing: add a tracer to catch execution time of kernel functions\n\nImpact: add new tracing plugin which can trace full (entry+exit) function calls\n\nThis tracer uses the low level function return ftrace plugin to\nmeasure the execution time of the kernel functions.\n\nThe first field is the caller of the function, the second is the\nmeasured function, and the last one is the execution time in\nnanoseconds.\n\n- v3:\n\n- HAVE_FUNCTION_RET_TRACER have been added. Each arch that support ftrace return\n  should enable it.\n- ftrace_return_stub becomes ftrace_stub.\n- CONFIG_FUNCTION_RET_TRACER depends now on CONFIG_FUNCTION_TRACER\n- Return traces printing can be used for other tracers on trace.c\n- Adapt to the new tracing API (no more ctrl_update callback)\n- Correct the check of \"disabled\" during insertion.\n- Minor changes...\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60a7ecf42661f2b22168751298592da6ee210c9e",
      "tree": "050fd052c546c92f8aac10ee71d5bb6d98a21fc8",
      "parents": [
        "79c81d220c8e25163f56edcdfaf23f83a4c88e6b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 05 16:05:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:50:51 2008 +0100"
      },
      "message": "ftrace: add quick function trace stop\n\nImpact: quick start and stop of function tracer\n\nThis patch adds a way to disable the function tracer quickly without\nthe need to run kstop_machine. It adds a new variable called\nfunction_trace_stop which will stop the calls to functions from mcount\nwhen set.  This is just an on/off switch and does not handle recursion\nlike preempt_disable().\n\nIt\u0027s main purpose is to help other tracers/debuggers start and stop tracing\nfuctions without the need to call kstop_machine.\n\nThe config option HAVE_FUNCTION_TRACE_MCOUNT_TEST is added for archs\nthat implement the testing of the function_trace_stop in the mcount\narch dependent code. Otherwise, the test is done in the C code.\n\nx86 is the only arch at the moment that supports this.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2c80529460095035752bf0ecc1af82c1e0f6e0f",
      "tree": "e1fe0fdccb2d467666bfc8ed81f8a38016764f1c",
      "parents": [
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 19:50:41 2008 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:12:13 2008 +0100"
      },
      "message": "tracing, alpha: undefined reference to `save_stack_trace\u0027\n\nImpact: build fix on !stacktrace architectures\n\nonly select STACKTRACE on architectures that have STACKTRACE_SUPPORT\n\n... since we also need to ifdef out the guts of ftrace_trace_stack().\nWe also want to disallow setting TRACE_ITER_STACKTRACE in trace_flags\non such configs, but that can wait.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f3384b28a05624783b53836ccfed95ecde66a7ad",
      "tree": "e5fa8281ef1e4a9e638160204291556d42ed8a06",
      "parents": [
        "0b6e4d56bf71866a2b58daa8323cf747988ce7e4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 29 11:15:57 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 29 17:21:05 2008 +0100"
      },
      "message": "ftrace: fix trace_nop config select\n\nImpact: build fix on non-function-tracing architectures\n\nThe trace_nop is the tracer that is defined when no tracer is set in\nthe ftrace infrastructure.\n\nThe trace_nop was mistakenly selected by HAVE_FTRACE due to the confusion\nbetween ftrace infrastructure and the ftrace function tracer (which has\nbeen solved by renaming the function tracer).\n\nThis patch changes the select to the approriate TRACING.\n\nThis patch should fix compile errors on architectures that do not define\nthe FUNCTION_TRACER.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea31e72d753e5817a97de552f152d0cb55c7defc",
      "tree": "a709254a0cd46c764f69649153de26b1d1233082",
      "parents": [
        "f66af459a931f25807e1df7915b2b66bb5978d82"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 22 19:26:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 16:47:13 2008 +0100"
      },
      "message": "tracing/ftrace: make boot tracer select the sched_switch tracer\n\nImpact: build fix\n\nIf the boot tracer is selected but not the sched_switch,\nthere will be a build failure:\n\n kernel/built-in.o: In function `boot_trace_init\u0027:\n trace_boot.c:(.text+0x5ee38): undefined reference to `sched_switch_trace\u0027\n kernel/built-in.o: In function `disable_boot_trace\u0027:\n (.text+0x5eee1): undefined reference to `tracing_stop_cmdline_record\u0027\n kernel/built-in.o: In function `enable_boot_trace\u0027:\n (.text+0x5ef11): undefined reference to `tracing_start_cmdline_record\u0027\n\nThis patch fixes it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17d80fd07d35ae1d231b3378ee4f00ace54f9d31",
      "tree": "db09cfdb86d3bbced3a32588decabcb87ca02d19",
      "parents": [
        "debfcaf93ed500a051489db6646d71f29fe86a68"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Oct 21 16:31:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 09:08:56 2008 +0200"
      },
      "message": "tracing: create tracers menu\n\nWe seem to have plenty tracers, lets create a menu and not clutter\nthe already cluttered debug menu more.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "606576ce816603d9fe1fb453a88bc6eea16ca709",
      "tree": "7c6844ff4d75f249df49e9e5fe97062d301c3a1f",
      "parents": [
        "c2db8054c1eaf99983d8deee347876b01c26c2cf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:12 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:03 2008 +0200"
      },
      "message": "ftrace: rename FTRACE to FUNCTION_TRACER\n\nDue to confusion between the ftrace infrastructure and the gcc profiling\ntracer \"ftrace\", this patch renames the config options from FTRACE to\nFUNCTION_TRACER.  The other two names that are offspring from FTRACE\nDYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.\n\nThis patch was generated mostly by script, and partially by hand.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2db8054c1eaf99983d8deee347876b01c26c2cf",
      "tree": "43bbc93ce51ddf3110513ff711b7f21afd8954f5",
      "parents": [
        "bd95b88d9e51fcbf392a7e90338a8fcc3499cbd6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:02 2008 +0200"
      },
      "message": "ftrace: fix depends\n\nA lot of tracers have HAVE_FTRACE as a dependent config where it\nreally should not. The HAVE_FTRACE is a misnomer (soon to be fixed)\nand describes if the architecture has the function tracer (mcount)\nimplemented. The ftrace infrastructure is implemented in all archs.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98d9c66ab07471006fd7910cb16453581c41a3e7",
      "tree": "0f970a85c75df95e4c84ab81d4df88dac7cf016b",
      "parents": [
        "4519d9e54dcd273975ad0adebad2a08c20428029"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:27:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:27:20 2008 +0200"
      },
      "message": "tracing/fastboot: improve help text\n\nImprove the help text of the boot tracer.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4519d9e54dcd273975ad0adebad2a08c20428029",
      "tree": "b106b3a33908d2ca91c80efa54b60d9b1bd87df9",
      "parents": [
        "07d1890420cce95c577736e4d67f70cbd39845fe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:15:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 14:15:43 2008 +0200"
      },
      "message": "tracing/stacktrace: improve help text\n\nImprove the help text that is displayed for CONFIG_STACK_TRACER.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a8e76a3829f1067b70f715771ff88baf2fbf3c3",
      "tree": "71126d4ad6f89abd00cac688318aff14323a96bb",
      "parents": [
        "5aa60c6073456812251caf9177cb921b2de68f77"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 29 23:02:38 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:54 2008 +0200"
      },
      "message": "tracing: unified trace buffer\n\nThis is a unified tracing buffer that implements a ring buffer that\nhopefully everyone will eventually be able to use.\n\nThe events recorded into the buffer have the following structure:\n\n  struct ring_buffer_event {\n\tu32 type:2, len:3, time_delta:27;\n\tu32 array[];\n  };\n\nThe minimum size of an event is 8 bytes. All events are 4 byte\naligned inside the buffer.\n\nThere are 4 types (all internal use for the ring buffer, only\nthe data type is exported to the interface users).\n\n RINGBUF_TYPE_PADDING: this type is used to note extra space at the end\n\tof a buffer page.\n\n RINGBUF_TYPE_TIME_EXTENT: This type is used when the time between events\n\tis greater than the 27 bit delta can hold. We add another\n\t32 bits, and record that in its own event (8 byte size).\n\n RINGBUF_TYPE_TIME_STAMP: (Not implemented yet). This will hold data to\n\thelp keep the buffer timestamps in sync.\n\nRINGBUF_TYPE_DATA: The event actually holds user data.\n\nThe \"len\" field is only three bits. Since the data must be\n4 byte aligned, this field is shifted left by 2, giving a\nmax length of 28 bytes. If the data load is greater than 28\nbytes, the first array field holds the full length of the\ndata load and the len field is set to zero.\n\nExample, data size of 7 bytes:\n\n\ttype \u003d RINGBUF_TYPE_DATA\n\tlen \u003d 2\n\ttime_delta: \u003ctime-stamp\u003e - \u003cprev_event-time-stamp\u003e\n\tarray[0..1]: \u003c7 bytes of data\u003e \u003c1 byte empty\u003e\n\nThis event is saved in 12 bytes of the buffer.\n\nAn event with 82 bytes of data:\n\n\ttype \u003d RINGBUF_TYPE_DATA\n\tlen \u003d 0\n\ttime_delta: \u003ctime-stamp\u003e - \u003cprev_event-time-stamp\u003e\n\tarray[0]: 84 (Note the alignment)\n\tarray[1..14]: \u003c82 bytes of data\u003e \u003c2 bytes empty\u003e\n\nThe above event is saved in 92 bytes (if my math is correct).\n82 bytes of data, 2 bytes empty, 4 byte header, 4 byte length.\n\nDo not reference the above event struct directly. Use the following\nfunctions to gain access to the event table, since the\nring_buffer_event structure may change in the future.\n\nring_buffer_event_length(event): get the length of the event.\n\tThis is the size of the memory used to record this\n\tevent, and not the size of the data pay load.\n\nring_buffer_time_delta(event): get the time delta of the event\n\tThis returns the delta time stamp since the last event.\n\tNote: Even though this is in the header, there should\n\t\tbe no reason to access this directly, accept\n\t\tfor debugging.\n\nring_buffer_event_data(event): get the data from the event\n\tThis is the function to use to get the actual data\n\tfrom the event. Note, it is only a pointer to the\n\tdata inside the buffer. This data must be copied to\n\tanother location otherwise you risk it being written\n\tover in the buffer.\n\nring_buffer_lock: A way to lock the entire buffer.\nring_buffer_unlock: unlock the buffer.\n\nring_buffer_alloc: create a new ring buffer. Can choose between\n\toverwrite or consumer/producer mode. Overwrite will\n\toverwrite old data, where as consumer producer will\n\tthrow away new data if the consumer catches up with the\n\tproducer.  The consumer/producer is the default.\n\nring_buffer_free: free the ring buffer.\n\nring_buffer_resize: resize the buffer. Changes the size of each cpu\n\tbuffer. Note, it is up to the caller to provide that\n\tthe buffer is not being used while this is happening.\n\tThis requirement may go away but do not count on it.\n\nring_buffer_lock_reserve: locks the ring buffer and allocates an\n\tentry on the buffer to write to.\nring_buffer_unlock_commit: unlocks the ring buffer and commits it to\n\tthe buffer.\n\nring_buffer_write: writes some data into the ring buffer.\n\nring_buffer_peek: Look at a next item in the cpu buffer.\nring_buffer_consume: get the next item in the cpu buffer and\n\tconsume it. That is, this function increments the head\n\tpointer.\n\nring_buffer_read_start: Start an iterator of a cpu buffer.\n\tFor now, this disables the cpu buffer, until you issue\n\ta finish. This is just because we do not want the iterator\n\tto be overwritten. This restriction may change in the future.\n\tBut note, this is used for static reading of a buffer which\n\tis usually done \"after\" a trace. Live readings would want\n\tto use the ring_buffer_consume above, which will not\n\tdisable the ring buffer.\n\nring_buffer_read_finish: Finishes the read iterator and reenables\n\tthe ring buffer.\n\nring_buffer_iter_peek: Look at the next item in the cpu iterator.\nring_buffer_read: Read the iterator and increment it.\nring_buffer_iter_reset: Reset the iterator to point to the beginning\n\tof the cpu buffer.\nring_buffer_iter_empty: Returns true if the iterator is at the end\n\tof the cpu buffer.\n\nring_buffer_size: returns the size in bytes of each cpu buffer.\n\tNote, the real size is this times the number of CPUs.\n\nring_buffer_reset_cpu: Sets the cpu buffer to empty\nring_buffer_reset: sets all cpu buffers to empty\n\nring_buffer_swap_cpu: swaps a cpu buffer from one buffer with a\n\tcpu buffer of another buffer. This is handy when you\n\twant to take a snap shot of a running trace on just one\n\tcpu. Having a backup buffer, to swap with facilitates this.\n\tFtrace max latencies use this.\n\nring_buffer_empty: Returns true if the ring buffer is empty.\nring_buffer_empty_cpu: Returns true if the cpu buffer is empty.\n\nring_buffer_record_disable: disable all cpu buffers (read only)\nring_buffer_record_disable_cpu: disable a single cpu buffer (read only)\nring_buffer_record_enable: enable all cpu buffers.\nring_buffer_record_enabl_cpu: enable a single cpu buffer.\n\nring_buffer_entries: The number of entries in a ring buffer.\nring_buffer_overruns: The number of entries removed due to writing wrap.\n\nring_buffer_time_stamp: Get the time stamp used by the ring buffer\nring_buffer_normalize_time_stamp: normalize the ring buffer time stamp\n\tinto nanosecs.\n\nI still need to implement the GTOD feature. But we need support from\nthe cpu frequency infrastructure.  But this can be done at a later\ntime without affecting the ring buffer interface.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ce2b9200da8b7170cc7463b7ee4212fad7b291e",
      "tree": "8e9e05fb3e5282e199ee9953205504a8ded54d02",
      "parents": [
        "3bf77af6e1fef1124bf71d81f9f84885f0ee0dea"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 24 10:36:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:51 2008 +0200"
      },
      "message": "ftrace/fastboot: disable tracers self-tests when boot tracer is selected\n\nThe tracing engine resets the ring buffer and the tracers touch it\ntoo during self-tests. These self-tests happen during tracers registering\nand work against boot tracing which is logging initcalls.\n\nWe have to disable tracing self-tests if the boot-tracer is selected.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f5c2abbdeb2bb07b20c6a66bfecefe6c867b1ee",
      "tree": "0ba861c8817994f3c46446368b806f54c037b09d",
      "parents": [
        "b5ad384e79add1d87fff54070000dadcf218ffab"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 23 11:36:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:49 2008 +0200"
      },
      "message": "tracing/ftrace: give an entry on the config for boot tracer\n\nBring the entry to choose the boot tracer on the kernel config.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "2a3a4f669df2164288d11406d11d5e4933bf5e53"
}
