)]}'
{
  "log": [
    {
      "commit": "2c9b238eb325895d3312dad64e2685783575e474",
      "tree": "1c64910c6084c53b9d9a458a34568ccb083419e8",
      "parents": [
        "c4a8e8be2d43cc22b371e8e9c05c253409759d94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:12 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: Change struct trace_event callbacks parameter list\n\nImpact: API change\n\nThe trace_seq and trace_entry are in trace_iterator, where there are\nmore fields that may be needed by tracers, so just pass the\ntracer_iterator as is already the case for struct tracer-\u003eprint_line.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4a8e8be2d43cc22b371e8e9c05c253409759d94",
      "tree": "274962a78a082a11550d07c6cc088817d6558db5",
      "parents": [
        "dc573f9b20c8710105ac35c08ed0fe1da5160ecd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Feb 02 20:29:21 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: better manage the context info for events\n\nImpact: make trace_event more convenient for tracers\n\nAll tracers (for the moment) that use the struct trace_event want to\nhave the context info printed before their own output: the pid/cmdline,\ncpu, and timestamp.\n\nBut some other tracers that want to implement their trace_event\ncallbacks will not necessary need these information or they may want to\nformat them as they want.\n\nThis patch adds a new default-enabled trace option:\nTRACE_ITER_CONTEXT_INFO When disabled through:\n\necho nocontext-info \u003e /debugfs/tracing/trace_options\n\nThe pid, cpu and timestamps headers will not be printed.\n\nIE with the sched_switch tracer with context-info (default):\n\n     bash-2935 [001] 100.356561: 2935:120:S \u003d\u003d\u003e [001]  0:140:R \u003cidle\u003e\n   \u003cidle\u003e-0    [000] 100.412804:    0:140:R   + [000] 11:115:S events/0\n   \u003cidle\u003e-0    [000] 100.412816:    0:140:R \u003d\u003d\u003e [000] 11:115:R events/0\n events/0-11   [000] 100.412829:   11:115:S \u003d\u003d\u003e [000]  0:140:R \u003cidle\u003e\n\nWithout context-info:\n\n 2935:120:S \u003d\u003d\u003e [001]  0:140:R \u003cidle\u003e\n    0:140:R   + [000] 11:115:S events/0\n    0:140:R \u003d\u003d\u003e [000] 11:115:R events/0\n   11:115:S \u003d\u003d\u003e [000]  0:140:R \u003cidle\u003e\n\nA tracer can disable it at runtime by clearing the bit\nTRACE_ITER_CONTEXT_INFO in trace_flags.\n\nThe print routines were renamed to trace_print_context and\ntrace_print_lat_context, so that they can be used by tracers if they\nwant to use them for one of the trace_event callbacks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc573f9b20c8710105ac35c08ed0fe1da5160ecd",
      "tree": "24db0a0f6364b78f9c74e62541d26155e785b8f9",
      "parents": [
        "b3a8c34886d0e3dd3a24a5b614ee025181da2f41",
        "ecf441b593ac41cb8cd8cd3695110167c42e098c",
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kmemtrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "31c952dcf83d5b0fd57b514cbe8a1664647c26e7",
      "tree": "fc424cd78e818327a3949c2707c8487506ef1408",
      "parents": [
        "9e6235e997bf091326b2f3ac92217c2ac2e27eb5",
        "3d398703ef06fd97b4c28c86b580546d5b57e7b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -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_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n  sched: fix buddie group latency\n  sched: clear buddies more aggressively\n  sched: symmetric sync vs avg_overlap\n  sched: fix sync wakeups\n  cpuset: fix possible deadlock in async_rebuild_sched_domains\n"
    },
    {
      "commit": "720eba31f47aeade8ec130ca7f4353223c49170f",
      "tree": "4aef103b59a0fb7b9406fd3e4bb09bdf7e3ad2f7",
      "parents": [
        "27421e211a39784694b597dbf35848b88363c248"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Feb 03 13:31:36 2009 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:17:55 2009 -0800"
      },
      "message": "modules: Use a better scheme for refcounting\n\nCurrent refcounting for modules (done if CONFIG_MODULE_UNLOAD\u003dy) is\nusing a lot of memory.\n\nEach \u0027struct module\u0027 contains an [NR_CPUS] array of full cache lines.\n\nThis patch uses existing infrastructure (percpu_modalloc() \u0026\npercpu_modfree()) to allocate percpu space for the refcount storage.\n\nInstead of wasting NR_CPUS*128 bytes (on i386), we now use\nnr_cpu_ids*sizeof(local_t) bytes.\n\nOn a typical distro, where NR_CPUS\u003d8, shiping 2000 modules, we reduce\nsize of module files by about 2 Mbytes. (1Kb per module)\n\nInstead of having all refcounters in the same memory node - with TLB misses\nbecause of vmalloc() - this new implementation permits to have better\nNUMA properties, since each  CPU will use storage on its preferred node,\nthanks to percpu storage.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d398703ef06fd97b4c28c86b580546d5b57e7b7",
      "tree": "8d0d22c32d4610392af39a8184e38971554e7e5b",
      "parents": [
        "a571bbeafbcc501d9989fbce1cddcd810bd51d71"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 31 23:21:24 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:52 2009 +0100"
      },
      "message": "sched_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n\ncpumask_and() only initializes nr_cpu_ids bits, so the (deprecated)\nfirst_cpu() might find one of those uninitialized bits if nr_cpu_ids\nis less than NR_CPUS (as it can be for CONFIG_CPUMASK_OFFSTACK).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a571bbeafbcc501d9989fbce1cddcd810bd51d71",
      "tree": "cbfc71ece2ae3e351424d5f7ca9d8fff2429827b",
      "parents": [
        "a9f3e2b549f83a9cdab873abf4140be27c05a3f2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:51 2009 +0100"
      },
      "message": "sched: fix buddie group latency\n\nSimilar to the previous patch, by not clearing buddies we can select entities\npast their run quota, which can increase latency. This means we have to clear\ngroup buddies as well.\n\nDo not use the group clear for pick_next_task(), otherwise that\u0027ll get O(n^2).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9f3e2b549f83a9cdab873abf4140be27c05a3f2",
      "tree": "756fb52736f8bd1e1f8fb0a621ac58ec8e1812d3",
      "parents": [
        "1596e29773eadd96b0a5fc6e736afa52394cafda"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 28 14:51:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:50 2009 +0100"
      },
      "message": "sched: clear buddies more aggressively\n\nIt was noticed that a task could get re-elected past its run quota due to buddy\naffinities. This could increase latency a little. Cure it by more aggresively\nclearing buddy state.\n\nWe do so in two situations:\n - when we force preempt\n - when we select a buddy to run\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1596e29773eadd96b0a5fc6e736afa52394cafda",
      "tree": "997c29116e33b5a0ff60b4950ff40d75cfeef526",
      "parents": [
        "d942fb6c7d391baba3dddb566eb735fbf3df8528"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:49 2009 +0100"
      },
      "message": "sched: symmetric sync vs avg_overlap\n\nReinstate the weakening of the sync hint if set. This yields a more\nsymmetric usage of avg_overlap.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d942fb6c7d391baba3dddb566eb735fbf3df8528",
      "tree": "0340b810c79f873b7aea34298aa22e2ebf740df3",
      "parents": [
        "f90d4118bacef87894621a3e8aba853fa0c89abc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 26 17:56:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:06 2009 +0100"
      },
      "message": "sched: fix sync wakeups\n\nPawel Dziekonski reported that the openssl benchmark and his\nquantum chemistry application both show slowdowns due to the\nscheduler under-parallelizing execution.\n\nThe reason are pipe wakeups still doing \u0027sync\u0027 wakeups which\noverrides the normal buddy wakeup logic - even if waker and\nwakee are loosely coupled.\n\nFix an inversion of logic in the buddy wakeup code.\n\nReported-by: Pawel Dziekonski \u003cdzieko@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1347e965f5bcfffe82e56d2903ea4f32babaff4e",
      "tree": "51f75d125089a25feb12b9e2e1e5273a59836e32",
      "parents": [
        "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
        "d7240b988017521ebf89edfadd42c0942f166850"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: use per cpu data for single cpu ipi calls\n  cpumask: convert lib/smp_processor_id to new cpumask ops\n  signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n"
    },
    {
      "commit": "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
      "tree": "408e3cb5339551a5d2b570cdcdd668685c9ab100",
      "parents": [
        "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
        "14819ea1e0bcbdc9b084cd60a6a24d5d786324ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: export __set_irq_handler() and handle_level_irq()\n"
    },
    {
      "commit": "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
      "tree": "6fdb2333bab91572b82af30ba7a1a9f858d320e5",
      "parents": [
        "f6490438fce5902f840d1f0f905295077c635e7a",
        "b0a9b5111abf60ef07eade834f480e89004c7920"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -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  hrtimer: prevent negative expiry value after clock_was_set()\n  hrtimers: allow the hot-unplugging of all cpus\n  hrtimers: increase clock min delta threshold while interrupt hanging\n"
    },
    {
      "commit": "f6490438fce5902f840d1f0f905295077c635e7a",
      "tree": "4b40f6b9d42a6e237b45378206d95cbfddfeaf52",
      "parents": [
        "e81cfd214f97a26ca2b00564258ebcf099214cbb",
        "ba2607fe9c1f2d4ad5a3d4c4ae9117c5bfdca826"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, ds, bts: cleanup/fix DS configuration\n  ring-buffer: reset timestamps when ring buffer is reset\n  trace: set max latency variable to zero on default\n  trace: stop all recording to ring buffer on ftrace_dump\n  trace: print ftrace_dump at KERN_EMERG log level\n  ring_buffer: reset write when reserve buffer fail\n  tracing/function-graph-tracer: fix a regression while suspend to disk\n  ring-buffer: fix alignment problem\n"
    },
    {
      "commit": "b0a9b5111abf60ef07eade834f480e89004c7920",
      "tree": "a74aa7bacf920eb567cd7caa8027a06c96dbb220",
      "parents": [
        "94df7de0289bc2df3d6e85cd2ece52bf42682f45"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jan 25 11:31:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:34 2009 +0100"
      },
      "message": "hrtimer: prevent negative expiry value after clock_was_set()\n\nImpact: prevent false positive WARN_ON() in clockevents_program_event()\n\nclock_was_set() changes the base-\u003eoffset of CLOCK_REALTIME and\nenforces the reprogramming of the clockevent device to expire timers\nwhich are based on CLOCK_REALTIME. If the clock change is large enough\nthen the subtraction of the timer expiry value and base-\u003eoffset can\nbecome negative which triggers the warning in\nclockevents_program_event().\n\nCheck the subtraction result and set a negative value to 0.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "94df7de0289bc2df3d6e85cd2ece52bf42682f45",
      "tree": "b3f614b015adfb9574959687bb9b7ac4c884e23a",
      "parents": [
        "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Mon Dec 01 14:09:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:29 2009 +0100"
      },
      "message": "hrtimers: allow the hot-unplugging of all cpus\n\nImpact: fix CPU hotplug hang on Power6 testbox\n\nOn architectures that support offlining all cpus (at least powerpc/pseries),\nhot-unpluging the tick_do_timer_cpu can result in a system hang.\n\nThis comes from the fact that if the cpu going down happens to be the\ncpu doing the tick, then as the tick_do_timer_cpu handover happens after the\ncpu is dead (via the CPU_DEAD notification), we\u0027re left without ticks,\njiffies are frozen and any task relying on timers (msleep, ...) is stuck.\nThat\u0027s particularly the case for the cpu looping in __cpu_die() waiting\nfor the dying cpu to be dead.\n\nThis patch addresses this by having the tick_do_timer_cpu handover happen\nearlier during the CPU_DYING notification. For this, a new clockevent\nnotification type is introduced (CLOCK_EVT_NOTIFY_CPU_DYING) which is triggered\nin hrtimer_cpu_notify().\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2",
      "tree": "e0ed719d43c6f03bab7f4dbb6c2224603f7268fa",
      "parents": [
        "f2257b70b0f9b2fe8f2afd83fc6798dca75930b8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 22 02:24:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:10 2009 +0100"
      },
      "message": "hrtimers: increase clock min delta threshold while interrupt hanging\n\nImpact: avoid timer IRQ hanging slow systems\n\nWhile using the function graph tracer on a virtualized system, the\nhrtimer_interrupt can hang the system on an infinite loop.\n\nThis can be caused in several situations:\n\n - the hardware is very slow and HZ is set too high\n\n - something intrusive is slowing the system down (tracing under emulation)\n\n... and the next clock events to program are always before the current time.\n\nThis patch implements a reasonable compromise: if such a situation is\ndetected, we share the CPUs time in 1/4 to process the hrtimer interrupts.\nThis is enough to let the system running without serious starvation.\n\nIt has been successfully tested under VirtualBox with 1000 HZ and 100 HZ\nwith function graph tracer launched. On both cases, the clock events were\nincreased until about 25 ms periodic ticks, which means 40 HZ.\n\nSo we change a hard to debug hang into a warning message and a system that\nstill manages to limp along.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7240b988017521ebf89edfadd42c0942f166850",
      "tree": "07bdbb42405e0d247f719d45464760d0dd12864c",
      "parents": [
        "4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 29 10:08:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 18:31:08 2009 +0100"
      },
      "message": "generic-ipi: use per cpu data for single cpu ipi calls\n\nThe smp_call_function can be passed a wait parameter telling it to\nwait for all the functions running on other CPUs to complete before\nreturning, or to return without waiting. Unfortunately, this is\ncurrently just a suggestion and not manditory. That is, the\nsmp_call_function can decide not to return and wait instead.\n\nThe reason for this is because it uses kmalloc to allocate storage\nto send to the called CPU and that CPU will free it when it is done.\nBut if we fail to allocate the storage, the stack is used instead.\nThis means we must wait for the called CPU to finish before\ncontinuing.\n\nUnfortunatly, some callers do no abide by this hint and act as if\nthe non-wait option is mandatory. The MTRR code for instance will\ndeadlock if the smp_call_function is set to wait. This is because\nthe smp_call_function will wait for the other CPUs to finish their\ncalled functions, but those functions are waiting on the caller to\ncontinue.\n\nThis patch changes the generic smp_call_function code to use per cpu\nvariables if the allocation of the data fails for a single CPU call. The\nsmp_call_function_many will fall back to the smp_call_function_single\nif it fails its alloc. The smp_call_function_single is modified\nto not force the wait state.\n\nSince we now are using a single data per cpu we must synchronize the\ncallers to prevent a second caller modifying the data before the\nfirst called IPI functions complete. To do so, I added a flag to\nthe call_single_data called CSD_FLAG_LOCK. When the single CPU is\ncalled (which can be called when a many call fails an alloc), we\nset the LOCK bit on this per cpu data. When the caller finishes\nit clears the LOCK bit.\n\nThe caller must wait till the LOCK bit is cleared before setting\nit. When it is cleared, there is no IPI function using it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecf441b593ac41cb8cd8cd3695110167c42e098c",
      "tree": "2f724acde14fc2256a94f15b06d9fe625c453b3e",
      "parents": [
        "cc2f6d90e950b69ad31d483c19cc1d121bb25c16"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 29 13:49:45 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 16:12:33 2009 +0100"
      },
      "message": "kmemtrace: fix printk formats, fix\n\nGeert Uytterhoeven wrote:\n\n\u003e %4zu?\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "839ec5452ebfd5905b9c69b20ceb640903a8ea1a",
      "tree": "42e371a4230c50c3cb34c92e80f5fa199b01dd2b",
      "parents": [
        "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroup: fix root_count when mount fails due to busy subsystem\n\nroot_count was being incremented in cgroup_get_sb() after all error\nchecking was complete, but decremented in cgroup_kill_sb(), which can be\ncalled on a superblock that we gave up on due to an error.  This patch\nchanges cgroup_kill_sb() to only decrement root_count if the root was\npreviously linked into the list of roots.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed",
      "tree": "59e0dabb227a5067cfdc7cce13f149f141ef8cb4",
      "parents": [
        "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: add cpu_relax() calls in css_tryget() and cgroup_clear_css_refs()\n\ncss_tryget() and cgroup_clear_css_refs() contain polling loops; these\nloops should have cpu_relax calls in them to reduce cross-cache traffic.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d",
      "tree": "e2f294ed420461e0032e03143f06634b883dc06e",
      "parents": [
        "945048ca36173315afa2f0c53bed21ba01a588c1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: fix lock inconsistency in cgroup_clone()\n\nI fixed a bug in cgroup_clone() in Linus\u0027 tree in commit 7b574b7\n(\"cgroups: fix a race between cgroup_clone and umount\") without noticing\nthere was a cleanup patch in -mm tree that should be rebased (now commit\n104cbd5, \"cgroups: use task_lock() for access tsk-\u003ecgroups safe in\ncgroup_clone()\"), thus resulted in lock inconsistency.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baef99a08a2e23d9386b47e53fa5f0d44fc98f66",
      "tree": "0171abae8bd05710c83444b8a236fc6ffbcac71c",
      "parents": [
        "9e9e3cbc62da43c66e894d5a61fa08b427e25202"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 29 14:25:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:43 2009 -0800"
      },
      "message": "cgroups: use hierarchy mutex in creation failure path\n\nNow, cgrp-\u003esibling is handled under hierarchy mutex.\nerror route should do so, too.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a8c34886d0e3dd3a24a5b614ee025181da2f41",
      "tree": "37ea1119e35b7bdcfe30d3f3968328f84bbccd9e",
      "parents": [
        "f04109bf1be7449e27d38ae1bb8465013374bd49"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 28 13:08:37 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 29 14:31:03 2009 +0100"
      },
      "message": "trace_sched_wakeup: Remove unused variable\n\nImpact: cleanup\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f04109bf1be7449e27d38ae1bb8465013374bd49",
      "tree": "60c320ee6393a522910252f5e3c7294e3a739bfd",
      "parents": [
        "700a3dcb9036d17d3a67d0a7ceee9d4373fbb570"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 28 13:02:12 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 29 14:28:31 2009 +0100"
      },
      "message": "trace: Use tracing_reset_online_cpus in more places\n\nImpact: cleanup\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97179fd46da7ddedd18e95388130ed3e06c5a0c7",
      "tree": "8d1a56e41345244d36a9d943a69c5ecf76942816",
      "parents": [
        "1267a8df209c7453d65acbdd56e3588954bf890b"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:55 2009 -0800"
      },
      "message": "cpumask fallout: Initialize irq_default_affinity earlier\n\nMove the initialization of irq_default_affinity to early_irq_init as\ncore_initcall is too late.\n\nirq_default_affinity can be used in init_IRQ and potentially timer and\nSMP init as well.  All of these happen before core_initcall.  Moving\nthe initialization to early_irq_init ensures that it is initialized\nbefore it is used.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1267a8df209c7453d65acbdd56e3588954bf890b",
      "tree": "816732505914ba145fd3fba77c903ed4947c8701",
      "parents": [
        "40413dcb7b273bda681dca38e6ff0bbb3728ef11"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:49 2009 -0800"
      },
      "message": "Make irq_*_affinity depend on CONFIG_GENERIC_HARDIRQS too.\n\nIn interrupt.h these functions are declared only if\nCONFIG_GENERIC_HARDIRQS is set.  We should define them under identical\nconditions.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "490a8d70cdd77d6262c3d5815bc0b1c54a3a63f8",
      "tree": "cf8feb25b7ce349b375a6bdfab8d4d83b3fc9715",
      "parents": [
        "8c022fdd5fc1b9949bad21d26e0cb115d045c7f9",
        "5f451fe1ab5d73b987051f0d23c85216c552e163"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "message": "Merge branch \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  SATA PIIX: Blacklist system that spins off disks during ACPI power off\n  SATA Sil: Blacklist system that spins off disks during ACPI power off\n  SATA AHCI: Blacklist system that spins off disks during ACPI power off\n  SATA: Blacklisting of systems that spin off disks during ACPI power off\n  DMI: Introduce dmi_first_match to make the interface more flexible\n  Hibernation: Introduce system_entering_hibernation\n"
    },
    {
      "commit": "4a66a82be78e1b6f9f83074423bf42a52251414c",
      "tree": "027030444e79c5ae55feeb8410a5e73b17612d84",
      "parents": [
        "32c0bd9624115041cfec31c0436995418083090a",
        "cc2f6d90e950b69ad31d483c19cc1d121bb25c16",
        "ba2607fe9c1f2d4ad5a3d4c4ae9117c5bfdca826"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 14:30:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 14:30:57 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/blktrace\u0027, \u0027tracing/kmemtrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n"
    },
    {
      "commit": "abfe2d7b915c872f3a1fd203267cedebf90daa45",
      "tree": "a76cc5012e6d46da44b2e861df172ceef25bd39b",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:54:54 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:45 2009 -0500"
      },
      "message": "Hibernation: Introduce system_entering_hibernation\n\nIntroduce boolean function system_entering_hibernation() returning\n\u0027true\u0027 during the last phase of hibernation, in which devices are\nbeing put into low power states and the sleep state (for example,\nACPI S4) is finally entered.\n\nSome device drivers need such a function to check if the system is\nin the final phase of hibernation.  In particular, some SATA drivers\nare going to use it for blacklisting systems in which the disks\nshould not be spun down during the last phase of hibernation (the\nBIOS will do that anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3a9f84d354ce1e19956083c8e691727dea33bd5a",
      "tree": "abe8c280d3adb7a8e5fc838c59b122a46e6fd464",
      "parents": [
        "bf50c903faba4ec7686ee8a570ac384b0f20814d"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@aristanetworks.com",
        "time": "Mon Jan 26 15:33:31 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 00:36:19 2009 +0100"
      },
      "message": "signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n\nWith print-fatal-signals\u003d1 on a kernel with CONFIG_PREEMPT\u003dy, sending an\nunexpected signal to a process causes a BUG: using smp_processor_id() in\npreemptible code.\n\nget_signal_to_deliver() releases the siglock before calling\nprint_fatal_signal(), which calls show_regs(), which calls\nsmp_processor_id(), which is not supposed to be called from a\npreemptible thread.\n\nMake sure show_regs() runs with preemption disabled.\n\nSigned-off-by: Ed Swierk \u003ceswierk@aristanetworks.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2034563ca323ee45f37a32911550d21c1f1e9626",
      "tree": "cb9cfd052df2caa736f95890580b9de39276b77f",
      "parents": [
        "924d26df6b774b85c8b4548189b20e34f904a149",
        "df291fa993c506da89a89264ff8166bccd172a14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kbuild: fix kbuild.txt typos\n  kbuild: print usage with no arguments in scripts/config\n  Revert \"kbuild: strip generated symbols from *.ko\"\n"
    },
    {
      "commit": "37f5fed55559a030c430550bcacec75e6a833f1b",
      "tree": "ef20187783d784a1106d287bb4bb7805bf3a6ca3",
      "parents": [
        "a1c70a756f8d756668acdbfd61dfc14de12fbaea",
        "0609697eab9775564845d4c94f9e3780fb791ffd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits)\n  dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.\n  dma-coherent: per-device coherent area is in pages, not bytes.\n  sh: fix unaligned and nonexistent address handling\n  nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().\n  sh: fix sh-sci / early printk build on sh7723\n  sh: export the sh7343 JPU to user space\n  sh: update defconfigs.\n  serial: sh-sci: Fix up SH7720/SH7721 SCI build.\n  sh: Kill off obsolete busses from arch/sh/Kconfig.\n  sh: sh7785lcr/highlander/hp6xx need linux/irq.h.\n  sh: Migo-R MMC support using spi_gpio and mmc_spi.\n  sh: ap325rxa MMC support using spi_gpio and mmc_spi\n  sh: mach-x3proto: needs linux/irq.h.\n  sh: Drop the BKL from sys_execve() on SH-5.\n  sh: convert rsk7203 to use smsc911x.\n  sh: convert magicpanelr2 platform to use smsc911x.\n  sh: convert ap325rxa platform to use smsc911x.\n  sh: mach-migor: Add tw9910 support.\n  sh: mach-migor: Delete soc_camera_platform setup.\n  sh: mach-migor: Add ov772x support.\n  ...\n"
    },
    {
      "commit": "3386c05bdbd3e60ca7158253442f0a00133db28e",
      "tree": "19e48f0352e65eb83a0e922fb75528ed39f44ebd",
      "parents": [
        "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
        "6552ebae25ffd57574c6e72d17fce67fea08b918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: add and use INIT_WORK_ON_STACK\n  rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR\n  relay: fix lock imbalance in relay_late_setup_files\n  oprofile: fix uninitialized use of struct op_entry\n  rcu: move Kconfig menu\n  softlock: fix false panic which can occur if softlockup_thresh is reduced\n  rcu: add __cpuinit to rcu_init_percpu_data()\n"
    },
    {
      "commit": "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
      "tree": "1218c32008412e57314f8f9db8d3b4912e2ecb25",
      "parents": [
        "810ee58de26c9c1255d716b1db7344c4a1093fec",
        "1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -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  hrtimers: fix inconsistent lock state on resume in hres_timers_resume\n  time-sched.c: tick_nohz_update_jiffies should be static\n  locking, hpet: annotate false positive warning\n  kernel/fork.c: unused variable \u0027ret\u0027\n  itimers: remove the per-cpu-ish-ness\n"
    },
    {
      "commit": "810ee58de26c9c1255d716b1db7344c4a1093fec",
      "tree": "176531e4e4989ec7a8996a356b1a79ae7b647568",
      "parents": [
        "2927fceafc91afe744e0d1d33f8bbf98c42668fc",
        "e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)\n  xen: unitialised return value in xenbus_write_transaction\n  x86: fix section mismatch warning\n  x86: unmask CPUID levels on Intel CPUs, fix\n  x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.\n  x86: use standard PIT frequency\n  xen: handle highmem pages correctly when shrinking a domain\n  x86, mm: fix pte_free()\n  xen: actually release memory when shrinking domain\n  x86: unmask CPUID levels on Intel CPUs\n  x86: add MSR_IA32_MISC_ENABLE bits to \u003casm/msr-index.h\u003e\n  x86: fix PTE corruption issue while mapping RAM using /dev/mem\n  x86: mtrr fix debug boot parameter\n  x86: fix page attribute corruption with cpa()\n  Revert \"x86: signal: change type of paramter for sys_rt_sigreturn()\"\n  x86: use early clobbers in usercopy*.c\n  x86: remove kernel_physical_mapping_init() from init section\n  fix: crash: IP: __bitmap_intersects+0x48/0x73\n  cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write\n  work_on_cpu: Use our own workqueue.\n  work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n  ...\n"
    },
    {
      "commit": "c71a896154119f4ca9e89d6078f5f63ad60ef199",
      "tree": "0018ea80af12d6385fd0aa5295dddefdb284eebe",
      "parents": [
        "9011262a37cb438f0fa9394b5e83840db8f9680a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 23 12:06:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:40:53 2009 +0100"
      },
      "message": "blktrace: add ftrace plugin\n\nImpact: New way of using the blktrace infrastructure\n\nThis drops the requirement of userspace utilities to use the blktrace\nfacility.\n\nConfiguration is done thru sysfs, adding a \"trace\" directory to the\npartition directory where blktrace can be enabled for the associated\nrequest_queue.\n\nThe same filters present in the IOCTL interface are present as sysfs\ndevice attributes.\n\nThe /sys/block/sdX/sdXN/trace/enable file allows tracing without any\nfilters.\n\nThe other files in this directory: pid, act_mask, start_lba and end_lba\ncan be used with the same meaning as with the IOCTL interface.\n\nUsing the sysfs interface will only setup the request_queue-\u003eblk_trace\nfields, tracing will only take place when the \"blk\" tracer is selected\nvia the ftrace interface, as in the following example:\n\nTo see the trace, one can use the /d/tracing/trace file or the\n/d/tracign/trace_pipe file, with semantics defined in the ftrace\ndocumentation in Documentation/ftrace.txt.\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3046.491224:   8,1    A WBS 6367 + 8 \u003c- (8,1) 6304\n       kjournald-305   [000]  3046.491227:   8,1    Q   R 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491236:   8,1    G  RB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491239:   8,1    P  NS [kjournald]\n       kjournald-305   [000]  3046.491242:   8,1    I RBS 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491251:   8,1    D  WB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491610:   8,1    U  WS [kjournald] 1\n          \u003cidle\u003e-0     [000]  3046.511914:   8,1    C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nThe default line context (prefix) format is the one described in the ftrace\ndocumentation, with the blktrace specific bits using its existing format,\ndescribed in blkparse(8).\n\nIf one wants to have the classic blktrace formatting, this is possible by\nusing:\n\n[root@f10-1 ~]# echo blk_classic \u003e /t/trace_options\n[root@f10-1 ~]# cat /t/trace\n  8,1    0  3046.491224   305  A WBS 6367 + 8 \u003c- (8,1) 6304\n  8,1    0  3046.491227   305  Q   R 6367 + 8 [kjournald]\n  8,1    0  3046.491236   305  G  RB 6367 + 8 [kjournald]\n  8,1    0  3046.491239   305  P  NS [kjournald]\n  8,1    0  3046.491242   305  I RBS 6367 + 8 [kjournald]\n  8,1    0  3046.491251   305  D  WB 6367 + 8 [kjournald]\n  8,1    0  3046.491610   305  U  WS [kjournald] 1\n  8,1    0  3046.511914     0  C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nUsing the ftrace standard format allows more flexibility, such\nas the ability of asking for backtraces via trace_options:\n\n[root@f10-1 ~]# echo noblk_classic \u003e /t/trace_options\n[root@f10-1 ~]# echo stacktrace \u003e /t/trace_options\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3318.826779:   8,1    A WBS 6375 + 8 \u003c- (8,1) 6312\n       kjournald-305   [000]  3318.826782:\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n \u003c\u003d child_rip\n       kjournald-305   [000]  3318.826836:   8,1    Q   R 6375 + 8 [kjournald]\n       kjournald-305   [000]  3318.826837:\n \u003c\u003d generic_make_request\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n\nPlease read the ftrace documentation to use aditional, standardized\ntracing filters such as /d/tracing/trace_cpumask, etc.\n\nSee also /d/tracing/trace_mark to add comments in the trace stream,\nthat is equivalent to the /d/block/sdaN/msg interface.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9011262a37cb438f0fa9394b5e83840db8f9680a",
      "tree": "e79b5e6ff2499047f95fd99d7f9e90b62c6ae2cf",
      "parents": [
        "5ce1b1ed27d4ab1d81b8543a96f488bba2071576"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 23 12:06:23 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:40:53 2009 +0100"
      },
      "message": "ftrace: add ftrace_vprintk\n\nImpact: new helper function\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc2f6d90e950b69ad31d483c19cc1d121bb25c16",
      "tree": "002de8aa52c3b1495a8b70278bd819779f827be6",
      "parents": [
        "5ce1b1ed27d4ab1d81b8543a96f488bba2071576"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 23 13:03:37 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:03:51 2009 +0100"
      },
      "message": "kmemtrace: fix printk format warnings\n\nFix kmemtrace printk warnings:\n\n  kernel/trace/kmemtrace.c:142: warning: format \u0027%4ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027size_t\u0027\n  kernel/trace/kmemtrace.c:147: warning: format \u0027%4ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027size_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ce1b1ed27d4ab1d81b8543a96f488bba2071576",
      "tree": "6124a034fce0277570e5f10699337e20b564cbd1",
      "parents": [
        "7e49fcce1bdadd723ae6a0b3b324c4daced61563",
        "9005f3ebebfcfe9ccd731d16c468907a35ac1f9a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:01:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:01:52 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/function-graph-tracer\u0027 into tracing/core\n"
    },
    {
      "commit": "9005f3ebebfcfe9ccd731d16c468907a35ac1f9a",
      "tree": "9345de56032ded04dec94094d2c1ab08aa6b4cb4",
      "parents": [
        "9b03638963e4b239dff1b424b91062a710d4b2e9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 22 17:04:53 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 23 11:18:08 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: various fixes and features\n\nThis patch brings various bugfixes:\n\n- Drop the first irrelevant task switch on the very beginning of a trace.\n\n- Drop the OVERHEAD word from the headers, the DURATION word is sufficient\n  and will not overlap other columns.\n\n- Make the headers fit well their respective columns whatever the\n  selected options.\n\nIe, default options:\n\n # tracer: function_graph\n #\n # CPU  DURATION                  FUNCTION CALLS\n # |     |   |                     |   |   |   |\n\n  1)   0.646 us    |                    }\n  1)               |                    mem_cgroup_del_lru_list() {\n  1)   0.624 us    |                      lookup_page_cgroup();\n  1)   1.970 us    |                    }\n\n echo funcgraph-proc \u003e trace_options\n\n # tracer: function_graph\n #\n # CPU  TASK/PID        DURATION                  FUNCTION CALLS\n # |    |    |           |   |                     |   |   |   |\n\n  0)   bash-2937    |   0.895 us    |                }\n  0)   bash-2937    |   0.888 us    |                __rcu_read_unlock();\n  0)   bash-2937    |   0.864 us    |                conv_uni_to_pc();\n  0)   bash-2937    |   1.015 us    |                __rcu_read_lock();\n\n echo nofuncgraph-cpu \u003e trace_options\n echo nofuncgraph-proc \u003e trace_options\n\n # tracer: function_graph\n #\n #   DURATION                  FUNCTION CALLS\n #    |   |                     |   |   |   |\n\n   3.752 us    |                  native_pud_val();\n   0.616 us    |                  native_pud_val();\n   0.624 us    |                  native_pmd_val();\n\nAbout features, one can now disable the duration (this will hide the\noverhead too for convenient reasons and because on  doesn\u0027t need\noverhead if it hasn\u0027t the duration):\n\n echo nofuncgraph-duration \u003e trace_options\n\n # tracer: function_graph\n #\n #                FUNCTION CALLS\n #                |   |   |   |\n\n           cap_vm_enough_memory() {\n             __vm_enough_memory() {\n               vm_acct_memory();\n             }\n           }\n         }\n\nAnd at last, an option to print the absolute time:\n\n //Restart from default options\n echo funcgraph-abstime \u003e trace_options\n\n # tracer: function_graph\n #\n #      TIME       CPU  DURATION                  FUNCTION CALLS\n #       |         |     |   |                     |   |   |   |\n\n   261.339774 |   1) + 42.823 us   |    }\n   261.339775 |   1)   1.045 us    |    _spin_lock_irq();\n   261.339777 |   1)   0.940 us    |    _spin_lock_irqsave();\n   261.339778 |   1)   0.752 us    |    _spin_unlock_irqrestore();\n   261.339780 |   1)   0.857 us    |    _spin_unlock_irq();\n   261.339782 |   1)               |    flush_to_ldisc() {\n   261.339783 |   1)               |      tty_ldisc_ref() {\n   261.339783 |   1)               |        tty_ldisc_try() {\n   261.339784 |   1)   1.075 us    |          _spin_lock_irqsave();\n   261.339786 |   1)   0.842 us    |          _spin_unlock_irqrestore();\n   261.339788 |   1)   4.211 us    |        }\n   261.339788 |   1)   5.662 us    |      }\n\nThe format is seconds.usecs.\n\nI guess no one needs the nanosec precision here, the main goal is to have\nan overview about the general timings of events, and to see the place when\nthe trace switches from one cpu to another.\n\nie:\n\n   274.874760 |   1)   0.676 us    |      _spin_unlock();\n   274.874762 |   1)   0.609 us    |      native_load_sp0();\n   274.874763 |   1)   0.602 us    |      native_load_tls();\n   274.878739 |   0)   0.722 us    |                  }\n   274.878740 |   0)   0.714 us    |                  native_pmd_val();\n   274.878741 |   0)   0.730 us    |                  native_pmd_val();\n\nHere there is a 4000 usecs difference when we switch the cpu.\n\nChanges in V2:\n\n- Completely fix the first pointless task switch.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e49fcce1bdadd723ae6a0b3b324c4daced61563",
      "tree": "a2bf1a143ed33ca01612dfab1fb7c993c467cdb0",
      "parents": [
        "b06a830183b610c0a88c29a92feb7991a867ab46"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 22 19:01:40 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 23 11:10:57 2009 +0100"
      },
      "message": "trace, lockdep: manual preempt count adding for local_bh_disable\n\nImpact: fix to preempt trace triggering lockdep check_flag failure\n\nIn local_bh_disable, the use of add_preempt_count causes the\npreempt tracer to start recording the time preemption is off.\nBut because it already modified the preempt_count to show\nsoftirqs disabled, and before it called the lockdep code to\nhandle this, it causes a state that lockdep can not handle.\n\nThe preempt tracer will reset the ring buffer on start of a trace,\nand the ring buffer reset code does a spin_lock_irqsave. This\ncalls into lockdep and lockdep will fail when it detects the\ninvalid state of having softirqs disabled but the internal\ncurrent-\u003esoftirqs_enabled is still set.\n\nThe fix is to manually add the SOFTIRQ_OFFSET to preempt count\nand call the preempt tracer code outside the lockdep critical\narea.\n\nThanks to Peter Zijlstra for suggesting this solution.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b06a830183b610c0a88c29a92feb7991a867ab46",
      "tree": "c90c58ddf3e34a8f19c31bdd9b6522f987bad279",
      "parents": [
        "94523e818f283d3c69f621406f633afff46dbf82"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 22 14:26:15 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 23 11:10:45 2009 +0100"
      },
      "message": "trace: fix logic to start/stop counting\n\nThe logic in the tracing_start/stop code prevents the WARN_ON\nfrom ever detecting if a start/stop pair was mismatched.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94523e818f283d3c69f621406f633afff46dbf82",
      "tree": "b1190670c2928490267778f58d1fa034e1a1f65c",
      "parents": [
        "9b03638963e4b239dff1b424b91062a710d4b2e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 22 11:18:06 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 23 11:10:36 2009 +0100"
      },
      "message": "trace: remove internal irqsoff disabling for trace output\n\nImpact: cleanup of duplicate features\n\nThe trace output disables the ring buffer and prevents tracing to\noccur. The code in irqsoff to do the same thing is no longer needed.\nThis patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "91a8d07d82cac3aae3ef2ea1aaba5c9c4a934e91",
      "tree": "f1d3f093332ecb5e49bff1d1290164237a026475",
      "parents": [
        "1092307d582a7566d23779c304cf86f3075ac5f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 18:45:57 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:31:58 2009 +0100"
      },
      "message": "ring-buffer: reset timestamps when ring buffer is reset\n\nImpact: fix bad times of recent resets\n\nThe ring buffer needs to reset its timestamps when reseting of the\nbuffer, otherwise the timestamps are stale and might be used to\ncalculate times in the buffer causing funny timestamps to appear.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69507c06539332e6e49f83aa478844130233bece",
      "tree": "184bbcc7160c5d0e304166b1ecb190897e1f0afc",
      "parents": [
        "f8ec1062f589cdb1cffcffab1376124a1bc08500"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 18:45:57 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:27:54 2009 +0100"
      },
      "message": "ring-buffer: reset timestamps when ring buffer is reset\n\nImpact: fix bad times of recent resets\n\nThe ring buffer needs to reset its timestamps when reseting of the\nbuffer, otherwise the timestamps are stale and might be used to\ncalculate times in the buffer causing funny timestamps to appear.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8ec1062f589cdb1cffcffab1376124a1bc08500",
      "tree": "c27f47b2ceaf977b13c13c008f64acc02e52abdf",
      "parents": [
        "3244351c31211a8b1ba8b4b34c3de04d5dfa03e4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 17:17:04 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:27:39 2009 +0100"
      },
      "message": "wakeup-tracer: show scheduling data in output\n\nImpact: better data for wakeup tracer\n\nThis patch adds the wakeup and schedule calls that are used by\nthe scheduler tracer to make the wakeup tracer more readable.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3244351c31211a8b1ba8b4b34c3de04d5dfa03e4",
      "tree": "f5b485f3c7f8375002c93dabaf577b14d5a2d2eb",
      "parents": [
        "97b17efe4537e11bf6669106cfe4ee2c5331b267"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 16:24:46 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:27:22 2009 +0100"
      },
      "message": "trace: separate out rt tasks from wakeup tracer\n\nImpact: add option to trace all tasks or just RT tasks\n\nThe current wakeup tracer only traces RT task wakeups. This is\nfine for those interested in wake up timings of RT tasks, but\nit is useless for those that are interested in the causes\nof long wakeups for non RT tasks.\n\nThis patch creates a \"wakeup_rt\" to implement the tracing of just\nRT tasks (as the current \"wakeup\" does). And makes \"wakeup\" now\ntrace all tasks as an average developer would expect.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97b17efe4537e11bf6669106cfe4ee2c5331b267",
      "tree": "46310b25ea38628fc631d4c4c248ebe66426036f",
      "parents": [
        "5bc4564b224c3d9fe6dddafa25f56059bd978231"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 15:24:56 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:27:16 2009 +0100"
      },
      "message": "ring-buffer: do not swap if recording is disabled\n\nIf the ring buffer recording has been disabled. Do not let\nswapping of ring buffers occur. Simply return -EAGAIN.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5bc4564b224c3d9fe6dddafa25f56059bd978231",
      "tree": "22ddf4de8fe115ab7dd8d29c7ff2fa1bf318acd1",
      "parents": [
        "03b30d151a918364c1c7d08bcb3e167be0a3746f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 14:36:52 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:26:50 2009 +0100"
      },
      "message": "trace: do not disable wake up tracer on output of trace\n\nImpact: fix to erased trace output\n\nTo try not to have the outputing of a trace interfere with the wakeup\ntracer, it would disable tracing while the output was printing. But\nif a trace had started when it was disabled, it can show a partial\ntrace. To try to solve this, on closing of the tracer, it would\nclear the trace buffer.\n\nThe latency tracers (wakeup and irqsoff) have two buffers. One for\nrecording and one for holding the max trace that is printed. The\nclearing of the trace above should only affect the recording buffer.\nBut for some reason it would move the erased trace to the print\nbuffer. Probably due to a race with the closing of the trace and\nthe saving ofhe max race.\n\nThe above is all pretty useless, and if the user does not want the\nprinting of the trace to be traced itself, then the user can manual\ndisable tracing. This patch removes all the code that tries to keep\nthe output of the tracer from modifying the trace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6552ebae25ffd57574c6e72d17fce67fea08b918",
      "tree": "cde6cc932c7e47d818154b011dfd8a6997d5c18e",
      "parents": [
        "749a440b2218e9937dca8c68e23e51ca4d8d37fe",
        "336f6c322d87806ef93afad6308ac65083a865e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 into core/urgent\n"
    },
    {
      "commit": "1092307d582a7566d23779c304cf86f3075ac5f0",
      "tree": "89b70760ec229b593d4ea9c35084ef44a68b2ec4",
      "parents": [
        "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 23:40:11 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: set max latency variable to zero on default\n\nImpact: trace max latencies on start of latency tracing\n\nThis patch sets the max latency to zero whenever one of the\nirq variant tracers or the wakeup tracer is set to current tracer.\n\nMost developers expect to see output when starting up a latency\ntracer. But since the max_latency is already set to max, and\nit takes a latency greater than max_latency to be recorded, there\nis no trace. This is not the expected behavior and has even confused\nmyself.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88",
      "tree": "060bada7945ebeeec57c1b8c201552767da590aa",
      "parents": [
        "faf6861ebd776871e77b761c43ec045cd20b5716"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 14:50:19 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: stop all recording to ring buffer on ftrace_dump\n\nImpact: limit ftrace dump output\n\nCurrently ftrace_dump only calls ftrace_kill that is a fast way\nto prevent the function tracer functions from being called (just sets\na flag and clears the function to call, nothing else). It is better\nto also turn off any recording to the ring buffers as well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "faf6861ebd776871e77b761c43ec045cd20b5716",
      "tree": "c2e0a1294a18ea5c0ef359fde4b1d1df6a9f545c",
      "parents": [
        "551b4048b3d4acf15aff9fe4aed89b892c135b02"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 12:24:42 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: print ftrace_dump at KERN_EMERG log level\n\nImpact: fix to print out ftrace_dump when expected\n\nI was debugging a hard race condition to only find out that\nafter I hit the race, my log level was not at level to show\nKERN_INFO. The time it took to trigger the race was wasted because\nI did not capture the trace.\n\nSince ftrace_dump is only called from kernel oops (and only when\nit is set in the kernel command line to do so), or when a\ndeveloper adds it to their own local tree, the log level of\nthe print should be at KERN_EMERG to make sure the print appears.\n\nftrace_dump is not called by a normal user setup, and will not\nadd extra unwanted print out to the console. There is no reason\nit should be at KERN_INFO.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "551b4048b3d4acf15aff9fe4aed89b892c135b02",
      "tree": "5d8abe8ac236420a36164c24f98c840e89247e02",
      "parents": [
        "00f57f545afa422db3003b0d0b30a30f8de7ecb2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Jan 12 11:06:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "ring_buffer: reset write when reserve buffer fail\n\nImpact: reset struct buffer_page.write when interrupt storm\n\nif struct buffer_page.write is not reset, any succedent committing\nwill corrupted ring_buffer:\n\nstatic inline void\nrb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer)\n{\n\t......\n\t\tcpu_buffer-\u003ecommit_page-\u003ecommit \u003d\n\t\t\tcpu_buffer-\u003ecommit_page-\u003ewrite;\n\t......\n}\n\nwhen \"if (RB_WARN_ON(cpu_buffer, next_page \u003d\u003d reader_page))\", ring_buffer\nis disabled, but some reserved buffers may haven\u0027t been committed.\nwe need reset struct buffer_page.write.\n\nwhen \"if (unlikely(next_page \u003d\u003d cpu_buffer-\u003ecommit_page))\", ring_buffer\nis still available, we should not corrupt it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00f57f545afa422db3003b0d0b30a30f8de7ecb2",
      "tree": "02d5fc02d95987015b3051a63e7c481a28be4f47",
      "parents": [
        "082605de5f82eb692cc90f7fda071cc01bb5ac34"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 14 13:33:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix a regression while suspend to disk\n\nImpact: fix a crash while kernel image restore\n\nWhen the function graph tracer is running and while suspend to disk, some racy\nand dangerous things happen against this tracer.\n\nThe current task will save its registers including the stack pointer which\ncontains the return address hooked by the tracer. But the current task will\ncontinue to enter other functions after that to save the memory, and then\nit will store other return addresses, and finally loose the old depth which\nmatches the return address saved in the old stack (during the registers saving).\n\nSo on image restore, the code will return to wrong addresses.\nAnd there are other things: on restore, the task will have it\u0027s \"current\"\npointer overwritten during registers restoring....switching from one task to\nanother... That would be insane to try to trace function graphs at these\nstages.\n\nThis patch makes the function graph tracer listening on power events, making\nit\u0027s tracing disabled for the current task (the one that performs the\nhibernation work) while suspend/resume to disk, making the tracing safe\nduring hibernation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0609697eab9775564845d4c94f9e3780fb791ffd",
      "tree": "0acb503e18c4a807d2a5d9a2417ecd3c292a7026",
      "parents": [
        "cdf57cab27aef72f13a19c86858c6cac9951dc24"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:51:53 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:51:53 2009 +0900"
      },
      "message": "dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.\n\nWhen doing large allocations (larger than the per-device coherent area)\nthe generic memory allocators are silently fallen back on regardless of\nconsideration for the per-device constraints.\n\nIn the DMA_MEMORY_EXCLUSIVE case falling back on generic memory is not\nan option, as it tends not to be addressable by the DMA hardware in\nquestion. This issue showed up with the 8139too breakage on the\nDreamcast, where non-addressable buffers were silently allocated due to\nthe size mismatch calculation -- while it should have simply errored out\nupon being unable to satisfy the allocation with the given device\nconstraints.\n\nThis restores fall back behaviour to what it was before the oversized\nrequest change caused multiple regressions.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "cdf57cab27aef72f13a19c86858c6cac9951dc24",
      "tree": "86226edbbe82c3f3ddca7e1ad929037e2f0ea6ad",
      "parents": [
        "2afb447f33c29cb000a494396559f8005d3e33c1"
      ],
      "author": {
        "name": "Adrian McMenamin",
        "email": "adrian@mcmen.demon.co.uk",
        "time": "Wed Jan 21 18:47:38 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:47:38 2009 +0900"
      },
      "message": "dma-coherent: per-device coherent area is in pages, not bytes.\n\nCommit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da (\"dma-coherent: catch\noversized requests to dma_alloc_from_coherent()\") attempted to add a\nsanity check to bail out on allocations larger than the coherent area.\n\nUnfortunately when this was implemented, the fact the coherent area\nis tracked in pages rather than bytes was overlooked, which subsequently\nbroke every single dma_alloc_from_coherent() user, forcing the allocation\nsilently through generic memory instead.\n\nSigned-off-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk \u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "082605de5f82eb692cc90f7fda071cc01bb5ac34",
      "tree": "f3e2536d840dff5f15e25ee609ab37a645f8fd9a",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jan 19 14:32:51 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:09:06 2009 +0100"
      },
      "message": "ring-buffer: fix alignment problem\n\nImpact: fix to allow some archs to use the ring buffer\n\nCommits in the ring buffer are checked by pointer arithmetic.\nIf the calculation is incorrect, then the commits will never take\nplace and the buffer will simply fill up and report an error.\n\nEach page in the ring buffer has a small header:\n\nstruct buffer_data_page {\n\tu64\t\ttime_stamp;\n\tlocal_t\t\tcommit;\n\tunsigned char\tdata[];\n};\n\nUnfortuntely, some of the calculations used sizeof(struct buffer_data_page)\nto know the size of the header. But this is incorrect on some archs,\nwhere sizeof(struct buffer_data_page) does not equal\noffsetof(struct buffer_data_page, data), and on those archs, the commits\nare never processed.\n\nThis patch replaces the sizeof with offsetof.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3690b5e6fd9daa030039ae9bda69044228bd476d",
      "tree": "0c728e624889c4fb32e028786c5db91bbdb5def1",
      "parents": [
        "ce5e5540c0e839781e7cd134517d5d2e9e819636"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jan 16 16:32:25 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:06:59 2009 +0100"
      },
      "message": "trace_workqueue: use percpu data for workqueue stat\n\nImpact: use percpu data instead of a global structure\n\nUse:\n\n   static DEFINE_PER_CPU(struct workqueue_global_stats, all_workqueue_stat);\n\ninstead of allocating a global structure.\n\npercpu data also works well on NUMA.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11edda06289d412d13ff7c672bd72e043f637e74",
      "tree": "a1b9f779636f3e76ce0944e3f5dcfa067c2a439f",
      "parents": [
        "e23b8ad83430a6fdfbdbfac365f5b0312dd57f10"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Mon Jan 19 10:29:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:04:16 2009 +0100"
      },
      "message": "x86, ftrace, hw-branch-tracer: change trace format\n\nChange the hw-branch-tracer format to be more readable.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e23b8ad83430a6fdfbdbfac365f5b0312dd57f10",
      "tree": "3a3d623f800880dfc37a12ddb35a9887dacb98fe",
      "parents": [
        "b1818748b0cf9427e48acf9713295e829a0d715f"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Mon Jan 19 10:33:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:03:55 2009 +0100"
      },
      "message": "x86, ftrace, hw-branch-tracer: reset trace buffer on close\n\nReset the ftrace buffer on close. Since we use cyclic buffers, the\ntrace is not contiguous, anyway.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b1818748b0cf9427e48acf9713295e829a0d715f",
      "tree": "49e8f8dc4328799fa69eae635f4b69ee97228445",
      "parents": [
        "5c5317de147e9b38ea9c4cbdc2d15bed7648d036"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Mon Jan 19 10:31:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:03:48 2009 +0100"
      },
      "message": "x86, ftrace, hw-branch-tracer: dump trace on oops\n\nDump the branch trace on an oops (based on ftrace_dump_on_oops).\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5c5317de147e9b38ea9c4cbdc2d15bed7648d036",
      "tree": "d3a4ddbf0c3a19fde807e70d55b23f3204b2219f",
      "parents": [
        "b43f70933e7753a284733d5ae355f6778bd118ce"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Mon Jan 19 10:26:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:03:38 2009 +0100"
      },
      "message": "x86, ftrace, hw-branch-tracer: support hotplug cpus\n\nSupport hotplug cpus.\n\nReported-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ccad40df8d314f786fdb06bdbedd4f43f3257cd",
      "tree": "7d3c1bde4ff36bb936a5934e602a4e1b50702545",
      "parents": [
        "31ad9081200c06ccc350625d41d1f8b2d1cef29f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 16 15:31:15 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 22:36:07 2009 +0100"
      },
      "message": "work_on_cpu: Use our own workqueue.\n\nImpact: remove potential clashes with generic kevent workqueue\n\nAnnoyingly, some places we want to use work_on_cpu are already in\nworkqueues.  As per Ingo\u0027s suggestion, we create a different workqueue\nfor work_on_cpu.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31ad9081200c06ccc350625d41d1f8b2d1cef29f",
      "tree": "99768cf8eae9aaa2d1f4167103aa7ea9c70068a1",
      "parents": [
        "c7f8562a51c2e5dcc1a00a2bdd232b9965ff960d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 16 15:31:15 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 22:36:02 2009 +0100"
      },
      "message": "work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n\nImpact: remove potential circular lock dependency with cpu hotplug lock\n\nThis has caused more problems than it solved, with a pile of cpu\nhotplug locking issues.\n\nFollowup patches will get_online_cpus() in callers that need it, but\nif they don\u0027t do it they\u0027re no worse than before when they were using\nset_cpus_allowed without locking.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f90d4118bacef87894621a3e8aba853fa0c89abc",
      "tree": "d09a52848f5d82fc3944818f62166fee23fabc66",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Jan 16 10:24:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 02:44:00 2009 +0100"
      },
      "message": "cpuset: fix possible deadlock in async_rebuild_sched_domains\n\nLockdep reported some possible circular locking info when we tested cpuset on\nNUMA/fake NUMA box.\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.29-rc1-00224-ga652504 #111\n-------------------------------------------------------\nbash/2968 is trying to acquire lock:\n (events){--..}, at: [\u003cffffffff8024c8cd\u003e] flush_work+0x24/0xd8\n\nbut task is already holding lock:\n (cgroup_mutex){--..}, at: [\u003cffffffff8026ad1e\u003e] cgroup_lock_live_group+0x12/0x29\n\nwhich lock already depends on the new lock.\n......\n-------------------------------------------------------\n\nSteps to reproduce:\n# mkdir /dev/cpuset\n# mount -t cpuset xxx /dev/cpuset\n# mkdir /dev/cpuset/0\n# echo 0 \u003e /dev/cpuset/0/cpus\n# echo 0 \u003e /dev/cpuset/0/mems\n# echo 1 \u003e /dev/cpuset/0/memory_migrate\n# cat /dev/zero \u003e /dev/null \u0026\n# echo $! \u003e /dev/cpuset/0/tasks\n\nThis is because async_rebuild_sched_domains has the following lock sequence:\nrun_workqueue(async_rebuild_sched_domains)\n\t-\u003e do_rebuild_sched_domains -\u003e cgroup_lock\n\nBut, attaching tasks when memory_migrate is set has following:\ncgroup_lock_live_group(cgroup_tasks_write)\n\t-\u003e do_migrate_pages -\u003e flush_work\n\nThis patch fixes it by using a separate workqueue thread.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2",
      "tree": "a3f54cd702bb48e19aa79e45deb7c4812ed0c177",
      "parents": [
        "934d96eafadcf3eb3ccd094af9919f020907fc41"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Jan 18 16:39:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 21:31:37 2009 +0100"
      },
      "message": "hrtimers: fix inconsistent lock state on resume in hres_timers_resume\n\nAndrey Borzenkov reported this lockdep assert:\n\n\u003e [17854.688347] \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\u003e [17854.688347] [ INFO: inconsistent lock state ]\n\u003e [17854.688347] 2.6.29-rc2-1avb #1\n\u003e [17854.688347] ---------------------------------\n\u003e [17854.688347] inconsistent {in-hardirq-W} -\u003e {hardirq-on-W} usage.\n\u003e [17854.688347] pm-suspend/18240 [HC0[0]:SC0[0]:HE1:SE1] takes:\n\u003e [17854.688347]  (\u0026cpu_base-\u003elock){++..}, at: [\u003cc0136fcc\u003e] retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347] {in-hardirq-W} state was registered at:\n\u003e [17854.688347]   [\u003cc01443cd\u003e] __lock_acquire+0x79d/0x1930\n\u003e [17854.688347]   [\u003cc01455bc\u003e] lock_acquire+0x5c/0x80\n\u003e [17854.688347]   [\u003cc03092e5\u003e] _spin_lock+0x35/0x70\n\u003e [17854.688347]   [\u003cc0136e61\u003e] hrtimer_run_queues+0x31/0x140\n\u003e [17854.688347]   [\u003cc0128d98\u003e] run_local_timers+0x8/0x20\n\u003e [17854.688347]   [\u003cc0128dd3\u003e] update_process_times+0x23/0x60\n\u003e [17854.688347]   [\u003cc013e274\u003e] tick_periodic+0x24/0x80\n\u003e [17854.688347]   [\u003cc013e2e2\u003e] tick_handle_periodic+0x12/0x70\n\u003e [17854.688347]   [\u003cc0104e24\u003e] timer_interrupt+0x14/0x20\n\u003e [17854.688347]   [\u003cc01607b9\u003e] handle_IRQ_event+0x29/0x60\n\u003e [17854.688347]   [\u003cc0161c59\u003e] handle_level_irq+0x69/0xe0\n\u003e [17854.688347]   [\u003cffffffff\u003e] 0xffffffff\n\u003e [17854.688347] irq event stamp: 55771\n\u003e [17854.688347] hardirqs last  enabled at (55771): [\u003cc0309125\u003e] _spin_unlock_irqrestore+0x35/0x60\n\u003e [17854.688347] hardirqs last disabled at (55770): [\u003cc0309419\u003e] _spin_lock_irqsave+0x19/0x80\n\u003e [17854.688347] softirqs last  enabled at (54836): [\u003cc0124f54\u003e] __do_softirq+0xc4/0x110\n\u003e [17854.688347] softirqs last disabled at (54831): [\u003cc01049ae\u003e] do_softirq+0x8e/0xe0\n\u003e [17854.688347]\n\u003e [17854.688347] other info that might help us debug this:\n\u003e [17854.688347] 3 locks held by pm-suspend/18240:\n\u003e [17854.688347]  #0:  (\u0026buffer-\u003emutex){--..}, at: [\u003cc01dd4c5\u003e] sysfs_write_file+0x25/0x100\n\u003e [17854.688347]  #1:  (pm_mutex){--..}, at: [\u003cc015056f\u003e] enter_state+0x4f/0x140\n\u003e [17854.688347]  #2:  (dpm_list_mtx){--..}, at: [\u003cc027880f\u003e] device_pm_lock+0xf/0x20\n\u003e [17854.688347]\n\u003e [17854.688347] stack backtrace:\n\u003e [17854.688347] Pid: 18240, comm: pm-suspend Not tainted 2.6.29-rc2-1avb #1\n\u003e [17854.688347] Call Trace:\n\u003e [17854.688347]  [\u003cc0306248\u003e] ? printk+0x18/0x20\n\u003e [17854.688347]  [\u003cc0141fac\u003e] print_usage_bug+0x16c/0x1d0\n\u003e [17854.688347]  [\u003cc0142bcf\u003e] mark_lock+0x8bf/0xc90\n\u003e [17854.688347]  [\u003cc0106b8f\u003e] ? pit_next_event+0x2f/0x40\n\u003e [17854.688347]  [\u003cc01441b0\u003e] __lock_acquire+0x580/0x1930\n\u003e [17854.688347]  [\u003cc030916d\u003e] ? _spin_unlock+0x1d/0x20\n\u003e [17854.688347]  [\u003cc0106b8f\u003e] ? pit_next_event+0x2f/0x40\n\u003e [17854.688347]  [\u003cc013dd38\u003e] ? clockevents_program_event+0x98/0x160\n\u003e [17854.688347]  [\u003cc0142fe8\u003e] ? mark_held_locks+0x48/0x90\n\u003e [17854.688347]  [\u003cc0309125\u003e] ? _spin_unlock_irqrestore+0x35/0x60\n\u003e [17854.688347]  [\u003cc0143229\u003e] ? trace_hardirqs_on_caller+0x139/0x190\n\u003e [17854.688347]  [\u003cc014328b\u003e] ? trace_hardirqs_on+0xb/0x10\n\u003e [17854.688347]  [\u003cc01455bc\u003e] lock_acquire+0x5c/0x80\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] ? retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc03092e5\u003e] _spin_lock+0x35/0x70\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] ? retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc013711a\u003e] hres_timers_resume+0xa/0x10\n\u003e [17854.688347]  [\u003cc013aa8e\u003e] timekeeping_resume+0xee/0x150\n\u003e [17854.688347]  [\u003cc0273384\u003e] __sysdev_resume+0x14/0x50\n\u003e [17854.688347]  [\u003cc0273407\u003e] sysdev_resume+0x47/0x80\n\u003e [17854.688347]  [\u003cc02791ab\u003e] device_power_up+0xb/0x20\n\u003e [17854.688347]  [\u003cc015043f\u003e] suspend_devices_and_enter+0xcf/0x150\n\u003e [17854.688347]  [\u003cc0150c2f\u003e] ? freeze_processes+0x3f/0x90\n\u003e [17854.688347]  [\u003cc0150614\u003e] enter_state+0xf4/0x140\n\u003e [17854.688347]  [\u003cc01506dd\u003e] state_store+0x7d/0xc0\n\u003e [17854.688347]  [\u003cc0150660\u003e] ? state_store+0x0/0xc0\n\u003e [17854.688347]  [\u003cc0202da4\u003e] kobj_attr_store+0x24/0x30\n\u003e [17854.688347]  [\u003cc01dd53c\u003e] sysfs_write_file+0x9c/0x100\n\u003e [17854.688347]  [\u003cc019916c\u003e] vfs_write+0x9c/0x160\n\u003e [17854.688347]  [\u003cc0103494\u003e] ? restore_nocheck_notrace+0x0/0xe\n\u003e [17854.688347]  [\u003cc01dd4a0\u003e] ? sysfs_write_file+0x0/0x100\n\u003e [17854.688347]  [\u003cc01992ed\u003e] sys_write+0x3d/0x70\n\u003e [17854.688347]  [\u003cc0103371\u003e] sysenter_do_call+0x12/0x31\n\nAndrey\u0027s analysis:\n\n\u003e timekeeping_resume() is called via class -\u003eresume\n\u003e method; and according to comments in sysdev_resume() and\n\u003e device_power_up(), they are called with interrupts disabled.\n\u003e\n\u003e Looking at suspend_enter, irqs *are* disabled at this point.\n\u003e\n\u003e So it actually looks like something (may be some driver)\n\u003e unconditionally enabled irqs in resume path.\n\nAdd a debug check to test this theory. If it triggers then it\ntriggers because the resume code calls it with irqs enabled,\nwhich is a no-no not just for timekeeping_resume(), but also\nbad for a number of other resume handlers.\n\nReported-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b786c6a98ef6fa81114ba7b9fbfc0d67060775e3",
      "tree": "bff900158067adba76c14a61499e4d9520463e86",
      "parents": [
        "fdb6a8f4db813b4e50f4e975efe6be12ba5bf460"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Jan 17 12:04:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 20:29:35 2009 +0100"
      },
      "message": "relay: fix lock imbalance in relay_late_setup_files\n\nOne fail path in relay_late_setup_files() omits\nmutex_unlock(\u0026relay_channels_mutex);\nAdd it.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4092762aebfe55c1f8e31440b80a053c2dbe519b",
      "tree": "8fb9fd14131194174c12daf5d8195afd3b62bc3e",
      "parents": [
        "745b1626dd71ce9661a05ea4db57859ed5c773d2",
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 20:15:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 20:15:05 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027; commit \u0027v2.6.29-rc2\u0027 into tracing/core\n"
    },
    {
      "commit": "88d998c264722cd6e8fafa42aee191f7d9194960",
      "tree": "72cfd34df16be3e6778ab585c8324e8f5677fe21",
      "parents": [
        "79491ca416347f9e3c51993db556ba78bef44afa",
        "d08ca2ca743f324eceba59e93188f9439e966bce"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:45:34 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:45:34 2009 -0500"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "5a4ccaf37ffece09ef33f1cfec67efa8ee56f967",
      "tree": "9a246d76a019318f658c3db7567664cffb5f2824",
      "parents": [
        "33f1d7ecc6cffff3c618a02295de969ebbacd95d"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 21:15:32 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "kprobes: check CONFIG_FREEZER instead of CONFIG_PM\n\nCheck CONFIG_FREEZER instead of CONFIG_PM because kprobe booster\ndepends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT\u003dy.\n\nThis fixes a linkage error which occurs when CONFIG_PREEMPT\u003dy, CONFIG_PM\u003dy\nand CONFIG_FREEZER\u003dn.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "33f1d7ecc6cffff3c618a02295de969ebbacd95d",
      "tree": "66e5bc12c253f1b39abc468fbbf15d9cb455245d",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 06 21:14:04 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "PM: Fix freezer compilation if PM_SLEEP is unset\n\nFreezer fails to compile if with the following configuration\nsettings:\n\nCONFIG_CGROUPS\u003dy\nCONFIG_CGROUP_FREEZER\u003dy\nCONFIG_MODULES\u003dy\nCONFIG_FREEZER\u003dy\nCONFIG_PM\u003dy\nCONFIG_PM_SLEEP\u003dn\n\nFix this by making process.o compilation depend on CONFIG_FREEZER.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "745b1626dd71ce9661a05ea4db57859ed5c773d2",
      "tree": "26165f0494afe4d7d76a709daa69cb0ac960d9e5",
      "parents": [
        "a225cdd263f340c864febb1992802fb5b08bc328"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 23:40:11 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:18:09 2009 +0100"
      },
      "message": "trace: set max latency variable to zero on default\n\nImpact: trace max latencies on start of latency tracing\n\nThis patch sets the max latency to zero whenever one of the\nirq variant tracers or the wakeup tracer is set to current tracer.\n\nMost developers expect to see output when starting up a latency\ntracer. But since the max_latency is already set to max, and\nit takes a latency greater than max_latency to be recorded, there\nis no trace. This is not the expected behavior and has even confused\nmyself.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a225cdd263f340c864febb1992802fb5b08bc328",
      "tree": "a457f609c0071216c37f255cbaba00217bf1a7ed",
      "parents": [
        "3eb36aa05329a47cbe201c151fd0024a4a3649cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 23:06:03 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:17:58 2009 +0100"
      },
      "message": "ftrace: remove static from function tracer functions\n\nImpact: clean up\n\nAfter reorganizing the functions in trace.c and trace_function.c,\nthey no longer need to be in global context. This patch makes the\nfunctions and one variable into static.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3eb36aa05329a47cbe201c151fd0024a4a3649cd",
      "tree": "305b4805a32b47387dc6f76161c20c9e72280e94",
      "parents": [
        "5e4abc9839191e213965e0f1dbf36e2e44356c3a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 22:21:43 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:17:46 2009 +0100"
      },
      "message": "ftrace: combine stack trace in function call\n\nImpact: less likely to interleave function and stack traces\n\nThis patch does replaces the separate stack trace on function with\na record function and stack trace together. This will switch between\nthe function only recording to a function and stack recording.\n\nAlso some whitespace fix ups as well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e4abc9839191e213965e0f1dbf36e2e44356c3a",
      "tree": "f2dee1eed74ef80778dc098114092baf0229e2ac",
      "parents": [
        "c37abc5515b5ed5b1d2134d2deaead492d9f92a2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 21:00:50 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:17:38 2009 +0100"
      },
      "message": "trace: clean up format errors in calls to trace_seq_printf\n\nAfter adding the printf format checking for trace_seq_printf, several\nwarnings now show up. This patch cleans them up.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c37abc5515b5ed5b1d2134d2deaead492d9f92a2",
      "tree": "7d60a9aacebe4d49eeba8aaff9e827b2cef67bc3",
      "parents": [
        "bb3c3c95f330f7bf16e33b002e48882616089db1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 20:50:54 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:17:29 2009 +0100"
      },
      "message": "trace: add gcc printf check to trace_seq_printf\n\nAndrew Morton suggested adding a printf checker to trace_seq_printf\nsince there are a number of users that have improper format arguments.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb3c3c95f330f7bf16e33b002e48882616089db1",
      "tree": "e2f4045f002fdb96adc3a82cbf24436063c82ce8",
      "parents": [
        "5361499101306cfb776c3cfa0f69d0479bc63868"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 20:40:23 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:17:10 2009 +0100"
      },
      "message": "ftrace: move function tracer functions out of trace.c\n\nImpact: clean up of trace.c\n\nThe function tracer functions were put in trace.c because it needed\nto share static variables that were in trace.c.  Since then, those\nvariables have become global for various reasons. This patch moves\nthe function tracer functions into trace_function.c where they belong.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5361499101306cfb776c3cfa0f69d0479bc63868",
      "tree": "1acf51a942abe6582e08ed86b4bbb98f9c095c89",
      "parents": [
        "6c1a99afbda99cd8d8c69d756387041567a13d87"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 19:12:40 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:15:32 2009 +0100"
      },
      "message": "ftrace: add stack trace to function tracer\n\nImpact: new feature to stack trace any function\n\nChris Mason asked about being able to pick and choose a function\nand get a stack trace from it. This feature enables his request.\n\n # echo io_schedule \u003e /debug/tracing/set_ftrace_filter\n # echo function \u003e /debug/tracing/current_tracer\n # echo func_stack_trace \u003e /debug/tracing/trace_options\n\nProduces the following in /debug/tracing/trace:\n\n       kjournald-702   [001]   135.673060: io_schedule \u003c-sync_buffer\n       kjournald-702   [002]   135.673671:\n \u003c\u003d sync_buffer\n \u003c\u003d __wait_on_bit\n \u003c\u003d out_of_line_wait_on_bit\n \u003c\u003d __wait_on_buffer\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n\nNote, be careful about turning this on without filtering the functions.\nYou may find that you have a 10 second lag between typing and seeing\nwhat you typed. This is why the stack trace for the function tracer\ndoes not use the same stack_trace flag as the other tracers use.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c1a99afbda99cd8d8c69d756387041567a13d87",
      "tree": "8f8c9d5cb072bb6d9f83f82c81cf81c123579863",
      "parents": [
        "55922173f1f63903b6de03711ab8ff980cbe58d2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jan 15 18:05:40 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 12:15:20 2009 +0100"
      },
      "message": "ftrace: fix trace_output\n\nImpact: fix bug for handling partial line\n\ntrace_seq_printf(), seq_print_userip_objs(), ... return\n0          -- partial line was written\nother(\u003e0)  -- success\n\nduplicate output is also removed in trace_print_raw().\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7",
      "tree": "df325aa5755e73c83b26110a78cec1f2acd345b7",
      "parents": [
        "a9f8d25b655c7b5e08c9ed67a2fd2fdbe79404a6",
        "6272d68cc6a5f90c6b1a2228cf0f67b895305d17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 2009 -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: sched_slice() fixlet\n  sched: fix update_min_vruntime\n  sched: SCHED_OTHER vs SCHED_IDLE isolation\n  sched: SCHED_IDLE weight change\n  sched: fix bandwidth validation for UID grouping\n  Revert \"sched: improve preempt debugging\"\n"
    },
    {
      "commit": "6ae301e85c9c58d2f430a8a7057ce488b7ff76df",
      "tree": "473a5da20df4868b13c2d4cadb2ce3804f548069",
      "parents": [
        "3eabdb76a03bbe8f556162738c264dbfb24cff6a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 15 13:51:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:38 2009 -0800"
      },
      "message": "resources: fix parameter name and kernel-doc\n\nFix __request_region() parameter kernel-doc notation and parameter name:\n\nWarning(linux-2.6.28-git10//kernel/resource.c:627): No description found for parameter \u0027flags\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45ce80fb6b6f9594d1396d44dd7e7c02d596fef8",
      "tree": "2409270f7073c08329ac01c82df0509a264af48c",
      "parents": [
        "23964d2d02984d44aeb2d84d7ffb3359e728df43"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 15 13:50:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:37 2009 -0800"
      },
      "message": "cgroups: consolidate cgroup documents\n\nMove Documentation/cpusets.txt and Documentation/controllers/* to\nDocumentation/cgroups/\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6272d68cc6a5f90c6b1a2228cf0f67b895305d17",
      "tree": "9f7e6635d4ffb9d713d3b2be83a4cd4bd4749080",
      "parents": [
        "e17036dac189dd034c092a91df56aa740db7146d"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jan 15 17:17:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 21:07:57 2009 +0100"
      },
      "message": "sched: sched_slice() fixlet\n\nMike\u0027s change: 0a582440f \"sched: fix sched_slice())\" broke group\nscheduling by forgetting to reload cfs_rq on each loop.\n\nThis patch fixes aim7 regression and specjbb2005 regression becomes\nless than 1.5% on 8-core stokley.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jayson King \u003cdev@jaysonking.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88fc241f54459ac3d86c5e13b449730199f66061",
      "tree": "d8148e145e9252b76b12b8d466ff3ecbfa4222ea",
      "parents": [
        "0773a6cf673316440999752e23f8c3d4f85e48b9"
      ],
      "author": {
        "name": "Doug Chapman",
        "email": "doug.chapman@hp.com",
        "time": "Thu Jan 15 10:38:56 2009 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Jan 15 10:38:56 2009 -0800"
      },
      "message": "[IA64] dump stack on kernel unaligned warnings\n\nOften the cause of kernel unaligned access warnings is not\nobvious from just the ip displayed in the warning.  This adds\nthe option via proc to dump the stack in addition to the warning.\nThe default is off (just display the 1 line warning).  To enable\nthe stack to be shown: echo 1 \u003e /proc/sys/kernel/unaligned-dump-stack\n\nSigned-off-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "e17036dac189dd034c092a91df56aa740db7146d",
      "tree": "e4dc53a5ad8cccf71e611db3ee001a2e5a1e38f8",
      "parents": [
        "6bc912b71b6f33b041cfde93ca3f019cbaa852bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:12:19 2009 +0100"
      },
      "message": "sched: fix update_min_vruntime\n\nImpact: fix SCHED_IDLE latency problems\n\nOK, so we have 1 running task A (which is obviously curr and the tree is\nequally obviously empty).\n\n\u0027A\u0027 nicely chugs along, doing its thing, carrying min_vruntime along as it\ngoes.\n\nThen some whacko speed freak SCHED_IDLE task gets inserted due to SMP\nbalancing, which is very likely far right, in that case\n\nupdate_curr\n  update_min_vruntime\n    cfs_rq-\u003erb_leftmost :\u003d true (the crazy task sitting in a tree)\n      vruntime \u003d se-\u003evruntime\n\nand voila, min_vruntime is waaay right of where it ought to be.\n\nOK, so why did I write it like that to begin with...\n\nAah, yes.\n\nSay we\u0027ve just dequeued current\n\nschedule\n  deactivate_task(prev)\n    dequeue_entity\n      update_min_vruntime\n\nThen we\u0027ll set\n\n  vruntime \u003d cfs_rq-\u003emin_vruntime;\n\nwe find !cfs_rq-\u003ecurr, but do find someone in the tree. Then we _must_\ndo vruntime \u003d se-\u003evruntime, because\n\n vruntime \u003d min_vruntime(vruntime :\u003d cfs_rq-\u003emin_vruntime, se-\u003evruntime)\n\nwill not advance vruntime, and cause lags the other way around (which we\nfixed with that initial patch: 1af5f730fc1bf7c62ec9fb2d307206e18bf40a69\n(sched: more accurate min_vruntime accounting).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bc912b71b6f33b041cfde93ca3f019cbaa852bc",
      "tree": "f6128f946bb275aa68f814f5f6a9c08df43965b7",
      "parents": [
        "cce7ade803699463ecc62a065ca522004f7ccb3d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:29 2009 +0100"
      },
      "message": "sched: SCHED_OTHER vs SCHED_IDLE isolation\n\nStronger SCHED_IDLE isolation:\n\n - no SCHED_IDLE buddies\n - never let SCHED_IDLE preempt on wakeup\n - always preempt SCHED_IDLE on wakeup\n - limit SLEEPER fairness for SCHED_IDLE.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cce7ade803699463ecc62a065ca522004f7ccb3d",
      "tree": "b71c6ccdae2920b1f55fb2e857fc3fa927bee630",
      "parents": [
        "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:28 2009 +0100"
      },
      "message": "sched: SCHED_IDLE weight change\n\nIncrease the SCHED_IDLE weight from 2 to 3, this gives much more stable\nvruntime numbers.\n\ntime advanced in 100ms:\n\n weight\u003d2\n\n 64765.988352\n 67012.881408\n 88501.412352\n\n weight\u003d3\n\n 35496.181411\n 34130.971298\n 35497.411573\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec",
      "tree": "fef4d0c48a91ce241555d4813b7f52beaf8b274c",
      "parents": [
        "01e3eb82278bf45221fc38b391bc5ee0f6a314d6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 14 10:56:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:27 2009 +0100"
      },
      "message": "sched: fix bandwidth validation for UID grouping\n\nImpact: make rt-limit tunables work again\n\nMark Glines reported:\n\n\u003e I\u0027ve got an issue on x86-64 where I can\u0027t configure the system to allow\n\u003e RT tasks for a non-root user.\n\u003e\n\u003e In 2.6.26.5, I was able to do the following to set things up nicely:\n\u003e echo 450000 \u003e/sys/kernel/uids/0/cpu_rt_runtime\n\u003e echo 450000 \u003e/sys/kernel/uids/1000/cpu_rt_runtime\n\u003e\n\u003e Seems like every value I try to echo into the /sys files returns EINVAL.\n\nFor UID grouping we initialize the root group with infinite bandwidth\nwhich by default is actually more than the global limit, therefore the\nbandwidth check always fails.\n\nBecause the root group is a phantom group (for UID grouping) we cannot\nruntime adjust it, therefore we let it reflect the global bandwidth\nsettings.\n\nReported-by: Mark Glines \u003cmark@glines.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "934d96eafadcf3eb3ccd094af9919f020907fc41",
      "tree": "8ccda81ddd77195ebe22d38b98d13f97452eedc6",
      "parents": [
        "6d612b0f943289856c6e8186c564cda922cd040e"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@infradead.org",
        "time": "Wed Jan 14 20:38:17 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 12:06:56 2009 +0100"
      },
      "message": "time-sched.c: tick_nohz_update_jiffies should be static\n\nImpact: cleanup, reduce kernel size a bit, avoid sparse warning\n\nFixes sparse warning:\n\n kernel/time/tick-sched.c:137:6: warning: symbol \u0027tick_nohz_update_jiffies\u0027 was not declared. Should it be static?\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55922173f1f63903b6de03711ab8ff980cbe58d2",
      "tree": "0a1f4a75a5255cf0b0f8256bdafeba87896584a7",
      "parents": [
        "42fab4b2cdc02cf28e2474ccfd75bc9225076590"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 11:31:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 11:31:21 2009 +0100"
      },
      "message": "tracing: trace_stat.c cleanup\n\nImpact: cleanup\n\n- whitespace / code alignment cleanups\n- avoid unnecessary forward prototype by reordering functions\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42fab4b2cdc02cf28e2474ccfd75bc9225076590",
      "tree": "22a620e154b2d73df89747a2d0b3bf6efc2f064b",
      "parents": [
        "4a2b8dda3f8705880ec7408135645602d5590f51"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 15 09:30:52 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 11:28:32 2009 +0100"
      },
      "message": "tracing/ftrace: add missing unlock in register_stat_tracer()\n\nWe should unlock all_stat_sessions_mutex before returning failure.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a2b8dda3f8705880ec7408135645602d5590f51",
      "tree": "94e13c979bd20c5aeb67b1cc5aadf87f8a47b25a",
      "parents": [
        "0ee6b6cf5bdb793b4c68507dd65adf16341aa4ca"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 14 13:33:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 09:47:40 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix a regression while suspend to disk\n\nImpact: fix a crash while kernel image restore\n\nWhen the function graph tracer is running and while suspend to disk, some racy\nand dangerous things happen against this tracer.\n\nThe current task will save its registers including the stack pointer which\ncontains the return address hooked by the tracer. But the current task will\ncontinue to enter other functions after that to save the memory, and then\nit will store other return addresses, and finally loose the old depth which\nmatches the return address saved in the old stack (during the registers saving).\n\nSo on image restore, the code will return to wrong addresses.\nAnd there are other things: on restore, the task will have it\u0027s \"current\"\npointer overwritten during registers restoring....switching from one task to\nanother... That would be insane to try to trace function graphs at these\nstages.\n\nThis patch makes the function graph tracer listening on power events, making\nit\u0027s tracing disabled for the current task (the one that performs the\nhibernation work) while suspend/resume to disk, making the tracing safe\nduring hibernation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ee6b6cf5bdb793b4c68507dd65adf16341aa4ca",
      "tree": "31f269948f100dffa68ff2683345c6a770dbd5df",
      "parents": [
        "6f3b34402e7282cde49dff395d7ea462bf33bf50"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 14:50:19 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 09:47:13 2009 +0100"
      },
      "message": "trace: stop all recording to ring buffer on ftrace_dump\n\nImpact: limit ftrace dump output\n\nCurrently ftrace_dump only calls ftrace_kill that is a fast way\nto prevent the function tracer functions from being called (just sets\na flag and clears the function to call, nothing else). It is better\nto also turn off any recording to the ring buffers as well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f3b34402e7282cde49dff395d7ea462bf33bf50",
      "tree": "9f6b01f62bc6065614f3f70aaff11da7f516e383",
      "parents": [
        "428aee1460a75197f0190534b4d610450ee59af1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Jan 12 11:06:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 09:46:40 2009 +0100"
      },
      "message": "ring_buffer: reset write when reserve buffer fail\n\nImpact: reset struct buffer_page.write when interrupt storm\n\nif struct buffer_page.write is not reset, any succedent committing\nwill corrupted ring_buffer:\n\nstatic inline void\nrb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer)\n{\n\t......\n\t\tcpu_buffer-\u003ecommit_page-\u003ecommit \u003d\n\t\t\tcpu_buffer-\u003ecommit_page-\u003ewrite;\n\t......\n}\n\nwhen \"if (RB_WARN_ON(cpu_buffer, next_page \u003d\u003d reader_page))\", ring_buffer\nis disabled, but some reserved buffers may haven\u0027t been committed.\nwe need reset struct buffer_page.write.\n\nwhen \"if (unlikely(next_page \u003d\u003d cpu_buffer-\u003ecommit_page))\", ring_buffer\nis still available, we should not corrupt it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "428aee1460a75197f0190534b4d610450ee59af1",
      "tree": "56eb2735c82c1556b1548f18ec75568e71954066",
      "parents": [
        "32632920a788fb13da35b131b77cc4324c38c1c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 12:24:42 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 09:45:09 2009 +0100"
      },
      "message": "trace: print ftrace_dump at KERN_EMERG log level\n\nImpact: fix to print out ftrace_dump when expected\n\nI was debugging a hard race condition to only find out that\nafter I hit the race, my log level was not at level to show\nKERN_INFO. The time it took to trigger the race was wasted because\nI did not capture the trace.\n\nSince ftrace_dump is only called from kernel oops (and only when\nit is set in the kernel command line to do so), or when a\ndeveloper adds it to their own local tree, the log level of\nthe print should be at KERN_EMERG to make sure the print appears.\n\nftrace_dump is not called by a normal user setup, and will not\nadd extra unwanted print out to the console. There is no reason\nit should be at KERN_INFO.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bca268565fd18f0b36ab8fff6e1623d8dffae2b1",
      "tree": "11abda03d7a7764cfa6a49a6ec2da1576b3058ee",
      "parents": [
        "74d96f018673759d04d032c137d132f6447bfb1e",
        "26689452f5ca201add63b1b1ff0dbcf82d6885e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "message": "Merge branch \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits)\n  [CVE-2009-0029] s390 specific system call wrappers\n  [CVE-2009-0029] System call wrappers part 33\n  [CVE-2009-0029] System call wrappers part 32\n  [CVE-2009-0029] System call wrappers part 31\n  [CVE-2009-0029] System call wrappers part 30\n  [CVE-2009-0029] System call wrappers part 29\n  [CVE-2009-0029] System call wrappers part 28\n  [CVE-2009-0029] System call wrappers part 27\n  [CVE-2009-0029] System call wrappers part 26\n  [CVE-2009-0029] System call wrappers part 25\n  [CVE-2009-0029] System call wrappers part 24\n  [CVE-2009-0029] System call wrappers part 23\n  [CVE-2009-0029] System call wrappers part 22\n  [CVE-2009-0029] System call wrappers part 21\n  [CVE-2009-0029] System call wrappers part 20\n  [CVE-2009-0029] System call wrappers part 19\n  [CVE-2009-0029] System call wrappers part 18\n  [CVE-2009-0029] System call wrappers part 17\n  [CVE-2009-0029] System call wrappers part 16\n  [CVE-2009-0029] System call wrappers part 15\n  ...\n"
    },
    {
      "commit": "2ea038917bbdd51a7ae4a898c6a04641324dd033",
      "tree": "6a6f8b1db4d097d260449f88c267e39ab9d2bb3f",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 14 21:38:20 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 14 21:38:20 2009 +0100"
      },
      "message": "Revert \"kbuild: strip generated symbols from *.ko\"\n\nThis reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483.\n\nAnd commit: (\"allow stripping of generated symbols under CONFIG_KALLSYMS_ALL\")\n            9bb482476c6c9d1ae033306440c51ceac93ea80c\n\nThese stripping patches has caused a set of issues:\n\n1) People have reported compatibility issues with binutils due to\n   lack of support for `--strip-unneeded-symbols\u0027 with objcopy 2.15.92.0.2\n   Reported by: Wenji\n2) ccache and distcc no longer works as expeced\n   Reported by: Ted, Roland, + others\n3) The installed modules increased a lot in size\n   Reported by: Ted, Davej + others\n\nReported-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nReported-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9316fcacb89c59fe556c48587ac02cd7f5d38045",
      "tree": "01e358788e2aef292d46fb8c1f598edf3449fe47",
      "parents": [
        "18e6959c385f3edf3991fa6662a53dac4eb10d5b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jan 14 09:35:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 09:42:11 2009 -0800"
      },
      "message": "kernel/up.c: omit it if SMP\u003dy, USE_GENERIC_SMP_HELPERS\u003dn\n\nFix the sparc build - we were including `up.o\u0027 on SMP builds, when\nCONFIG_USE_GENERIC_SMP_HELPERS\u003dn.\n\nTested-by: Robert Reif \u003creif@earthlink.net\u003e\nFixed-by: Robert Reif \u003creif@earthlink.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d4e82042c4cfa87a7d51710b71f568fe80132551"
}
