)]}'
{
  "log": [
    {
      "commit": "f82c37e7bb4c4d9b6a476c642d5c2d2efbd6f240",
      "tree": "09fc553c2fb6f527962048d139159dc139e04afc",
      "parents": [
        "c6b9e73f2fee8bb86058f296de808b326473456b",
        "dcd5c1662db59a6b82942f47fb6ac9dd63f6d3dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:52:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:52:46 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  perf: Fix unexported generic perf_arch_fetch_caller_regs\n  perf record: Don\u0027t try to find buildids in a zero sized file\n  perf: export perf_trace_regs and perf_arch_fetch_caller_regs\n  perf, x86: Fix hw_perf_enable() event assignment\n  perf, ppc: Fix compile error due to new cpu notifiers\n  perf: Make the install relative to DESTDIR if specified\n  kprobes: Calculate the index correctly when freeing the out-of-line execution slot\n  perf tools: Fix sparse CPU numbering related bugs\n  perf_event: Fix oops triggered by cpu offline/online\n  perf: Drop the obsolete profile naming for trace events\n  perf: Take a hot regs snapshot for trace events\n  perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot\n  perf/x86-64: Use frame pointer to walk on irq and process stacks\n  lockdep: Move lock events under lockdep recursion protection\n  perf report: Print the map table just after samples for which no map was found\n  perf report: Add multiple event support\n  perf session: Change perf_session post processing functions to take histogram tree\n  perf session: Add storage for seperating event types in report\n  perf session: Change add_hist_entry to take the tree root instead of session\n  perf record: Add ID and to recorded event data when recording multiple events\n  ...\n"
    },
    {
      "commit": "dcd5c1662db59a6b82942f47fb6ac9dd63f6d3dd",
      "tree": "432f0d89d45fc62d666d46e591ffe109f111cb1e",
      "parents": [
        "9f591fd76afdc0e5192e9ed00a36f8efc0b4dfe6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 16 01:05:02 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 17 12:26:49 2010 +0100"
      },
      "message": "perf: Fix unexported generic perf_arch_fetch_caller_regs\n\nperf_arch_fetch_caller_regs() is exported for the overriden x86\nversion, but not for the generic weak version.\n\nAs a general rule, weak functions should not have their symbol\nexported in the same file they are defined.\n\nSo let\u0027s export it on trace_event_perf.c as it is used by trace\nevents only.\n\nThis fixes:\n\n\tERROR: \".perf_arch_fetch_caller_regs\" [fs/xfs/xfs.ko] undefined!\n\tERROR: \".perf_arch_fetch_caller_regs\" [arch/powerpc/platforms/cell/spufs/spufs.ko] undefined!\n\n-v2: And also only build it if trace events are enabled.\n-v3: Fix changelog mistake\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1268697902-9518-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80a186074e72e2cd61f6716d90cf32ce54981a56",
      "tree": "c5f75a83498df0ea2109067b797ec7986479dda0",
      "parents": [
        "15c989d4d14b82f43cae7efc6a7794cdd556f274",
        "3d07467b7aa91623b31d7b5888a123a2c8c8e9cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -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: Fix pick_next_highest_task_rt() for cgroups\n  sched: Cleanup: remove unused variable in try_to_wake_up()\n  x86: Fix sched_clock_cpu for systems with unsynchronized TSC\n"
    },
    {
      "commit": "4e3eaddd142e2142c048c5052a0a9d2604fccfc6",
      "tree": "5bc45a286502e54e790c54948f22364c5afd9d89",
      "parents": [
        "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
        "b97c4bc16734a2e597dac7f91ee9eb78f4aeef9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:43:01 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:43:01 2010 -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  locking: Make sparse work with inline spinlocks and rwlocks\n  x86/mce: Fix RCU lockdep splats\n  rcu: Increase RCU CPU stall timeouts if PROVE_RCU\n  ftrace: Replace read_barrier_depends() with rcu_dereference_raw()\n  rcu: Suppress RCU lockdep warnings during early boot\n  rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare()\n  rcu: Suppress __mpol_dup() false positive from RCU lockdep\n  rcu: Make rcu_read_lock_sched_held() handle !PREEMPT\n  rcu: Add control variables to lockdep_rcu_dereference() diagnostics\n  rcu, cgroup: Relax the check in task_subsys_state() as early boot is now handled by lockdep-RCU\n  rcu: Use wrapper function instead of exporting tasklist_lock\n  sched, rcu: Fix rcu_dereference() for RCU-lockdep\n  rcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use\n  rcu: Fix holdoff for accelerated GPs for last non-dynticked CPU\n  x86/gart: Unexport gart_iommu_aperture\n\nFix trivial conflicts in kernel/trace/ftrace.c\n"
    },
    {
      "commit": "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
      "tree": "711b6da2a665e26940c59b9db493c59d879f6cc6",
      "parents": [
        "461d208cfbd1f0af26027b2c35ded515e54b1ee6",
        "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Do not record user stack trace from NMI context\n  tracing: Disable buffer switching when starting or stopping trace\n  tracing: Use same local variable when resetting the ring buffer\n  function-graph: Init curr_ret_stack with ret_stack\n  ring-buffer: Move disabled check into preempt disable section\n  function-graph: Add tracing_thresh support to function_graph tracer\n  tracing: Update the comm field in the right variable in update_max_tr\n  function-graph: Use comment notation for func names of dangling \u0027}\u0027\n  function-graph: Fix unused reference to ftrace_set_func()\n  tracing: Fix warning in s_next of trace file ops\n  tracing: Include irqflags headers from trace clock\n"
    },
    {
      "commit": "9fdfbc2bff587f454dd95e2caa6d147c9abe39e4",
      "tree": "2feaee47cbcfb57dd0d5cf23509e22011541e717",
      "parents": [
        "8cea4eb642890a1de58980e7e1617d1765ef8f7c",
        "dc1d628a67a8f042e711ea5accc0beedc3ef0092"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:42 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Provide generic perf_sample_data initialization\n  MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer\n  perf trace: Don\u0027t use pager if scripting\n  perf trace/scripting: Remove extraneous header read\n  perf, ARM: Modify kuser rmb() call to compile for Thumb-2\n  x86/stacktrace: Don\u0027t dereference bad frame pointers\n  perf archive: Don\u0027t try to collect files without a build-id\n  perf_events, x86: Fixup fixed counter constraints\n  perf, x86: Restrict the ANY flag\n  perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE\n  perf, x86: add some IBS macros to perf_event.h\n  perf, x86: make IBS macros available in perf_event.h\n  hw-breakpoints: Remove stub unthrottle callback\n  x86/hw-breakpoints: Remove the name field\n  perf: Remove pointless breakpoint union\n  perf lock: Drop the buffers multiplexing dependency\n  perf lock: Fix and add misc documentally things\n  percpu: Add __percpu sparse annotations to hw_breakpoint\n"
    },
    {
      "commit": "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15",
      "tree": "5f7d831ab4de8f8c3577230ba8b15e0681eef52f",
      "parents": [
        "a2f8071428ed9a0f06865f417c962421c9a6b488"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 20:03:30 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:31:49 2010 -0500"
      },
      "message": "tracing: Do not record user stack trace from NMI context\n\nA bug was found with Li Zefan\u0027s ftrace_stress_test that caused applications\nto segfault during the test.\n\nPlacing a tracing_off() in the segfault code, and examining several\ntraces, I found that the following was always the case. The lock tracer\nwas enabled (lockdep being required) and userstack was enabled. Testing\nthis out, I just enabled the two, but that was not good enough. I needed\nto run something else that could trigger it. Running a load like hackbench\ndid not work, but executing a new program would. The following would\ntrigger the segfault within seconds:\n\n  # echo 1 \u003e /debug/tracing/options/userstacktrace\n  # echo 1 \u003e /debug/tracing/events/lock/enable\n  # while :; do ls \u003e /dev/null ; done\n\nEnabling the function graph tracer and looking at what was happening\nI finally noticed that all cashes happened just after an NMI.\n\n 1)               |    copy_user_handle_tail() {\n 1)               |      bad_area_nosemaphore() {\n 1)               |        __bad_area_nosemaphore() {\n 1)               |          no_context() {\n 1)               |            fixup_exception() {\n 1)   0.319 us    |              search_exception_tables();\n 1)   0.873 us    |            }\n[...]\n 1)   0.314 us    |  __rcu_read_unlock();\n 1)   0.325 us    |    native_apic_mem_write();\n 1)   0.943 us    |  }\n 1)   0.304 us    |  rcu_nmi_exit();\n[...]\n 1)   0.479 us    |  find_vma();\n 1)               |  bad_area() {\n 1)               |    __bad_area() {\n\nAfter capturing several traces of failures, all of them happened\nafter an NMI. Curious about this, I added a trace_printk() to the NMI\nhandler to read the regs-\u003eip to see where the NMI happened. In which I\nfound out it was here:\n\nffffffff8135b660 \u003cpage_fault\u003e:\nffffffff8135b660:       48 83 ec 78             sub    $0x78,%rsp\nffffffff8135b664:       e8 97 01 00 00          callq  ffffffff8135b800 \u003cerror_entry\u003e\n\nWhat was happening is that the NMI would happen at the place that a page\nfault occurred. It would call rcu_read_lock() which was traced by\nthe lock events, and the user_stack_trace would run. This would trigger\na page fault inside the NMI. I do not see where the CR2 register is\nsaved or restored in NMI handling. This means that it would corrupt\nthe page fault handling that the NMI interrupted.\n\nThe reason the while loop of ls helped trigger the bug, was that\neach execution of ls would cause lots of pages to be faulted in, and\nincrease the chances of the race happening.\n\nThe simple solution is to not allow user stack traces in NMI context.\nAfter this patch, I ran the above \"ls\" test for a couple of hours\nwithout any issues. Without this patch, the bug would trigger in less\nthan a minute.\n\nCc: stable@kernel.org\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a2f8071428ed9a0f06865f417c962421c9a6b488",
      "tree": "731d1e4f684fa5e5e27b56f1ed5f74d5945b20bd",
      "parents": [
        "283740c619d211e34572cc93c8cdba92ccbdb9cc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 19:56:00 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:30:21 2010 -0500"
      },
      "message": "tracing: Disable buffer switching when starting or stopping trace\n\nWhen the trace iterator is read, tracing_start() and tracing_stop()\nis called to stop tracing while the iterator is processing the trace\noutput.\n\nThese functions disable both the standard buffer and the max latency\nbuffer. But if the wakeup tracer is running, it can switch these\nbuffers between the two disables:\n\n  buffer \u003d global_trace.buffer;\n  if (buffer)\n      ring_buffer_record_disable(buffer);\n\n      \u003c\u003c\u003c--------- swap happens here\n\n  buffer \u003d max_tr.buffer;\n  if (buffer)\n      ring_buffer_record_disable(buffer);\n\nWhat happens is that we disabled the same buffer twice. On tracing_start()\nwe can enable the same buffer twice. All ring_buffer_record_disable()\nmust be matched with a ring_buffer_record_enable() or the buffer\ncan be disable permanently, or enable prematurely, and cause a bug\nwhere a reset happens while a trace is commiting.\n\nThis patch protects these two by taking the ftrace_max_lock to prevent\na switch from occurring.\n\nFound with Li Zefan\u0027s ftrace_stress_test.\n\nCc: stable@kernel.org\nReported-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "283740c619d211e34572cc93c8cdba92ccbdb9cc",
      "tree": "3bdce475017ff9a5fe82c6d214d27b27e555320c",
      "parents": [
        "ea14eb714041d40fcc5180b5a586034503650149"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 19:48:41 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:29:20 2010 -0500"
      },
      "message": "tracing: Use same local variable when resetting the ring buffer\n\nIn the ftrace code that resets the ring buffer it references the\nbuffer with a local variable, but then uses the tr-\u003ebuffer as the\nparameter to reset. If the wakeup tracer is running, which can\nswitch the tr-\u003ebuffer with the max saved buffer, this can break\nthe requirement of disabling the buffer before the reset.\n\n   buffer \u003d tr-\u003ebuffer;\n   ring_buffer_record_disable(buffer);\n   synchronize_sched();\n   __tracing_reset(tr-\u003ebuffer, cpu);\n\nIf the tr-\u003ebuffer is swapped, then the reset is not happening to the\nbuffer that was disabled. This will cause the ring buffer to fail.\n\nFound with Li Zefan\u0027s ftrace_stress_test.\n\nCc: stable@kernel.org\nReported-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ea14eb714041d40fcc5180b5a586034503650149",
      "tree": "a7cb72753c85cf79ac6fa31863d65d2f081e0823",
      "parents": [
        "52fbe9cde7fdb5c6fac196d7ebd2d92d05ef3cd4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 12 19:41:23 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:28:02 2010 -0500"
      },
      "message": "function-graph: Init curr_ret_stack with ret_stack\n\nIf the graph tracer is active, and a task is forked but the allocating of\nthe processes graph stack fails, it can cause crash later on.\n\nThis is due to the temporary stack being NULL, but the curr_ret_stack\nvariable is copied from the parent. If it is not -1, then in\nftrace_graph_probe_sched_switch() the following:\n\n\tfor (index \u003d next-\u003ecurr_ret_stack; index \u003e\u003d 0; index--)\n\t\tnext-\u003eret_stack[index].calltime +\u003d timestamp;\n\nWill cause a kernel OOPS.\n\nFound with Li Zefan\u0027s ftrace_stress_test.\n\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "52fbe9cde7fdb5c6fac196d7ebd2d92d05ef3cd4",
      "tree": "77ec9beecf7a58ed06f59c589f122caf87ec4f0b",
      "parents": [
        "915a0b575fdb2376135ed9334b3ccb1eb51db622"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 08 14:50:43 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 12 20:26:56 2010 -0500"
      },
      "message": "ring-buffer: Move disabled check into preempt disable section\n\nThe ring buffer resizing and resetting relies on a schedule RCU\naction. The buffers are disabled, a synchronize_sched() is called\nand then the resize or reset takes place.\n\nBut this only works if the disabling of the buffers are within the\npreempt disabled section, otherwise a window exists that the buffers\ncan be written to while a reset or resize takes place.\n\nCc: stable@kernel.org\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B949E43.2010906@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "64d5aea30062ce9f3ce7c62be8ae65e776cbfee2",
      "tree": "7020f4b8533d7fcf5eb24494453515ee672dd172",
      "parents": [
        "3836a03d978e68b0ae00d3589089343c998cd4ff",
        "ad6759fbf35d104dbf573cd6f4c6784ad6823f7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:27:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:27:08 2010 -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  timekeeping: Prevent oops when GENERIC_TIME\u003dn\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "2edf5e49800846a2b2b6461d99cdae18067c440f",
      "tree": "a03fc295676a23c30ae467ba96a1efaf5762dd90",
      "parents": [
        "4f0e056fdebc15d3f4724ebc7bbf323158add1d7"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: lockdep\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove lockdep extern declarations to linux/lockdep.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f0e056fdebc15d3f4724ebc7bbf323158add1d7",
      "tree": "79823a3e71a696fa9d4148a2ad0709c5deb07805",
      "parents": [
        "c55b7c3e82d0ad58f35a0785faaaf2f70b9b6cd3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: rtmutex\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove max_lock_depth extern declaration to linux/rtmutex.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c55b7c3e82d0ad58f35a0785faaaf2f70b9b6cd3",
      "tree": "5672da5b62c6c8e0c806a6b235de5131f7b974c8",
      "parents": [
        "15485a4682d1d3bfee2aa78b4b1a5d36f5746b64"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: acct\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove acct_parm extern declaration to linux/acct.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15485a4682d1d3bfee2aa78b4b1a5d36f5746b64",
      "tree": "538857520760de1cf3575c8b5e4f73bab70557ff",
      "parents": [
        "5ed109103d73b0bafc92e860cead56725231384d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: sg\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove sg_big_buff extern declaration to scsi/sg.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Doug Gilbert \u003cdgilbert@interlog.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ed109103d73b0bafc92e860cead56725231384d",
      "tree": "4744e2d3c0e11095865e22ff285f71b7fb542f3d",
      "parents": [
        "e5ab67726f33b50f40db0ccf271ceb3c658554d5"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:06 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:10 2010 -0800"
      },
      "message": "sysctl extern cleanup: module\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove modprobe_path extern declaration to linux/kmod.h\nMove modules_disabled extern declaration to linux/module.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5ab67726f33b50f40db0ccf271ceb3c658554d5",
      "tree": "b4616f1f7e077f4dd4cc2586f0e8db8acd8a322b",
      "parents": [
        "d33ed52d57e794eba55cea3f5eab3c8f80b6cb5a"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:24:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:53:08 2010 -0800"
      },
      "message": "sysctl extern cleanup: rcu\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove rcutorture_runnable extern declaration to linux/rcupdate.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33ed52d57e794eba55cea3f5eab3c8f80b6cb5a",
      "tree": "b501f3364f5771dd538eceb3a98d0cb0a1dd5dea",
      "parents": [
        "eb5572fed55f4c2b7dbc42582bc82dcb47632380"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:23:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:44 2010 -0800"
      },
      "message": "sysctl extern cleanup: signal\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove print_fatal_signals extern declaration to linux/signal.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb5572fed55f4c2b7dbc42582bc82dcb47632380",
      "tree": "57a6e2d44831f6509d9fadcaa4a47d549cb974d9",
      "parents": [
        "d759c3745e62c36fd7efee7a2ce2a327f22e9056"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 10 15:23:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:44 2010 -0800"
      },
      "message": "sysctl extern cleanup: C_A_D\n\nExtern declarations in sysctl.c should be moved to their own header file,\nand then include them in relavant .c files.\n\nMove C_A_D extern variable declaration to linux/reboot.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8467005da3ef6104b89a4cc5e9c9d9445b75565f",
      "tree": "e21eb9f439a9e17e66d90c691f400db3a5b0c54d",
      "parents": [
        "13aa9a6b0f2371d2ce0de57c2ede62ab7a787157"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 10 15:23:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:40 2010 -0800"
      },
      "message": "nsproxy: remove INIT_NSPROXY()\n\nRemove INIT_NSPROXY(), use C99 initializer.\nRemove INIT_IPC_NS(), INIT_NET_NS() while I\u0027m at it.\n\nNote: headers trim will be done later, now it\u0027s quite pointless because\nresults will be invalidated by merge window.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13aa9a6b0f2371d2ce0de57c2ede62ab7a787157",
      "tree": "cf6e3d79a3defc5a291575aa26a5405d9815a5a5",
      "parents": [
        "6edb6764409392836b44a61b06d94954efd6200f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Mar 10 15:23:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:40 2010 -0800"
      },
      "message": "pid_ns: zap_pid_ns_processes: use SEND_SIG_NOINFO instead of force_sig()\n\nzap_pid_ns_processes() uses force_sig(SIGKILL) to ensure SIGKILL will be\ndelivered to sub-namespace inits as well.  This is correct, but we are\ngoing to change force_sig_info() semantics.  See\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d15395#c31\n\nWe can use send_sig_info(SEND_SIG_NOINFO) instead, since\n614c517d7c00af1b26ded20646b329397d6f51a1 (\"signals: SEND_SIG_NOINFO should\nbe considered as SI_FROMUSER()\") SEND_SIG_NOINFO means \"from user\" and\ntherefore send_signal() will get the correct from_ancestor_ns \u003d T flag.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93c59907c6f247d09239135caecf294a106a2ae0",
      "tree": "f115d3763f7479ebbb9516c96bce68237edef860",
      "parents": [
        "4dd66e69d472f0ba5355a2529364d0db9a18a02b"
      ],
      "author": {
        "name": "Veaceslav Falico",
        "email": "vfalico@redhat.com",
        "time": "Wed Mar 10 15:23:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:39 2010 -0800"
      },
      "message": "copy_signal() cleanup: clean thread_group_cputime_init()\n\nRemove unneeded initializations in thread_group_cputime_init() and in\nposix_cpu_timers_init_group().  They are useless after kmem_cache_zalloc()\nwas used in copy_signal().\n\nSigned-off-by: Veaceslav Falico \u003cvfalico@redhat.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dd66e69d472f0ba5355a2529364d0db9a18a02b",
      "tree": "b0ea53215bbe61d678090385018de64821eb6831",
      "parents": [
        "a56704ef6b0c5796c9ff38cc78aa232dfb9644d7"
      ],
      "author": {
        "name": "Veaceslav Falico",
        "email": "vfalico@redhat.com",
        "time": "Wed Mar 10 15:23:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:39 2010 -0800"
      },
      "message": "copy_signal() cleanup: kill taskstats_tgid_init() and acct_init_pacct()\n\nKill unused functions taskstats_tgid_init() and acct_init_pacct() because\nwe don\u0027t use them anywhere after using kmem_cache_zalloc() in\ncopy_signal().\n\nSigned-off-by: Veaceslav Falico \u003cvfalico@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56704ef6b0c5796c9ff38cc78aa232dfb9644d7",
      "tree": "7f304a916fbcd22388ed1a66c63c5571f9572bd7",
      "parents": [
        "e34112e3966fc466ced2698e6c196bb50b1ee20e"
      ],
      "author": {
        "name": "Veaceslav Falico",
        "email": "vfalico@redhat.com",
        "time": "Wed Mar 10 15:23:01 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:39 2010 -0800"
      },
      "message": "copy_signal() cleanup: use zalloc and remove initializations\n\nUse kmem_cache_zalloc() on signal creation and remove unneeded\ninitialization lines in copy_signal().\n\nSigned-off-by: Veaceslav Falico \u003cvfalico@redhat.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0a4db548edcce067c1201ef25cf2bc29f32dca4",
      "tree": "6f8139a582179666cd248d978332ed0e32ad9f0f",
      "parents": [
        "4ab78683c17d739c2a2077141dcf81a02b7fb57e"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroups: remove events before destroying subsystem state objects\n\nEvents should be removed after rmdir of cgroup directory, but before\ndestroying subsystem state objects.  Let\u0027s take reference to cgroup\ndirectory dentry to do that.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hioryu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ab78683c17d739c2a2077141dcf81a02b7fb57e",
      "tree": "5884c1b7e20d1975d668d07dbf43202d737ec7bf",
      "parents": [
        "daaf1e68874c078a15ae6ae827751839c4d81739"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroups: fix race between userspace and kernelspace\n\nNotify userspace about cgroup removing only after rmdir of cgroup\ndirectory to avoid race between userspace and kernelspace.\n\neventfd are used to notify about two types of event:\n - control file-specific, like crossing memory threshold;\n - cgroup removing.\n\nTo understand what really happen, userspace can check if the cgroup still\nexists.  To avoid race beetween userspace and kernelspace we have to\nnotify userspace about cgroup removing only after rmdir of cgroup\ndirectory.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dea116876eefc9c7ca9c5d74fe665481e499fa3",
      "tree": "446ef64c99a234cf076b6d43efe42c8b48a928c7",
      "parents": [
        "483c30b514bd3037fa3f19fa42327c94c10f51c8"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Wed Mar 10 15:22:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:37 2010 -0800"
      },
      "message": "cgroup: implement eventfd-based generic API for notifications\n\nThis patchset introduces eventfd-based API for notifications in cgroups\nand implements memory notifications on top of it.\n\nIt uses statistics in memory controler to track memory usage.\n\nOutput of time(1) on building kernel on tmpfs:\n\nRoot cgroup before changes:\n\tmake -j2  506.37 user 60.93s system 193% cpu 4:52.77 total\nNon-root cgroup before changes:\n\tmake -j2  507.14 user 62.66s system 193% cpu 4:54.74 total\nRoot cgroup after changes (0 thresholds):\n\tmake -j2  507.13 user 62.20s system 193% cpu 4:53.55 total\nNon-root cgroup after changes (0 thresholds):\n\tmake -j2  507.70 user 64.20s system 193% cpu 4:55.70 total\nRoot cgroup after changes (1 thresholds, never crossed):\n\tmake -j2  506.97 user 62.20s system 193% cpu 4:53.90 total\nNon-root cgroup after changes (1 thresholds, never crossed):\n\tmake -j2  507.55 user 64.08s system 193% cpu 4:55.63 total\n\nThis patch:\n\nIntroduce the write-only file \"cgroup.event_control\" in every cgroup.\n\nTo register new notification handler you need:\n- create an eventfd;\n- open a control file to be monitored. Callbacks register_event() and\n  unregister_event() must be defined for the control file;\n- write \"\u003cevent_fd\u003e \u003ccontrol_fd\u003e \u003cargs\u003e\" to cgroup.event_control.\n  Interpretation of args is defined by control file implementation;\n\neventfd will be woken up by control file implementation or when the\ncgroup is removed.\n\nTo unregister notification handler just close eventfd.\n\nIf you need notification functionality for a control file you have to\nimplement callbacks register_event() and unregister_event() in the\nstruct cftype.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Kconfig fix]\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nPaul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dan Malek \u003cdan@embeddedalley.com\u003e\nCc: Vladislav Buzov \u003cvbuzov@embeddedalley.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b70cc5fdb445a6929a01e9c406593265b136c99d",
      "tree": "7ca8ec384bd93de2ba516f045d9c8c5c77f5b84a",
      "parents": [
        "67523c48aa74d5637848edeccf285af1c60bf14a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 10 15:22:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: clean up cgroup_pidlist_find() a bit\n\nDon\u0027t call get_pid_ns() before we locate/alloc the ns.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67523c48aa74d5637848edeccf285af1c60bf14a",
      "tree": "ebd14992e210c8dfb503ae5fdffc1f5392ad52df",
      "parents": [
        "8ca712ea84728531d36841ca8f98f9e8680bcf4e"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: blkio subsystem as module\n\nModify the Block I/O cgroup subsystem to be able to be built as a module.\nAs the CFQ disk scheduler optionally depends on blk-cgroup, config options\nin block/Kconfig, block/Kconfig.iosched, and block/blk-cgroup.h are\nenhanced to support the new module dependency.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@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": "cf5d5941fda647fe3d2f2d00cf9e0245236a5f08",
      "tree": "deee6501f2f08089a2cd62732c3848a59a6f6a93",
      "parents": [
        "e6a1105ba08b265023dd71a4174fb4a29ebc7083"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: subsystem module unloading\n\nProvides support for unloading modular subsystems.\n\nThis patch adds a new function cgroup_unload_subsys which is to be used\nfor removing a loaded subsystem during module deletion.  Reference\ncounting of the subsystems\u0027 modules is moved from once (at load time) to\nonce per attached hierarchy (in parse_cgroupfs_options and\nrebind_subsystems) (i.e., 0 or 1).\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6a1105ba08b265023dd71a4174fb4a29ebc7083",
      "tree": "c171a012df4364b0feac5d6f1bf8c354164ab0f9",
      "parents": [
        "aae8aab40367036931608fdaf9e2dc568b516f19"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: subsystem module loading interface\n\nAdd interface between cgroups subsystem management and module loading\n\nThis patch implements rudimentary module-loading support for cgroups -\nnamely, a cgroup_load_subsys (similar to cgroup_init_subsys) for use as a\nmodule initcall, and a struct module pointer in struct cgroup_subsys.\n\nSeveral functions that might be wanted by modules have had EXPORT_SYMBOL\nadded to them, but it\u0027s unclear exactly which functions want it and which\nwon\u0027t.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aae8aab40367036931608fdaf9e2dc568b516f19",
      "tree": "b2a06ee21042eb3972ecd9e4153d61a8f6ed53cb",
      "parents": [
        "d7b9fff711d5e8db8c844161c684017e556c38a0"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Mar 10 15:22:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroups: revamp subsys array\n\nThis patch series provides the ability for cgroup subsystems to be\ncompiled as modules both within and outside the kernel tree.  This is\nmainly useful for classifiers and subsystems that hook into components\nthat are already modules.  cls_cgroup and blkio-cgroup serve as the\nexample use cases for this feature.\n\nIt provides an interface cgroup_load_subsys() and cgroup_unload_subsys()\nwhich modular subsystems can use to register and depart during runtime.\nThe net_cls classifier subsystem serves as the example for a subsystem\nwhich can be converted into a module using these changes.\n\nPatch #1 sets up the subsys[] array so its contents can be dynamic as\nmodules appear and (eventually) disappear.  Iterations over the array are\nmodified to handle when subsystems are absent, and the dynamic section of\nthe array is protected by cgroup_mutex.\n\nPatch #2 implements an interface for modules to load subsystems, called\ncgroup_load_subsys, similar to cgroup_init_subsys, and adds a module\npointer in struct cgroup_subsys.\n\nPatch #3 adds a mechanism for unloading modular subsystems, which includes\na more advanced rework of the rudimentary reference counting introduced in\npatch 2.\n\nPatch #4 modifies the net_cls subsystem, which already had some module\ndeclarations, to be configurable as a module, which also serves as a\nsimple proof-of-concept.\n\nPart of implementing patches 2 and 4 involved updating css pointers in\neach css_set when the module appears or leaves.  In doing this, it was\ndiscovered that css_sets always remain linked to the dummy cgroup,\nregardless of whether or not any subsystems are actually bound to it\n(i.e., not mounted on an actual hierarchy).  The subsystem loading and\nunloading code therefore should keep in mind the special cases where the\nadded subsystem is the only one in the dummy cgroup (and therefore all\ncss_sets need to be linked back into it) and where the removed subsys was\nthe only one in the dummy cgroup (and therefore all css_sets should be\nunlinked from it) - however, as all css_sets always stay attached to the\ndummy cgroup anyway, these cases are ignored.  Any fix that addresses this\nissue should also make sure these cases are addressed in the subsystem\nloading and unloading code.\n\nThis patch:\n\nMake subsys[] able to be dynamically populated to support modular\nsubsystems\n\nThis patch reworks the way the subsys[] array is used so that subsystems\ncan register themselves after boot time, and enables the internals of\ncgroups to be able to handle when subsystems are not present or may\nappear/disappear.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7b9fff711d5e8db8c844161c684017e556c38a0",
      "tree": "fea09ff79fe543edc2d8c0e85d35de1b2c783f2d",
      "parents": [
        "2468c7234b366eeb799ee0648cb58f9cba394a54"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 10 15:22:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:36 2010 -0800"
      },
      "message": "cgroup: introduce coalesce css_get() and css_put()\n\nCurrent css_get() and css_put() increment/decrement css-\u003erefcnt one by\none.\n\nThis patch add a new function __css_get(), which takes \"count\" as a arg\nand increment the css-\u003erefcnt by \"count\".  And this patch also add a new\narg(\"count\") to __css_put() and change the function to decrement the\ncss-\u003erefcnt by \"count\".\n\nThese coalesce version of __css_get()/__css_put() will be used to improve\nperformance of memcg\u0027s moving charge feature later, where instead of\ncalling css_get()/css_put() repeatedly, these new functions will be used.\n\nNo change is needed for current users of css_get()/css_put().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2468c7234b366eeb799ee0648cb58f9cba394a54",
      "tree": "050d7ea224b975eb71b05bf472f14f4c7bb13670",
      "parents": [
        "5ce9f07bf1bed9a1f9886373ad0b149294f84c25"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 10 15:22:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:35 2010 -0800"
      },
      "message": "cgroup: introduce cancel_attach()\n\nAdd cancel_attach() operation to struct cgroup_subsys.  cancel_attach()\ncan be used when can_attach() operation prepares something for the subsys,\nbut we should rollback what can_attach() operation has prepared if attach\ntask fails after we\u0027ve succeeded in can_attach().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cacdb4add1b1e50fe75edc50ebbb7bddd9cf5e7",
      "tree": "bd6595bb8c5c7e20ad01ed7ef766d873e5d26db3",
      "parents": [
        "e28cbf22933d0c0ccaf3c4c27a1a263b41f73859"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 10 15:21:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:32 2010 -0800"
      },
      "message": "Add generic sys_olduname()\n\nAdd generic implementations of the old and really old uname system calls.\nNote that sh only implements sys_olduname but not sys_oldolduname, but I\u0027m\nnot going to bother with another ifdef for that special case.\n\nm32r implemented an old uname but never wired it up, so kill it, too.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e28cbf22933d0c0ccaf3c4c27a1a263b41f73859",
      "tree": "a93ff48cfd97766a23b2c4f3ea86fccfc9c51d3f",
      "parents": [
        "baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 10 15:21:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:32 2010 -0800"
      },
      "message": "improve sys_newuname() for compat architectures\n\nOn an architecture that supports 32-bit compat we need to override the\nreported machine in uname with the 32-bit value.  Instead of doing this\nseparately in every architecture introduce a COMPAT_UTS_MACHINE define in\n\u003casm/compat.h\u003e and apply it directly in sys_newuname().\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670",
      "tree": "38f23cd9888b92de3f73ed1f4ce48cd83e940e0e",
      "parents": [
        "a4679373cf4ee0e7792dc56205365732b725c2c1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 10 15:21:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:32 2010 -0800"
      },
      "message": "Add generic sys_ipc wrapper\n\nAdd a generic implementation of the ipc demultiplexer syscall.  Except for\ns390 and sparc64 all implementations of the sys_ipc are nearly identical.\n\nThere are slight differences in the types of the parameters, where mips\nand powerpc as the only 64-bit architectures with sys_ipc use unsigned\nlong for the \"third\" argument as it gets casted to a pointer later, while\nit traditionally is an \"int\" like most other paramters.  frv goes even\nfurther and uses unsigned long for all parameters execept for \"ptr\" which\nis a pointer type everywhere.  The change from int to unsigned long for\n\"third\" and back to \"int\" for the others on frv should be fine due to the\nin-register calling conventions for syscalls (we already had a similar\nissue with the generic sys_ptrace), but I\u0027d prefer to have the arch\nmaintainers looks over this in details.\n\nExcept for that h8300, m68k and m68knommu lack an impplementation of the\nsemtimedop sub call which this patch adds, and various architectures have\ngets used - at least on i386 it seems superflous as the compat code on\nx86-64 and ia64 doesn\u0027t even bother to implement it.\n\n[akpm@linux-foundation.org: add sys_ipc to sys_ni.c]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d07467b7aa91623b31d7b5888a123a2c8c8e9cc",
      "tree": "f7acd28870838db783146b3c87f1d56bd1c42ef2",
      "parents": [
        "ab3b3aa5dd01b3aaa6b15caee113b21b1b6520c4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 10 17:07:24 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 15:21:50 2010 +0100"
      },
      "message": "sched: Fix pick_next_highest_task_rt() for cgroups\n\nSince pick_next_highest_task_rt() already iterates all the cgroups and\nis really only interested in tasks, skip over the !task entries.\n\nReported-by: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "639fe4b12f92b54c9c3b38c82cdafaa38cfd3e63",
      "tree": "145b856d6945bf8575e0b1636a91be6474f87562",
      "parents": [
        "45e16a6834b6af098702e5ea6c9a40de42ff77d8"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Mar 11 15:30:35 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 15:21:29 2010 +0100"
      },
      "message": "perf: export perf_trace_regs and perf_arch_fetch_caller_regs\n\nExport perf_trace_regs and perf_arch_fetch_caller_regs since module will\nuse these.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\n[ use EXPORT_PER_CPU_SYMBOL_GPL() ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4B989C1B.2090407@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83ff56f46a8532488ee364bb93a9cb2a59490d33",
      "tree": "eacccd619d004b2578bc14e6049eb7c03aac8bb0",
      "parents": [
        "a12b51c478899fe0b7e874a559b05ba35f1128ee"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Mar 09 10:22:19 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 14:06:16 2010 +0100"
      },
      "message": "kprobes: Calculate the index correctly when freeing the out-of-line execution slot\n\nFrom : Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\n\nWhen freeing the instruction slot, the arithmetic to calculate\nthe index of the slot in the page needs to account for the total\nsize of the instruction on the various architectures.\n\nCalculate the index correctly when freeing the out-of-line\nexecution slot.\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c4B9667AB.9050507@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab3b3aa5dd01b3aaa6b15caee113b21b1b6520c4",
      "tree": "22801ccd492e5b6927e77aacf24aa61010b3363c",
      "parents": [
        "14be1f7454ea96ee614467a49cf018a1a383b189"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 06 14:17:52 2010 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:59:59 2010 +0100"
      },
      "message": "sched: Cleanup: remove unused variable in try_to_wake_up()\n\nWe haven\u0027t used the \"orig_rq\" variable since\n055a00865d \"Fix/add missing update_rq_clock() calls\"\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: efault@gmx.de\nLKML-Reference: \u003c20100306111752.GL4958@bicker\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "915a0b575fdb2376135ed9334b3ccb1eb51db622",
      "tree": "12070fc07897e0cd9170aeb351a96923d44d7813",
      "parents": [
        "e02c4fd3142dfb9412531bbfabd510a2a7c6ea46",
        "0e95017355dcf43031da6d0e360a748717e56df1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:39:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:39:33 2010 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "007b09243b099811124f69d492adeebe9e439f96",
      "tree": "fc80fcd1f6c5dfcb37144f4d17507d22cbbc0c11",
      "parents": [
        "3f379b03fbfddd20536389a85c6456f8233d1f8d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Mar 05 15:03:26 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:38:01 2010 +0100"
      },
      "message": "rcu: Increase RCU CPU stall timeouts if PROVE_RCU\n\nCONFIG_PROVE_RCU imposes additional overhead on the kernel, so\nincrease the RCU CPU stall timeouts in an attempt to allow for\nthis effect.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267830207-9474-2-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f379b03fbfddd20536389a85c6456f8233d1f8d",
      "tree": "2847590a23aa0d72e799bd6d65a8a794abb565ac",
      "parents": [
        "54dbf96c921513bf98484a20ef366d51944a4c4d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Mar 05 15:03:25 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:38:01 2010 +0100"
      },
      "message": "ftrace: Replace read_barrier_depends() with rcu_dereference_raw()\n\nReplace the calls to read_barrier_depends() in\nftrace_list_func() with rcu_dereference_raw() to improve\nreadability.  The reason that we use rcu_dereference_raw() here\nis that removed entries are never freed, instead they are simply\nleaked.  This is one of a very few cases where use of\nrcu_dereference_raw() is the long-term right answer.  And I\ndon\u0027t yet know of any others.  ;-)\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267830207-9474-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "220b140b52ab6cc133f674a7ffec8fa792054f25",
      "tree": "df8d370f604f84145b1ba5d056d4622b6c85b488",
      "parents": [
        "97d5a22005f38057b4bc0d95f81cd26510268794"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 10 20:45:52 2010 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 12:43:51 2010 +0100"
      },
      "message": "perf_event: Fix oops triggered by cpu offline/online\n\nAnton Blanchard found that he could reliably make the kernel hit a\nBUG_ON in the slab allocator by taking a cpu offline and then online\nwhile a system-wide perf record session was running.\n\nThe reason is that when the cpu comes up, we completely reinitialize\nthe ctx field of the struct perf_cpu_context for the cpu.  If there is\na system-wide perf record session running, then there will be a struct\nperf_event that has a reference to the context, so its refcount will\nbe 2.  (The perf_event has been removed from the context\u0027s group_entry\nand event_entry lists by perf_event_exit_cpu(), but that doesn\u0027t\nremove the perf_event\u0027s reference to the context and doesn\u0027t decrement\nthe context\u0027s refcount.)\n\nWhen the cpu comes up, perf_event_init_cpu() gets called, and it calls\n__perf_event_init_context() on the cpu\u0027s context.  That resets the\nrefcount to 1.  Then when the perf record session finishes and the\nperf_event is closed, the refcount gets decremented to 0 and the\ncontext gets kfreed after an RCU grace period.  Since the context\nwasn\u0027t kmalloced -- it\u0027s part of a per-cpu variable -- bad things\nhappen.\n\nIn fact we don\u0027t need to completely reinitialize the context when the\ncpu comes up.  It\u0027s sufficient to initialize the context once at boot,\nbut we need to do it for all possible cpus.\n\nThis moves the context initialization to happen at boot time.  With\nthis, we don\u0027t trash the refcount and the context never gets kfreed,\nand we don\u0027t hit the BUG_ON.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97d5a22005f38057b4bc0d95f81cd26510268794",
      "tree": "b981789b1cec8ac36527e52204e407b32efa0ea6",
      "parents": [
        "c530665c31c0140b74ca7689e7f836177796e5bd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 05 05:35:37 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:47:18 2010 +0100"
      },
      "message": "perf: Drop the obsolete profile naming for trace events\n\nDrop the obsolete \"profile\" naming used by perf for trace events.\nPerf can now do more than simple events counting, so generalize\nthe API naming.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\n"
    },
    {
      "commit": "c530665c31c0140b74ca7689e7f836177796e5bd",
      "tree": "ac9ebb98aca58fdf84cc18958a94393a9a7bbdf3",
      "parents": [
        "5331d7b84613b8325362dde53dc2bff2fb87d351"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 03 07:16:16 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:40:38 2010 +0100"
      },
      "message": "perf: Take a hot regs snapshot for trace events\n\nWe are taking a wrong regs snapshot when a trace event triggers.\nEither we use get_irq_regs(), which gives us the interrupted\nregisters if we are in an interrupt, or we use task_pt_regs()\nwhich gives us the state before we entered the kernel, assuming\nwe are lucky enough to be no kernel thread, in which case\ntask_pt_regs() returns the initial set of regs when the kernel\nthread was started.\n\nWhat we want is different. We need a hot snapshot of the regs,\nso that we can get the instruction pointer to record in the\nsample, the frame pointer for the callchain, and some other\nthings.\n\nLet\u0027s use the new perf_fetch_caller_regs() for that.\n\nComparison with perf record -e lock: -R -a -f -g\nBefore:\n\n        perf  [kernel]                   [k] __do_softirq\n               |\n               --- __do_softirq\n                  |\n                  |--55.16%-- __open\n                  |\n                   --44.84%-- __write_nocancel\n\nAfter:\n\n            perf  [kernel]           [k] perf_tp_event\n               |\n               --- perf_tp_event\n                  |\n                  |--41.07%-- lock_acquire\n                  |          |\n                  |          |--39.36%-- _raw_spin_lock\n                  |          |          |\n                  |          |          |--7.81%-- hrtimer_interrupt\n                  |          |          |          smp_apic_timer_interrupt\n                  |          |          |          apic_timer_interrupt\n\nThe old case was producing unreliable callchains. Now having\nright frame and instruction pointers, we have the trace we\nwant.\n\nAlso syscalls and kprobe events already have the right regs,\nlet\u0027s use them instead of wasting a retrieval.\n\nv2: Follow the rename perf_save_regs() -\u003e perf_fetch_caller_regs()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Archs \u003clinux-arch@vger.kernel.org\u003e\n"
    },
    {
      "commit": "5331d7b84613b8325362dde53dc2bff2fb87d351",
      "tree": "60f4bf4fdaf31b612eefc291bf6b558dc4c8d947",
      "parents": [
        "61e67fb9d3ed13e6a7f58652ae4979b9c872fa57"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 04 21:15:56 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:39:35 2010 +0100"
      },
      "message": "perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot\n\nEvents that trigger overflows by interrupting a context can\nuse get_irq_regs() or task_pt_regs() to retrieve the state\nwhen the event triggered. But this is not the case for some\nother class of events like trace events as tracepoints are\nexecuted in the same context than the code that triggered\nthe event.\n\nIt means we need a different api to capture the regs there,\nnamely we need a hot snapshot to get the most important\ninformations for perf: the instruction pointer to get the\nevent origin, the frame pointer for the callchain, the code\nsegment for user_mode() tests (we always use __KERNEL_CS as\ntrace events always occur from the kernel) and the eflags\nfor further purposes.\n\nv2: rename perf_save_regs to perf_fetch_caller_regs as per\nMasami\u0027s suggestion.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Archs \u003clinux-arch@vger.kernel.org\u003e\n"
    },
    {
      "commit": "db2c4c7791cd04512093d05afc693c3511a65fd7",
      "tree": "11ad51f5ec2010e32edde2dea5696f90822435f4",
      "parents": [
        "65f2ed2b2fa6034ef9890b60c8fd39fbe76b9d37"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 02 23:34:40 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:26:07 2010 +0100"
      },
      "message": "lockdep: Move lock events under lockdep recursion protection\n\nThere are rcu locked read side areas in the path where we submit\na trace event. And these rcu_read_(un)lock() trigger lock events,\nwhich create recursive events.\n\nOne pair in do_perf_sw_event:\n\n__lock_acquire\n      |\n      |--96.11%-- lock_acquire\n      |          |\n      |          |--27.21%-- do_perf_sw_event\n      |          |          perf_tp_event\n      |          |          |\n      |          |          |--49.62%-- ftrace_profile_lock_release\n      |          |          |          lock_release\n      |          |          |          |\n      |          |          |          |--33.85%-- _raw_spin_unlock\n\nAnother pair in perf_output_begin/end:\n\n__lock_acquire\n      |--23.40%-- perf_output_begin\n      |          |          __perf_event_overflow\n      |          |          perf_swevent_overflow\n      |          |          perf_swevent_add\n      |          |          perf_swevent_ctx_event\n      |          |          do_perf_sw_event\n      |          |          perf_tp_event\n      |          |          |\n      |          |          |--55.37%-- ftrace_profile_lock_acquire\n      |          |          |          lock_acquire\n      |          |          |          |\n      |          |          |          |--37.31%-- _raw_spin_lock\n\nThe problem is not that much the trace recursion itself, as we have a\nrecursion protection already (though it\u0027s always wasteful to recurse).\nBut the trace events are outside the lockdep recursion protection, then\neach lockdep event triggers a lock trace, which will trigger two\nother lockdep events. Here the recursive lock trace event won\u0027t\nbe taken because of the trace recursion, so the recursion stops there\nbut lockdep will still analyse these new events:\n\nTo sum up, for each lockdep events we have:\n\n\tlock_*()\n\t     |\n             trace lock_acquire\n                  |\n                  ----- rcu_read_lock()\n                  |          |\n                  |          lock_acquire()\n                  |          |\n                  |          trace_lock_acquire() (stopped)\n                  |          |\n\t\t  |          lockdep analyze\n                  |\n                  ----- rcu_read_unlock()\n                             |\n                             lock_release\n                             |\n                             trace_lock_release() (stopped)\n                             |\n                             lockdep analyze\n\nAnd you can repeat the above two times as we have two rcu read side\nsections when we submit an event.\n\nThis is fixed in this patch by moving the lock trace event under\nthe lockdep recursion protection.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d4944a06666054707d23e11888e480af239e5abf",
      "tree": "58d8e847f198c29a2a2ddee60fe862f8973794d1",
      "parents": [
        "f3d46b2e6fa57547f9884330798792afc83f4b04"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 08 13:51:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:36 2010 +0100"
      },
      "message": "perf: Provide better condition for event rotation\n\nTry to avoid useless rotation and PMU disables.\n\n[ Could be improved by keeping a nr_runnable count to better account\n  for the \u003c PERF_STAT_INACTIVE counters ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32975a4f114be52286f9a5bf6c230dbb8c0e1903",
      "tree": "a5259dd7fb4cab05c837bace8a735a439bafc904",
      "parents": [
        "3f6da3905398826d85731247e7fbcf53400c18bd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Mar 06 19:49:19 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:25 2010 +0100"
      },
      "message": "perf: Optimize perf_disable\n\nCurrently we always call hw_perf_disable(), even if its already disabled,\nthis seems superflous, esp. since it cannot be made NMI safe (see further\npatches).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f6da3905398826d85731247e7fbcf53400c18bd",
      "tree": "3e01248974385999fb8e7f8d5daa53b46228f649",
      "parents": [
        "dc1d628a67a8f042e711ea5accc0beedc3ef0092"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 05 13:01:18 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:24 2010 +0100"
      },
      "message": "perf: Rework and fix the arch CPU-hotplug hooks\n\nRemove the hw_perf_event_*() hotplug hooks in favour of per PMU hotplug\nnotifiers. This has the advantage of reducing the static weak interface\nas well as exposing all hotplug actions to the PMU.\n\nUse this to fix x86 hotplug usage where we did things in ONLINE which\nshould have been done in UP_PREPARE or STARTING.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nLKML-Reference: \u003c20100305154128.736225361@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc1d628a67a8f042e711ea5accc0beedc3ef0092",
      "tree": "728f72a5f9a8368b225890a95ea947c1c8cda301",
      "parents": [
        "548b84166917d6f5e2296123b85ad24aecd3801d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 03 15:55:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:23 2010 +0100"
      },
      "message": "perf: Provide generic perf_sample_data initialization\n\nThis makes it easier to extend perf_sample_data and fixes a bug on arm\nand sparc, which failed to set -\u003eraw to NULL, which can cause crashes\nwhen combined with PERF_SAMPLE_RAW.\n\nIt also optimizes PowerPC and tracepoint, because the struct\ninitialization is forced to zero out the whole structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jean Pihet \u003cjpihet@mvista.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Jamie Iles \u003cjamie.iles@picochip.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20100304140100.315416040@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "548b84166917d6f5e2296123b85ad24aecd3801d",
      "tree": "0ab0300e23a02df0fe3c0579627e4998bb122c00",
      "parents": [
        "cfb581bcd4f8c158c6f2b48bf5e232bb9e6855c0",
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 09 17:11:53 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 09 17:11:53 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.34-rc1\u0027 into perf/urgent\n\nConflicts:\n\ttools/perf/util/probe-event.c\n\nMerge reason: Pick up -rc1 and resolve the conflict as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "361795b1eb7c08e9e65a2ebb4a4e536294d378a2",
      "tree": "332cd308be3b0bfb6421c0af6a0ad6e1331b0880",
      "parents": [
        "35960258ed388cdcebdb71df35fd5126978ca325"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 13:41:56 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes\n\nA little more whack-a-mole annotating the dynamic sysfs attributes.  I\nhad everything built into my earlier test kernel, and so I missed\nthese.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a07e4156a2ee6359d31a44946d7ee7f85dbf6bca",
      "tree": "1ab5ef1c8a0e9549b8e72af889ae0b5f5f660400",
      "parents": [
        "6992f5334995af474c2b58d010d08bc597f0f2fe"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:23:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes\n\nThese are the non-static sysfs attributes that exist on\nmy test machine.  Fix them to use sysfs_attr_init or\nsysfs_bin_attr_init as appropriate.   It simply requires\nmaking a sysfs attribute present to see this.  So this\nis a little bit tedious but otherwise not too bad.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c9be0a36f9bf392a7984473124a67a12964df11f",
      "tree": "23fcf49f277d9a093b2b29831811219410ad7b05",
      "parents": [
        "3d03ba4d1dd2246adff5a9ff1194a539b3bc05a7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:47:58 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Pass attribute in sysdev_class attributes show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nSimilar to sysdev_attributes and normal attributes.\n\nThis is a tree-wide sweep, converting everything in one go.\n\nNo functional changes in this patch other than passing the new\nargument everywhere.\n\nTested on x86, the non x86 parts are uncompiled.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8d9032bbe4671dc481261ccd4e161cd96e54b118",
      "tree": "a31d22f488f7d6789259da68c53cb2727a925fa8",
      "parents": [
        "93eb211e6c9ff6054fcf9c5b9e344d8d9ad29175"
      ],
      "author": {
        "name": "Daisuke HATAYAMA",
        "email": "d.hatayama@jp.fujitsu.com",
        "time": "Fri Mar 05 13:44:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:46 2010 -0800"
      },
      "message": "elf coredump: add extended numbering support\n\nThe current ELF dumper implementation can produce broken corefiles if\nprogram headers exceed 65535.  This number is determined by the number of\nvmas which the process have.  In particular, some extreme programs may use\nmore than 65535 vmas.  (If you google max_map_count, you can find some\nusers facing this problem.) This kind of program never be able to generate\ncorrect coredumps.\n\nThis patch implements ``extended numbering\u0027\u0027 that uses sh_info field of\nthe first section header instead of e_phnum field in order to represent\nupto 4294967295 vmas.\n\nThis is supported by\nAMD64-ABI(http://www.x86-64.org/documentation.html) and\nSolaris(http://docs.sun.com/app/docs/doc/817-1984/).\nOf course, we are preparing patches for gdb and binutils.\n\nSigned-off-by: Daisuke HATAYAMA \u003cd.hatayama@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fcccbac89f5bbc5e41aa72086960059fce372da",
      "tree": "9e42ee69f0216e612e5bd4338d6203dbad2d002f",
      "parents": [
        "088e7af73a962fcc8883b7a6392544d8342553d6"
      ],
      "author": {
        "name": "Daisuke HATAYAMA",
        "email": "d.hatayama@jp.fujitsu.com",
        "time": "Fri Mar 05 13:44:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:45 2010 -0800"
      },
      "message": "elf coredump: replace ELF_CORE_EXTRA_* macros by functions\n\nelf_core_dump() and elf_fdpic_core_dump() use #ifdef and the corresponding\nmacro for hiding _multiline_ logics in functions.  This patch removes\n#ifdef and replaces ELF_CORE_EXTRA_* by corresponding functions.  For\narchitectures not implemeonting ELF_CORE_EXTRA_*, we use weak functions in\norder to reduce a range of modification.\n\nThis cleanup is for my next patches, but I think this cleanup itself is\nworth doing regardless of my firnal purpose.\n\nSigned-off-by: Daisuke HATAYAMA \u003cd.hatayama@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cea83886dde49fd7524e9f4a246dd5dff4ad236a",
      "tree": "972db619ba8ae866a858744708a454f088182e75",
      "parents": [
        "5ef097dd7ba4eab8b4f0026d85fcef9fe23b821f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Mar 05 13:42:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "printk: avoid warning when CONFIG_PRINTK is disabled\n\nkernel/printk.c:72: warning: `saved_console_loglevel\u0027 defined but not used\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\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": "9728e5d6e6c432ee8487c63ce6e479e2474d9945",
      "tree": "2cd7e9a9102649a36d52cbac918f045dcfaa08f2",
      "parents": [
        "8aeee85a29e27e043db582bf2ae8e5f42767934f"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Fri Mar 05 13:42:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel/pid.c: update comment on find_task_by_pid_ns\n\ntasklist_lock does protect the task and its pid, it can\u0027t go away.  The\nproblem is that find_pid_ns() itself is unsafe without rcu lock, it can\nrace with copy_process()-\u003efree_pid(any_pid).\n\nProtecting copy_process()-\u003efree_pid(any_pid) with tasklist_lock would make\nit possible to call find_task_by_pid_ns() under tasklist safely, but we\ndon\u0027t do so because we are trying to get rid of the read_lock sites of\ntasklist_lock.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aeee85a29e27e043db582bf2ae8e5f42767934f",
      "tree": "fac5fc9b79dc272517918722e944b86f36a7e608",
      "parents": [
        "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 05 13:42:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "panic: fix panic_timeout accuracy when running on a hypervisor\n\nI\u0027ve had some complaints about panic_timeout being wildly innacurate on\nshared processor PowerPC partitions (a 3 minute panic_timeout taking 30\nminutes).\n\nThe problem is we loop on mdelay(1) and with a 1ms in 10ms hypervisor\ntimeslice each of these will take 10ms (ie 10x) longer.  I expect other\nplatforms with shared processor hypervisors will see the same issue.\n\nThis patch keeps the old behaviour if we have a panic_blink (only keyboard\nLEDs right now) and does 1 second mdelays if we don\u0027t.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\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": "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1",
      "tree": "8c1074b84db4b977bad6802a3701e0113c0a7739",
      "parents": [
        "d4bb527438b4181cd3c564ae04dd344c381283a1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel core: use helpers for rlimits\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in commit 3e10e716abf3 (\"resource:\nadd helpers for fetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4bb527438b4181cd3c564ae04dd344c381283a1",
      "tree": "0e7afeb6b759f72b136d707db4e5725a92b0d777",
      "parents": [
        "f3abd4f9531becb71626bd206955d47d5ea54f06"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "posix-cpu-timers: cleanup rlimits usage\n\nFetch rlimit (both hard and soft) values only once and work on them.  It\nremoves many accesses through sig structure and makes the code cleaner.\n\nMostly a preparation for writable resource limits support.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3abd4f9531becb71626bd206955d47d5ea54f06",
      "tree": "512d5d72d02f6dae87af66c7e044d597eb7e067c",
      "parents": [
        "9c03c383563f147907f1a90cf16f1e190e2f4aae"
      ],
      "author": {
        "name": "Thiago Farina",
        "email": "tfransosi@gmail.com",
        "time": "Fri Mar 05 13:42:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "kernel/exit.c: fix shadows sparse warning\n\nkernel/exit.c:1183:26: warning: symbol \u0027status\u0027 shadows an earlier one\nkernel/exit.c:1173:21: originally declared here\n\nSigned-off-by: Thiago Farina \u003ctfransosi@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c03c383563f147907f1a90cf16f1e190e2f4aae",
      "tree": "5aeff12a5a38ab6af49acaf909963d876df1ca61",
      "parents": [
        "5f1664f92b2247111b7d37e454a050b76ac61b7f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Fri Mar 05 13:42:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "includecheck fix for kernel/params.c\n\nFix the following \u0027make includecheck\u0027 warning:\n  kernel/params.c: linux/string.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f1664f92b2247111b7d37e454a050b76ac61b7f",
      "tree": "dfedcdc7c878a103e561c7b0a7cf3ae7d5bff8a9",
      "parents": [
        "0347af4ee3922220f6bfe74b87b526aa709a0365"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Mar 05 13:42:51 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "splice: comparing unsigned int \u003c 0\n\n\"ret\" needs to be signed or the error handling for splice_to_pipe() won\u0027t\nwork correctly.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Tom Zanussi \u003czanussi@comcast.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d5e0236d9d688fb575e9e12232764ac617617c",
      "tree": "1b174abac310f2a5ac63181b483c55fe93756133",
      "parents": [
        "9c8f05c2837b06bb2739e85204c0d34009fb6494"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Fri Mar 05 13:42:38 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "kernel/cpu.c: delete deprecated definition in cpu_up()\n\nAdditional_cpus is only supported for IA64 now.  X86_64 should not be\nincluded.\n\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "452aa6999e6703ffbddd7f6ea124d3968915f3e3",
      "tree": "48e375fdb60920675f68b444b462903ad8bb6940",
      "parents": [
        "ad2bd7e0e9647cd48593a6b3a2be07dc2c2d28ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 05 13:42:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm/pm: force GFP_NOIO during suspend/hibernation and resume\n\nThere are quite a few GFP_KERNEL memory allocations made during\nsuspend/hibernation and resume that may cause the system to hang, because\nthe I/O operations they depend on cannot be completed due to the\nunderlying devices being suspended.\n\nAvoid this problem by clearing the __GFP_IO and __GFP_FS bits in\ngfp_allowed_mask before suspend/hibernation and restoring the original\nvalues of these bits in gfp_allowed_mask durig the subsequent resume.\n\n[akpm@linux-foundation.org: fix CONFIG_PM\u003dn linkage]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5beb49305251e5669852ed541e8e2f2f7696c53e",
      "tree": "46457450a22f23938b24904aeba5d4ada2f53b20",
      "parents": [
        "648bcc771145172a14bc35eeb849ed08f6aa4f1e"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Fri Mar 05 13:42:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: change anon_vma linking to fix multi-process server scalability issue\n\nThe old anon_vma code can lead to scalability issues with heavily forking\nworkloads.  Specifically, each anon_vma will be shared between the parent\nprocess and all its child processes.\n\nIn a workload with 1000 child processes and a VMA with 1000 anonymous\npages per process that get COWed, this leads to a system with a million\nanonymous pages in the same anon_vma, each of which is mapped in just one\nof the 1000 processes.  However, the current rmap code needs to walk them\nall, leading to O(N) scanning complexity for each page.\n\nThis can result in systems where one CPU is walking the page tables of\n1000 processes in page_referenced_one, while all other CPUs are stuck on\nthe anon_vma lock.  This leads to catastrophic failure for a benchmark\nlike AIM7, where the total number of processes can reach in the tens of\nthousands.  Real workloads are still a factor 10 less process intensive\nthan AIM7, but they are catching up.\n\nThis patch changes the way anon_vmas and VMAs are linked, which allows us\nto associate multiple anon_vmas with a VMA.  At fork time, each child\nprocess gets its own anon_vmas, in which its COWed pages will be\ninstantiated.  The parents\u0027 anon_vma is also linked to the VMA, because\nnon-COWed pages could be present in any of the children.\n\nThis reduces rmap scanning complexity to O(1) for the pages of the 1000\nchild processes, with O(N) complexity for at most 1/N pages in the system.\n This reduces the average scanning cost in heavily forking workloads from\nO(N) to 2.\n\nThe only real complexity in this patch stems from the fact that linking a\nVMA to anon_vmas now involves memory allocations.  This means vma_adjust\ncan fail, if it needs to attach a VMA to anon_vma structures.  This in\nturn means error handling needs to be added to the calling functions.\n\nA second source of complexity is that, because there can be multiple\nanon_vmas, the anon_vma linking in vma_adjust can no longer be done under\n\"the\" anon_vma lock.  To prevent the rmap code from walking up an\nincomplete VMA, this patch introduces the VM_LOCK_RMAP VMA flag.  This bit\nflag uses the same slot as the NOMMU VM_MAPPED_COPY, with an ifdef in mm.h\nto make sure it is impossible to compile a kernel that needs both symbolic\nvalues for the same bitflag.\n\nSome test results:\n\nWithout the anon_vma changes, when AIM7 hits around 9.7k users (on a test\nbox with 16GB RAM and not quite enough IO), the system ends up running\n\u003e99% in system time, with every CPU on the same anon_vma lock in the\npageout code.\n\nWith these changes, AIM7 hits the cross-over point around 29.7k users.\nThis happens with ~99% IO wait time, there never seems to be any spike in\nsystem time.  The anon_vma lock contention appears to be resolved.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34e55232e59f7b19050267a05ff1226e5cd122a5",
      "tree": "6b94e776e87d2a2fe1ceca7c5606901575323900",
      "parents": [
        "d559db086ff5be9bcc259e5aa50bf3d881eaf1d1"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: avoid false sharing of mm_counter\n\nConsidering the nature of per mm stats, it\u0027s the shared object among\nthreads and can be a cache-miss point in the page fault path.\n\nThis patch adds per-thread cache for mm_counter.  RSS value will be\ncounted into a struct in task_struct and synchronized with mm\u0027s one at\nevents.\n\nNow, in this patch, the event is the number of calls to handle_mm_fault.\nPer-thread value is added to mm at each 64 calls.\n\n rough estimation with small benchmark on parallel thread (2threads) shows\n [before]\n     4.5 cache-miss/faults\n [after]\n     4.0 cache-miss/faults\n Anyway, the most contended object is mmap_sem if the number of threads grows.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@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": "d559db086ff5be9bcc259e5aa50bf3d881eaf1d1",
      "tree": "aa968c8a4093234e4623a34c0415bf9d8683671c",
      "parents": [
        "19b629f581320999ddb9f6597051b79cdb53459c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:23 2010 -0800"
      },
      "message": "mm: clean up mm_counter\n\nPresently, per-mm statistics counter is defined by macro in sched.h\n\nThis patch modifies it to\n  - defined in mm.h as inlinf functions\n  - use array instead of macro\u0027s name creation.\n\nThis patch is for reducing patch size in future patch to modify\nimplementation of per-mm counter.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@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": "984b3f5746ed2cde3d184651dabf26980f2b66e5",
      "tree": "87dc2162b4778b0075874d9592384530022e15a4",
      "parents": [
        "e3cb91ce1ac1d93a7cc6f81bb5247f7602b572bb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Mar 05 13:41:37 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:23 2010 -0800"
      },
      "message": "bitops: rename for_each_bit() to for_each_set_bit()\n\nRename for_each_bit to for_each_set_bit in the kernel source tree.  To\npermit for_each_clear_bit(), should that ever be added.\n\nThe patch includes a macro to map the old for_each_bit() onto the new\nfor_each_set_bit().  This is a (very) temporary thing to ease the migration.\n\n[akpm@linux-foundation.org: add temporary for_each_bit()]\nSuggested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e95017355dcf43031da6d0e360a748717e56df1",
      "tree": "829989bfb494e8d2d773d9dc1bc014b7f28d3bed",
      "parents": [
        "1acaa1b2d9b5904c9cce06122990a2d71046ce16"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu Feb 25 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:20:57 2010 -0500"
      },
      "message": "function-graph: Add tracing_thresh support to function_graph tracer\n\nAdd support for tracing_thresh to the function_graph tracer.  This\nversion of this feature isolates the checks into new entry and\nreturn functions, to avoid adding more conditional code into the\nmain function_graph paths.\n\nWhen the tracing_thresh is set and the function graph tracer is\nenabled, only the functions that took longer than the time in\nmicroseconds that was set in tracing_thresh are recorded. To do this\nefficiently, only the function exits are recorded:\n\n [tracing]# echo 100 \u003e tracing_thresh\n [tracing]# echo function_graph \u003e current_tracer\n [tracing]# cat trace\n # tracer: function_graph\n #\n # CPU  DURATION                  FUNCTION CALLS\n # |     |   |                     |   |   |   |\n  1) ! 119.214 us  |  } /* smp_apic_timer_interrupt */\n  1)   \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d |\n  0) ! 101.527 us  |              } /* __rcu_process_callbacks */\n  0) ! 126.461 us  |            } /* rcu_process_callbacks */\n  0) ! 145.111 us  |          } /* __do_softirq */\n  0) ! 149.667 us  |        } /* do_softirq */\n  0) ! 168.817 us  |      } /* irq_exit */\n  0) ! 248.254 us  |    } /* smp_apic_timer_interrupt */\n\nAlso, add support for specifying tracing_thresh on the kernel\ncommand line.  When used like so: \"tracing_thresh\u003d200 ftrace\u003dfunction_graph\"\nthis can be used to analyse system startup.  It is important to disable\ntracing soon after boot, in order to avoid losing the trace data.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nLKML-Reference: \u003c4B87098B.4040308@am.sony.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1acaa1b2d9b5904c9cce06122990a2d71046ce16",
      "tree": "76e4d061aa4c666c89f581e438b105bd69ee27df",
      "parents": [
        "a094fe04c751698a18c3a0d376a3bdb117f1e0d8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 05 18:23:50 2010 -0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:12:08 2010 -0500"
      },
      "message": "tracing: Update the comm field in the right variable in update_max_tr\n\nThe latency output showed:\n\n #    | task: -3 (uid:0 nice:0 policy:1 rt_prio:99)\n\nThe comm is missing in the \"task:\" and it looks like a minus 3 is\nthe output. The correct display should be:\n\n #    | task: migration/0-3 (uid:0 nice:0 policy:1 rt_prio:99)\n\nThe problem is that the comm is being stored in the wrong data\nstructure. The max_tr.data[cpu] is what stores the comm, not the\ntr-\u003edata[cpu].\n\nBefore this patch the max_tr.data[cpu]-\u003ecomm was zeroed and the /debug/trace\nended up showing just the \u0027-\u0027 sign followed by the pid.\n\nAlso remove a needless initialization of max_data.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1267824230-23861-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a094fe04c751698a18c3a0d376a3bdb117f1e0d8",
      "tree": "7abee80b275f376b686a7b616cfa13cf24d386b9",
      "parents": [
        "801c29fd1fdeb84f60241beb445ff5db154450ae"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 05 20:08:58 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:11:13 2010 -0500"
      },
      "message": "function-graph: Use comment notation for func names of dangling \u0027}\u0027\n\nWhen a \u0027}\u0027 does not have a matching function start, the name is printed\nwithin parenthesis. But this makes it confusing between ending \u0027}\u0027\nand function starts. This patch makes the function name appear in C comment\nnotation.\n\nOld view:\n 3)   1.281 us    |            } (might_fault)\n 3)   3.620 us    |          } (filldir)\n 3)   5.251 us    |        } (call_filldir)\n 3)               |        call_filldir() {\n 3)               |          filldir() {\n\nNew view:\n 3)   1.281 us    |            } /* might_fault */\n 3)   3.620 us    |          } /* filldir */\n 3)   5.251 us    |        } /* call_filldir */\n 3)               |        call_filldir() {\n 3)               |          filldir() {\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "801c29fd1fdeb84f60241beb445ff5db154450ae",
      "tree": "ce6d2cf95d86c7863393914b5ba37c90b56b44e9",
      "parents": [
        "ae1f30384baef4056438d81b305a6a5199b0d16c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Mar 05 20:02:19 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 05 21:00:30 2010 -0500"
      },
      "message": "function-graph: Fix unused reference to ftrace_set_func()\n\nThe declaration of ftrace_set_func() is at the start of the ftrace.c file\nand wrapped with a #ifdef CONFIG_FUNCTION_GRAPH condition. If function\ngraph tracing is enabled but CONFIG_DYNAMIC_FTRACE is not, a warning\nabout that function being declared static and unused is given.\n\nThis really should have been placed within the CONFIG_FUNCTION_GRAPH\ncondition that uses ftrace_set_func().\n\nMoving the declaration down fixes the warning and makes the code cleaner.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "660f6a360be399f4ebdd6572a3d24afe54e9bb1c",
      "tree": "9c16463c495a656e34577d59c97b58997b61d242",
      "parents": [
        "586fac13f8685bf9dfb32e1ee98bfb14f0dd0061",
        "e5a11016643d1ab7172193591506d33a844734cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 10:50:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 10:50:22 2010 -0800"
      },
      "message": "Merge branch \u0027perf-probes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-probes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Issue at least one memory barrier in stop_machine_text_poke()\n  perf probe: Correct probe syntax on command line help\n  perf probe: Add lazy line matching support\n  perf probe: Show more lines after last line\n  perf probe: Check function address range strictly in line finder\n  perf probe: Use libdw callback routines\n  perf probe: Use elfutils-libdw for analyzing debuginfo\n  perf probe: Rename probe finder functions\n  perf probe: Fix bugs in line range finder\n  perf probe: Update perf probe document\n  perf probe: Do not show --line option without dwarf support\n  kprobes: Add documents of jump optimization\n  kprobes/x86: Support kprobes jump optimization on x86\n  x86: Add text_poke_smp for SMP cross modifying code\n  kprobes/x86: Cleanup save/restore registers\n  kprobes/x86: Boost probes when reentering\n  kprobes: Jump optimization sysctl interface\n  kprobes: Introduce kprobes jump optimization\n  kprobes: Introduce generic insn_slot framework\n  kprobes/x86: Cleanup RELATIVEJUMP_INSTRUCTION to RELATIVEJUMP_OPCODE\n"
    },
    {
      "commit": "586fac13f8685bf9dfb32e1ee98bfb14f0dd0061",
      "tree": "6fe7df764a4298a15967139b8f2c69f88d5e22fc",
      "parents": [
        "1f63b9c15b17d5af360c180f5c71537e954d5d3b",
        "74781387822cd7a549123ae2b35862bf802689be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 10:47:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 10:47:57 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  padata: Allocate the cpumask for the padata instance\n  crypto: authenc - Move saved IV in front of the ablkcipher request\n  crypto: hash - Fix handling of unaligned buffers\n  crypto: authenc - Use correct ahash complete functions\n  crypto: md5 - Set statesize\n"
    },
    {
      "commit": "0f2cc4ecd81dc1917a041dc93db0ada28f8356fa",
      "tree": "f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3",
      "parents": [
        "1fae4cfb97302289bb5df6a8195eb28385d0b002",
        "9643f5d94aadd47a5fa9754fb60f2c957de05903"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)\n  init: Open /dev/console from rootfs\n  mqueue: fix typo \"failues\" -\u003e \"failures\"\n  mqueue: only set error codes if they are really necessary\n  mqueue: simplify do_open() error handling\n  mqueue: apply mathematics distributivity on mq_bytes calculation\n  mqueue: remove unneeded info-\u003emessages initialization\n  mqueue: fix mq_open() file descriptor leak on user-space processes\n  fix race in d_splice_alias()\n  set S_DEAD on unlink() and non-directory rename() victims\n  vfs: add NOFOLLOW flag to umount(2)\n  get rid of -\u003emnt_parent in tomoyo/realpath\n  hppfs can use existing proc_mnt, no need for do_kern_mount() in there\n  Mirror MS_KERNMOUNT in -\u003emnt_flags\n  get rid of useless vfsmount_lock use in put_mnt_ns()\n  Take vfsmount_lock to fs/internal.h\n  get rid of insanity with namespace roots in tomoyo\n  take check for new events in namespace (guts of mounts_poll()) to namespace.c\n  Don\u0027t mess with generic_permission() under -\u003ed_lock in hpfs\n  sanitize const/signedness for udf\n  nilfs: sanitize const/signedness in dealing with -\u003ed_name.name\n  ...\n\nFix up fairly trivial (famous last words...) conflicts in\ndrivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c\n"
    },
    {
      "commit": "8d53dd546f36073e0d29b0cfc24c665db301e3e7",
      "tree": "1cd2582e669fe2ff580ddc707705e5efb18251de",
      "parents": [
        "99ee4ca746dda71326db7645463b4075ac1d665c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 03 17:50:18 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 12:07:35 2010 +0100"
      },
      "message": "rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare()\n\nChange the pair of rcu_dereference() calls in\nftrace_perf_buf_prepare() to rcu_dereference_sched().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1267667418-32233-3-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc5b83a9f884fe8722a275069a5a6fde39988455",
      "tree": "6eec1c17d57a74e98d8b99a568c0c8c2a07a21de",
      "parents": [
        "5ed42b8113667c06a6ff2c72717395b5044d30a1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 03 07:46:59 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 12:07:32 2010 +0100"
      },
      "message": "rcu: Add control variables to lockdep_rcu_dereference() diagnostics\n\nAdd the values of rcu_scheduler_active() and debug_locks() to\nthe lockdep_rcu_dereference() output to help diagnose RCU\nlockdep splats that occur shortly after the scheduler starts.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267631219-8713-4-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e02c4fd3142dfb9412531bbfabd510a2a7c6ea46",
      "tree": "61b64506b2c016e050f940a89d1ffd36b7c00fdf",
      "parents": [
        "ae1f30384baef4056438d81b305a6a5199b0d16c",
        "ac91d85456372a90af5b85eb6620fd2efb1e431b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:51:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:51:29 2010 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "4f16d4e0c9a4b20d9f0db365587b96d6001efd7d",
      "tree": "fa25dcf285b26f1fac2bf267d0d1cd2c4eba90b8",
      "parents": [
        "1e259e0a9982078896f3404240096cbea01daca4",
        "6630125419ef37ff8781713c5e9d416f2a4ba357"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:47:50 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:47:52 2010 +0100"
      },
      "message": "Merge branch \u0027perf/core\u0027 into perf/urgent\n\nMerge reason: Switch from pre-merge topical split to the post-merge urgent track\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db1466b3e1bd1727375cdbfcbea4bcce2f860f61",
      "tree": "e56e8d7b82f8851e570d95f531ec62e4d107967a",
      "parents": [
        "0e064caf6402d1d67db4233d26beec88ca212919"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 03 07:46:56 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:46:14 2010 +0100"
      },
      "message": "rcu: Use wrapper function instead of exporting tasklist_lock\n\nLockdep-RCU commit d11c563d exported tasklist_lock, which is not\na good thing.  This patch instead exports a function that uses\nlockdep to check whether tasklist_lock is held.\n\nSuggested-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nLKML-Reference: \u003c1267631219-8713-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e064caf6402d1d67db4233d26beec88ca212919",
      "tree": "2bb6affb9cdeb23adff35dee7ca9fe1c14475f18",
      "parents": [
        "90a6501f94aedd7fb40f5556334843194fb598be",
        "f409adf5b1db55ece7e80b67a944f9c0d3fe93e9",
        "c13f3d378f77ce3176628ade452b0e461242faf3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:45:25 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 11:45:31 2010 +0100"
      },
      "message": "Merge branches \u0027core/futexes\u0027 and \u0027core/iommu\u0027 into core/urgent\n\nMerge reason: Switch from topical split to the stabilization track\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74781387822cd7a549123ae2b35862bf802689be",
      "tree": "3f6844cfbe3a58206e382b82a01c9300ae582c8a",
      "parents": [
        "50beceba7fdf5f10a04d8a053e62d40b742099ad"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Mar 04 13:30:22 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 04 13:30:22 2010 +0800"
      },
      "message": "padata: Allocate the cpumask for the padata instance\n\nThe cpumask of the padata instance was used without allocated.\nThis caused boot crashes if CONFIG_CPUMASK_OFFSTACK is enabled.\nThis patch fixes this by doing proper allocation for this cpumask.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a27341cd5fcb7cf2d2d4726e9f324009f7162c00",
      "tree": "5b55a232509de5791ad00a15da3eaa93c3ae55c6",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 02 08:36:46 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 19:21:10 2010 -0800"
      },
      "message": "Prioritize synchronous signals over \u0027normal\u0027 signals\n\nThis makes sure that we pick the synchronous signals caused by a\nprocessor fault over any pending regular asynchronous signals sent to\nuse by [t]kill().\n\nThis is not strictly required semantics, but it makes it _much_ easier\nfor programs like Wine that expect to find the fault information in the\nsignal stack.\n\nWithout this, if a non-synchronous signal gets picked first, the delayed\nasynchronous signal will have its signal context pointing to the new\nsignal invocation, rather than the instruction that caused the SIGSEGV\nor SIGBUS in the first place.\n\nThis is not all that pretty, and we\u0027re discussing making the synchronous\nsignals more explicit rather than have these kinds of implicit\npreferences of SIGSEGV and friends.  See for example\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d15395\n\nfor some of the discussion.  But in the meantime this is a simple and\nfairly straightforward work-around, and the whole\n\n\tif (x \u0026 Y)\n\t\tx \u0026\u003d Y;\n\nthing can be compiled into (and gcc does do it) just three instructions:\n\n\tmovq    %rdx, %rax\n\tandl    $Y, %eax\n\tcmovne  %rax, %rdx\n\nso it is at least a simple solution to a subtle issue.\n\nReported-and-tested-by: Pavel Vilim \u003cwylda@volny.cz\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9643f5d94aadd47a5fa9754fb60f2c957de05903",
      "tree": "c299736cbcdd7f971c1c308433e248198060fefa",
      "parents": [
        "2bd3a997befc226ab4b504f05c5cbba305f3e0e6",
        "c44dcc56d2b5c79ba3063d20f76e5347e2e418f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 17:12:40 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 17:12:40 2010 -0500"
      },
      "message": "Merge branch \u0027for-fsnotify\u0027 into for-linus\n"
    },
    {
      "commit": "1f707137b55764740981d022d29c622832a61880",
      "tree": "af5f72ea7df1afbc1f3b5bb53a3ab3d8ebaae1e0",
      "parents": [
        "462d60577a997aa87c935ae4521bd303733a9f2b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 30 22:51:25 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:57 2010 -0500"
      },
      "message": "new helper: iterate_mounts()\n\napply function to vfsmounts in set returned by collect_mounts(),\nstop if it returns non-zero.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2096f759abcb42200a81d776f597362fd9265024",
      "tree": "f0784653a50713f9f91f39e24c40abacbfbb6427",
      "parents": [
        "495d6c9c6595ec7b37910dfd42634839431d21fd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 30 13:16:21 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:55 2010 -0500"
      },
      "message": "New helper: path_is_under(path1, path2)\n\nAnalog of is_subdir for vfsmount,dentry pairs, moved from audit_tree.c\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8737c9305bd5602b11f7eb4655d5695d4a42a0c6",
      "tree": "54038cac1135b039a292151ebe9b156f80904843",
      "parents": [
        "d208bbdda991b8808d9c033ce4d31cb1bd87dcfc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 24 06:47:55 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 13:00:21 2010 -0500"
      },
      "message": "Switch may_open() and break_lease() to passing O_...\n\n... instead of mixing FMODE_ and O_\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a32f2db132264c356aea30a8270d3e68d96c509",
      "tree": "f98f0e1b9d85c7964b8fc149f451ae77072c3c27",
      "parents": [
        "feaf77d51a6e2e95f60c8095ac7282e610ede798",
        "f41496607e03ab99f263b8e26689ad0fc853007f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 09:11:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 09:11:02 2010 -0800"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  resource: Fix broken indentation\n  resource: Fix generic page_is_ram() for partial RAM pages\n  x86, paravirt: Remove kmap_atomic_pte paravirt op.\n  x86, vmi: Disable highmem PTE allocation even when CONFIG_HIGHPTE\u003dy\n  x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE\u003dy\n"
    },
    {
      "commit": "fb7b096d949fa852442ed9d8f982bce526ccfe7e",
      "tree": "883e7e43331d9962bcc6050a3bf88615a8c61063",
      "parents": [
        "a626b46e17d0762d664ce471d40bc506b6e721ab",
        "fad539956c9e69749a03f7817d22d1bab87657bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:37 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:37 2010 -0800"
      },
      "message": "Merge branch \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  x86: Fix out of order of gsi\n  x86: apic: Fix mismerge, add arch_probe_nr_irqs() again\n  x86, irq: Keep chip_data in create_irq_nr and destroy_irq\n  xen: Remove unnecessary arch specific xen irq functions.\n  smp: Use nr_cpus\u003d to set nr_cpu_ids early\n  x86, irq: Remove arch_probe_nr_irqs\n  sparseirq: Use radix_tree instead of ptrs array\n  sparseirq: Change irq_desc_ptrs to static\n  init: Move radix_tree_init() early\n  irq: Remove unnecessary bootmem code\n  x86: Add iMac9,1 to pci_reboot_dmi_table\n  x86: Convert i8259_lock to raw_spinlock\n  x86: Convert nmi_lock to raw_spinlock\n  x86: Convert ioapic_lock and vector_lock to raw_spinlock\n  x86: Avoid race condition in pci_enable_msix()\n  x86: Fix SCI on IOAPIC !\u003d 0\n  x86, ia32_aout: do not kill argument mapping\n  x86, irq: Move __setup_vector_irq() before the first irq enable in cpu online path\n  x86, irq: Update the vector domain for legacy irqs handled by io-apic\n  x86, irq: Don\u0027t block IRQ0_VECTOR..IRQ15_VECTOR\u0027s on all cpu\u0027s\n  ...\n"
    },
    {
      "commit": "a626b46e17d0762d664ce471d40bc506b6e721ab",
      "tree": "445f6ac655ea9247d2e27529f23ba02d0991fec0",
      "parents": [
        "c1dcb4bb1e3e16e9baee578d9bb040e5fba1063e",
        "dce46a04d55d6358d2d4ab44a4946a19f9425fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:15:05 2010 -0800"
      },
      "message": "Merge branch \u0027x86-bootmem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-bootmem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  early_res: Need to save the allocation name in drop_range_partial()\n  sparsemem: Fix compilation on PowerPC\n  early_res: Add free_early_partial()\n  x86: Fix non-bootmem compilation on PowerPC\n  core: Move early_res from arch/x86 to kernel/\n  x86: Add find_fw_memmap_area\n  Move round_up/down to kernel.h\n  x86: Make 32bit support NO_BOOTMEM\n  early_res: Enhance check_and_double_early_res\n  x86: Move back find_e820_area to e820.c\n  x86: Add find_early_area_size\n  x86: Separate early_res related code from e820.c\n  x86: Move bios page reserve early to head32/64.c\n  sparsemem: Put mem map for one node together.\n  sparsemem: Put usemap for one node together\n  x86: Make 64 bit use early_res instead of bootmem before slab\n  x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA\n  x86: Make early_node_mem get mem \u003e 4 GB if possible\n  x86: Dynamically increase early_res array size\n  x86: Introduce max_early_res and early_res_count\n  ...\n"
    }
  ],
  "next": "0a135ba14d71fb84c691a5386aff5049691fe6d7"
}
