)]}'
{
  "log": [
    {
      "commit": "e6e7a65aabdb696cf05a56cfd495c49a11fd4cde",
      "tree": "e73e423314b49ebc861ef5e7547ad97493a5e179",
      "parents": [
        "ee02a2e5c88ca2e4d6921f08d037b46d5bf82641"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 16 05:53:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:53:39 2008 +0100"
      },
      "message": "tracing/ftrace: fix unexpected -EINVAL when longest tracer name is set\n\nImpact: fix confusing write() -EINVAL when changing the tracer\n\nThe following commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 remade\nalive the bug which made the set of a new tracer returning -EINVAL if\nthis is the longest name of tracer. This patch corrects it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee02a2e5c88ca2e4d6921f08d037b46d5bf82641",
      "tree": "5ad2064cfb6de999b07a937c19438f3c6f888229",
      "parents": [
        "982c350b9ec4b3564d67f3627a274ae61bbc7e95"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Nov 15 16:31:41 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:37:46 2008 +0100"
      },
      "message": "ftrace: make filtered functions effective on setting\n\nImpact: set filtered functions at time the filter is set\n\nIt can be confusing when the set_filter_functions is set (or cleared)\nand the functions being recorded by the dynamic tracer does not\nmatch.\n\nThis patch causes the code to be updated if the function tracer is\nenabled and the filter is changed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "982c350b9ec4b3564d67f3627a274ae61bbc7e95",
      "tree": "c7ccd83698552997bcfe58ab7f61b8761d37957e",
      "parents": [
        "20e5227e9f55ae1969934821ccbf581563785bbe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Nov 15 16:31:41 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:37:17 2008 +0100"
      },
      "message": "ftrace: fix dyn ftrace filter\n\nImpact: correct implementation of dyn ftrace filter\n\nThe old decisions made by the filter algorithm was complex and incorrect.\nThis lead to inconsistent enabling or disabling of functions when\nthe filter was used.\n\nThis patch simplifies that code and in doing so, corrects the usage\nof the filters.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20e5227e9f55ae1969934821ccbf581563785bbe",
      "tree": "cac23dc66e00c7667f5c0e7adc72a76bd1041816",
      "parents": [
        "31e889098a80ceb3e9e3c555d522b2686a6663c6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 14 16:21:19 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:36:42 2008 +0100"
      },
      "message": "ftrace: allow NULL pointers in mcount_loc\n\nImpact: make ftrace_convert_nops() more permissive\n\nDue to the way different architecture linkers combine the data sections\nof the mcount_loc (the section that lists all the locations that\ncall mcount), there may be zeros added in that section. This is usually\ndue to strange alignments that the linker performs, that pads in zeros.\n\nThis patch makes the conversion code to nops skip any pointer in\nthe mcount_loc section that is NULL.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31e889098a80ceb3e9e3c555d522b2686a6663c6",
      "tree": "2acb73507de4191d4a9aa5ccf08fa24e7044c89e",
      "parents": [
        "d51ad7ac48f991c4a8834485727efa99a691cb87"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 14 16:21:19 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:36:02 2008 +0100"
      },
      "message": "ftrace: pass module struct to arch dynamic ftrace functions\n\nImpact: allow archs more flexibility on dynamic ftrace implementations\n\nDynamic ftrace has largly been developed on x86. Since x86 does not\nhave the same limitations as other architectures, the ftrace interaction\nbetween the generic code and the architecture specific code was not\nflexible enough to handle some of the issues that other architectures\nhave.\n\nMost notably, module trampolines. Due to the limited branch distance\nthat archs make in calling kernel core code from modules, the module\nload code must create a trampoline to jump to what will make the\nlarger jump into core kernel code.\n\nThe problem arises when this happens to a call to mcount. Ftrace checks\nall code before modifying it and makes sure the current code is what\nit expects. Right now, there is not enough information to handle modifying\nmodule trampolines.\n\nThis patch changes the API between generic dynamic ftrace code and\nthe arch dependent code. There is now two functions for modifying code:\n\n  ftrace_make_nop(mod, rec, addr) - convert the code at rec-\u003eip into\n       a nop, where the original text is calling addr. (mod is the\n       module struct if called by module init)\n\n  ftrace_make_caller(rec, addr) - convert the code rec-\u003eip that should\n       be a nop into a caller to addr.\n\nThe record \"rec\" now has a new field called \"arch\" where the architecture\ncan add any special attributes to each call site record.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d51ad7ac48f991c4a8834485727efa99a691cb87",
      "tree": "7491150df5bda0b3c04e5a7f1fafdb35f3aec5c4",
      "parents": [
        "918c115410c6cc57033835b6a401e57697f9ea4f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Nov 15 15:48:29 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:35:37 2008 +0100"
      },
      "message": "ftrace: replace raw_local_irq_save with local_irq_save\n\nImpact: fix lockdep disabling itself when function tracing is enabled\n\nThe raw_local_irq_saves used in ftrace is causing problems with\nlockdep. (it thinks the irq flags are out of sync and disables\nitself with a warning)\n\nThe raw ops here are not needed, and the normal local_irq_save is fine.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "918c115410c6cc57033835b6a401e57697f9ea4f",
      "tree": "62d4f9d5c76f022f59cdb2a58e95d55c9c233799",
      "parents": [
        "b17e8a37a13d0e87165054714434534bb7e69f2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 14 16:21:19 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:30:17 2008 +0100"
      },
      "message": "ftrace: do not process freed records\n\nImpact: keep from converting freed records\n\nWhen the tracer is started or stopped, it converts all code pointed\nto by the saved records into callers to ftrace or nops. When modules\nare unloaded, their records are freed, but they still exist within\nthe record pages.\n\nThis patch changes the code to skip over freed records.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b17e8a37a13d0e87165054714434534bb7e69f2d",
      "tree": "0acfd6ec460bfab35807eb6be058d946c380353e",
      "parents": [
        "f3c7ac40a99f4044b843e6e2c4f46ab2d354c563"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 14 16:21:19 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:30:07 2008 +0100"
      },
      "message": "ftrace: disable ftrace on anomalies in trace start and stop\n\nImpact: robust feature to disable ftrace on start or stop tracing on error\n\nCurrently only the initial conversion to nops will disable ftrace\non an anomaly. But if an anomaly happens on start or stopping of the\ntracer, it will silently fail.\n\nThis patch adds a check there too, to disable ftrace and warn if the\nconversion fails.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f3c7ac40a99f4044b843e6e2c4f46ab2d354c563",
      "tree": "e4299e4cd9695adb6128eb3968d81a46f325b5c0",
      "parents": [
        "c91add5fa68ea9b1f2923b3788c5dae0e60e1f6b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 14 16:21:19 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:29:53 2008 +0100"
      },
      "message": "ftrace: remove condition from ftrace_record_ip\n\nImpact: let module functions be recorded when dyn ftrace not enabled\n\nWhen dynamic ftrace had a daemon and a hash to record the locations\nof mcount callers at run time, the recording needed to stop when\nftrace was disabled. But now that the recording is done at compile time\nand the ftrace_record_ip is only called at boot up and when a module\nis loaded, we no longer need to check if ftrace_enabled is set.\nIn fact, this breaks module load if it is not set because we skip\nover module functions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c91add5fa68ea9b1f2923b3788c5dae0e60e1f6b",
      "tree": "95e94cf87c9310d33afcf7139fe2a9ac78494f74",
      "parents": [
        "d1aaf8cf8afe70a8c2235a565885291fe290c57c",
        "b3535c6390f27d04273e4eee0bc687f171fbf5f4",
        "ee51a1de7e3837577412be269e0100038068e691"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:28:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 07:28:46 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/fastboot\u0027, \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "b3535c6390f27d04273e4eee0bc687f171fbf5f4",
      "tree": "a0160e2b70acc1743d6d3c68d149df9673d78fde",
      "parents": [
        "12ef7d448613ead2babd41c3ebfa1fe03c20edef"
      ],
      "author": {
        "name": "walimis",
        "email": "walimisdev@gmail.com",
        "time": "Fri Nov 14 00:21:02 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 19:36:30 2008 +0100"
      },
      "message": "ftrace: remove unnecessary if condition of __unregister_ftrace_function\n\nBecause it has goto out before ftrace_list \u003d\u003d \u0026ftrace_list_end,\nthat\u0027s to say, we never meet this condition.\n\nSigned-off-by: walimis \u003cwalimisdev@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee51a1de7e3837577412be269e0100038068e691",
      "tree": "a93d6dfeec829b61d6a74b5a9c841bcfeaeeb31d",
      "parents": [
        "47e74f2ba8fbf9fb1378e2524e6cfdc2fb37f160"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 14:58:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 14:58:31 2008 +0100"
      },
      "message": "tracing: fix mmiotrace resizing crash\n\nPekka reported a crash when resizing the mmiotrace tracer (if only\nmmiotrace is enabled).\n\nThis happens because in that case we do not allocate the max buffer,\nbut we try to use it.\n\nMake ring_buffer_resize() idempotent against NULL buffers.\n\nReported-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "12ef7d448613ead2babd41c3ebfa1fe03c20edef",
      "tree": "252b12211d2bbf96e4a90625f0c6116c9a4bd7de",
      "parents": [
        "ee6bce52276c0717ed3e63296e5d9465d339e923"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:38 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:24 2008 +0100"
      },
      "message": "ftrace: CPU buffer start annotation clean ups\n\nImpact: better handling of CPU buffer start annotation\n\nBecause of the confusion with the per CPU buffers wrapping where\none CPU might be more active at the end of the trace than the other\nCPUs causing that one CPU to have a shorter history. Kernel\ndevelopers were confused by the \"missing\" data of that one CPU\nat the beginning of the trace output. An annotation was added to\nthe trace output to show that the buffer had started:\n\n # tracer: function\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n ##### CPU 3 buffer started ####\n          \u003cidle\u003e-0     [003]   158.192959: smp_apic_timer_interrupt\n [...]\n           \u003cidle\u003e-0     [003]   161.556520: default_idle\n ##### CPU 1 buffer started ####\n           \u003cidle\u003e-0     [001]   161.592494: hrtimer_force_reprogram\n [etc]\n\nBut this annotation gets a bit messy when tracers do not fill the\nbuffers. This patch does a couple of things:\n\n One) it adds a flag to trace_options to disable these annotations\n\n Two) it does not annotate if the tracer did not overflow its buffer.\n\nThis makes the output much cleaner.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee6bce52276c0717ed3e63296e5d9465d339e923",
      "tree": "c1bb4ca81eda3bc372c121d72bb2ef6c27cdeeda",
      "parents": [
        "1696b2b0f44a8d42f3e6b1ea90c21790871c04d9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:37 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:23 2008 +0100"
      },
      "message": "ftrace: rename iter_ctrl to trace_options\n\nImpact: rename file /debug/tracing/iter_ctrl to /debug/tracing/trace_options\n\nThe original ftrace had a file called \"iter_ctrl\" that would control\nthe way the output was iterated. But this file grew into a catch all\nfor different trace options. This patch renames the file from iter_ctrl\nto trace_options to reflect this change.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1696b2b0f44a8d42f3e6b1ea90c21790871c04d9",
      "tree": "87f217120af535771b6249c50d9758c8765fd5f6",
      "parents": [
        "a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 13 00:09:35 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:22 2008 +0100"
      },
      "message": "ftrace: show buffer size in kilobytes\n\nImpact: change the units of buffer_size_kb to kilobytes\n\nThis patch changes the units of the buffer_size_kb file to kilobytes.\nReading and writing to the file uses kilobytes as units. To help\nusers to know what units are used, the output of the file now\nlooks like:\n\n  # cat /debug/tracing/buffer_size_kb\n  1408\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0",
      "tree": "7bccb9ade6edc033887db7c6f9f7157c5d612e3c",
      "parents": [
        "24de38620dd3504782c90c0892eef888d0c351e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 17:52:36 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:49:21 2008 +0100"
      },
      "message": "ftrace: rename trace_entries to buffer_size_kb\n\nImpact: rename of debugfs file trace_entries to buffer_size_kb\n\nThe original ftrace had fixed size entries, and the number of entries\nwas shown and modified via the file called trace_entries. By converting\nto the unified trace buffer, we now allow for variable size entries\nwhich makes the meaning of trace_entries pointless.\n\nSince trace_size might be confused to the size of the trace, this patch\nnames it \"buffer_size_kb\" (thanks to Arjan van de Ven for this idea).\n\n[ mingo@elte.hu: changed from buffer_size to buffer_size_kb ]\n\n( Note, the units are still bytes - the next patch changes that,\n  to keep the wide rename patch separate from the unit-change patch. )\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24de38620dd3504782c90c0892eef888d0c351e9",
      "tree": "6de8d1a9785fc4b38287f8f3509015fdcbbaedff",
      "parents": [
        "94b80ffd650b22e1fd493ccf6bad7efda4b8ea85",
        "68f96c0c889b55bf62eee98e859cb686f8850188",
        "1dc1c6adf38bc5799d1594681645ced40ced4b6b",
        "47e74f2ba8fbf9fb1378e2524e6cfdc2fb37f160"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:48:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 13 09:48:03 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/branch-tracer\u0027, \u0027tracing/fastboot\u0027, \u0027tracing/function-return-tracer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "94b80ffd650b22e1fd493ccf6bad7efda4b8ea85",
      "tree": "9f28b0e460f1b99eabb282b34d7fdaa8d80f12d6",
      "parents": [
        "80e5ea4506791af206266c5921c97f11d3b17866"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 16:18:45 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:28:40 2008 +0100"
      },
      "message": "ftrace: rename trace_unlikely.c file\n\nImpact: File name change of trace_unlikely.c\n\nThe \"unlikely\" name for the tracer is quite ugly. We renamed all the\nparts of it to \"branch\" and now it is time to rename the file too.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80e5ea4506791af206266c5921c97f11d3b17866",
      "tree": "847eb231f1c98377bdd600a801657a338cd1baa1",
      "parents": [
        "9f029e83e968e5661d7be045bbcb620dbb909938"
      ],
      "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:28:25 2008 +0100"
      },
      "message": "ftrace: add tracer called branch\n\nImpact: added new branch tracer\n\nCurrently the tracing of branch profiling (unlikelys and likelys hit)\nis only activated by the iter_ctrl. This patch adds a tracer called\n\"branch\" that will just trace the branch profiling. The advantage\nof adding this tracer is that it can be added to the ftrace selftests\non startup.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f029e83e968e5661d7be045bbcb620dbb909938",
      "tree": "13beecf2626162dc8a3912c79d58fc91e2193de5",
      "parents": [
        "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e"
      ],
      "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:28:09 2008 +0100"
      },
      "message": "ftrace: rename unlikely iter_ctrl to branch\n\nImpact: rename of iter_ctrl unlikely to branch\n\nThe unlikely name is ugly. This patch converts the iter_ctrl command\n\"unlikely\" and \"nounlikely\" to \"branch\" and \"nobranch\" respectively.\n\nIt also renames a lot of internal functions to use \"branch\" instead\nof \"unlikely\".\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.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": "68d119f0a66f7e3663304343b072e56a2693446b",
      "tree": "1bca906c6955cc9043e0d6e3b0d4404e238cb5fd",
      "parents": [
        "2b7d0390a6d6d595f43ea3806639664afe5b9ebe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 14:09:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 14:13:11 2008 +0100"
      },
      "message": "tracing: finetune branch-tracer output\n\nSteve suggested the to change the output from this:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [ .... ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [ .... ] calc_delta_fair:sched_fair.c:411\n\nto this:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [  ok  ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [  ok  ] calc_delta_fair:sched_fair.c:411\n\nas it makes it clearer to the user what it means exactly.\n\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f88c4ae9f8c3939bee4337c75c7a673b5de7a8a7",
      "tree": "db47bc2b4c9bbeb9aeadfcb609dcce72198887a4",
      "parents": [
        "52f232cb720a7babb752849cbc2cab2d24021209"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:55:41 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:55:41 2008 +0100"
      },
      "message": "tracing: branch tracer, tweak output\n\nImpact: modify the tracer output, to make it a bit easier to read\n\nChange the output from:\n\n\u003e  bash-3471  [003]   357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [correct] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [correct] calc_delta_fair:sched_fair.c:411\n\nto:\n\n\u003e  bash-3471  [003]   357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177\n\u003e  bash-3471  [003]   357.014756: [ .... ] update_curr:sched_fair.c:489\n\u003e  bash-3471  [003]   357.014758: [ .... ] calc_delta_fair:sched_fair.c:411\n\nit\u0027s good to have fields aligned vertically, and the only important\ninformation is a prediction miss, so display only that information.\n\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": "cb9382e5a94e54d0356d730954396c746ae66d6e",
      "tree": "f69a819d83453d2067958153270a1bfb1997b239",
      "parents": [
        "74239072830ef3f1398edeb1bc1076fc330fd4a2",
        "642edba5f5c545772b89907cf96134c73d6073c7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:50:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:50:51 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/fastboot\u0027, \u0027tracing/function-return-tracer\u0027 and \u0027tracing/ring-buffer\u0027 into tracing/core\n"
    },
    {
      "commit": "642edba5f5c545772b89907cf96134c73d6073c7",
      "tree": "fe035c062474bb3163a15e3b490e2c6c5f612407",
      "parents": [
        "d06bbd669539215405874d8fe32ab65105e6c4bb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:01:26 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:25:04 2008 +0100"
      },
      "message": "ring-buffer: fix deadlock from reader_lock in read_start\n\nImpact: deadlock fix in ring_buffer_read_start\n\nThe ring_buffer_iter_reset was called from ring_buffer_read_start\nwhere both grabbed the reader_lock.\n\nThis patch separates out the internals of ring_buffer_iter_reset\nto its own function so that both APIs may grab the reader_lock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47e74f2ba8fbf9fb1378e2524e6cfdc2fb37f160",
      "tree": "7d49bf91e5409c432b259c26fcadff0450dffe43",
      "parents": [
        "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:01:27 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:23:36 2008 +0100"
      },
      "message": "ring-buffer: no preempt for sched_clock()\n\nImpact: disable preemption when calling sched_clock()\n\nThe ring_buffer_time_stamp still uses sched_clock as its counter.\nBut it is a bug to call it with preemption enabled. This requirement\nshould not be pushed to the ring_buffer_time_stamp callers, so\nthe ring_buffer_time_stamp needs to disable preemption when calling\nsched_clock.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74239072830ef3f1398edeb1bc1076fc330fd4a2",
      "tree": "60a244c6c88d9943760ded98a1a29ce018292107",
      "parents": [
        "3f5ec13696fd4a33bde42f385406cbb1d3cc96fd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 11 23:24:42 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:17:19 2008 +0100"
      },
      "message": "tracing/fastboot: Use the ring-buffer timestamp for initcall entries\n\nImpact: Split the boot tracer entries in two parts: call and return\n\nNow that we are using the sched tracer from the boot tracer, we want\nto use the same timestamp than the ring-buffer to have consistent time\ncaptures between sched events and initcall events.\n\nSo we get rid of the old time capture by the boot tracer and split the\ninitcall events in two parts: call and return. This way we have the\nring buffer timestamp of both.\n\nAn example trace:\n\n[   27.904149584] calling  net_ns_init+0x0/0x1c0 @ 1\n[   27.904429624] initcall net_ns_init+0x0/0x1c0 returned 0 after 0 msecs\n[   27.904575926] calling  reboot_init+0x0/0x20 @ 1\n[   27.904655399] initcall reboot_init+0x0/0x20 returned 0 after 0 msecs\n[   27.904800228] calling  sysctl_init+0x0/0x30 @ 1\n[   27.905142914] initcall sysctl_init+0x0/0x30 returned 0 after 0 msecs\n[   27.905287211] calling  ksysfs_init+0x0/0xb0 @ 1\n ##### CPU 0 buffer started ####\n            init-1     [000]    27.905395:      1:120:R   + [001]    11:115:S\n ##### CPU 1 buffer started ####\n          \u003cidle\u003e-0     [001]    27.905425:      0:140:R \u003d\u003d\u003e [001]    11:115:R\n            init-1     [000]    27.905426:      1:120:D \u003d\u003d\u003e [000]     0:140:R\n          \u003cidle\u003e-0     [000]    27.905431:      0:140:R   + [000]     4:115:S\n          \u003cidle\u003e-0     [000]    27.905451:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n     ksoftirqd/0-4     [000]    27.905456:      4:115:S \u003d\u003d\u003e [000]     0:140:R\n           udevd-11    [001]    27.905458:     11:115:R   + [001]    14:115:R\n          \u003cidle\u003e-0     [000]    27.905459:      0:140:R   + [000]     4:115:S\n          \u003cidle\u003e-0     [000]    27.905462:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n           udevd-11    [001]    27.905462:     11:115:R \u003d\u003d\u003e [001]    14:115:R\n     ksoftirqd/0-4     [000]    27.905467:      4:115:S \u003d\u003d\u003e [000]     0:140:R\n          \u003cidle\u003e-0     [000]    27.905470:      0:140:R   + [000]     4:115:S\n          \u003cidle\u003e-0     [000]    27.905473:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n     ksoftirqd/0-4     [000]    27.905476:      4:115:S \u003d\u003d\u003e [000]     0:140:R\n          \u003cidle\u003e-0     [000]    27.905479:      0:140:R   + [000]     4:115:S\n          \u003cidle\u003e-0     [000]    27.905482:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n     ksoftirqd/0-4     [000]    27.905486:      4:115:S \u003d\u003d\u003e [000]     0:140:R\n           udevd-14    [001]    27.905499:     14:120:X \u003d\u003d\u003e [001]    11:115:R\n           udevd-11    [001]    27.905506:     11:115:R   + [000]     1:120:D\n          \u003cidle\u003e-0     [000]    27.905515:      0:140:R \u003d\u003d\u003e [000]     1:120:R\n           udevd-11    [001]    27.905517:     11:115:S \u003d\u003d\u003e [001]     0:140:R\n[   27.905557107] initcall ksysfs_init+0x0/0xb0 returned 0 after 3906 msecs\n[   27.905705736] calling  init_jiffies_clocksource+0x0/0x10 @ 1\n[   27.905779239] initcall init_jiffies_clocksource+0x0/0x10 returned 0 after 0 msecs\n[   27.906769814] calling  pm_init+0x0/0x30 @ 1\n[   27.906853627] initcall pm_init+0x0/0x30 returned 0 after 0 msecs\n[   27.906997803] calling  pm_disk_init+0x0/0x20 @ 1\n[   27.907076946] initcall pm_disk_init+0x0/0x20 returned 0 after 0 msecs\n[   27.907222556] calling  swsusp_header_init+0x0/0x30 @ 1\n[   27.907294325] initcall swsusp_header_init+0x0/0x30 returned 0 after 0 msecs\n[   27.907439620] calling  stop_machine_init+0x0/0x50 @ 1\n            init-1     [000]    27.907485:      1:120:R   + [000]     2:115:S\n            init-1     [000]    27.907490:      1:120:D \u003d\u003d\u003e [000]     2:115:R\n        kthreadd-2     [000]    27.907507:      2:115:R   + [001]    15:115:R\n          \u003cidle\u003e-0     [001]    27.907517:      0:140:R \u003d\u003d\u003e [001]    15:115:R\n        kthreadd-2     [000]    27.907517:      2:115:D \u003d\u003d\u003e [000]     0:140:R\n          \u003cidle\u003e-0     [000]    27.907521:      0:140:R   + [000]     4:115:S\n          \u003cidle\u003e-0     [000]    27.907524:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n           udevd-15    [001]    27.907527:     15:115:D   + [000]     2:115:D\n     ksoftirqd/0-4     [000]    27.907537:      4:115:S \u003d\u003d\u003e [000]     2:115:R\n           udevd-15    [001]    27.907537:     15:115:D \u003d\u003d\u003e [001]     0:140:R\n        kthreadd-2     [000]    27.907546:      2:115:R   + [000]     1:120:D\n        kthreadd-2     [000]    27.907550:      2:115:S \u003d\u003d\u003e [000]     1:120:R\n            init-1     [000]    27.907584:      1:120:R   + [000]    15:  0:D\n            init-1     [000]    27.907589:      1:120:R   + [000]     2:115:S\n            init-1     [000]    27.907593:      1:120:D \u003d\u003d\u003e [000]    15:  0:R\n           udevd-15    [000]    27.907601:     15:  0:S \u003d\u003d\u003e [000]     2:115:R\n ##### CPU 0 buffer started ####\n        kthreadd-2     [000]    27.907616:      2:115:R   + [001]    16:115:R\n ##### CPU 1 buffer started ####\n          \u003cidle\u003e-0     [001]    27.907620:      0:140:R \u003d\u003d\u003e [001]    16:115:R\n        kthreadd-2     [000]    27.907621:      2:115:D \u003d\u003d\u003e [000]     0:140:R\n           udevd-16    [001]    27.907625:     16:115:D   + [000]     2:115:D\n          \u003cidle\u003e-0     [000]    27.907628:      0:140:R   + [000]     4:115:S\n           udevd-16    [001]    27.907629:     16:115:D \u003d\u003d\u003e [001]     0:140:R\n          \u003cidle\u003e-0     [000]    27.907631:      0:140:R \u003d\u003d\u003e [000]     4:115:R\n     ksoftirqd/0-4     [000]    27.907636:      4:115:S \u003d\u003d\u003e [000]     2:115:R\n        kthreadd-2     [000]    27.907644:      2:115:R   + [000]     1:120:D\n        kthreadd-2     [000]    27.907647:      2:115:S \u003d\u003d\u003e [000]     1:120:R\n            init-1     [000]    27.907657:      1:120:R   + [001]    16:  0:D\n          \u003cidle\u003e-0     [001]    27.907666:      0:140:R \u003d\u003d\u003e [001]    16:  0:R\n[   27.907703862] initcall stop_machine_init+0x0/0x50 returned 0 after 0 msecs\n[   27.907850704] calling  filelock_init+0x0/0x30 @ 1\n[   27.907926573] initcall filelock_init+0x0/0x30 returned 0 after 0 msecs\n[   27.908071327] calling  init_script_binfmt+0x0/0x10 @ 1\n[   27.908165195] initcall init_script_binfmt+0x0/0x10 returned 0 after 0 msecs\n[   27.908309461] calling  init_elf_binfmt+0x0/0x10 @ 1\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": "3f5ec13696fd4a33bde42f385406cbb1d3cc96fd",
      "tree": "3c705c5991fcf0f4968ff790bb2e2ce65c8cbf18",
      "parents": [
        "60a011c736e7dd09a0b01ca6a051a416f3f52ffb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 11 23:21:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:17:18 2008 +0100"
      },
      "message": "tracing/fastboot: move boot tracer structs and funcs into their own header.\n\nImpact: Cleanups on the boot tracer and ftrace\n\nThis patch bring some cleanups about the boot tracer headers. The\nfunctions and structures of this tracer have nothing related to ftrace\nand should have so their own header file.\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": "60a011c736e7dd09a0b01ca6a051a416f3f52ffb",
      "tree": "20e91db58c3bbfa622d3ed8ec747e4974a807284",
      "parents": [
        "d06bbd669539215405874d8fe32ab65105e6c4bb",
        "19b3e9671c5a219b8c34da2cc66e0ce7c3a501ae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:17:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:17:09 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/function-return-tracer\u0027 into tracing/fastboot\n"
    },
    {
      "commit": "d06bbd669539215405874d8fe32ab65105e6c4bb",
      "tree": "2567b00257b633fa13220fa515d4bad9749405db",
      "parents": [
        "d844222a54c33a960755b44b934cd1b01b05dceb",
        "3e89c7bb92fc92bb964734341487798c8d497bae",
        "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:11:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 10:11:37 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/ring_buffer.c\n"
    },
    {
      "commit": "3e89c7bb92fc92bb964734341487798c8d497bae",
      "tree": "9b20d0a934152220981e3a25c27ee0d799bc9de3",
      "parents": [
        "f83c9d0fe42a7544b4d4ffcebb2e6716fcfd95c0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:28:41 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 22:02:35 2008 +0100"
      },
      "message": "ring-buffer: clean up warn ons\n\nImpact: Restructure WARN_ONs in ring_buffer.c\n\nThe current WARN_ON macros in ring_buffer.c are quite ugly.\n\nThis patch cleans them up and uses a single RB_WARN_ON that returns\nthe value of the condition. This allows the caller to abort the\nfunction if the condition is true.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87",
      "tree": "826aa8fff448bc3dcd167d3623fbcc311a768c1f",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "a358324466b171e145df20bdb74fe81759906de6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "a358324466b171e145df20bdb74fe81759906de6",
      "tree": "50b2b0b72ff40da6be232eb85d33a203612f3164",
      "parents": [
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:01:42 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:02:04 2008 -0500"
      },
      "message": "ring-buffer: buffer record on/off switch\n\nImpact: enable/disable ring buffer recording API added\n\nSeveral kernel developers have requested that there be a way to stop\nrecording into the ring buffers with a simple switch that can also\nbe enabled from userspace. This patch addes a new kernel API to the\nring buffers called:\n\n tracing_on()\n tracing_off()\n\nWhen tracing_off() is called, all ring buffers will not be able to record\ninto their buffers.\n\ntracing_on() will enable the ring buffers again.\n\nThese two act like an on/off switch. That is, there is no counting of the\nnumber of times tracing_off or tracing_on has been called.\n\nA new file is added to the debugfs/tracing directory called\n\n  tracing_on\n\nThis allows for userspace applications to also flip the switch.\n\n  echo 0 \u003e debugfs/tracing/tracing_on\n\ndisables the tracing.\n\n  echo 1 \u003e /debugfs/tracing/tracing_on\n\nenables it.\n\nNote, this does not disable or enable any tracers. It only sets or clears\na flag that needs to be set in order for the ring buffers to write to\ntheir buffers. It is a global flag, and affects all ring buffers.\n\nThe buffers start out with tracing_on enabled.\n\nThere are now three flags that control recording into the buffers:\n\n tracing_on: which affects all ring buffer tracers.\n\n buffer-\u003erecord_disabled: which affects an allocated buffer, which may be set\n     if an anomaly is detected, and tracing is disabled.\n\n cpu_buffer-\u003erecord_disabled: which is set by tracing_stop() or if an\n     anomaly is detected. tracing_start can not reenable this if\n     an anomaly occurred.\n\nThe userspace debugfs/tracing/tracing_enabled is implemented with\ntracing_stop() but the user space code can not enable it if the kernel\ncalled tracing_stop().\n\nUserspace can enable the tracing_on even if the kernel disabled it.\nIt is just a switch used to stop tracing if a condition was hit.\ntracing_on is not for protecting critical areas in the kernel nor is\nit for stopping tracing if an anomaly occurred. This is because userspace\ncan reenable it at any time.\n\nSide effect: With this patch, I discovered a dead variable in ftrace.c\n  called tracing_on. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f21f237cf55494c3a4209de323281a3b0528da10",
      "tree": "40ebad408aebbc5bf4e54bd51a7c0077ad04508b",
      "parents": [
        "2f96cb57cde9957bac0991c712068d29364b2ac9",
        "5d5254f0d3b9bebc47d97e357374c0ad0c291a7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:53:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:53:50 2008 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: handle HRTIMER_CB_IRQSAFE_UNLOCKED correctly from softirq context\n  nohz: disable tick_nohz_kick_tick() for now\n  irq: call __irq_enter() before calling the tick_idle_check\n  x86: HPET: enter hpet_interrupt_handler with interrupts disabled\n  x86: HPET: read from HPET_Tn_CMP() not HPET_T0_CMP\n  x86: HPET: convert WARN_ON to WARN_ON_ONCE\n"
    },
    {
      "commit": "2f96cb57cde9957bac0991c712068d29364b2ac9",
      "tree": "60e3f985b9e865f3a1fdda131599fa84159cc73e",
      "parents": [
        "09eb3b5b1bcab7b25e9dd57e90ee9753adf7afe2",
        "2002c69595a092518107f7e3c1294c9710bc92ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: release buddies on yield\n  fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n  sched: clean up debug info\n"
    },
    {
      "commit": "f83c9d0fe42a7544b4d4ffcebb2e6716fcfd95c0",
      "tree": "37532424c8ea5a8dac649cb2baed04223722c09f",
      "parents": [
        "f536aafc5a2e6f0c8f1577a155e6f93db5e469f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 18:47:44 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 18:47:44 2008 +0100"
      },
      "message": "ring-buffer: add reader lock\n\nImpact: serialize reader accesses to individual CPU ring buffers\n\nThe code in the ring buffer expects only one reader at a time, but currently\nit puts that requirement on the caller. This is not strong enough, and this\npatch adds a \"reader_lock\" that serializes the access to the reader API\nof the ring buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2002c69595a092518107f7e3c1294c9710bc92ae",
      "tree": "5935add4d4cd426b5b824474b7ec2ffea48d2951",
      "parents": [
        "ad474caca3e2a0550b7ce0706527ad5ab389a4d4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 11 11:52:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 11:57:22 2008 +0100"
      },
      "message": "sched: release buddies on yield\n\nClear buddies on yield, so that the buddy rules don\u0027t schedule them\ndespite them being placed right-most.\n\nThis fixed a performance regression with yield-happy binary JVMs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Lin Ming \u003cming.m.lin@intel.com\u003e\n"
    },
    {
      "commit": "5d5254f0d3b9bebc47d97e357374c0ad0c291a7d",
      "tree": "fea216db5914228fe80139f5e31621de86cc9e5d",
      "parents": [
        "ae99286b4f1be7788f2d6947c66a91dbd6351eec"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Sat Oct 25 10:22:38 2008 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 11 10:46:42 2008 +0100"
      },
      "message": "timers: handle HRTIMER_CB_IRQSAFE_UNLOCKED correctly from softirq context\n\nImpact: fix incorrect locking triggered during hotplug-intense stress-tests\n\nWhile migrating the the CB_IRQSAFE_UNLOCKED timers during a cpu-offline,\nwe queue them on the cb_pending list, so that they won\u0027t go\nstale.\n\nThus, when the callbacks of the timers run from the softirq context,\nthey could run into potential deadlocks, since these callbacks\nassume that they\u0027re running with irq\u0027s disabled, thereby annoying\nlockdep!\n\nFix this by emulating hardirq context while running these callbacks from\nthe hrtimer softirq.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.27 #2\n--------------------------------\ninconsistent {in-hardirq-W} -\u003e {hardirq-on-W} usage.\nksoftirqd/0/4 [HC0[0]:SC1[1]:HE1:SE0] takes:\n (\u0026rq-\u003elock){++..}, at: [\u003cc011db84\u003e] sched_rt_period_timer+0x9e/0x1fc\n{in-hardirq-W} state was registered at:\n  [\u003cc014103c\u003e] __lock_acquire+0x549/0x121e\n  [\u003cc0107890\u003e] native_sched_clock+0x88/0x99\n  [\u003cc013aa12\u003e] clocksource_get_next+0x39/0x3f\n  [\u003cc0139abc\u003e] update_wall_time+0x616/0x7df\n  [\u003cc0141d6b\u003e] lock_acquire+0x5a/0x74\n  [\u003cc0121724\u003e] scheduler_tick+0x3a/0x18d\n  [\u003cc047ed45\u003e] _spin_lock+0x1c/0x45\n  [\u003cc0121724\u003e] scheduler_tick+0x3a/0x18d\n  [\u003cc0121724\u003e] scheduler_tick+0x3a/0x18d\n  [\u003cc012c436\u003e] update_process_times+0x3a/0x44\n  [\u003cc013c044\u003e] tick_periodic+0x63/0x6d\n  [\u003cc013c062\u003e] tick_handle_periodic+0x14/0x5e\n  [\u003cc010568c\u003e] timer_interrupt+0x44/0x4a\n  [\u003cc0150c9f\u003e] handle_IRQ_event+0x13/0x3d\n  [\u003cc0151c14\u003e] handle_level_irq+0x79/0xbd\n  [\u003cc0105634\u003e] do_IRQ+0x69/0x7d\n  [\u003cc01041e4\u003e] common_interrupt+0x28/0x30\n  [\u003cc047007b\u003e] aac_probe_one+0x1a3/0x3f3\n  [\u003cc047ec2d\u003e] _spin_unlock_irqrestore+0x36/0x39\n  [\u003cc01512b4\u003e] setup_irq+0x1be/0x1f9\n  [\u003cc065d70b\u003e] start_kernel+0x259/0x2c5\n  [\u003cffffffff\u003e] 0xffffffff\nirq event stamp: 50102\nhardirqs last  enabled at (50102): [\u003cc047ebf4\u003e] _spin_unlock_irq+0x20/0x23\nhardirqs last disabled at (50101): [\u003cc047edc2\u003e] _spin_lock_irq+0xa/0x4b\nsoftirqs last  enabled at (50088): [\u003cc0128ba6\u003e] do_softirq+0x37/0x4d\nsoftirqs last disabled at (50099): [\u003cc0128ba6\u003e] do_softirq+0x37/0x4d\n\nother info that might help us debug this:\nno locks held by ksoftirqd/0/4.\n\nstack backtrace:\nPid: 4, comm: ksoftirqd/0 Not tainted 2.6.27 #2\n [\u003cc013f6cb\u003e] print_usage_bug+0x13e/0x147\n [\u003cc013fef5\u003e] mark_lock+0x493/0x797\n [\u003cc01410b1\u003e] __lock_acquire+0x5be/0x121e\n [\u003cc0141d6b\u003e] lock_acquire+0x5a/0x74\n [\u003cc011db84\u003e] sched_rt_period_timer+0x9e/0x1fc\n [\u003cc047ed45\u003e] _spin_lock+0x1c/0x45\n [\u003cc011db84\u003e] sched_rt_period_timer+0x9e/0x1fc\n [\u003cc011db84\u003e] sched_rt_period_timer+0x9e/0x1fc\n [\u003cc01210fd\u003e] finish_task_switch+0x41/0xbd\n [\u003cc0107890\u003e] native_sched_clock+0x88/0x99\n [\u003cc011dae6\u003e] sched_rt_period_timer+0x0/0x1fc\n [\u003cc0136dda\u003e] run_hrtimer_pending+0x54/0xe5\n [\u003cc011dae6\u003e] sched_rt_period_timer+0x0/0x1fc\n [\u003cc0128afb\u003e] __do_softirq+0x7b/0xef\n [\u003cc0128ba6\u003e] do_softirq+0x37/0x4d\n [\u003cc0128c12\u003e] ksoftirqd+0x56/0xc5\n [\u003cc0128bbc\u003e] ksoftirqd+0x0/0xc5\n [\u003cc0134649\u003e] kthread+0x38/0x5d\n [\u003cc0134611\u003e] kthread+0x0/0x5d\n [\u003cc0104477\u003e] kernel_thread_helper+0x7/0x10\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.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": "caf4b323b02a16c92fba449952ac6515ddc76d7a",
      "tree": "6fc234d00faca192248344996a168afb253e5f40",
      "parents": [
        "d844222a54c33a960755b44b934cd1b01b05dceb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 11 07:03:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 10:29:11 2008 +0100"
      },
      "message": "tracing, x86: add low level support for ftrace return tracing\n\nImpact: add infrastructure for function-return tracing\n\nAdd low level support for ftrace return tracing.\n\nThis plug-in stores return addresses on the thread_info structure of\nthe current task.\n\nThe index of the current return address is initialized when the task\nis the first one (init) and when a process forks (the child). It is\nnot needed when a task does a sys_execve because after this syscall,\nit still needs to return on the kernel functions it called.\n\nNote that the code of return_to_handler has been suggested by Steven\nRostedt as almost all of the ideas of improvements in this V3.\n\nFor purpose of security, arch/x86/kernel/process_32.c is not traced\nbecause __switch_to() changes the current task during its execution.\nThat could cause inconsistency in the stored return address of this\nfunction even if I didn\u0027t have any crash after testing with tracing on\nthis function enabled.\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": "f536aafc5a2e6f0c8f1577a155e6f93db5e469f0",
      "tree": "3ed56e3969ef2f1cccc921f3c49a959012ba1bda",
      "parents": [
        "5aa1ba6a6c710e747838a22d798ac97a8b248745"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 23:07:30 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:34 2008 +0100"
      },
      "message": "ring-buffer: replace most bug ons with warn on and disable buffer\n\nThis patch replaces most of the BUG_ONs in the ring_buffer code with\nRB_WARN_ON variants. It adds some more variants as needed for the\nreplacement. This lets the buffer die nicely and still warn the user.\n\nOne BUG_ON remains in the code, and that is because it detects a\nbad pointer passed in by the calling function, and not a bug by\nthe ring buffer code itself.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5aa1ba6a6c710e747838a22d798ac97a8b248745",
      "tree": "29a0e0bfdad1a5674667dda1236099952dbf41cb",
      "parents": [
        "e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 23:07:30 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:29 2008 +0100"
      },
      "message": "ftrace: prevent ftrace_special from recursion\n\nImpact: stop ftrace_special from recursion\n\nThe ftrace_special is used to help debug areas of the kernel.\nBecause of this, if it is put in certain locations, the fact that\nit allows recursion can become a problem if the kernel developer\nusing does not realize that.\n\nThis patch changes ftrace_special to not allow recursion into itself\nto make it more robust.\n\nIt also changes from preempt disable interrupts disable to prevent\nany loss of trace entries.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9",
      "tree": "d1c3b22b7e9f02fb56927da530da09c6ee7ce0b9",
      "parents": [
        "a309720c876d7ad2e224bfd1982c92ae4364c82e",
        "45b86a96f17cb2900f291129b0e67287400e45b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:40:18 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/ftrace\n\nConflicts:\n\tkernel/trace/trace.c\n"
    },
    {
      "commit": "45b86a96f17cb2900f291129b0e67287400e45b2",
      "tree": "f7968bf36e3947ee42251f7eebc6ea5f24aca202",
      "parents": [
        "072ba49838b42c873c496d72c91bb237914cf3b6",
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:16:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 09:16:20 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "ad474caca3e2a0550b7ce0706527ad5ab389a4d4",
      "tree": "6d4e5cbcee3a85230317a33d66655ece0c873f5c",
      "parents": [
        "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 10 15:39:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 08:01:43 2008 +0100"
      },
      "message": "fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n\nImpact: fix hang/crash on ia64 under high load\n\nThis is ugly, but the simplest patch by far.\n\nUnlike other similar routines, account_group_exec_runtime() could be\ncalled \"implicitly\" from within scheduler after exit_notify(). This\nmeans we can race with the parent doing release_task(), we can\u0027t just\ncheck -\u003esignal !\u003d NULL.\n\nChange __exit_signal() to do spin_unlock_wait(\u0026task_rq(tsk)-\u003elock)\nbefore __cleanup_signal() to make sure -\u003esignal can\u0027t be freed under\ntask_rq(tsk)-\u003elock. Note that task_rq_unlock_wait() doesn\u0027t care\nabout the case when tsk changes cpu/rq under us, this should be OK.\n\nThanks to Ingo who nacked my previous buggy patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\n"
    },
    {
      "commit": "4143c5cb36331155a1823af8b3a8c761a59fed71",
      "tree": "14ba50cd2a0acb5f18d7c657f08eaa586827fe27",
      "parents": [
        "bf5e6519b85b3853f2d0bb4f17a4e2eaeffeb574"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:46:01 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:47:37 2008 -0500"
      },
      "message": "ring-buffer: prevent infinite looping on time stamping\n\nImpact: removal of unnecessary looping\n\nThe lockless part of the ring buffer allows for reentry into the code\nfrom interrupts. A timestamp is taken, a test is preformed and if it\ndetects that an interrupt occurred that did tracing, it tries again.\n\nThe problem arises if the timestamp code itself causes a trace.\nThe detection will detect this and loop again. The difference between\nthis and an interrupt doing tracing, is that this will fail every time,\nand cause an infinite loop.\n\nCurrently, we test if the loop happens 1000 times, and if so, it will\nproduce a warning and disable the ring buffer.\n\nThe problem with this approach is that it makes it difficult to perform\nsome types of tracing (tracing the timestamp code itself).\n\nEach trace entry has a delta timestamp from the previous entry.\nIf a trace entry is reserved but and interrupt occurs and traces before\nthe previous entry is commited, the delta timestamp for that entry will\nbe zero. This actually makes sense in terms of tracing, because the\ninterrupt entry happened before the preempted entry was commited, so\none may consider the two happening at the same time. The order is\nstill preserved in the buffer.\n\nWith this idea, instead of trying to get a new timestamp if an interrupt\nmade it in between the timestamp and the test, the entry could simply\nmake the delta zero and continue. This will prevent interrupts or\ntracers in the timer code from causing the above loop.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "bf5e6519b85b3853f2d0bb4f17a4e2eaeffeb574",
      "tree": "d5560a28100aed24e3bb09e68c17a0ea1fbde07b",
      "parents": [
        "3ad4f597058301c97f362e500a32f63f5c950a45"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:46:00 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Nov 10 21:47:35 2008 -0500"
      },
      "message": "ftrace: disable tracing on resize\n\nImpact: fix for bug on resize\n\nThis patch addresses the bug found here:\n\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d11996\n\nWhen ftrace converted to the new unified trace buffer, the resizing of\nthe buffer was not protected as much as it was originally. If tracing\nis performed while the resize occurs, then the buffer can be corrupted.\n\nThis patch disables all ftrace buffer modifications before a resize\ntakes place.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ae99286b4f1be7788f2d6947c66a91dbd6351eec",
      "tree": "a403ffaeaad1cb38afa79e2cca40ecc00ea694ab",
      "parents": [
        "ee5f80a993539490a07477ff2526bf62c503fbb4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 10 13:20:23 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Mon Nov 10 22:39:27 2008 +0100"
      },
      "message": "nohz: disable tick_nohz_kick_tick() for now\n\nImpact: nohz powersavings and wakeup regression\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter()) causes a serious wakeup regression.\n\nWhile the patch is correct it does not take into account that spurious\nwakeups happen on x86. A fix for this issue is available, but we just\nrevert to the .27 behaviour and let long running softirqs screw\nthemself.\n\nDisable it for now.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee5f80a993539490a07477ff2526bf62c503fbb4",
      "tree": "4c23450fb35f9dfdb491506a3864647aae7e8e78",
      "parents": [
        "5ceb1a04187553e08c6ab60d30cee7c454ee139a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 07 11:06:00 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Mon Nov 10 22:36:39 2008 +0100"
      },
      "message": "irq: call __irq_enter() before calling the tick_idle_check\n\nImpact: avoid spurious ksoftirqd wakeups\n\nThe tick idle check which is called from irq_enter() was run before\nthe call to __irq_enter() which did not set the in_interrupt() bits in\npreempt_count. That way the raise of a softirq woke up softirqd for\nnothing as the softirq was handled on return from interrupt.\n\nCall __irq_enter() before calling into the tick idle check code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49",
      "tree": "ee7b71de46c0c71dec9e9ebb0efd2e66ce1c7a6d",
      "parents": [
        "f7160c7573615ec82c691e294cf80d920b5d588d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 10 10:46:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 10 10:51:51 2008 +0100"
      },
      "message": "sched: clean up debug info\n\nImpact: clean up and fix debug info printout\n\nWhile looking over the sched_debug code I noticed that we printed the rq\nschedstats for every cfs_rq, ammend this.\n\nAlso change nr_spead_over into an int, and fix a little buglet in\nmin_vruntime printing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb56d98e2a7530615899597551db685d68a2e852",
      "tree": "458a2dc64385f35799c55971ea7b3fe1a2ec218f",
      "parents": [
        "6209344f5a3795d34b7f2c0061f49802283b6bdd",
        "984f2f377fdfd098f5ae58d09ee04d5e29e6112b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "message": "Merge branch \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpumask: introduce new API, without changing anything, v3\n  cpumask: new API, v2\n  cpumask: introduce new API, without changing anything\n"
    },
    {
      "commit": "a309720c876d7ad2e224bfd1982c92ae4364c82e",
      "tree": "a161d06f29e3739b95d8b96c3cfb67198de9af22",
      "parents": [
        "769c48eb2530c5c1a393e2c82063f4f050571d24"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:54 2008 +0100"
      },
      "message": "ftrace: display start of CPU buffer in trace output\n\nImpact: change in trace output\n\nBecause the trace buffers are per cpu ring buffers, the start of\nthe trace can be confusing. If one CPU is very active at the\nend of the trace, its history will not go as far back as the\nother CPU traces.  This means that output for a particular CPU\nmay not appear for the first part of a trace.\n\nTo help annotate what is happening, and to prevent any more\nconfusion, this patch adds a line that annotates the start of\na CPU buffer output.\n\nFor example:\n\n       automount-3495  [001]   184.596443: dnotify_parent \u003c-vfs_write\n[...]\n       automount-3495  [001]   184.596449: dput \u003c-path_put\n       automount-3496  [002]   184.596450: down_read_trylock \u003c-do_page_fault\n[...]\n           sshd-3497  [001]   184.597069: up_read \u003c-do_page_fault\n          \u003cidle\u003e-0     [000]   184.597074: __exit_idle \u003c-exit_idle\n[...]\n       automount-3496  [002]   184.597257: filemap_fault \u003c-__do_fault\n          \u003cidle\u003e-0     [003]   184.597261: exit_idle \u003c-smp_apic_timer_interrupt\n\nNote, parsers of a trace output should always ignore any lines that\nstart with a \u0027#\u0027.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "769c48eb2530c5c1a393e2c82063f4f050571d24",
      "tree": "a32f0718b42ab189c5547dccb0d0c7bb7cfe5c4c",
      "parents": [
        "7d5222a6afa4e429f55df8c086adb747837cbdf5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:49 2008 +0100"
      },
      "message": "ftrace: force pass of preemptoff selftest\n\nImpact: preemptoff not tested in selftest\n\nDue to the BKL not being preemptable anymore, the selftest of the\npreemptoff code can not be tested. It requires that it is called\nwith preemption enabled, but since the BKL is held, that is no\nlonger the case.\n\nThis patch simply skips those tests if it detects that the context\nis not preemptable. The following will now show up in the tests:\n\nTesting tracer preemptoff: can not test ... force PASSED\nTesting tracer preemptirqsoff: can not test ... force PASSED\n\nWhen the BKL is removed, or it becomes preemptable once again, then\nthe tests will be performed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c76f06945be50564f925799ddfb6235ee4c26aa0",
      "tree": "941aaf84dd36096d7fb013f1e4be28bb8f2ac598",
      "parents": [
        "bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:39 2008 +0100"
      },
      "message": "ftrace: remove trace array ctrl\n\nImpact: remove obsolete variable in trace_array structure\n\nWith the new start / stop method of ftrace, the ctrl variable\nin the trace_array structure is now obsolete. Remove it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2",
      "tree": "ca72072808748d3ebfcf9a58a1255cd6ce63fee8",
      "parents": [
        "49833fc232bd6a5076496994d855f601354501d7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:34 2008 +0100"
      },
      "message": "ftrace: remove ctrl_update method\n\nImpact: Remove the ctrl_update tracer method\n\nWith the new quick start/stop method of tracing, the ctrl_update\nmethod is out of date.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49833fc232bd6a5076496994d855f601354501d7",
      "tree": "819089f20578815ee2b4ec00c6cc3de668298aee",
      "parents": [
        "451931702017951f74624ddc4f7f02e4641b0e20"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:29 2008 +0100"
      },
      "message": "ftrace: enable trace_printk by default\n\nImpact: have the ftrace_printk enabled on startup\n\nIt is confusing to have to \"echo trace_printk \u003e /debug/tracing/iter_ctrl\"\nafter adding ftrace_printk in the kernel.\n\nCurrently the trace_printk is set to off by default. ftrace_printk\nshould only be in open kernel code when used for debugging, and thus\nit should be enabled by default.\n\nIt may also be used to record data within a tracer, but those ftrace_printks\nshould be within wrappers that are either enabled by trace_points or\nhave a variable protecting the code path from being entered when the\ntracer is disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "451931702017951f74624ddc4f7f02e4641b0e20",
      "tree": "b581305e32588e4bff5da8cc66ea2db9e0aeb1c9",
      "parents": [
        "e168e0516e476070faa9e8e7b23dfcba79b76d82"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:24 2008 +0100"
      },
      "message": "ftrace: irqsoff tracer incorrect reset\n\nImpact: fix to irqsoff tracer output\n\nIn converting to the new start / stop ftrace handling, the irqsoff\ntracer start called the irqsoff reset function. irqsoff tracer is\nnot the same as the other traces, and it resets the buffers while\nsearching for the longest latency.\n\nThe reset that the irqsoff stop method calls disables the function\ntracing. That means that, by starting the tracer, the function\ntracer is disabled incorrectly.\n\nThis patch simply removes the call to reset which keeps the function\ntracing enabled. Reset is not needed for the irqsoff stop method.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e168e0516e476070faa9e8e7b23dfcba79b76d82",
      "tree": "21b1bad3def7f6cd88d9adfe1b09973fc70f864a",
      "parents": [
        "75f5c47da386445ba0c5a8b7e3ca0c906e763369"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:18 2008 +0100"
      },
      "message": "ftrace: fix sched_switch API\n\nImpact: fix for sched_switch that broke dynamic ftrace startup\n\nThe commit: tracing/fastboot: use sched switch tracer from boot tracer\nbroke the API of the sched_switch trace. The use of the\ntracing_start/stop_cmdline record is for only recording the cmdline,\nNOT recording the schedule switches themselves.\n\nSeeing that the boot tracer broke the API to do something that it\nwanted, this patch adds a new interface for the API while\nputing back the original interface of the old API.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75f5c47da386445ba0c5a8b7e3ca0c906e763369",
      "tree": "fa6719d849c7d3d8b1a7f753c877ac871035701e",
      "parents": [
        "0183fb1c94b74862b073590fc52c56b7364b7bad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:09 2008 +0100"
      },
      "message": "ftrace: fix boot trace sched startup\n\nImpact: boot tracer startup modified\n\nThe boot tracer calls into some of the schedule tracing private functions\nthat should not be exported. This patch cleans it up, and makes\nway for further changes in the ftrace infrastructure.\n\nThis patch adds a api to assign a tracer array to the schedule\ncontext switch tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0183fb1c94b74862b073590fc52c56b7364b7bad",
      "tree": "79b67584fe7f2de26b1d4c9db516eb9645b6af45",
      "parents": [
        "a6b0786f7f83bcc4d414a2977aaebe2941ebe1de"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 07 22:36:02 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:51:02 2008 +0100"
      },
      "message": "ftrace: fix set_ftrace_filter\n\nImpact: fix of output of set_ftrace_filter\n\nCommit ftrace: do not show freed records in available_filter_functions\n\nRemoved a bit too much from the set_ftrace_filter code, where we now see\nall functions in the set_ftrace_filter file even when we set a filter.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6b0786f7f83bcc4d414a2977aaebe2941ebe1de",
      "tree": "fd7cbdda3de7eaf05eaa01eb3609121cc05828d8",
      "parents": [
        "3e03fb7f1da2e691644526c0d6df42d778716349",
        "6a60dd121c5b6c2d827e99b38c1326f2600c3891",
        "072ba49838b42c873c496d72c91bb237914cf3b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:34:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 08 09:34:35 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/fastboot\u0027, \u0027tracing/nmisafe\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "ca3273f9646694e0419cfb9d6c12deb1c9aff27c",
      "tree": "53e0b28edddd5c29691c9ccc8a7f3c8c11ee9c83",
      "parents": [
        "f29c9b1ccb52904ee442a933cf3dee628f9f4e62"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 07 14:47:21 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 08:29:58 2008 +0100"
      },
      "message": "sched: fix memory leak in a failure path\n\nImpact: fix rare memory leak in the sched-domains manual reconfiguration code\n\nIn the failure path, rd is not attached to a sched domain,\nso it causes a leak.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f29c9b1ccb52904ee442a933cf3dee628f9f4e62",
      "tree": "836b4383a89a5aac64e50afd752a48b4bb0c167a",
      "parents": [
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Nov 06 09:45:16 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 08:29:57 2008 +0100"
      },
      "message": "sched: fix a bug in sched domain degenerate\n\nImpact: re-add incorrectly eliminated sched domain layers\n\n(1) on i386 with SCHED_SMT and SCHED_MC enabled\n\t# mount -t cgroup -o cpuset xxx /mnt\n\t# echo 0 \u003e /mnt/cpuset.sched_load_balance\n\t# mkdir /mnt/0\n\t# echo 0 \u003e /mnt/0/cpuset.cpus\n\t# dmesg\n\tCPU0 attaching sched-domain:\n\t domain 0: span 0 level CPU\n\t  groups: 0\n\n(2) on i386 with SCHED_MC enabled but SCHED_SMT disabled\n\t# same with (1)\n\t# dmesg\n\tCPU0 attaching NULL sched-domain.\n\nThe bug is that some sched domains may be skipped unintentionally when\ndegenerating (optimizing) sched domains.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e252f4db187ef02d06c8551069d944d327b8bb9a",
      "tree": "0e704cc34161fc839ef203fbf71106de52e19a7d",
      "parents": [
        "2e93960c4d712096902c16fe5511fc91502c2527",
        "7838c15b8dd18e78a523513749e5b54bda07b0cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Block: use round_jiffies_up()\n  Add round_jiffies_up and related routines\n  block: fix __blkdev_get() for removable devices\n  generic-ipi: fix the smp_mb() placement\n  blk: move blk_delete_timer call in end_that_request_last\n  block: add timer on blkdev_dequeue_request() not elv_next_request()\n  bio: define __BIOVEC_PHYS_MERGEABLE\n  block: remove unused ll_new_mergeable()\n"
    },
    {
      "commit": "067ab19923673e3d8c982d877bedb9d65c976c22",
      "tree": "b11c20e4b5a6671355924b656f9348d4ece5523f",
      "parents": [
        "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
        "9fcd18c9e63e325dbd2b4c726623f760788d5aa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: re-tune balancing\n  sched: fix buddies for group scheduling\n  sched: backward looking buddy\n  sched: fix fair preempt check\n  sched: cleanup fair task selection\n"
    },
    {
      "commit": "24eb089950ce44603b30a3145a2c8520e2b55bb1",
      "tree": "3cccd3e15589c693c8c4e6484a938d2343ef1abc",
      "parents": [
        "b41ad14c30acf023d09ac064096a4cf41248ce46"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Nov 06 12:53:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:19 2008 -0800"
      },
      "message": "cgroups: fix invalid cgrp-\u003edentry before cgroup has been completely removed\n\nThis fixes an oops when reading /proc/sched_debug.\n\nA cgroup won\u0027t be removed completely until finishing cgroup_diput(), so we\nshouldn\u0027t invalidate cgrp-\u003edentry in cgroup_rmdir().  Otherwise, when a\ngroup is being removed while cgroup_path() gets called, we may trigger\nNULL dereference BUG.\n\nThe bug can be reproduced:\n\n # cat test.sh\n #!/bin/sh\n mount -t cgroup -o cpu xxx /mnt\n for (( ; ; ))\n {\n\tmkdir /mnt/sub\n\trmdir /mnt/sub\n }\n # ./test.sh \u0026\n # cat /proc/sched_debug\n\nBUG: unable to handle kernel NULL pointer dereference at 00000038\nIP: [\u003cc045a47f\u003e] cgroup_path+0x39/0x90\n...\nCall Trace:\n [\u003cc0420344\u003e] ? print_cfs_rq+0x6e/0x75d\n [\u003cc0421160\u003e] ? sched_debug_show+0x72d/0xc1e\n...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x, 2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3854a37e8b767a51aba38ed6d22817b0631e33",
      "tree": "3b55cc93720b2e525460216b196ed20298ae985b",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 05 13:39:10 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 09:05:33 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything\n\nImpact: introduce new APIs\n\nWe want to deprecate cpumasks on the stack, as we are headed for\ngynormous numbers of CPUs.  Eventually, we want to head towards an\nundefined \u0027struct cpumask\u0027 so they can never be declared on stack.\n\n1) New cpumask functions which take pointers instead of copies.\n   (cpus_* -\u003e cpumask_*)\n\n2) Several new helpers to reduce requirements for temporary cpumasks\n   (cpumask_first_and, cpumask_next_and, cpumask_any_and)\n\n3) Helpers for declaring cpumasks on or offstack for large NR_CPUS\n   (cpumask_var_t, alloc_cpumask_var and free_cpumask_var)\n\n4) \u0027struct cpumask\u0027 for explicitness and to mark new-style code.\n\n5) Make iterator functions stop at nr_cpu_ids (a runtime constant),\n   not NR_CPUS for time efficiency and for smaller dynamic allocations\n   in future.\n\n6) cpumask_copy() so we can allocate less than a full cpumask eventually\n   (for alloc_cpumask_var), and so we can eliminate the \u0027struct cpumask\u0027\n   definition eventually.\n\n7) work_on_cpu() helper for doing task on a CPU, rather than saving old\n   cpumask for current thread and manipulating it.\n\n8) smp_call_function_many() which is smp_call_function_mask() except\n   taking a cpumask pointer.\n\nNote that this patch simply introduces the new functions and leaves\nthe obsolescent ones in place.  This is to simplify the transition\npatches.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c133c469d38043d5aadaa03f2fb840d88d1cf4f",
      "tree": "c9af63f0c25efc7454fc3f46b362c80056977341",
      "parents": [
        "89f97496e81d2112b5e41416fe3020688c443818"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "message": "Add round_jiffies_up and related routines\n\nThis patch (as1158b) adds round_jiffies_up() and friends.  These\nroutines work like the analogous round_jiffies() functions, except\nthat they will never round down.\n\nThe new routines will be useful for timeouts where we don\u0027t care\nexactly when the timer expires, provided it doesn\u0027t expire too soon.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "561920a0d2bb6d63343e83acfd784c0a77bd28d1",
      "tree": "7b87d9d867296d4a14e9b287129fcfd0b2cd1b47",
      "parents": [
        "e78042e5b83936b1d12a4b5bbb492bdd88ad76c6"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Oct 30 18:28:41 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:41:56 2008 +0100"
      },
      "message": "generic-ipi: fix the smp_mb() placement\n\nsmp_mb() is needed (to make the memory operations visible globally) before\nsending the ipi on the sender and the receiver (on Alpha atleast) needs\nsmp_read_barrier_depends() in the handler before reading the call_single_queue\nlist in a lock-free fashion.\n\nOn x86, x2apic mode register accesses for sending IPI\u0027s don\u0027t have serializing\nsemantics. So the need for smp_mb() before sending the IPI becomes more\ncritical in x2apic mode.\n\nRemove the unnecessary smp_mb() in csd_flag_wait(), as the presence of that\nsmp_mb() doesn\u0027t mean anything on the sender, when the ipi receiver is not\ndoing any thing special (like memory fence) after clearing the CSD_FLAG_WAIT.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e03fb7f1da2e691644526c0d6df42d778716349",
      "tree": "fd4071e75ef62d2fc146fdd7e85671b4f5182877",
      "parents": [
        "9036990d462e09366f7297a2d1da6582c3e6b1d3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 06 00:09:43 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:51:09 2008 +0100"
      },
      "message": "ring-buffer: convert to raw spinlocks\n\nImpact: no lockdep debugging of ring buffer\n\nThe problem with running lockdep on the ring buffer is that the\nring buffer is the core infrastructure of ftrace. What happens is\nthat the tracer will start tracing the lockdep code while lockdep\nis testing the ring buffers locks.  This can cause lockdep to\nfail due to testing cases that have not fully finished their\nlocking transition.\n\nThis patch converts the spin locks used by the ring buffer back\ninto raw spin locks which lockdep does not check.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9036990d462e09366f7297a2d1da6582c3e6b1d3",
      "tree": "e110393aad12177cb17fa68cb3fefb18ae2f1037",
      "parents": [
        "0f04870148ecb825133bc2733f473b1c5773ac0b"
      ],
      "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:51:03 2008 +0100"
      },
      "message": "ftrace: restructure tracing start/stop infrastructure\n\nImpact: change where tracing is started up and stopped\n\nCurrently, when a new tracer is selected via echo\u0027ing a tracer name into\nthe current_tracer file, the startup is only done if tracing_enabled is\nset to one. If tracing_enabled is changed to zero (by echo\u0027ing 0 into\nthe tracing_enabled file) a full shutdown is performed.\n\nThe full startup and shutdown of a tracer can be expensive and the\nuser can lose out traces when echo\u0027ing in 0 to the tracing_enabled file,\nbecause the process takes too long. There can also be places that\nthe user would like to start and stop the tracer several times and\ndoing the full startup and shutdown of a tracer might be too expensive.\n\nThis patch performs the full startup and shutdown when a tracer is\nselected. It also adds a way to do a quick start or stop of a tracer.\nThe quick version is just a flag that prevents the tracing from\ntaking place, but the overhead of the code is still there.\n\nFor example, the startup of a tracer may enable tracepoints, or enable\nthe function tracer.  The stop and start will just set a flag to\nhave the tracer ignore the calls when the tracepoint or function trace\nis called.  The overhead of the tracer may still be present when\nthe tracer is stopped, but no tracing will occur. Setting the tracer\nto the \u0027nop\u0027 tracer (or any other tracer) will perform the shutdown\nof the tracer which will disable the tracepoint or disable the\nfunction tracer.\n\nThe tracing_enabled file will simply start or stop tracing.\n\nThis change is all internal. The end result for the user should be the same\nas before. If tracing_enabled is not set, no trace will happen.\nIf tracing_enabled is set, then the trace will happen. The tracing_enabled\nvariable is static between tracers. Enabling  tracing_enabled and\ngoing to another tracer will keep tracing_enabled enabled. Same\nis true with disabling tracing_enabled.\n\nThis patch will now provide a fast start/stop method to the users\nfor enabling or disabling tracing.\n\nNote: There were two methods to the struct tracer that were never\n used: The methods start and stop. These were to be used as a hook\n to the reading of the trace output, but ended up not being\n necessary. These two methods are now used to enable the start\n and stop of each tracer, in case the tracer needs to do more than\n just not write into the buffer. For example, the irqsoff tracer\n must stop recording max latencies when tracing is stopped.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f04870148ecb825133bc2733f473b1c5773ac0b",
      "tree": "81399b7b9535d11ac6120366fc01fd051118226a",
      "parents": [
        "60a7ecf42661f2b22168751298592da6ee210c9e"
      ],
      "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:57 2008 +0100"
      },
      "message": "ftrace: soft tracing stop and start\n\nImpact: add way to quickly start stop tracing from the kernel\n\nThis patch adds a soft stop and start to the trace. This simply\ndisables function tracing via the ftrace_disabled flag, and\ndisables the trace buffers to prevent recording. The tracing\ncode may still be executed, but the trace will not be recorded.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\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": "79c81d220c8e25163f56edcdfaf23f83a4c88e6b",
      "tree": "8748e39e968aacebbf150b81cbc845582b382a47",
      "parents": [
        "3299b4dd1180762da831be5eb6adc44553eaec26",
        "79a9d461fd521f133f0e66485aa9ed09c21f5191"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 07:43:47 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/fastboot\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "02479099c286894644f8e96c6bbb535ab64662fd",
      "tree": "df25bc51ddb31a44c91b672311b532de626fadcb",
      "parents": [
        "4793241be408b3926ee00c704d7da3b3faf3a05f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:15 2008 +0100"
      },
      "message": "sched: fix buddies for group scheduling\n\nImpact: scheduling order fix for group scheduling\n\nFor each level in the hierarchy, set the buddy to point to the right entity.\nTherefore, when we do the hierarchical schedule, we have a fair chance of\nending up where we meant to.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4793241be408b3926ee00c704d7da3b3faf3a05f",
      "tree": "d74144510d5258e5e941a8499538c3a0cdc868a7",
      "parents": [
        "d95f98d0691d3aba5e35850011946a08c9b36428"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:14 2008 +0100"
      },
      "message": "sched: backward looking buddy\n\nImpact: improve/change/fix wakeup-buddy scheduling\n\nCurrently we only have a forward looking buddy, that is, we prefer to\nschedule to the task we last woke up, under the presumption that its\ngoing to consume the data we just produced, and therefore will have\ncache hot benefits.\n\nThis allows co-waking producer/consumer task pairs to run ahead of the\npack for a little while, keeping their cache warm. Without this, we\nwould interleave all pairs, utterly trashing the cache.\n\nThis patch introduces a backward looking buddy, that is, suppose that\nin the above scenario, the consumer preempts the producer before it\ncan go to sleep, we will therefore miss the wakeup from consumer to\nproducer (its already running, after all), breaking the cycle and\nreverting to the cache-trashing interleaved schedule pattern.\n\nThe backward buddy will try to schedule back to the task that woke us\nup in case the forward buddy is not available, under the assumption\nthat the last task will be the one with the most cache hot task around\nbarring current.\n\nThis will basically allow a task to continue after it got preempted.\n\nIn order to avoid starvation, we allow either buddy to get wakeup_gran\nahead of the pack.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d95f98d0691d3aba5e35850011946a08c9b36428",
      "tree": "51cef12b6ad712379b63b04bd5e16292e0bbe8f0",
      "parents": [
        "f4b6755fb37595da3630d1d6fc130ea6888cd48f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:13 2008 +0100"
      },
      "message": "sched: fix fair preempt check\n\nImpact: fix cross-class preemption\n\nInter-class wakeup preemptions should go on class order.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4b6755fb37595da3630d1d6fc130ea6888cd48f",
      "tree": "04501dab4a1573b5b6bc6932db08262806c2c0e2",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:13 2008 +0100"
      },
      "message": "sched: cleanup fair task selection\n\nImpact: cleanup\n\nClean up task selection\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "072ba49838b42c873c496d72c91bb237914cf3b6",
      "tree": "305ede989155e1d213255ead9101331bfd09f1cb",
      "parents": [
        "42ec632e7b0185d3776aa5d23380cbdc963151f2"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sun Oct 26 15:26:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:22:42 2008 +0100"
      },
      "message": "ftrace: fix breakage in bin_fmt results\n\nIn 777e208d40d0953efc6fb4ab58590da3f7d8f02d we changed from outputting\nfield-\u003ecpu (a char) to iter-\u003ecpu (unsigned int), increasing the resulting\nstructure size by 3 bytes.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79a9d461fd521f133f0e66485aa9ed09c21f5191",
      "tree": "ad90b0c05dabfa639855ee046c04bba77de85804",
      "parents": [
        "efade6e7821c4219818e9da08f9315dfa617048b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:34:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:08 2008 +0100"
      },
      "message": "tracing/ftrace: fix a bug when switch current tracer to sched tracer\n\nImpact: fix boot tracer + sched tracer coupling bug\n\nFix a bug that made the sched_switch tracer unable to run\nif set as the current_tracer after the boot tracer.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efade6e7821c4219818e9da08f9315dfa617048b",
      "tree": "822e2cc2491d38f082d05a015758263f9bb194b3",
      "parents": [
        "d7ad44b697c9d13e445ddc7d16f736fbac333249"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:28:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:07 2008 +0100"
      },
      "message": "tracing/ftrace: types and naming corrections for sched tracer\n\nImpact: cleanup\n\nThis patch applies some corrections suggested by Steven Rostedt.\n\nChange the type of shed_ref into int since it is used\ninto a Mutex, we don\u0027t need it anymore as an atomic\nvariable in the sched_switch tracer.\nAlso change the name of the register mutex.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7ad44b697c9d13e445ddc7d16f736fbac333249",
      "tree": "a18ac8995bf7158835c69ca1c9ab9b674fc617fa",
      "parents": [
        "e55f605c14679c30be41473e60b7ad26524cdc35"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:20:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:06 2008 +0100"
      },
      "message": "tracing/fastboot: use sched switch tracer from boot tracer\n\nImpact: enhance boot trace output with scheduling events\n\nUse the sched_switch tracer from the boot tracer.\n\nWe also can trace schedule events inside the initcalls.\nSched tracing is disabled after the initcall has finished and\nthen reenabled before the next one is started.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e55f605c14679c30be41473e60b7ad26524cdc35",
      "tree": "3204ee5f0ed1beac112fb38de72d0bc4412edddb",
      "parents": [
        "07695fa04e8a3384b0c855398ce1f7885bd7dc3b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:14:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:05 2008 +0100"
      },
      "message": "tracing/ftrace: remove unused code in sched_switch tracer\n\nImpact: cleanup\n\nWhen init_sched_switch_trace() is called, it has no reason to start\nthe sched tracer if the sched_ref is not zero.\n\n_ If this is non-zero, the tracer is already used, but we can register it\nto the tracing engine. There is already a security which avoid the tracer\nprobes not to be resgistered twice.\n\n_ If this is zero, this block will not be used.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07695fa04e8a3384b0c855398ce1f7885bd7dc3b",
      "tree": "5a70702087ea1f603b69281aaa270b117f37a63f",
      "parents": [
        "71566a0d161edec70361b7f90f6e54af6a6d5d05"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 13:08:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:04 2008 +0100"
      },
      "message": "tracing/ftrace: fix a race condition in sched_switch tracer\n\nImpact: fix race condition in sched_switch tracer\n\nThis patch fixes a race condition in the sched_switch tracer. If\nseveral tasks (IE: concurrent initcalls) are playing with\ntracing_start_cmdline_record() and tracing_stop_cmdline_record(), the\nfollowing situation could happen:\n\n_ Task A and B are using the same tracepoint probe. Task A holds it.\n  Task B is sleeping and doesn\u0027t hold it.\n\n_ Task A frees the sched tracer, then sched_ref is decremented to 0.\n\n_ Task A is preempted and hadn\u0027t yet unregistered its tracepoint\n  probe, then B runs.\n\n_ B increments sched_ref, sees it\u0027s 1 and then guess it has to\n  register its probe. But it has not been freed by task A.\n\n_ A lot of bad things can happen after that...\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71566a0d161edec70361b7f90f6e54af6a6d5d05",
      "tree": "78d2d790ed4e20c179d2f61f2ed50ecbb6d5a451",
      "parents": [
        "7a895f53cda9d9362c30144e42c124a1ae996b9e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 31 12:57:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 17:14:02 2008 +0100"
      },
      "message": "tracing/fastboot: Enable boot tracing only during initcalls\n\nImpact: modify boot tracer\n\nWe used to disable the initcall tracing at a specified time (IE: end\nof builtin initcalls). But we don\u0027t need it anymore. It will be\nstopped when initcalls are finished.\n\nHowever we want two things:\n\n_Start this tracing only after pre-smp initcalls are finished.\n\n_Since we are planning to trace sched_switches at the same time, we\nwant to enable them only during the initcall execution.\n\nFor this purpose, this patch introduce two functions to enable/disable\nthe sched_switch tracing during boot.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3299b4dd1180762da831be5eb6adc44553eaec26",
      "tree": "54bd3323d7e2fb85a11f94742c4272b1000f7f88",
      "parents": [
        "69f698adcf43930a283f630395a1bb781962cfe6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 04 11:58:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 13:04:40 2008 +0100"
      },
      "message": "ftrace: sysctl typo\n\nImpact: fix sysctl name typo\n\nSteve must have needed more coffee ;-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2a866f9344cb30d7ddf5d67b5b8393daf8bef07",
      "tree": "5265b5bcc3e6daca52f2951a85394bbc58f789fd",
      "parents": [
        "182e9f5f704ed6b9175142fe8da33c9ce0c52b52"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 03 23:15:57 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:09:50 2008 +0100"
      },
      "message": "ftrace: function tracer with irqs disabled\n\nImpact: disable interrupts during trace entry creation (as opposed to preempt)\n\nTo help with performance, I set the ftracer to not disable interrupts,\nand only to disable preemption. If an interrupt occurred, it would not\nbe traced, because the function tracer protects itself from recursion.\nThis may be faster, but the trace output might miss some traces.\n\nThis patch makes the fuction trace disable interrupts, but it also\nadds a runtime feature to disable preemption instead. It does this by\nhaving two different tracer functions. When the function tracer is\nenabled, it will check to see which version is requested (irqs disabled\nor preemption disabled). Then it will use the corresponding function\nas the tracer.\n\nIrq disabling is the default behaviour, but if the user wants better\nperformance, with the chance of missing traces, then they can choose\nthe preempt disabled version.\n\nRunning hackbench 3 times with the irqs disabled and 3 times with\nthe preempt disabled function tracer yielded:\n\ntracing type       times            entries recorded\n------------      --------          ----------------\nirq disabled      43.393            166433066\n                  43.282            166172618\n                  43.298            166256704\n\npreempt disabled  38.969            159871710\n                  38.943            159972935\n                  39.325            161056510\n\nAverage:\n\n   irqs disabled:  43.324           166287462\npreempt disabled:  39.079           160300385\n\n preempt is 10.8 percent faster than irqs disabled.\n\nI wrote a patch to count function trace recursion and reran hackbench.\n\nWith irq disabled: 1,150 times the function tracer did not trace due to\n  recursion.\nwith preempt disabled: 5,117,718 times.\n\nThe thousand times with irq disabled could be due to NMIs, or simply a case\nwhere it called a function that was not protected by notrace.\n\nBut we also see that a large amount of the trace is lost with the\npreempt version.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "182e9f5f704ed6b9175142fe8da33c9ce0c52b52",
      "tree": "60e72119c74141cfb7b0b9b757b47d719138621f",
      "parents": [
        "8f0a056fcb2f83a069fb5d60c2383304b7456687"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 03 23:15:56 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:09:49 2008 +0100"
      },
      "message": "ftrace: insert in the ftrace_preempt_disable()/enable() functions\n\nImpact: use new, consolidated APIs in ftrace plugins\n\nThis patch replaces the schedule safe preempt disable code with the\nftrace_preempt_disable() and ftrace_preempt_enable() safe functions.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f0a056fcb2f83a069fb5d60c2383304b7456687",
      "tree": "a427700400ab674ed7de882214b501176ec7507f",
      "parents": [
        "7a895f53cda9d9362c30144e42c124a1ae996b9e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 03 23:15:55 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:09:48 2008 +0100"
      },
      "message": "ftrace: introduce ftrace_preempt_disable()/enable()\n\nImpact: add new ftrace-plugin internal APIs\n\nParts of the tracer needs to be careful about schedule recursion.\nIf the NEED_RESCHED flag is set, a preempt_enable will call schedule.\nInside the schedule function, the NEED_RESCHED flag is cleared.\n\nThe problem arises when a trace happens in the schedule function but before\nNEED_RESCHED is cleared. The race is as follows:\n\nschedule()\n  \u003e\u003e tracer called\n\n    trace_function()\n       preempt_disable()\n       [ record trace ]\n       preempt_enable()  \u003c\u003c- here\u0027s the issue.\n\n         [check NEED_RESCHED]\n          schedule()\n          [ Repeat the above, over and over again ]\n\nThe naive approach is simply to use preempt_enable_no_schedule instead.\nThe problem with that approach is that, although we solve the schedule\nrecursion issue, we now might lose a preemption check when not in the\nschedule function.\n\n  trace_function()\n    preempt_disable()\n    [ record trace ]\n    [Interrupt comes in and sets NEED_RESCHED]\n    preempt_enable_no_resched()\n    [continue without scheduling]\n\nThe way ftrace handles this problem is with the following approach:\n\n\tint resched;\n\n\tresched \u003d need_resched();\n\tpreempt_disable_notrace();\n\t[record trace]\n\tif (resched)\n\t\tpreempt_enable_no_sched_notrace();\n\telse\n\t\tpreempt_enable_notrace();\n\nThis may seem like the opposite of what we want. If resched is set\nthen we call the \"no_sched\" version??  The reason we do this is because\nif NEED_RESCHED is set before we disable preemption, there\u0027s two reasons\nfor that:\n\n  1) we are in an atomic code path\n  2) we are already on our way to the schedule function, and maybe even\n     in the schedule function, but have yet to clear the flag.\n\nBoth the above cases we do not want to schedule.\n\nThis solution has already been implemented within the ftrace infrastructure.\nBut the problem is that it has been implemented several times. This patch\nencapsulates this code to two nice functions.\n\n  resched \u003d ftrace_preempt_disable();\n  [ record trace]\n  ftrace_preempt_enable(resched);\n\nThis way the tracers do not need to worry about getting it right.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "818e3dd30a4ff34fff6d90e87ae59c73f6a53691",
      "tree": "ab9db9dec53a0c0383476c8dfca17d75c83317f6",
      "parents": [
        "b3aa557722b3d5858f14ca559e03461c24125aaf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 31 09:58:35 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 11:10:04 2008 +0100"
      },
      "message": "tracing, ring-buffer: add paranoid checks for loops\n\nWhile writing a new tracer, I had a bug where I caused the ring-buffer\nto recurse in a bad way. The bug was with the tracer I was writing\nand not the ring-buffer itself. But it took a long time to find the\nproblem.\n\nThis patch adds paranoid checks into the ring-buffer infrastructure\nthat will catch bugs of this nature.\n\nNote: I put the bug back in the tracer and this patch showed the error\n      nicely and prevented the lockup.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b3aa557722b3d5858f14ca559e03461c24125aaf",
      "tree": "37a8814cd1d1584e77d9d999797ff0f0de8ed19c",
      "parents": [
        "c2c80529460095035752bf0ecc1af82c1e0f6e0f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 31 15:44:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:41:29 2008 +0100"
      },
      "message": "ftrace: use kretprobe trampoline name to test in output\n\nImpact: ia64+tracing build fix\n\nWhen a function is kprobed, the return address is set to the\nkprobe_trampoline, or something similar. This caused the output\nof the trace to look confusing when the parent seemed to be this\n\"kprobe_trampoline\" function.\n\nTo fix this, Abhishek Sagar added a test of the instruction pointer\nof the parent to see if it matched the kprobe_trampoline. If it\ndid, the output would print a \"[unknown/kretprobe\u0027d]\" instead.\n\nUnfortunately, not all archs do this the same way, and the trampoline\nfunction may not be exported, which causes failures in builds.\n\nThis patch will compare the name instead of the pointer to see\nif it matches. This prevents us from depending on a function from\nbeing exported, and should work on all archs. The worst that can\nhappen is that an arch might use a different name and then we\ngo back to the confusing output. At least the arch will still build.\n\nReported-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nAcked-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\n"
    },
    {
      "commit": "7a895f53cda9d9362c30144e42c124a1ae996b9e",
      "tree": "e2a793cfc289015ec54d2cba5140d0171f734629",
      "parents": [
        "d9e540762f5cdd89f24e518ad1fd31142d0b9726",
        "5d9881ea1440f046ee851bbaa2a2962543336a11",
        "fd3fdf11d3c649769e02459c5f1b8081a15e9007",
        "a26a2a27396c0a0877aa701f8f92d08ba550a6c9",
        "127cafbb276266b1b8da967bfe25a062ab1d42ab",
        "c2c80529460095035752bf0ecc1af82c1e0f6e0f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:34:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:34:23 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/markers\u0027, \u0027tracing/mmiotrace\u0027, \u0027tracing/nmisafe\u0027, \u0027tracing/tracepoints\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "127cafbb276266b1b8da967bfe25a062ab1d42ab",
      "tree": "8f7183fa6f9a68b2bd3b3734da3575e4eff46a1d",
      "parents": [
        "19dba33c43a2f0f2aa727ae075ec3b11330775ef"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Oct 28 10:51:53 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:28:52 2008 +0100"
      },
      "message": "tracepoint: introduce *_noupdate APIs.\n\nImpact: add new tracepoint APIs to allow the batched registration of probes\n\nnew APIs separate tracepoint_probe_register(),\ntracepoint_probe_unregister() into 2 steps. The first step of them\nis just update tracepoint_entry, not connect or disconnect.\n\nthis patch introduces tracepoint_probe_update_all() for update all.\n\nthese APIs are very useful for registering lots of probes\nbut just updating once. Another very important thing is that\n*_noupdate APIs do not require module_mutex.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19dba33c43a2f0f2aa727ae075ec3b11330775ef",
      "tree": "a1e60ef0e892ad7d87938b1caeeadc605e2d487a",
      "parents": [
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Oct 28 10:51:49 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 10:28:30 2008 +0100"
      },
      "message": "tracepoint: simplification for tracepoints using RCU\n\nImpact: simplify implementation\n\nNow, unused memory is handled by struct tp_probes.\n\nold code use these three field to handle unused memory.\nstruct tracepoint_entry {\n\t...\n\tstruct rcu_head rcu;\n\tvoid *oldptr;\n\tunsigned char rcu_pending:1;\n\t...\n};\n\nin this way, unused memory is handled by struct tracepoint_entry.\nit bring reenter bug(it was fixed) and tracepoint.c is filled\nfull of \".*rcu.*\" code statements. this patch removes all these.\n\nand:\n  rcu_barrier_sched() is removed.\n  Do not need regain tracepoints_mutex after tracepoint_update_probes()\n  several little cleanup.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\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": "d9e540762f5cdd89f24e518ad1fd31142d0b9726",
      "tree": "74f433c159183241020fed5e35eb7f3b4bb2edf3",
      "parents": [
        "36609469c8278554b046aa4cc9a5fa9ccea35306"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 01 19:57:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:12:39 2008 +0100"
      },
      "message": "ftrace: ftrace_dump_on_oops\u003d[tracer]\n\nImpact: add new (optional) debug boot option\n\nIn order to facilitate early boot trouble, allow one to specify a tracer\non the kernel boot line.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36609469c8278554b046aa4cc9a5fa9ccea35306",
      "tree": "f59185b71c8059941de79143f71178453599b8f1",
      "parents": [
        "b3acf29afda06c76774dc6df6246c37ae707836b",
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:11:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 09:11:13 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc3\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "28959742c14918f153c1de641bb12b4ea44315a1",
      "tree": "d58404ebbdd572a2b86d62bafd7af0697cd9624e",
      "parents": [
        "4b30fbde910dd40b831528e916cb8a91823f618f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 01 18:20:09 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 12:40:38 2008 -0700"
      },
      "message": "PM_TEST_SUSPEND should depend on RTC_CLASS, not RTC_LIB\n\nInsufficient dependency - we really want CONFIG_RTC_CLASS\u003dy there.\nThat will give us CONFIG_RTC_LIB\u003dy, so the old dependency can be\nsimply replaced.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "42c0202363194007a1ac377d047a95aa39246eb0"
}
