)]}'
{
  "log": [
    {
      "commit": "9c24624727f6d6c460e45762a408ca5f5b9b8ef2",
      "tree": "39f41dc5e46a9f0e1151963eb1d4f2b7ff77ee3d",
      "parents": [
        "6ee5a399d6a92a52646836a6e10faf255c16393e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Dec 09 13:14:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:54 2008 -0800"
      },
      "message": "KSYM_SYMBOL_LEN fixes\n\nMiles Lane tailing /sys files hit a BUG which Pekka Enberg has tracked\nto my 966c8c12dc9e77f931e2281ba25d2f0244b06949 sprint_symbol(): use\nless stack exposing a bug in slub\u0027s list_locations() -\nkallsyms_lookup() writes a 0 to namebuf[KSYM_NAME_LEN-1], but that was\nbeyond the end of page provided.\n\nThe 100 slop which list_locations() allows at end of page looks roughly\nenough for all the other stuff it might print after the symbol before\nit checks again: break out KSYM_SYMBOL_LEN earlier than before.\n\nLatencytop and ftrace and are using KSYM_NAME_LEN buffers where they\nneed KSYM_SYMBOL_LEN buffers, and vmallocinfo a 2*KSYM_NAME_LEN buffer\nwhere it wants a KSYM_SYMBOL_LEN buffer: fix those before anyone copies\nthem.\n\n[akpm@linux-foundation.org: ftrace.h needs module.h]\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc Miles Lane \u003cmiles.lane@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08f5ac906d2c0faf96d608c54a0b03177376da8d",
      "tree": "ee43d94b168b9c3b757db83aea78b45eb3a556c1",
      "parents": [
        "4d296c24326783bff1282ac72f310d8bac8df413"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:24 2008 +0200"
      },
      "message": "ftrace: remove ftrace hash\n\nThe ftrace hash was used by the ftrace_daemon code. The record ip function\nwould place the calling address (ip) into the hash. The daemon would later\nread the hash and modify that code.\n\nThe hash complicates the code. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d296c24326783bff1282ac72f310d8bac8df413",
      "tree": "75751fdafc0fa5818a926478e78dd9e54f1cf872",
      "parents": [
        "cb7be3b2fc2cf089ee52b16f0fd9ebb29e9944e1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:06 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:23 2008 +0200"
      },
      "message": "ftrace: remove mcount set\n\nThe arch dependent function ftrace_mcount_set was only used by the daemon\nstart up code. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81adbdc029ecc416d56563e7f159100181dd711d",
      "tree": "ff7ed7b0fb284c22eb30e690a85e2e9e083c4162",
      "parents": [
        "ab9a0918cbf0fa8883301838df8dbc8fc085ff50"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:33:02 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:19 2008 +0200"
      },
      "message": "ftrace: only have ftrace_kill atomic\n\nWhen an anomaly is detected, we need a way to completely disable\nftrace. Right now we have two functions: ftrace_kill and ftrace_kill_atomic.\nThe ftrace_kill tries to do it in a \"nice\" way by converting everything\nback to a nop.\n\nThe \"nice\" way is dangerous itself, so this patch removes it and only\nhas the \"atomic\" version, which is all that is needed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "593eb8a2d63e95772a5f22d746f18a997c5ee463",
      "tree": "2a99c61ccffc2c0fd280bb2e5f81ac2f22e2f471",
      "parents": [
        "34698bcbdf7b0629d6c873b5da7c63073fb45361"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 23 09:32:59 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 16:00:13 2008 +0200"
      },
      "message": "ftrace: return error on failed modified text.\n\nHave the ftrace_modify_code return error values:\n\n  -EFAULT on error of reading the address\n\n  -EINVAL if what is read does not match what it expected\n\n  -EPERM  if the write fails to update after a successful match.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "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": "ca538f6bbe583406f941f3041d40c41f9a13d1de",
      "tree": "460e3cf96472e327b48befbb4836c2d40e46f937",
      "parents": [
        "ad0a3b68114e8f3c25ac0045b45a2838f23e3b3a"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu Oct 09 15:23:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:27 2008 +0200"
      },
      "message": "tracing/fastboot: add better resolution to initcall debug/tracing\n\nChange the time resolution for initcall_debug to microseconds, from\nmilliseconds.  This is handy to determine which initcalls you want to work\non for faster booting.\n\nOne one of my test machines, over 90% of the initcalls are less than a\nmillisecond and (without this patch) these are all reported as 0 msecs.\nWorking on the 900 us ones is more important than the 4 us ones.\n\nWith \u0027quiet\u0027 on the kernel command line, this adds no significant overhead\nto kernel boot time.\n\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "097d036a2f25eecc42435c57e010aaf4a2eed2d9",
      "tree": "ee5e40b940475e8a047e02093688072ff3e330d3",
      "parents": [
        "6450c1d3213e27b0dcbf34cce7ad1ae74244c520"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 03 15:39:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:17 2008 +0200"
      },
      "message": "tracing/fastboot: only trace non-module initcalls\n\nAt this time, only built-in initcalls interest us.\nWe can\u0027t really produce a relevant graph if we include\nthe modules initcall too.\n\nI had good results after this patch (see svg in attachment).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb7fa935274bb233686fdf7a53f40c5d9ee76ed6",
      "tree": "06f5429865f1c720a483579f8f872b5ac16d4053",
      "parents": [
        "3e1932ad59726d794a865cc159c0593d54bf0cb6"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Thu Oct 02 12:00:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:14 2008 +0200"
      },
      "message": "ftrace: ktime.h not included in ftrace.h\n\nIncluding \u003clinux/ktime.h\u003e eliminates the following error:\n\ninclude/linux/ftrace.h:220: error: expected specifier-qualifier-list\nbefore \u0027ktime_t\u0027\n\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e1932ad59726d794a865cc159c0593d54bf0cb6",
      "tree": "2352a3fe4af33bb7f15ae2c809b8f40d865530ab",
      "parents": [
        "5601020feb0c3010e9e3e0131e9697ac6a06777b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 02 17:45:47 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:13 2008 +0200"
      },
      "message": "tracing/fastboot: build fix\n\nfix:\n\n In file included from kernel/sysctl.c:52:\n include/linux/ftrace.h:217: error: \u0027KSYM_NAME_LEN\u0027 undeclared here (not in a function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5601020feb0c3010e9e3e0131e9697ac6a06777b",
      "tree": "99d1a70dbf3bba2b5ae1007c4828c28e6480214a",
      "parents": [
        "cb5ab74204a6e2579d1119bf1348eb806526b12b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 02 13:26:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:12 2008 +0200"
      },
      "message": "tracing/fastboot: get the initcall name before it disappears\n\nAfter some initcall traces, some initcall names may be inconsistent.\nThat\u0027s because these functions will disappear from the .init section\nand also their name from the symbols table.\n\nSo we have to copy the name of the function in a buffer large enough\nduring the trace appending. It is not costly for the ring_buffer because\nthe number of initcall entries is commonly not really large.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb5ab74204a6e2579d1119bf1348eb806526b12b",
      "tree": "4810258d42e0370ec15cf424d5e3c6487fbd1781",
      "parents": [
        "77ae11f63befb7fc41ec256f1fcb72ca7e4160d5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 02 12:59:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:39:11 2008 +0200"
      },
      "message": "tracing/fastboot: change the printing of boot tracer according to bootgraph.pl\n\nChange the boot tracer printing to make it parsable for\nthe scripts/bootgraph.pl script.\n\nWe have now to output two lines for each initcall, according to the\nprintk in do_one_initcall() in init/main.c\nWe need now the call\u0027s time and the return\u0027s time.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d13744cd6e3fef373a3fe656ac349b4e7c49ff79",
      "tree": "7315ec5390bd4977ecf5d0b25d7ec5cf0440236a",
      "parents": [
        "aa5d9151f745b6ee6a236a1f109118034277eb92"
      ],
      "author": {
        "name": "Frédéric Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 23 11:32:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:38:47 2008 +0200"
      },
      "message": "tracing/ftrace: add the boot tracer\n\nAdd the boot/initcall tracer.\n\nIt\u0027s primary purpose is to be able to trace the initcalls.\n\nIt is intended to be used with scripts/bootgraph.pl after some small\nimprovements.\n\nNote that it is not active after its init. To avoid tracing (and so\ncrashing) before the whole tracing engine init, you have to explicitly\ncall start_boot_trace() after do_pre_smp_initcalls() to enable it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0719e5a4b1ccc04180b7a7b71095c9fb7131919",
      "tree": "a22ebc58b34f94caf63491ad35f034d0564f4cfd",
      "parents": [
        "d3ee6d992821f471193a7ee7a00af9ebb4bf5d01"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat Sep 06 01:06:03 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:36:55 2008 +0200"
      },
      "message": "ftrace: use ftrace_release for all dynamic ftrace functions\n\nftrace_release is necessary for all uses of dynamic ftrace and not just\nthe archs that have CONFIG_FTRACE_MCOUNT_RECORD defined.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3700273586ee6a58b95dd07d9f8a02db4a9b476f",
      "tree": "f291a04bd0ab0d866c00c3f2d241a870b873ec25",
      "parents": [
        "99ecdc43bc17faf5fa571db8569df171ecd0e5b8"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Mon Aug 18 16:24:56 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:50 2008 +0200"
      },
      "message": "ftrace: fix incorrect comment style of __ftrace_enabled_save()\n\nThis patch fixes incorrect comment style of __ftrace_enabled_save().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5131ad6c3cbe8f6674993e29a76cecf8deb4384",
      "tree": "ce9f9cd79cd987295d0cbcbb3cf99ada9b29fc1a",
      "parents": [
        "7b928c23fa3e9fa37d1d4ba52ba963f41ee5aae0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 18:22:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:33 2008 +0200"
      },
      "message": "ftrace: ftrace_kill_atomic() build fix\n\nfix:\n\n kernel/built-in.o: In function `ftrace_dump\u0027:\n (.text+0x2e2ea): undefined reference to `ftrace_kill_atomic\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b928c23fa3e9fa37d1d4ba52ba963f41ee5aae0",
      "tree": "a8873d531424a53b7c5f3a7cd4e280c50ca2e2a8",
      "parents": [
        "3f5a54e371ca20b119b73704f6c01b71295c1714"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 17:48:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:29 2008 +0200"
      },
      "message": "ftrace: build fix\n\nfix:\n\n In file included from init/main.c:65:\n include/linux/ftrace.h:166: error: expected ‘,\u0027 or ‘;\u0027 before ‘{\u0027 token\n make[1]: *** [init/main.o] Error 1\n make: *** [init/main.o] Error 2\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f5a54e371ca20b119b73704f6c01b71295c1714",
      "tree": "1453315564a19e967f11e612e264d4d2989afbe5",
      "parents": [
        "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 30 22:36:46 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:26 2008 +0200"
      },
      "message": "ftrace: dump out ftrace buffers to console on panic\n\nAt OLS I had a lot of interest to be able to have the ftrace buffers\ndumped on panic.  Usually one would expect to uses kexec and examine\nthe buffers after a new kernel is loaded. But sometimes the resources\ndo not permit kdump and kexec, so having an option to still see the\nsequence of events up to the crash is very advantageous.\n\nThis patch adds the option to have the ftrace buffers dumped to the\nconsole in the latency_trace format on a panic. When the option is set,\nthe default entries per CPU buffer are lowered to 16384, since the writing\nto the serial (if that is the console) may take an awful long time\notherwise.\n\n[\n Changes since -v1:\n  Got alpine to send correctly (as well as spell check working).\n  Removed config option.\n  Moved the static variables into ftrace_dump itself.\n  Gave printk a log level.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f2c99dba2398ef7d9c21f7c793180a50e68b1f0",
      "tree": "4948b0cd7b9828aa19f6862b10173cbc9f59ea68",
      "parents": [
        "dd0e545f061f90099a3dcc13aa77e29c6295cf23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 16:45:49 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:22 2008 +0200"
      },
      "message": "ftrace: ftrace_printk doc moved\n\nBased on Randy Dunlap\u0027s suggestion, the ftrace_printk kernel-doc belongs\nwith the ftrace_printk macro that should be used. Not with the\n__ftrace_printk internal function.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd0e545f061f90099a3dcc13aa77e29c6295cf23",
      "tree": "91842e81cacd2ae785bf14b96f3f65af96985658",
      "parents": [
        "2e2ca155cd2213b4f398031180fb3d399d5b7db9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 01 12:26:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:19 2008 +0200"
      },
      "message": "ftrace: printk formatting infrastructure\n\nThis patch adds a feature that can help kernel developers debug their\ncode using ftrace.\n\n  int ftrace_printk(const char *fmt, ...);\n\nThis records into the ftrace buffer using printf formatting. The entry\nsize in the buffers are still a fixed length. A new type has been added\nthat allows for more entries to be used for a single recording.\n\nThe start of the print is still the same as the other entries.\n\nIt returns the number of characters written to the ftrace buffer.\n\nFor example:\n\nHaving a module with the following code:\n\nstatic int __init ftrace_print_test(void)\n{\n        ftrace_printk(\"jiffies are %ld\\n\", jiffies);\n        return 0;\n}\n\nGives me:\n\n  insmod-5441  3...1 7569us : ftrace_print_test: jiffies are 4296626666\n\nfor the latency_trace file and:\n\n          insmod-5441  [03]  1959.370498: ftrace_print_test jiffies are 4296626666\n\nfor the trace file.\n\nNote: Only the infrastructure should go into the kernel. It is to help\nfacilitate debugging for other kernel developers. Calls to ftrace_printk\nis not intended to be left in the kernel, and should be frowned upon just\nlike scattering printks around in the code.\n\nBut having this easily at your fingertips helps the debugging go faster\nand bugs be solved quicker.\n\nMaybe later on, we can hook this with markers and have their printf format\nbe sucked into ftrace output.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fed1939c64d2288938fdc1c367d49082da65e195",
      "tree": "a4592352d28efcfe82379c71d061b9127e49a115",
      "parents": [
        "28614889bcb2558a47d02d52394b7fd9795a9547"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:19 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:12 2008 +0200"
      },
      "message": "ftrace: remove old pointers to mcount\n\nWhen a mcount pointer is recorded into a table, it is used to add or\nremove calls to mcount (replacing them with nops). If the code is removed\nvia removing a module, the pointers still exist.  At modifying the code\na check is always made to make sure the code being replaced is the code\nexpected. In-other-words, the code being replaced is compared to what\nit is expected to be before being replaced.\n\nThere is a very small chance that the code being replaced just happens\nto look like code that calls mcount (very small since the call to mcount\nis relative). To remove this chance, this patch adds ftrace_release to\nallow module unloading to remove the pointers to mcount within the module.\n\nAnother change for init calls is made to not trace calls marked with\n__init. The tracing can not be started until after init is done anyway.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90d595fe5ca4b685465c068907e6e554760abea8",
      "tree": "03f98454af8c6756177aa053ae7440373007f67d",
      "parents": [
        "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:47 2008 +0200"
      },
      "message": "ftrace: enable mcount recording for modules\n\nThis patch enables the loading of the __mcount_section of modules and\nchanging all the callers of mcount into nops.\n\nThe modification is done before the init_module function is called, so\nagain, we do not need to use kstop_machine to make these changes.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68bf21aa15c85d2e9b623dcda2b1ed8893275fa1",
      "tree": "54d4d4f7e8311b77f3166a8807a635347d479081",
      "parents": [
        "8da3821ba5634497da63d58a69e24a97697c4a2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:08 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:44 2008 +0200"
      },
      "message": "ftrace: mcount call site on boot nops core\n\nThis is the infrastructure to the converting the mcount call sites\nrecorded by the __mcount_loc section into nops on boot. It also allows\nfor using these sites to enable tracing as normal. When the __mcount_loc\nsection is used, the \"ftraced\" kernel thread is disabled.\n\nThis uses the current infrastructure to record the mcount call sites\nas well as convert them to nops. The mcount function is kept as a stub\non boot up and not converted to the ftrace_record_ip function. We use the\nftrace_record_ip to only record from the table.\n\nThis patch does not handle modules. That comes with a later patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9bdeb7b5d34f197dea7859d24475943395ffea5e",
      "tree": "f2db04f16f95ac713bb35d9c0dc8626a294d6d60",
      "parents": [
        "73bd9c72a29be1e8de008186eea55d333a938804"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: __ftrace_enabled_save/restore\n\nAdd __ftrace_enabled_save/restore, used to disable ftrace for a while.\nNow, this is used by kexec jump, which need a version without lock, for\ngeneral situation, a locked version should be used.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2bb6a3d85ef3124cd336403a95abc0540d3fbe2",
      "tree": "3048f355cc3ca814222ba34943c9a8f735e7a5e6",
      "parents": [
        "26bc83f4cb911a0b4dabfe23b700aaf3235f2955"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 10 20:58:15 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:49:21 2008 +0200"
      },
      "message": "ftrace: add ftrace_kill_atomic\n\nIt has been suggested that I add a way to disable the function tracer\non an oops. This code adds a ftrace_kill_atomic. It is not meant to be\nused in normal situations. It will disable the ftrace tracer, but will\nnot perform the nice shutdown that requires scheduling.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecea656d1d5e912d2f3d332657ea4a6d8380f891",
      "tree": "fd139cdd762230bf4e55a1341ba29e2b309968b1",
      "parents": [
        "785656a41f9a9c0e843a23d1ae05d900b5158f8f"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 21 23:47:53 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:10:58 2008 +0200"
      },
      "message": "ftrace: freeze kprobe\u0027d records\n\nLet records identified as being kprobe\u0027d be marked as \"frozen\". The trouble\nwith records which have a kprobe installed on their mcount call-site is\nthat they don\u0027t get updated. So if such a function which is currently being\ntraced gets its tracing disabled due to a new filter rule (or because it\nwas added to the notrace list) then it won\u0027t be updated and continue being\ntraced. This patch allows scanning of all frozen records during tracing to\ncheck if they should be traced.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "395a59d0f8e86bb39cd700c3d185d30c670bb958",
      "tree": "1558e635efcede901c5dbe9acd625d475db5b369",
      "parents": [
        "f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sat Jun 21 23:47:27 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:10:56 2008 +0200"
      },
      "message": "ftrace: store mcount address in rec-\u003eip\n\nRecord the address of the mcount call-site. Currently all archs except sparc64\nrecord the address of the instruction following the mcount call-site. Some\ngeneral cleanups are entailed. Storing mcount addresses in rec-\u003eip enables\nlooking them up in the kprobe hash table later on to check if they\u0027re kprobe\u0027d.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: davem@davemloft.net\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0eb967012ea15e6e8cfab483d9fa37bc602d400c",
      "tree": "0e9c026a2d83f313cdc3f9f235d58ff522cee090",
      "parents": [
        "e0773410247f1e5fc6f7c52a4c5f3c6c9873d527"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Sun Jun 01 21:47:30 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:56:57 2008 +0200"
      },
      "message": "ftrace: prevent freeing of all failed updates\n\nPrevent freeing of records which cause problems and correspond to function from\ncore kernel text. A new flag, FTRACE_FL_CONVERTED is used to mark a record\nas \"converted\". All other records are patched lazily to NOPs. Failed records\nnow also remain on frace_hash table. Each invocation of ftrace_record_ip now\nchecks whether the traced function has ever been recorded (including past\nfailures) and doesn\u0027t re-record it again.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad90c0e3ce8d20d6873b57e36181ef6d7a0097fe",
      "tree": "34af559928f9f2403c72156b672578d28f790a4f",
      "parents": [
        "76094a2cf46e4ab776055d4086615b884408568c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 27 20:48:37 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 12:50:04 2008 +0200"
      },
      "message": "ftrace: user update and disable dynamic ftrace daemon\n\nIn dynamic ftrace, the mcount function starts off pointing to a stub\nfunction that just returns.\n\nOn start up, the call to the stub is modified to point to a \"record_ip\"\nfunction. The job of the record_ip function is to add the function to\na pre-allocated hash list. If the function is already there, it simply is\nignored, otherwise it is added to the list.\n\nLater, a ftraced daemon wakes up and calls kstop_machine if any functions\nhave been recorded, and changes the calls to the recorded functions to\na simple nop.  If no functions were recorded, the daemon goes back to sleep.\n\nThe daemon wakes up once a second to see if it needs to update any newly\nrecorded functions into nops.  Usually it does not, but if a lot of code\nhas been executed for the first time in the kernel, the ftraced daemon\nwill call kstop_machine to update those into nops.\n\nThe problem currently is that there\u0027s no way to stop the daemon from doing\nthis, and it can cause unneeded latencies (800us which for some is bothersome).\n\nThis patch adds a new file /debugfs/tracing/ftraced_enabled. If the daemon\nis active, reading this will return \"enabled\\n\" and \"disabled\\n\" when the\ndaemon is not running. To disable the daemon, the user can echo \"0\" or\n\"disable\" into this file, and \"1\" or \"enable\" to re-enable the daemon.\n\nSince the daemon is used to convert the functions into nops to increase\nthe performance of the system, I also added that anytime something is\nwritten into the ftraced_enabled file, kstop_machine will run if there\nare new functions that have been detected that need to be converted.\n\nThis way the user can disable the daemon but still be able to control the\nconversion of the mcount calls to nops by simply,\n\n  \"echo 0 \u003e /debugfs/tracing/ftraced_enabled\"\n\nwhen they need to do more conversions.\n\nTo see the number of converted functions:\n\n  \"cat /debugfs/tracing/dyn_ftrace_total_info\"\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b1829d2705daa7cb72eb1e08bdc8b7e9fad34266",
      "tree": "2be273d7b2902ee3b789c63337437c65479f4660",
      "parents": [
        "492a7ea5bcf263ee02a9eb6a3ab0222a1946fade"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 28 01:22:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 28 01:25:04 2008 +0200"
      },
      "message": "ftrace: fix merge\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41c52c0db9607e59f90da7da5309489fa06e887f",
      "tree": "b0b1f282c087c53dfd4081da5a8a35cdc5ea5ebb",
      "parents": [
        "da89a7a2536c46e76a1a4351a70a8b8417e5fed1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 11:46:33 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 26 22:51:37 2008 +0200"
      },
      "message": "ftrace: set_ftrace_notrace feature\n\nWhile debugging latencies in the RT kernel, I found that it would be nice\nto be able to filter away functions from the trace than just to filter\non functions.\n\nI added a new interface to the debugfs tracing directory called\n\n  set_ftrace_notrace\n\nWhen dynamic frace is enabled, this lets you filter away functions that will\nnot be recorded in the trace. It is similar to adding \u0027notrace\u0027 to those\nfunctions but by doing it without recompiling the kernel.\n\nHere\u0027s how set_ftrace_filter and set_ftrace_notrace interact. Remember, if\nset_ftrace_filter is set, it removes all functions from the trace execpt for\nthose listed in the set_ftrace_filter. set_ftrace_notrace will prevent those\nfunctions from being traced.\n\nIf you were to set one function in both set_ftrace_filter and\nset_ftrace_notrace and that function was the same, then you would end up\nwith an empty trace.\n\nthe set of functions to trace is:\n\n  set_ftrace_filter \u003d\u003d empty then\n\n     all functions not in set_ftrace_notrace\n\n  else\n\n     set of the set_ftrace_filter and not in set of set_ftrace_notrace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "489f139614596cbc956a06f5e4bb41288e276fe3",
      "tree": "6c705f5859ff90adc871c4d002b1437ff5407733",
      "parents": [
        "d49dbf33f0bf8748ee3662b973eb57e60525d622"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 13:38:05 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 22:37:04 2008 +0200"
      },
      "message": "ftrace: fix build bug\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d49dbf33f0bf8748ee3662b973eb57e60525d622",
      "tree": "aac62379ef416cf50755841b7d7dbaefd1ec560b",
      "parents": [
        "2d8b820b2e81954754277723379ae9ed5de316fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 16 10:41:53 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 22:36:51 2008 +0200"
      },
      "message": "ftrace: fix include file dependency\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "74f4e369fc5b52433ad824cef32d3bf1304549be",
      "tree": "c70d073a2740821f52d8b2b09f01626a06201e74",
      "parents": [
        "5b82a1b08a00b2adca3d9dd9777efff40b7aaaa1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:15 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 22:34:56 2008 +0200"
      },
      "message": "ftrace: stacktrace fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "86387f7ee5d3273ff4859e2c64ce656639b6ca65",
      "tree": "d2080c680e9e9415dfa99bb8408302584035e664",
      "parents": [
        "57422797dc009fc83766bcf230d29dbe6e08e21e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:04:20 2008 +0200"
      },
      "message": "ftrace: add stack tracing\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aeaee8a2c9cb4489f166ca0e39c568e8254faaa6",
      "tree": "1b817104f60dc06c1bdd3f5e4e0bed5ee86e780e",
      "parents": [
        "2577046740fe6d77864128c6187c11125c2449ea"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:49 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:55:33 2008 +0200"
      },
      "message": "ftrace: build fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4eebcc81a33fbc45e28542b50197ed7b3c486d90",
      "tree": "13bbad50aa8d4dc36d630ef08886876f4dc0b6eb",
      "parents": [
        "37ad508419f0fdfda7b378756eb1f35cfd26d96d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:48 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:54:16 2008 +0200"
      },
      "message": "ftrace: disable tracing on failure\n\nSince ftrace touches practically every function. If we detect any\nanomaly, we want to fully disable ftrace. This patch adds code\nto try shutdown ftrace as much as possible without doing any more\nharm is something is detected not quite correct.\n\nThis only kills ftrace, this patch does have checks for other parts of\nthe tracer (irqsoff, wakeup, etc.).\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "37ad508419f0fdfda7b378756eb1f35cfd26d96d",
      "tree": "53db6e201e605c1926adc74fa965b1a615066da8",
      "parents": [
        "088b1e427dbba2af93cb6a7d39258c10ff58dd27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:48 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:54:04 2008 +0200"
      },
      "message": "ftrace - fix dynamic ftrace memory leak\n\nThe ftrace dynamic function update allocates a record to store the\ninstruction pointers that are being modified. If the modified\ninstruction pointer fails to update, then the record is marked as\nfailed and nothing more is done.\n\nWorse, if the modification fails, but the record ip function is still\ncalled, it will allocate a new record and try again. In just a matter\nof time, will this cause a serious memory leak and crash the system.\n\nThis patch plugs this memory leak. When a record fails, it is\nincluded back into the pool of records to be used. Now a record may\nfail over and over again, but the number of allocated records will\nnot increase.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "77a2b37d227483fe52aead242652aee406c25bf0",
      "tree": "cecb6a3a02a567530e2ce3502de18f371c9db7c1",
      "parents": [
        "7bd2f24c2f769e3f8f1d4fc8b9fddf689825f6a7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:45 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:41:06 2008 +0200"
      },
      "message": "ftrace: startup tester on dynamic tracing.\n\nThis patch adds a startup self test on dynamic code modification\nand filters. The test filters on a specific function, makes sure that\nno other function is traced, exectutes the function, then makes sure that\nthe function is traced.\n\nThis patch also fixes a slight bug with the ftrace selftest, where\ntracer_enabled was not being set.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7aafc549766b87819285d3480648fc652a47bc4",
      "tree": "4c36170a644633f930feca57b27f8c5d23644e70",
      "parents": [
        "60a11774b38fef1ab90b18c5353bd1c7c4d311c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:45 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:40:46 2008 +0200"
      },
      "message": "ftrace: cleanups\n\nfactor out code and clean it up.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e1c08bdd9fa73e44096e5a82c0d5928b04ab02c8",
      "tree": "eb2c642f9b7b5e222f1635e138c6072b0799f37b",
      "parents": [
        "57f50be14d57b0dbf88dd019e7bb0ff3a3dc7b81"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:44 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:40:29 2008 +0200"
      },
      "message": "ftrace: force recording\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f43fdad8627fec2d21df92799b254dceb66c9c3c",
      "tree": "09a9c54beaea06b814b3f4e6724375de282d944b",
      "parents": [
        "4c11d7aed389375253b59e2b1865eec96663c65d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:39:05 2008 +0200"
      },
      "message": "ftrace: fix kexec\n\ndisable the tracer while kexec pulls the rug from under the old\nkernel.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5072c59fd45e9976d02ee6f18c7336ef97623cbc",
      "tree": "d7c9d48ed518246b958ee7759f285bc22445feb8",
      "parents": [
        "d61f82d06672f57fca410da6f7fffd15867db622"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:38:41 2008 +0200"
      },
      "message": "ftrace: add filter select functions to trace\n\nThis patch adds two files to the debugfs system:\n\n /debugfs/tracing/available_filter_functions\n\nand\n\n /debugfs/tracing/set_ftrace_filter\n\nThe available_filter_functions lists all functions that has been\nrecorded by the ftraced that has called the ftrace_record_ip function.\nThis is to allow users to see what functions have been converted\nto nops and can be enabled for tracing.\n\nTo enable functions, simply echo the names (whitespace delimited)\ninto set_ftrace_filter. Simple wildcards are also allowed.\n\necho \u0027scheduler\u0027 \u003e /debugfs/tracing/set_ftrace_filter\n\nWill have only the scheduler be activated when tracing is enabled.\n\necho \u0027sched_*\u0027 \u003e /debugfs/tracing/set_ftrace_filter\n\nWill have only the functions starting with \u0027sched_\u0027 be activated.\n\necho \u0027*lock\u0027 \u003e /debugfs/tracing/set_ftrace_filter\n\nWill have only functions ending with \u0027lock\u0027 be activated.\n\necho \u0027*lock*\u0027 \u003e /debugfs/tracing/set_ftrace_filter\n\nWill have only functions with \u0027lock\u0027 in its name be activated.\n\nNote: \u0027sched*lock\u0027 will not work. The only wildcards that are\nallowed is an asterisk and the beginning and or end of the string\npassed in.\n\nMultiple names can be passed in with whitespace delimited:\n\necho \u0027scheduler *lock *acpi*\u0027 \u003e /debugfs/tracing/set_ftrace_filter\n\nis also the same as:\n\necho \u0027scheduler\u0027 \u003e /debugfs/tracing/set_ftrace_filter\necho \u0027*lock\u0027 \u003e\u003e /debugfs/tracing/set_ftrace_filter\necho \u0027*acpi*\u0027 \u003e\u003e /debugfs/tracing/set_ftrace_filter\n\nAppending does just that. It appends to the list.\n\nTo disable all filters simply echo an empty line in:\n\necho \u003e /debugfs/tracing/set_ftrace_filter\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d61f82d06672f57fca410da6f7fffd15867db622",
      "tree": "62ef5573934eaa638c0d39a45d789691aecbd7d3",
      "parents": [
        "3c1720f00bb619302ba19d55986ab565e74d06db"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:33:47 2008 +0200"
      },
      "message": "ftrace: use dynamic patching for updating mcount calls\n\nThis patch replaces the indirect call to the mcount function\npointer with a direct call that will be patched by the\ndynamic ftrace routines.\n\nOn boot up, the mcount function calls the ftace_stub function.\nWhen the dynamic ftrace code is initialized, the ftrace_stub\nis replaced with a call to the ftrace_record_ip, which records\nthe instruction pointers of the locations that call it.\n\nLater, the ftraced daemon will call kstop_machine and patch all\nthe locations to nops.\n\nWhen a ftrace is enabled, the original calls to mcount will now\nbe set top call ftrace_caller, which will do a direct call\nto the registered ftrace function. This direct call is also patched\nwhen the function that should be called is updated.\n\nAll patching is performed by a kstop_machine routine to prevent any\ntype of race conditions that is associated with modifying code\non the fly.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3c1720f00bb619302ba19d55986ab565e74d06db",
      "tree": "d58aaa54bc8e7a465597f385de36204c3b0b9cf8",
      "parents": [
        "dfa60aba04dae7833d75b2e2be124bb7cfb8239f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:33:35 2008 +0200"
      },
      "message": "ftrace: move memory management out of arch code\n\nThis patch moves the memory management of the ftrace\nrecords out of the arch code and into the generic code\nmaking the arch code simpler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b0fc494fae96a7089f3651cb451f461c7291244c",
      "tree": "586412b9ecbd8e3f04e8cd90a31644f94ff3a7d8",
      "parents": [
        "3d0833953e1b98b79ddf491dd49229eef9baeac1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:43 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:33:19 2008 +0200"
      },
      "message": "ftrace: add ftrace_enabled sysctl to disable mcount function\n\nThis patch adds back the sysctl ftrace_enabled. This time it is\ndefaulted to on, if DYNAMIC_FTRACE is configured. When ftrace_enabled\nis disabled, the ftrace function is set to the stub return.\n\nIf DYNAMIC_FTRACE is also configured, on ftrace_enabled \u003d 0,\nthe registered ftrace functions will all be set to jmps, but no more\nnew calls to ftrace recording (used to find the ftrace calling sites)\nwill be called.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3d0833953e1b98b79ddf491dd49229eef9baeac1",
      "tree": "3520cda824bdb58e47ce3e9f43d68249d5cc1a12",
      "parents": [
        "6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:33:09 2008 +0200"
      },
      "message": "ftrace: dynamic enabling/disabling of function calls\n\nThis patch adds a feature to dynamically replace the ftrace code\nwith the jmps to allow a kernel with ftrace configured to run\nas fast as it can without it configured.\n\nThe way this works, is on bootup (if ftrace is enabled), a ftrace\nfunction is registered to record the instruction pointer of all\nplaces that call the function.\n\nLater, if there\u0027s still any code to patch, a kthread is awoken\n(rate limited to at most once a second) that performs a stop_machine,\nand replaces all the code that was called with a jmp over the call\nto ftrace. It only replaces what was found the previous time. Typically\nthe system reaches equilibrium quickly after bootup and there\u0027s no code\npatching needed at all.\n\ne.g.\n\n  call ftrace  /* 5 bytes */\n\nis replaced with\n\n  jmp 3f  /* jmp is 2 bytes and we jump 3 forward */\n3:\n\nWhen we want to enable ftrace for function tracing, the IP recording\nis removed, and stop_machine is called again to replace all the locations\nof that were recorded back to the call of ftrace.  When it is disabled,\nwe replace the code back to the jmp.\n\nAllocation is done by the kthread. If the ftrace recording function is\ncalled, and we don\u0027t have any record slots available, then we simply\nskip that call. Once a second a new page (if needed) is allocated for\nrecording new ftrace function calls.  A large batch is allocated at\nboot up to get most of the calls there.\n\nBecause we do this via stop_machine, we don\u0027t have to worry about another\nCPU executing a ftrace call as we modify it. But we do need to worry\nabout NMI\u0027s so all functions that might be called via nmi must be\nannotated with notrace_nmi. When this code is configured in, the NMI code\nwill not call notrace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3",
      "tree": "845af8f3c7f8956b4f3591759a0d67248af243a2",
      "parents": [
        "81d68a96a39844853b37f20cc8282d9b65b78ef3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:54 2008 +0200"
      },
      "message": "ftrace: trace preempt off critical timings\n\nAdd preempt off timings. A lot of kernel core code is taken from the RT patch\nlatency trace that was written by Ingo Molnar.\n\nThis adds \"preemptoff\" and \"preemptirqsoff\" to /debugfs/tracing/available_tracers\n\nNow instead of just tracing irqs off, preemption off can be selected\nto be recorded.\n\nWhen this is selected, it shares the same files as irqs off timings.\nOne can either trace preemption off, irqs off, or one or the other off.\n\nBy echoing \"preemptoff\" into /debugfs/tracing/current_tracer, recording\nof preempt off only is performed. \"irqsoff\" will only record the time\nirqs are disabled, but \"preemptirqsoff\" will take the total time irqs\nor preemption are disabled. Runtime switching of these options is now\nsupported by simpling echoing in the appropriate trace name into\n/debugfs/tracing/current_tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "352ad25aa4a189c667cb2af333948d34692a2d27",
      "tree": "83a11c626b3818711d3b88061964c9ea603f7b68",
      "parents": [
        "35e8e302e5d6e32675df2fc1dd3a53dfa6630dc1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:36 2008 +0200"
      },
      "message": "ftrace: tracer for scheduler wakeup latency\n\nThis patch adds the tracer that tracks the wakeup latency of the\nhighest priority waking task.\n\n  \"wakeup\" is added to /debugfs/tracing/available_tracers\n\nAlso added to /debugfs/tracing\n\n  tracing_max_latency\n     holds the current max latency for the wakeup\n\n  wakeup_thresh\n     if set to other than zero, a log will be recorded\n     for every wakeup that takes longer than the number\n     entered in here (usecs for all counters)\n     (deletes previous trace)\n\nExamples:\n\n  (with ftrace_enabled \u003d 0)\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc8\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 26 us, #2/2, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: migration/0-3 (uid:0 nice:-5 policy:1 rt_prio:99)\n    -----------------\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n   quilt-8551  0d..3    0us+: wake_up_process+0x15/0x17 \u003cffffffff80233e80\u003e (sched_exec+0xc9/0x100 \u003cffffffff80235343\u003e)\n   quilt-8551  0d..4   26us : sched_switch_callback+0x73/0x81 \u003cffffffff80338d2f\u003e (schedule+0x483/0x6d5 \u003cffffffff8048b3ee\u003e)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n  (with ftrace_enabled \u003d 1)\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc8\n--------------------------------------------------------------------\n latency: 36 us, #45/45, CPU#0 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: migration/1-5 (uid:0 nice:-5 policy:1 rt_prio:99)\n    -----------------\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n    bash-10653 1d..3    0us : wake_up_process+0x15/0x17 \u003cffffffff80233e80\u003e (sched_exec+0xc9/0x100 \u003cffffffff80235343\u003e)\n    bash-10653 1d..3    1us : try_to_wake_up+0x271/0x2e7 \u003cffffffff80233dcf\u003e (sub_preempt_count+0xc/0x7a \u003cffffffff8023309e\u003e)\n    bash-10653 1d..2    2us : try_to_wake_up+0x296/0x2e7 \u003cffffffff80233df4\u003e (update_rq_clock+0x9/0x20 \u003cffffffff802303f3\u003e)\n    bash-10653 1d..2    2us : update_rq_clock+0x1e/0x20 \u003cffffffff80230408\u003e (__update_rq_clock+0xc/0x90 \u003cffffffff80230366\u003e)\n    bash-10653 1d..2    3us : __update_rq_clock+0x1b/0x90 \u003cffffffff80230375\u003e (sched_clock+0x9/0x29 \u003cffffffff80214529\u003e)\n    bash-10653 1d..2    4us : try_to_wake_up+0x2a6/0x2e7 \u003cffffffff80233e04\u003e (activate_task+0xc/0x3f \u003cffffffff8022ffca\u003e)\n    bash-10653 1d..2    4us : activate_task+0x2d/0x3f \u003cffffffff8022ffeb\u003e (enqueue_task+0xe/0x66 \u003cffffffff8022ff66\u003e)\n    bash-10653 1d..2    5us : enqueue_task+0x5b/0x66 \u003cffffffff8022ffb3\u003e (enqueue_task_rt+0x9/0x3c \u003cffffffff80233351\u003e)\n    bash-10653 1d..2    6us : try_to_wake_up+0x2ba/0x2e7 \u003cffffffff80233e18\u003e (check_preempt_wakeup+0x12/0x99 \u003cffffffff80234f84\u003e)\n[...]\n    bash-10653 1d..5   33us : tracing_record_cmdline+0xcf/0xd4 \u003cffffffff80338aad\u003e (_spin_unlock+0x9/0x33 \u003cffffffff8048d3ec\u003e)\n    bash-10653 1d..5   34us : _spin_unlock+0x19/0x33 \u003cffffffff8048d3fc\u003e (sub_preempt_count+0xc/0x7a \u003cffffffff8023309e\u003e)\n    bash-10653 1d..4   35us : wakeup_sched_switch+0x65/0x2ff \u003cffffffff80339f66\u003e (_spin_lock_irqsave+0xc/0xa9 \u003cffffffff8048d08b\u003e)\n    bash-10653 1d..4   35us : _spin_lock_irqsave+0x19/0xa9 \u003cffffffff8048d098\u003e (add_preempt_count+0xe/0x77 \u003cffffffff8023311a\u003e)\n    bash-10653 1d..4   36us : sched_switch_callback+0x73/0x81 \u003cffffffff80338d2f\u003e (schedule+0x483/0x6d5 \u003cffffffff8048b3ee\u003e)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe [...] was added here to not waste your email box space.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "16444a8a40d4c7b4f6de34af0cae1f76a4f6c901",
      "tree": "9c290bcdbdc1ecf8f578c30b3b36914e14fdaacc",
      "parents": [
        "6e766410c4babd37bc7cd5e25009c179781742c8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:31:58 2008 +0200"
      },
      "message": "ftrace: add basic support for gcc profiler instrumentation\n\nIf CONFIG_FTRACE is selected and /proc/sys/kernel/ftrace_enabled is\nset to a non-zero value the ftrace routine will be called everytime\nwe enter a kernel function that is not marked with the \"notrace\"\nattribute.\n\nThe ftrace routine will then call a registered function if a function\nhappens to be registered.\n\n[ This code has been highly hacked by Steven Rostedt and Ingo Molnar,\n  so don\u0027t blame Arnaldo for all of this ;-) ]\n\nUpdate:\n  It is now possible to register more than one ftrace function.\n  If only one ftrace function is registered, that will be the\n  function that ftrace calls directly. If more than one function\n  is registered, then ftrace will call a function that will loop\n  through the functions to call.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ]
}
