)]}'
{
  "log": [
    {
      "commit": "baad2d3e69ba154dae340904a47ae12414f1894f",
      "tree": "c755b2695300cd8f99ef9d2d570cf85cc1ea2661",
      "parents": [
        "7f6878a3d707b947603e09d95df0c3a98987e3a4"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:09 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:55:57 2011 -0400"
      },
      "message": "perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n\nSince die_find/walk* callbacks use DIE_FIND_CB_FOUND for\nboth of failed and found cases, it should be \"END\"\ninstead \"FOUND\" for avoiding confusion.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nReported-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/20110627072709.6528.45706.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7f6878a3d707b947603e09d95df0c3a98987e3a4",
      "tree": "aa707653884ae1a7eac99c1b3c772c2eb89eb642",
      "parents": [
        "614243181050436785f5a621749a7da2336a7916"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:03 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:45:32 2011 -0400"
      },
      "message": "tracing/kprobe: Update symbol reference when loading module\n\nSince the address of a module-local variable can only be\nsolved after the target module is loaded, the symbol\nfetch-argument should be updated when loading target\nmodule.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072703.6528.75042.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "614243181050436785f5a621749a7da2336a7916",
      "tree": "d64445cc0bc14420b993e82bd4bb4723ea8e34fa",
      "parents": [
        "bc81d48d13d8839fae6833c95794c403b2133f36"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:56 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:17:14 2011 -0400"
      },
      "message": "tracing/kprobes: Support module init function probing\n\nTo support probing module init functions, kprobe-tracer allows\nuser to define a probe on non-existed function when it is given\nwith a module name. This also enables user to set a probe on\na function on a specific module, even if a same name (but different)\nfunction is locally defined in another module.\n\nThe module name must be in the front of function name and separated\nby a \u0027:\u0027. e.g. btrfs:btrfs_init_sysfs\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072656.6528.89970.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bc81d48d13d8839fae6833c95794c403b2133f36",
      "tree": "ebb87fb7664549eba344489e80cef1b64555bba0",
      "parents": [
        "1538f888f1e793de04e0f90372352ac1b05833cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:50 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:11:47 2011 -0400"
      },
      "message": "kprobes: Return -ENOENT if probe point doesn\u0027t exist\n\nReturn -ENOENT if probe point doesn\u0027t exist, but still returns\n-EINVAL if both of kprobe-\u003eaddr and kprobe-\u003esymbol_name are\nspecified or both are not specified.\n\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/20110627072650.6528.67329.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1538f888f1e793de04e0f90372352ac1b05833cf",
      "tree": "42c064993df39faf3f285e276f588fc2518016f2",
      "parents": [
        "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:44 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:10:58 2011 -0400"
      },
      "message": "tracing/kprobes: Merge trace probe enable/disable functions\n\nMerge redundant enable/disable functions into enable_trace_probe()\nand disable_trace_probe().\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072644.6528.26910.stgit@fedora15\n\n[ converted kprobe selftest to use  enable_trace_probe ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a",
      "tree": "cd13a0d2524b9ef4c6f807d01912147539c924b8",
      "parents": [
        "f91298709790b9a483752ca3c967845537df2af3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:36 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:44:43 2011 -0400"
      },
      "message": "tracing/kprobes: Rename probe_* to trace_probe_*\n\nRename probe_* to trace_probe_* for avoiding namespace\nconfliction. This also fixes improper names of find_probe_event()\nand cleanup_all_probes() to find_trace_probe() and\nrelease_all_trace_probes() respectively.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110627072636.6528.60374.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f91298709790b9a483752ca3c967845537df2af3",
      "tree": "f7392e3d37b9aa78ef04bdf89bc0d45d2db401e3",
      "parents": [
        "4a9bd3f134decd6d16ead8d288342d57aad486be"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sat Jul 09 00:17:12 2011 +0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:25:04 2011 -0400"
      },
      "message": "perf, x86: P4 PMU - Introduce event alias feature\n\nInstead of hw_nmi_watchdog_set_attr() weak function\nand appropriate x86_pmu::hw_watchdog_set_attr() call\nwe introduce even alias mechanism which allow us\nto drop this routines completely and isolate quirks\nof Netburst architecture inside P4 PMU code only.\n\nThe main idea remains the same though -- to allow\nnmi-watchdog and perf top run simultaneously.\n\nNote the aliasing mechanism applies to generic\nPERF_COUNT_HW_CPU_CYCLES event only because arbitrary\nevent (say passed as RAW initially) might have some\nadditional bits set inside ESCR register changing\nthe behaviour of event and we can\u0027t guarantee anymore\nthat alias event will give the same result.\n\nP.S. Thanks a huge to Don and Steven for for testing\n     and early review.\n\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Stephane Eranian \u003ceranian@google.com\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110708201712.GS23657@sun\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4a9bd3f134decd6d16ead8d288342d57aad486be",
      "tree": "ca9eca5fcbe93dc8a433d839221505ad8fba5296",
      "parents": [
        "259032bfe379281bf7cba512b7705bdb4ce41db5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "message": "tracing: Have dynamic size event stack traces\n\nCurrently the stack trace per event in ftace is only 8 frames.\nThis can be quite limiting and sometimes useless. Especially when\nthe \"ignore frames\" is wrong and we also use up stack frames for\nthe event processing itself.\n\nChange this to be dynamic by adding a percpu buffer that we can\nwrite a large stack frame into and then copy into the ring buffer.\n\nFor interrupts and NMIs that come in while another event is being\nprocess, will only get to use the 8 frame stack. That should be enough\nas the task that it interrupted will have the full stack frame anyway.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "259032bfe379281bf7cba512b7705bdb4ce41db5",
      "tree": "56c656f3ecb9779e70f6c9a3ad1db68a7a38a6ca",
      "parents": [
        "6331c28c962561aee59e5a493b7556a4bb585957"
      ],
      "author": {
        "name": "Sonny Rao",
        "email": "sonnyrao@chromium.org",
        "time": "Thu Jul 14 13:34:43 2011 +1000"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 15:53:01 2011 -0400"
      },
      "message": "perf: Robustify proc and debugfs file recording\n\nWhile attempting to create a timechart of boot up I found perf didn\u0027t\ntolerate modules being loaded/unloaded.  This patch fixes this by\nreading the file once and then writing the size read at the correct\npoint in the file.  It also simplifies the code somewhat.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Sonny Rao \u003csonnyrao@chromium.org\u003e\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nLink: http://lkml.kernel.org/r/10011.1310614483@neuling.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6331c28c962561aee59e5a493b7556a4bb585957",
      "tree": "33292a3127aa831ee8ec2394e790bc2a8817beee",
      "parents": [
        "072126f4529196f71a97960248bca54fd4554c2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:11:02 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:25:09 2011 -0400"
      },
      "message": "ftrace: Fix dynamic selftest failure on some archs\n\nArchs that do not implement CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST, will\nfail the dynamic ftrace selftest.\n\nThe function tracer has a quick \u0027off\u0027 variable that will prevent\nthe call back functions from being called. This variable is called\nfunction_trace_stop. In x86, this is implemented directly in the mcount\nassembly, but for other archs, an intermediate function is used called\nftrace_test_stop_func().\n\nIn dynamic ftrace, the function pointer variable ftrace_trace_function is\nused to update the caller code in the mcount caller. But for archs that\ndo not have CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST set, it only calls\nftrace_test_stop_func() instead, which in turn calls __ftrace_trace_function.\n\nWhen more than one ftrace_ops is registered, the function it calls is\nftrace_ops_list_func(), which will iterate over all registered ftrace_ops\nand call the callbacks that have their hash matching.\n\nThe issue happens when two ftrace_ops are registered for different functions\nand one is then unregistered. The __ftrace_trace_function is then pointed\nto the remaining ftrace_ops callback function directly. This mean it will\nbe called for all functions that were registered to trace by both ftrace_ops\nthat were registered.\n\nThis is not an issue for archs with CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST,\nbecause the update of ftrace_trace_function doesn\u0027t happen until after all\nfunctions have been updated, and then the mcount caller is updated. But\nfor those archs that do use the ftrace_test_stop_func(), the update is\nimmediate.\n\nThe dynamic selftest fails because it hits this situation, and the\nftrace_ops that it registers fails to only trace what it was suppose to\nand instead traces all other functions.\n\nThe solution is to delay the setting of __ftrace_trace_function until\nafter all the functions have been updated according to the registered\nftrace_ops. Also, function_trace_stop is set during the update to prevent\nfunction tracing from calling code that is caused by the function tracer\nitself.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "072126f4529196f71a97960248bca54fd4554c2d",
      "tree": "cb1275288f49b59e4643abb85855ad6889aba94f",
      "parents": [
        "41fb61c2d08107ce96a5dcb3a6289b2afd3e135c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:08:31 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:10:05 2011 -0400"
      },
      "message": "ftrace: Update filter when tracing enabled in set_ftrace_filter()\n\nCurrently, if set_ftrace_filter() is called when the ftrace_ops is\nactive, the function filters will not be updated. They will only be updated\nwhen tracing is disabled and re-enabled.\n\nUpdate the functions immediately during set_ftrace_filter().\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "41fb61c2d08107ce96a5dcb3a6289b2afd3e135c",
      "tree": "ca3ae1796ca1d3f01f2bb62eba1fbc93db1affae",
      "parents": [
        "4376cac66778b25e599be3f5d54f33f58ba8ead7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:03:44 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:00:50 2011 -0400"
      },
      "message": "ftrace: Balance records when updating the hash\n\nWhenever the hash of the ftrace_ops is updated, the record counts\nmust be balance. This requires disabling the records that are set\nin the original hash, and then enabling the records that are set\nin the updated hash.\n\nMoving the update into ftrace_hash_move() removes the bug where the\nhash was updated but the records were not, which results in ftrace\ntriggering a warning and disabling itself because the ftrace_ops filter\nis updated while the ftrace_ops was registered, and then the failure\nhappens when the ftrace_ops is unregistered.\n\nThe current code will not trigger this bug, but new code will.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4376cac66778b25e599be3f5d54f33f58ba8ead7",
      "tree": "9cf05820586f140bafcde67cd2cd80a4391ef7eb",
      "parents": [
        "e4a3f541f0b67fdad98b326c851dfe7f4b6b6dad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jun 24 23:28:13 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 22:39:38 2011 -0400"
      },
      "message": "ftrace: Do not disable interrupts for modules in mcount update\n\nWhen I mounted an NFS directory, it caused several modules to be loaded. At the\ntime I was running the preemptirqsoff tracer, and it showed the following\noutput:\n\n# tracer: preemptirqsoff\n#\n# preemptirqsoff latency trace v1.1.5 on 2.6.33.9-rt30-mrg-test\n# --------------------------------------------------------------------\n# latency: 1177 us, #4/4, CPU#3 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n#    -----------------\n#    | task: modprobe-19370 (uid:0 nice:0 policy:0 rt_prio:0)\n#    -----------------\n#  \u003d\u003e started at: ftrace_module_notify\n#  \u003d\u003e ended at:   ftrace_module_notify\n#\n#\n#                  _------\u003d\u003e CPU#\n#                 / _-----\u003d\u003e irqs-off\n#                | / _----\u003d\u003e need-resched\n#                || / _---\u003d\u003e hardirq/softirq\n#                ||| / _--\u003d\u003e preempt-depth\n#                |||| /_--\u003d\u003e lock-depth\n#                |||||/     delay\n#  cmd     pid   |||||| time  |   caller\n#     \\   /      ||||||   \\   |   /\nmodprobe-19370   3d....    0us!: ftrace_process_locs \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1176us : ftrace_process_locs \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1178us : trace_hardirqs_on \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1178us : \u003cstack trace\u003e\n \u003d\u003e ftrace_process_locs\n \u003d\u003e ftrace_module_notify\n \u003d\u003e notifier_call_chain\n \u003d\u003e __blocking_notifier_call_chain\n \u003d\u003e blocking_notifier_call_chain\n \u003d\u003e sys_init_module\n \u003d\u003e system_call_fastpath\n\nThat\u0027s over 1ms that interrupts are disabled on a Real-Time kernel!\n\nLooking at the cause (being the ftrace author helped), I found that the\ninterrupts are disabled before the code modification of mcounts into nops. The\ninterrupts only need to be disabled on start up around this code, not when\nmodules are being loaded.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4a3f541f0b67fdad98b326c851dfe7f4b6b6dad",
      "tree": "e93b858ab3313374d23c4ebadc5077816f1894f2",
      "parents": [
        "e08fbb78f03fe2c4f88824faf6f51ce6af185e11"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 14 19:02:29 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 22:26:27 2011 -0400"
      },
      "message": "tracing: Still trace filtered irq functions when irq trace is disabled\n\nIf a function is set to be traced by the set_graph_function, but the\noption funcgraph-irqs is zero, and the traced function happens to be\ncalled from a interrupt, it will not be traced.\n\nThe point of funcgraph-irqs is to not trace interrupts when we are\npreempted by an irq, not to not trace functions we want to trace that\nhappen to be *in* a irq.\n\nLuckily the current-\u003etrace_recursion element is perfect to add a flag\nto help us be able to trace functions within an interrupt even when\nwe are not tracing interrupts that preempt the trace.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e08fbb78f03fe2c4f88824faf6f51ce6af185e11",
      "tree": "c15a70f94c4123afd3075a0ed73ea18022f7ad7a",
      "parents": [
        "931da6137e8e8c622f59251e8b645467aea293f1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 01 23:04:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 19:22:32 2011 +0200"
      },
      "message": "tracing, x86/irq: Do not trace arch_local_{*,irq_*}() functions\n\nI triggered a triple fault with gcc 4.5.1 because it did not\nhonor the inline annotation to arch_local_save_flags() function\nand that function was added to the pool of functions traced by\nthe function tracer.\n\nWhen preempt_schedule() called arch_local_save_flags() (called\nby irqs_disabled()), it was traced, but the first thing the\nfunction tracer does is disable preemption. When it enables\npreemption, the NEED_RESCHED flag will not have been cleared and\nthe preemption check will trigger the call to preempt_schedule()\nagain.\n\nAlthough the dynamic function tracer crashed immediately, the\nstatic version of the function tracer (CONFIG_DYNAMIC_FTRACE is\nnot set) actually was able to show where the problem was.\n\n swapper-1       3.N.. 103885us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103886us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103886us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103887us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103887us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103888us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103888us : arch_local_save_flags \u003c-preempt_schedule\n\nIt went on for a while before it triple faulted with a corrupted\nstack.\n\nThe arch_local_save_flags and arch_local_irq_* functions should\nnot be traced. Even though they are marked as inline, gcc may\nstill make them a function and enable tracing of them.\n\nThe simple solution is to just mark them as notrace. I had to\nadd the \u003clinux/types.h\u003e for this file to include the notrace\ntag.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20110702033852.733414762@goodmis.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "931da6137e8e8c622f59251e8b645467aea293f1",
      "tree": "2169cbd29d5d9a4cbc7104b2a744a95ba746c50d",
      "parents": [
        "5d67be97f8903d05ce53597fb5f3bc25a45e8026",
        "1fd8df2c3970c9e7e4e262354154ee39e58bdd7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:55:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:55:43 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "5d67be97f8903d05ce53597fb5f3bc25a45e8026",
      "tree": "5ce8c2407d50570d7fee79b9c7f24e8eb89384b4",
      "parents": [
        "9f8b6a6cf0ee78de87ebe1e87f54bec1c1741ef7"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jul 04 21:57:50 2011 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 10:44:44 2011 +0200"
      },
      "message": "perf report/annotate/script: Add option to specify a CPU range\n\nAdd an option to perf report/annotate/script to specify which\nCPUs to operate on. This enables us to take a single system wide\nprofile and analyse each CPU (or group of CPUs) in isolation.\n\nThis was useful when profiling a multiprocess workload where the\nbottleneck was on one CPU but this was hidden in the overall\nprofile. Per process and per thread breakdowns didn\u0027t help\nbecause multiple processes were running on each CPU and no\nsingle process consumed an entire CPU.\n\nThe patch converts the list of CPUs returned by cpu_map__new\ninto a bitmap for fast lookup. I wanted to use -C to be\nconsistent with perf top/record/stat, but unfortunately perf\nreport already uses -C \u003ccomms\u003e.\n\n v2: Incorporate suggestions from David Ahern:\n\t- Added -c to perf script\n\t- Check that SAMPLE_CPU is set when -c is used\n\t- Update documentation\n\n v3: Create perf_session__cpu_bitmap()\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLink: http://lkml.kernel.org/r/20110704215750.11647eb9@kryten\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f8b6a6cf0ee78de87ebe1e87f54bec1c1741ef7",
      "tree": "083e4b99c53ea1bd3efb35286ebeb5a335fd555e",
      "parents": [
        "729aa21ab85b5d24f3c2b1e581d71c2333f46628",
        "a406ab6d77ea86ba7c713276f30ed7058ca64e31"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 04 12:27:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 04 12:27:28 2011 +0200"
      },
      "message": "Merge branch \u0027core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/core\n"
    },
    {
      "commit": "729aa21ab85b5d24f3c2b1e581d71c2333f46628",
      "tree": "3cf0760e7ddae58d04d2307c9d92240a0ba7c2d8",
      "parents": [
        "29dfc4fd7e792854b30d771d4e299fbdd2adb763",
        "a2bbe75089d5eb9a3a46d50dd5c215e213790288"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 03 20:39:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 03 20:39:40 2011 +0200"
      },
      "message": "Merge branch \u0027perf/stacktrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "a2bbe75089d5eb9a3a46d50dd5c215e213790288",
      "tree": "d1322d80e7d2c048611e6c79b7211412d4629e25",
      "parents": [
        "48ffee7d9e6df51b4957bed64115b7beed671374"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 16:52:45 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:06:36 2011 +0200"
      },
      "message": "x86: Don\u0027t use frame pointer to save old stack on irq entry\n\nrbp is used in SAVE_ARGS_IRQ to save the old stack pointer\nin order to restore it later in ret_from_intr.\n\nIt is convenient because we save its value in the irq regs\nand it\u0027s easily restored using the leave instruction.\n\nHowever this is a kind of abuse of the frame pointer which\nrole is to help unwinding the kernel by chaining frames\ntogether, each node following the return address to the\nprevious frame.\n\nBut although we are breaking the frame by changing the stack\npointer, there is no preceding return address before the new\nframe. Hence using the frame pointer to link the two stacks\nbreaks the stack unwinders that find a random value instead of\na return address here.\n\nThere is no workaround that can work in every case. We are using\nthe fixup_bp_irq_link() function to dereference that abused frame\npointer in the case of non nesting interrupt (which means stack\nchanged).\nBut that doesn\u0027t fix the case of interrupts that don\u0027t change the\nstack (but we still have the unconditional frame link), which is\nthe case of hardirq interrupting softirq. We have no way to detect\nthis transition so the frame irq link is considered as a real frame\npointer and the return address is dereferenced but it is still a\nspurious one.\n\nThere are two possible results of this: either the spurious return\naddress, a random stack value, luckily belongs to the kernel text\nand then the unwinding can continue and we just have a weird entry\nin the stack trace. Or it doesn\u0027t belong to the kernel text and\nunwinding stops there.\n\nThis is the reason why stacktraces (including perf callchains) on\nirqs that interrupted softirqs don\u0027t work very well.\n\nTo solve this, we don\u0027t save the old stack pointer on rbp anymore\nbut we save it to a scratch register that we push on the new\nstack and that we pop back later on irq return.\n\nThis preserves the whole frame chain without spurious return addresses\nin the middle and drops the need for the horrid fixup_bp_irq_link()\nworkaround.\n\nAnd finally irqs that interrupt softirq are sanely unwinded.\n\nBefore:\n\n    99.81%         perf  [kernel.kallsyms]  [k] perf_pending_event\n                   |\n                   --- perf_pending_event\n                       irq_work_run\n                       smp_irq_work_interrupt\n                       irq_work_interrupt\n                      |\n                      |--41.60%-- __read\n                      |          |\n                      |          |--99.90%-- create_worker\n                      |          |          bench_sched_messaging\n                      |          |          cmd_bench\n                      |          |          run_builtin\n                      |          |          main\n                      |          |          __libc_start_main\n                      |           --0.10%-- [...]\n\nAfter:\n\n     1.64%  swapper  [kernel.kallsyms]  [k] perf_pending_event\n            |\n            --- perf_pending_event\n                irq_work_run\n                smp_irq_work_interrupt\n                irq_work_interrupt\n               |\n               |--95.00%-- arch_irq_work_raise\n               |          irq_work_queue\n               |          __perf_event_overflow\n               |          perf_swevent_overflow\n               |          perf_swevent_event\n               |          perf_tp_event\n               |          perf_trace_softirq\n               |          __do_softirq\n               |          call_softirq\n               |          do_softirq\n               |          irq_exit\n               |          |\n               |          |--73.68%-- smp_apic_timer_interrupt\n               |          |          apic_timer_interrupt\n               |          |          |\n               |          |          |--96.43%-- amd_e400_idle\n               |          |          |          cpu_idle\n               |          |          |          start_secondary\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "48ffee7d9e6df51b4957bed64115b7beed671374",
      "tree": "657683cd028ed2e34aabfcc33ad2c0e2d04952ae",
      "parents": [
        "3b99a3ef55b292180473a221f3d6bc24455f0632"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 15:03:44 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:06:21 2011 +0200"
      },
      "message": "x86: Remove useless unwinder backlink from irq regs saving\n\nThe unwinder backlink in interrupt entry is very useless.\nIt\u0027s actually not part of the stack frame chain and thus is\nnever used.\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "3b99a3ef55b292180473a221f3d6bc24455f0632",
      "tree": "e00651ee9e8d13cbe6845ba20c47e1d04da7dae9",
      "parents": [
        "1871853f7abc3c727c4346539c5062cbeaf016a4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 01 02:25:17 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:05:46 2011 +0200"
      },
      "message": "x86,64: Separate arg1 from rbp handling in SAVE_REGS_IRQ\n\nJust for clarity in the code. Have a first block that handles\nthe frame pointer and a separate one that handles pt_regs\npointer and its use.\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "1871853f7abc3c727c4346539c5062cbeaf016a4",
      "tree": "b01f5f5f5cb44a11b4ae542cfcf813d82c62c8eb",
      "parents": [
        "47ce11a2b6519f9c7843223ea8e561eb71ea5896"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 01 01:51:22 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:05:31 2011 +0200"
      },
      "message": "x86,64: Simplify save_regs()\n\nThe save_regs function that saves the regs on low level\nirq entry is complicated because of the fact it changes\nits stack in the middle and also because it manipulates\ndata allocated in the caller frame and accesses there\nare directly calculated from callee rsp value with the\nreturn address in the middle of the way.\n\nThis complicates the static stack offsets calculation and\nrequire more dynamic ones. It also needs a save/restore\nof the function\u0027s return address.\n\nTo simplify and optimize this, turn save_regs() into a\nmacro.\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "47ce11a2b6519f9c7843223ea8e561eb71ea5896",
      "tree": "f2b4130ac79a558b687ba22103878db10dbadb1e",
      "parents": [
        "9e46294dadedc0c04adcb8ce760bd2cd74f7332d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 19:04:56 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:04:20 2011 +0200"
      },
      "message": "x86: Fetch stack from regs when possible in dump_trace()\n\nWhen regs are passed to dump_stack(), we fetch the frame\npointer from the regs but the stack pointer is taken from\nthe current frame.\n\nThus the frame and stack pointers may not come from the same\ncontext. For example this can result in the unwinder to\nthink the context is in irq, due to the current value of\nthe stack, but the frame pointer coming from the regs points\nto a frame from another place. It then tries to fix up\nthe irq link but ends up dereferencing a random frame\npointer that doesn\u0027t belong to the irq stack:\n\n[ 9131.706906] ------------[ cut here ]------------\n[ 9131.707003] WARNING: at arch/x86/kernel/dumpstack_64.c:129 dump_trace+0x2aa/0x330()\n[ 9131.707003] Hardware name: AMD690VM-FMH\n[ 9131.707003] Perf: bad frame pointer \u003d 0000000000000005 in callchain\n[ 9131.707003] Modules linked in:\n[ 9131.707003] Pid: 1050, comm: perf Not tainted 3.0.0-rc3+ #181\n[ 9131.707003] Call Trace:\n[ 9131.707003]  \u003cIRQ\u003e  [\u003cffffffff8104bd4a\u003e] warn_slowpath_common+0x7a/0xb0\n[ 9131.707003]  [\u003cffffffff8104be21\u003e] warn_slowpath_fmt+0x41/0x50\n[ 9131.707003]  [\u003cffffffff8178b873\u003e] ? bad_to_user+0x6d/0x10be\n[ 9131.707003]  [\u003cffffffff8100c2da\u003e] dump_trace+0x2aa/0x330\n[ 9131.707003]  [\u003cffffffff810107d3\u003e] ? native_sched_clock+0x13/0x50\n[ 9131.707003]  [\u003cffffffff8101b164\u003e] perf_callchain_kernel+0x54/0x70\n[ 9131.707003]  [\u003cffffffff810d391f\u003e] perf_prepare_sample+0x19f/0x2a0\n[ 9131.707003]  [\u003cffffffff810d546c\u003e] __perf_event_overflow+0x16c/0x290\n[ 9131.707003]  [\u003cffffffff810d5430\u003e] ? __perf_event_overflow+0x130/0x290\n[ 9131.707003]  [\u003cffffffff810107d3\u003e] ? native_sched_clock+0x13/0x50\n[ 9131.707003]  [\u003cffffffff8100fbb9\u003e] ? sched_clock+0x9/0x10\n[ 9131.707003]  [\u003cffffffff810752e5\u003e] ? T.375+0x15/0x90\n[ 9131.707003]  [\u003cffffffff81084da4\u003e] ? trace_hardirqs_on_caller+0x64/0x180\n[ 9131.707003]  [\u003cffffffff810817bd\u003e] ? trace_hardirqs_off+0xd/0x10\n[ 9131.707003]  [\u003cffffffff810d5764\u003e] perf_event_overflow+0x14/0x20\n[ 9131.707003]  [\u003cffffffff810d588c\u003e] perf_swevent_hrtimer+0x11c/0x130\n[ 9131.707003]  [\u003cffffffff817821a1\u003e] ? error_exit+0x51/0xb0\n[ 9131.707003]  [\u003cffffffff81072e93\u003e] __run_hrtimer+0x83/0x1e0\n[ 9131.707003]  [\u003cffffffff810d5770\u003e] ? perf_event_overflow+0x20/0x20\n[ 9131.707003]  [\u003cffffffff81073256\u003e] hrtimer_interrupt+0x106/0x250\n[ 9131.707003]  [\u003cffffffff812a3bfd\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n[ 9131.707003]  [\u003cffffffff81024833\u003e] smp_apic_timer_interrupt+0x53/0x90\n[ 9131.707003]  [\u003cffffffff81789053\u003e] apic_timer_interrupt+0x13/0x20\n[ 9131.707003]  \u003cEOI\u003e  [\u003cffffffff817821a1\u003e] ? error_exit+0x51/0xb0\n[ 9131.707003]  [\u003cffffffff8178219c\u003e] ? error_exit+0x4c/0xb0\n[ 9131.707003] ---[ end trace b2560d4876709347 ]---\n\nFix this by simply taking the stack pointer from regs-\u003esp\nwhen regs are provided.\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9e46294dadedc0c04adcb8ce760bd2cd74f7332d",
      "tree": "35d20bd33678e9ae18aeccab48f80dc64a5c6426",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 15:00:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:04:03 2011 +0200"
      },
      "message": "x86: Save stack pointer in perf live regs savings\n\nIn order to prepare for fetching the stack pointer from the\nregs when possible in dump_trace() instead of taking the\nlocal one, save the current stack pointer in perf live regs saving.\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 \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "29dfc4fd7e792854b30d771d4e299fbdd2adb763",
      "tree": "8f9c10296f0653e323a765b86783662cafcfaa81",
      "parents": [
        "3ae9a34d747f9abf2bcc85dc0e77b951513ccdf2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 01 15:24:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 16:20:04 2011 +0200"
      },
      "message": "perf, powerpc: Fix build borkage\n\nThe patch a8b0ca17b80e (\"perf: Remove the nmi parameter from the swevent\nand overflow interface\") missed a spot in the ppc hw_breakpoint code,\nfix this up so things compile again.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-09pfip95g88s70iwkxu6nnbt@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ae9a34d747f9abf2bcc85dc0e77b951513ccdf2",
      "tree": "592baba4f60e156f9b0d596ade75e282ea21f1ab",
      "parents": [
        "343a031f3c4a7a663192cf56368bb5a6c56870c0"
      ],
      "author": {
        "name": "Zhengyu He",
        "email": "zhengyuh@google.com",
        "time": "Thu Jun 23 13:45:42 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 12:52:40 2011 +0200"
      },
      "message": "perf stat: Add noise output for csv mode\n\nPreviously, when you want perf-stat to output the statistics in\ncsv mode, no information of the noise will be printed out.\n\nFor example right now we output this --repeat information:\n\n ./perf stat -r3 -x, sleep 1\n 1.164789,task-clock\n 8,context-switches\n 0,CPU-migrations\n 219,page-faults\n 3337800,cycles\n\nWith this patch, the output will be appended with an additional\nentry for the noise value:\n\n ./perf stat -r3 -x, sleep 1\n 1.164789,task-clock,3.75%\n 8,context-switches,75.00%\n 0,CPU-migrations,100.00%\n 219,page-faults,0.00%\n 3337800,cycles,3.36%\n\nSigned-off-by: Zhengyu He \u003czhengyuh@google.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1308861942-4945-1-git-send-email-zhengyuh@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "343a031f3c4a7a663192cf56368bb5a6c56870c0",
      "tree": "ee6c7fddf5de92f64f3759694cc6a4b7c28fa80a",
      "parents": [
        "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
        "cb1955b86c86782ff20037da42ef030057501c34"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:51:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:51:58 2011 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
      "tree": "01f430828eaacf7ba3e0eb541f8d946f3d855696",
      "parents": [
        "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:37 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:40 2011 +0200"
      },
      "message": "perf: export perf_event_refresh() to modules\n\nKVM needs one-shot samples, since a PMC programmed to -X will fire after X\nevents and then again after 2^40 events (i.e. variable period).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-4-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716",
      "tree": "fb32f768bce1c3bd8772d52d87d30ab63d2ebaaa",
      "parents": [
        "4dc0da86967d5463708631d02a70cfed5b104884"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:36 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:39 2011 +0200"
      },
      "message": "x86, perf: Add constraints for architectural PMU\n\nThe v1 PMU does not have any fixed counters.  Using the v2 constraints,\nwhich do have fixed counters, causes an additional choice to be present\nin the weight calculation, but not when actually scheduling the event,\nleading to an event being not scheduled at all.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-3-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dc0da86967d5463708631d02a70cfed5b104884",
      "tree": "e09071a62f2457b710ff69df3be1bff39340a4c6",
      "parents": [
        "89d6c0b5bdbb1927775584dcf532d98b3efe1477"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf: Add context field to perf_event\n\nThe perf_event overflow handler does not receive any caller-derived\nargument, so many callers need to resort to looking up the perf_event\nin their local data structure.  This is ugly and doesn\u0027t scale if a\nsingle callback services many perf_events.\n\nFix by adding a context parameter to perf_event_create_kernel_counter()\n(and derived hardware breakpoints APIs) and storing it in the perf_event.\nThe field can be accessed from the callback as event-\u003eoverflow_handler_context.\nAll callers are updated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "89d6c0b5bdbb1927775584dcf532d98b3efe1477",
      "tree": "89ec2fb7944dbf79ccb5d1a47f6117cd9c8b617f",
      "parents": [
        "b79e8941fb9af07d810da91b4e29da2bba331b6e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Apr 22 23:37:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf, arch: Add generic NODE cache events\n\nAdd a NODE level to the generic cache events which is used to measure\nlocal vs remote memory accesses. Like all other cache events, an\nACCESS is HIT+MISS, if there is no way to distinguish between reads\nand writes do reads only etc..\n\nThe below needs filling out for !x86 (which I filled out with\nunsupported events).\n\nI\u0027m fairly sure ARM can leave it like that since it doesn\u0027t strike me as\nan architecture that even has NUMA support. SH might have something since\nit does appear to have some NUMA bits.\n\nSparc64, PowerPC and MIPS certainly want a good look there since they\nclearly are NUMA capable.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/r/1303508226.4865.8.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b79e8941fb9af07d810da91b4e29da2bba331b6e",
      "tree": "8bb9c7ec132d185dc79f9a05274c1535d3634762",
      "parents": [
        "ee89cbc2d48150c7c0e9f2aaac00afde99af098c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 23 11:08:15 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:37 2011 +0200"
      },
      "message": "perf, intel: Try alternative OFFCORE encodings\n\nSince the OFFCORE registers are fully symmetric, try the other one\nwhen the specified one is already in use.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1306141897.18455.8.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee89cbc2d48150c7c0e9f2aaac00afde99af098c",
      "tree": "8b690157409cab9fc1c887d7ea706b80e1d49e48",
      "parents": [
        "cd8a38d33e2528998998bae70a45ad27e442f114"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:12 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:37 2011 +0200"
      },
      "message": "perf_events: Add Intel Sandy Bridge offcore_response low-level support\n\nThis patch adds Intel Sandy Bridge offcore_response support by\nproviding the low-level constraint table for those events.\n\nOn Sandy Bridge, there are two offcore_response events. Each uses\nits own dedictated extra register. But those registers are NOT shared\nbetween sibling CPUs when HT is on unlike Nehalem/Westmere. They are\nalways private to each CPU. But they still need to be controlled within\nan event group. All events within an event group must use the same\nvalue for the extra MSR. That\u0027s not controlled by the second patch in\nthis series.\n\nFurthermore on Sandy Bridge, the offcore_response events have NO\ncounter constraints contrary to what the official documentation\nindicates, so drop the events from the contraint table.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145712.GA7304@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8a38d33e2528998998bae70a45ad27e442f114",
      "tree": "940bdcb466d498d32066d41529d04476185a42fd",
      "parents": [
        "efc9f05df2dd171280dcb736a4d973ffefd5508e"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:08 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:36 2011 +0200"
      },
      "message": "perf_events: Fix validation of events using an extra reg\n\nThe validate_group() function needs to validate events with\nextra shared regs. Within an event group, only events with\nthe same value for the extra reg can co-exist. This was not\nchecked by validate_group() because it was missing the\nshared_regs logic.\n\nThis patch changes the allocation of the fake cpuc used for\nvalidation to also point to a fake shared_regs structure such\nthat group events be properly testing.\n\nIt modifies __intel_shared_reg_get_constraints() to use\nspin_lock_irqsave() to avoid lockdep issues.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145708.GA7279@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efc9f05df2dd171280dcb736a4d973ffefd5508e",
      "tree": "ccc1cee8f1cc0ad5391732eb3637b685b4b155a0",
      "parents": [
        "a7ac67ea021b4603095d2aa458bc41641238f22c"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:36 2011 +0200"
      },
      "message": "perf_events: Update Intel extra regs shared constraints management\n\nThis patch improves the code managing the extra shared registers\nused for offcore_response events on Intel Nehalem/Westmere. The\nidea is to use static allocation instead of dynamic allocation.\nThis simplifies greatly the get and put constraint routines for\nthose events.\n\nThe patch also renames per_core to shared_regs because the same\ndata structure gets used whether or not HT is on. When HT is\noff, those events still need to coordination because they use\na extra MSR that has to be shared within an event group.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145703.GA7258@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7ac67ea021b4603095d2aa458bc41641238f22c",
      "tree": "e79d13a1096e751061af285265b1862d7e6dca70",
      "parents": [
        "a8b0ca17b80e92faab46ee7179ba9e99ccb61233"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 16:47:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the perf_output_begin(.sample) argument\n\nSince only samples call perf_output_sample() its much saner (and more\ncorrect) to put the sample logic in there than in the\nperf_output_begin()/perf_output_end() pair.\n\nSaves a useless argument, reduces conditionals and shrinks\nstruct perf_output_handle, win!\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-2crpvsx3cqu67q3zqjbnlpsc@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1880c4ae182afb5650c5678949ecfe7ff66a724e",
      "tree": "57306c05aca1e2a2ce5d07e8c29ad76b6b403879",
      "parents": [
        "0d6412085b7ff58612af52e51ffa864f0df4b8fd"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Jun 23 16:49:18 2011 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "perf, x86: Add hw_watchdog_set_attr() in a sake of nmi-watchdog on P4\n\nDue to restriction and specifics of Netburst PMU we need a separated\nevent for NMI watchdog. In particular every Netburst event\nconsumes not just a counter and a config register, but also an\nadditional ESCR register.\n\nSince ESCR registers are grouped upon counters (i.e. if ESCR is occupied\nfor some event there is no room for another event to enter until its\nreleased) we need to pick up the \"least\" used ESCR (or the most available\none) for nmi-watchdog purposes -- so MSR_P4_CRU_ESCR2/3 was chosen.\n\nWith this patch nmi-watchdog and perf top should be able to run simultaneously.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-and-reviewed-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-and-reviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110623124918.GC13050@sun\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d6412085b7ff58612af52e51ffa864f0df4b8fd",
      "tree": "b0aa2622aa0262b1238b07fad38d76c9c61d6e32",
      "parents": [
        "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Fri Jun 24 12:26:26 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "events: Ensure that timers are updated without requiring read() call\n\nThe event tracing infrastructure exposes two timers which should be updated\neach time the value of the counter is updated.  Currently, these counters are\nonly updated when userspace calls read() on the fd associated with an event.\nThis means that counters which are read via the mmap\u0027d page exclusively never\nhave their timers updated.  This patch adds ensures that the timers are updated\neach time the values in the mmap\u0027d page are updated.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308932786-5111-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa",
      "tree": "bb422e3368f2ad686e69229b416536b2bcb1df8e",
      "parents": [
        "b7526f0ca6dc68f57ca467ce503151b1d476a3e4"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Move lockless timer calculation into helper function\n\nTake the timer calculation from perf_output_read and move it to a helper\nfunction for any place that needs timer values but cannot take the ctx-\u003elock.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-2-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7526f0ca6dc68f57ca467ce503151b1d476a3e4",
      "tree": "979237e480c349409410f38aba502b06794a6b44",
      "parents": [
        "28009ce4a8130af7260a9271901b4419834ad152"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:37 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Add note to update_event_times comment about holding ctx-\u003elock\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28009ce4a8130af7260a9271901b4419834ad152",
      "tree": "d594a4cb1178fa634ce0594cc2f6ff5c284064a7",
      "parents": [
        "4ec8363dfc1451f8c8f86825731fe712798ada02"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Jun 07 16:33:38 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf: Remove 64-bit alignment padding from perf_event_context\n\nReorder perf_event_context to remove 8 bytes of 64 bit alignment padding\nshrinking its size to 192 bytes, allowing it to fit into a smaller slab\nand use one fewer cache lines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1307460819.1950.5.camel@castor.rsk\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec8363dfc1451f8c8f86825731fe712798ada02",
      "tree": "12db5b26a3ffa179ef119ac945c4d9a6fb1ced88",
      "parents": [
        "0f933625e7b6c3d91878ae95e341bf1984db7eaf"
      ],
      "author": {
        "name": "Vince Weaver",
        "email": "vweaver1@eecs.utk.edu",
        "time": "Wed Jun 01 15:15:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf_events: Fix perf buffer watermark setting\n\nSince 2.6.36 (specifically commit d57e34fdd60b (\"perf: Simplify the\nring-buffer logic: make perf_buffer_alloc() do everything needed\"),\nthe perf_buffer_init_code() has been mis-setting the buffer watermark\nif perf_event_attr.wakeup_events has a non-zero value.\n\nThis is because perf_event_attr.wakeup_events is a union with\nperf_event_attr.wakeup_watermark.\n\nThis commit re-enables the check for perf_event_attr.watermark being\nset before continuing with setting a non-default watermark.\n\nThis bug is most noticable when you are trying to use PERF_IOC_REFRESH\nwith a value larger than one and perf_event_attr.wakeup_events is set to\none.  In this case the buffer watermark will be set to 1 and you will\nget extraneous POLL_IN overflows rather than POLL_HUP as expected.\n\n[ avoid using attr.wakeup_events when attr.watermark is set ]\n\nSigned-off-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/alpine.DEB.2.00.1106011506390.5384@cl320.eecs.utk.edu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f933625e7b6c3d91878ae95e341bf1984db7eaf",
      "tree": "5471d99242096415d38c86b7dbe8a2543906cb23",
      "parents": [
        "4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 28 12:15:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:02:25 2011 +0200"
      },
      "message": "irq_work, alpha: Fix up arch hooks\n\nCommit e360adbe29 (\"irq_work: Add generic hardirq context\ncallbacks\") fouled up the Alpha bit, not properly naming the\narch specific function that raises the \u0027self-IPI\u0027.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: stable@kernel.org # 37+\nLink: http://lkml.kernel.org/n/tip-gukh0txmql2l4thgrekzzbfy@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71",
      "tree": "7eab2f9679823e78a8e0e32d2eee57b70f64935b",
      "parents": [
        "10e6962765f8213941eaa1cbb9de425ff0689e2e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 17:22:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:02:22 2011 +0200"
      },
      "message": "irq_work, ppc: Fix up arch hooks\n\nCommit e360adbe29 (\"irq_work: Add generic hardirq context\ncallbacks\") fouled up the ppc bit, not properly naming the\narch specific function that raises the \u0027self-IPI\u0027.\n\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: stable@kernel.org # 37+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-eg0aqien8p1aqvzu9dft6dtv@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10e6962765f8213941eaa1cbb9de425ff0689e2e",
      "tree": "c277e4ac5b2b7156152454578c39e90da5127dd8",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:28:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:28:46 2011 +0200"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into perf/core\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb1955b86c86782ff20037da42ef030057501c34",
      "tree": "4d4ed06f8ec32ddc4a47259d82fa470673cdf510",
      "parents": [
        "fd8ea21276adefc7f0133bd42fcf3b2faf0b15f8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 23:52:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:49 2011 +0200"
      },
      "message": "perf tools: Only display parent field if explictly sorted\n\nWe don\u0027t need to display the parent field if the parent\nsorting machinery is only used for parent filtering\n(as in \"-p foo\").\n\nHowever if parent filtering is used in combination with\nexplicit parent sorting ( -s parent), we want to\ndisplay it.\n\nResult with:\n\n  perf report -p kernel_thread -s parent\n\nBefore:\n\n # Overhead  Parent symbol\n # ........  .............\n #\n     0.07%\n            |\n            --- ioread8\n                ata_sff_check_status\n                ata_sff_tf_load\n                ata_sff_qc_issue\n                ata_bmdma_qc_issue\n                ata_qc_issue\n                ata_scsi_translate\n                ata_scsi_queuecmd\n                scsi_dispatch_cmd\n                scsi_request_fn\n                __blk_run_queue\n                __make_request\n                generic_make_request\n                submit_bio\n                submit_bh\n                journal_submit_commit_record\n                jbd2_journal_commit_transaction\n                kjournald2\n                kthread\n                kernel_thread_helpe\n\nAfter:\n\n # Overhead  Parent symbol\n # ........  .............\n #\n     0.07%  kernel_thread_helper\n            |\n            --- ioread8\n                ata_sff_check_status\n                ata_sff_tf_load\n                ata_sff_qc_issue\n                ata_bmdma_qc_issue\n                ata_qc_issue\n                ata_scsi_translate\n                ata_scsi_queuecmd\n                scsi_dispatch_cmd\n                scsi_request_fn\n                __blk_run_queue\n                __make_request\n                generic_make_request\n                submit_bio\n                submit_bh\n                journal_submit_commit_record\n                jbd2_journal_commit_transaction\n                kjournald2\n                kthread\n                kernel_thread_helper\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "fd8ea21276adefc7f0133bd42fcf3b2faf0b15f8",
      "tree": "7d4025ed1c68162f118bc29005ac76f0e9ea8dd8",
      "parents": [
        "e84d21227c6865fe1f3d0c79d1539b6877f54c84"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 23:08:14 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:41 2011 +0200"
      },
      "message": "perf tools: Allow sort dimensions to be registered more than once\n\nSo that the parent sort dimension can be registered twice: once\nif we add it as an explicit sort dimension (-s parent) and twice\nif we request a parent filter (-p foo).\n\nWe\u0027ll have only one parent sort dimension in the end but this\nallows to override the default parent filter with we gave in \"-p\"\noption. The goal of this is to prepare to allow the use of\n\"-s parent\" and \"-p foo\" at the same time, ie: sort by filtered\nparent.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "e84d21227c6865fe1f3d0c79d1539b6877f54c84",
      "tree": "51890e149dc9946b8300c38bfb1ebc1a643bfd85",
      "parents": [
        "2fd701bc782fad8792059dd586e1f00b64f6a52e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 22:23:03 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:33 2011 +0200"
      },
      "message": "perf tools: Don\u0027t display ignored entries on stdio ui\n\nAs for newt ui, don\u0027t display entries that have been marked\nas ignored.\n\nThe practical current effect of this is to make parent\nfiltering really working. Before, entries that were ignored\nwere given a null parent but were still displayed. This\nresulted in some weird effects:\n\n # Overhead      Command      Shared Object        Symbol\n # ........  ...........  .................  ............\n #\n^A\n                   |\n                   --- __lock_acquire\n                      |\n                      |--95.97%-- lock_acquire\n                      |          |\n                      |          |--30.75%-- _raw_spin_lock\n\nDiscard these from the stdio display.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "2fd701bc782fad8792059dd586e1f00b64f6a52e",
      "tree": "5ed938913571fd1052814f490333db26aed5e421",
      "parents": [
        "872a878fb1ee53e21c90040de2c01b3fc53b5942"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 03:25:14 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:19 2011 +0200"
      },
      "message": "perf tools: Remove sort print helpers declarations\n\nThese are probably some old leftovers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "872a878fb1ee53e21c90040de2c01b3fc53b5942",
      "tree": "1ee4c10d94e9946a6c8b35a5515fe4feab976a0d",
      "parents": [
        "d797fdc5c5c245fbb05f553e68cb95d962fbdd01"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 03:14:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:25:12 2011 +0200"
      },
      "message": "perf tools: Make sort operations static\n\nThese don\u0027t need to be globally visible.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "d797fdc5c5c245fbb05f553e68cb95d962fbdd01",
      "tree": "aa28d98f61df71a2fba55e2b4b526c77aec8de0a",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b"
      ],
      "author": {
        "name": "Sam Liao",
        "email": "phyomh@gmail.com",
        "time": "Tue Jun 07 23:49:46 2011 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:24:30 2011 +0200"
      },
      "message": "perf tools: Add inverted call graph report support.\n\nAdd \"caller/callee\" option to support inverted butterfly report,\nin the inverted report (with caller option), the call graph start\nfrom the callee\u0027s ancestor. Users can use such view to catch system\u0027s\nperformance bottleneck from a sysprof like view. Using this option\nwith specified sort order like pid gives us high level view of call\ngraph statistics.\n\nAlso add \"-G\" alias for inverted call graph.\n\nSigned-off-by: Sam Liao \u003cphyomh@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b0af8dfdd67699e25083478c63eedef2e72ebd85",
      "tree": "f20d9e2415fc97137ee3090bea373c8412099015",
      "parents": [
        "ecbec53b1d00ba582f71b210ed96cafc05ebd189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 19:12:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 19:12:22 2011 -0700"
      },
      "message": "Linux 3.0-rc5\n"
    },
    {
      "commit": "ecbec53b1d00ba582f71b210ed96cafc05ebd189",
      "tree": "d03418464a270e05b769413c8a8183c328f26210",
      "parents": [
        "e2377fe0b65e3c7577ff6df1701c56ef477d336f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:14 2011 -0700"
      },
      "message": "drm/i915: more struct_mutex locking\n\nWhen auditing the locking in i915_gem.c (for a prospective change which\nI then abandoned), I noticed two places where struct_mutex is not held\nacross GEM object manipulations that would usually require it.\n\nSince one is in initial setup and the other in driver unload, I\u0027m\nguessing the mutex is not required for either; but post a patch in case\nit is.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2377fe0b65e3c7577ff6df1701c56ef477d336f",
      "tree": "ba110d07556128a0eff42496294c7dd4880ecfd7",
      "parents": [
        "5949eac4d9b5bf936c12cb7ec3a09084c1326834"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:14 2011 -0700"
      },
      "message": "drm/i915: use shmem_truncate_range\n\nThe interface to -\u003etruncate_range is changing very slightly: once \"tmpfs:\ntake control of its truncate_range\" has been applied, this can be applied.\n For now there is only a slight inefficiency while this remains unapplied,\nbut it will soon become essential for managing shmem\u0027s use of swap.\n\nChange i915_gem_object_truncate() to use shmem_truncate_range() directly:\nwhich should also spare i915 later change if we switch from\ninode_operations-\u003etruncate_range to file_operations-\u003efallocate.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nCc: Dave Airlie \u003cairlied@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": "5949eac4d9b5bf936c12cb7ec3a09084c1326834",
      "tree": "1cb391ffd8ebab379e4c37953923baeeff9d3b65",
      "parents": [
        "3142b651ad2232cf0e375c291ee4b893c8559df5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drm/i915: use shmem_read_mapping_page\n\nSoon tmpfs will stop supporting -\u003ereadpage and read_cache_page_gfp(): once\n\"tmpfs: add shmem_read_mapping_page_gfp\" has been applied, this patch can\nbe applied to ease the transition.\n\nMake i915_gem_object_get_pages_gtt() use shmem_read_mapping_page_gfp() in\nthe one place it\u0027s needed; elsewhere use shmem_read_mapping_page(), with\nthe mapping\u0027s gfp_mask properly initialized.\n\nForget about __GFP_COLD: since tmpfs initializes its pages with memset,\nasking for a cold page is counter-productive.\n\nInclude linux/shmem_fs.h also in drm_gem.c: with shmem_file_setup() now\ndeclared there too, we shall remove the prototype from linux/mm.h later.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nCc: Dave Airlie \u003cairlied@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": "3142b651ad2232cf0e375c291ee4b893c8559df5",
      "tree": "ec8038ccadc92cbceee37e084c77f73fb61d1d53",
      "parents": [
        "a39bce7bf60e728cb33b6b0415c3f44e7f1a102b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drm/ttm: use shmem_read_mapping_page\n\nSoon tmpfs will stop supporting -\u003ereadpage and read_mapping_page(): once\n\"tmpfs: add shmem_read_mapping_page_gfp\" has been applied, this patch can\nbe applied to ease the transition.\n\nttm_tt_swapin() and ttm_tt_swapout() use shmem_read_mapping_page() in\nplace of read_mapping_page(), since their swap_space has been created with\nshmem_file_setup().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nCc: Dave Airlie \u003cairlied@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": "a39bce7bf60e728cb33b6b0415c3f44e7f1a102b",
      "tree": "174bdb951546f67880f13936d64f992d87d7b47a",
      "parents": [
        "1fc6e987d8f606371337211f52ff74c6753298a6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jun 27 16:18:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/tty/serial/8250_pci.c: fix warning\n\nFis the warning\n\n  drivers/tty/serial/8250_pci.c:1457: warning: initialization from incompatible pointer type\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fc6e987d8f606371337211f52ff74c6753298a6",
      "tree": "29222b9ec135a747575a14438ee4889b0f1b96b5",
      "parents": [
        "33721bd3d00e7a235f70ba4ec19eb64bcd060c0b"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/misc/ioc4.c: fix section mismatch / race condition\n\nFix this section mismatch:\n\n  WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()\n  The variable ioc4_load_modules_work references\n  the function __devinit ioc4_load_modules()\n  If the reference is valid then annotate the\n  variable with __init* or __refdata (see linux/init.h) or name the variable:\n  *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console\n\nThis one is potentially fatal; by the time ioc4_load_modules is invoked\nit may already have been freed.  For that reason ioc4_load_modules_work\ncan\u0027t be turned to __devinitdata but also because it\u0027s referenced in\nioc4_exit.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Brent Casavant \u003cbcasavan@sgi.com\u003e\nCc: Tejun Heo \u003ctj@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": "33721bd3d00e7a235f70ba4ec19eb64bcd060c0b",
      "tree": "1c01b043804b8aca6dabbe54387f7380382a8a2b",
      "parents": [
        "5286bd953645408634daa880d04c73dd18d0224a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5523.c: fix section mismatches\n\nFix this section mismatch:\n\n  WARNING: drivers/leds/leds-lp5523.o(.text+0x12f4): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led()\n  The function lp5523_probe() references\n  the function __init lp5523_init_led().\n  This is often because lp5523_probe lacks a __init\n  annotation or the annotation of lp5523_init_led is wrong.\n\nFixing this one triggers one more mismatch, fix that one as well.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5286bd953645408634daa880d04c73dd18d0224a",
      "tree": "ef7fd3a9201617acb91804e449e7a78425b2d5a1",
      "parents": [
        "ac34a1a3c39da0a1b9188d12a9ce85506364ed2a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5521.c: fix section mismatches\n\nFix this section mismatch:\n\n  WARNING: drivers/leds/leds-lp5521.o(.text+0xf2c): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led()\n  The function lp5521_probe() references\n  the function __init lp5521_init_led().\n  This is often because lp5521_probe lacks a __init\n  annotation or the annotation of lp5521_init_led is wrong.\n\nFixing this mismatch triggers one more mismatch, fix that one as well.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac34a1a3c39da0a1b9188d12a9ce85506364ed2a",
      "tree": "f74f34047c6bc516e29196685cc8671aff4a02d2",
      "parents": [
        "26c4caea9d697043cc5a458b96411b86d7f6babd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Jun 27 16:18:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "memcg: fix direct softlimit reclaim to be called in limit path\n\nCommit d149e3b25d7c (\"memcg: add the soft_limit reclaim in global direct\nreclaim\") adds a softlimit hook to shrink_zones().  By this, soft limit\nis called as\n\n   try_to_free_pages()\n       do_try_to_free_pages()\n           shrink_zones()\n               mem_cgroup_soft_limit_reclaim()\n\nThen, direct reclaim is memcg softlimit hint aware, now.\n\nBut, the memory cgroup\u0027s \"limit\" path can call softlimit shrinker.\n\n   try_to_free_mem_cgroup_pages()\n       do_try_to_free_pages()\n           shrink_zones()\n               mem_cgroup_soft_limit_reclaim()\n\nThis will cause a global reclaim when a memcg hits limit.\n\nThis is bug. soft_limit_reclaim() should be called when\nscanning_global_lru(sc) \u003d\u003d true.\n\nAnd the commit adds a variable \"total_scanned\" for counting softlimit\nscanned pages....it\u0027s not \"total\".  This patch removes the variable and\nupdate sc-\u003enr_scanned instead of it.  This will affect shrink_slab()\u0027s\nscan condition but, global LRU is scanned by softlimit and I think this\nchange makes sense.\n\nTODO: avoid too much scanning of a zone when softlimit did enough work.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26c4caea9d697043cc5a458b96411b86d7f6babd",
      "tree": "cf4de2553fbfcafc41eb4f84bc9ee1eb69adf725",
      "parents": [
        "08142579b6ca35883c1ed066a2681de6f6917062"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Jun 27 16:18:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "taskstats: don\u0027t allow duplicate entries in listener mode\n\nCurrently a single process may register exit handlers unlimited times.\nIt may lead to a bloated listeners chain and very slow process\nterminations.\n\nEg after 10KK sent TASKSTATS_CMD_ATTR_REGISTER_CPUMASKs ~300 Mb of\nkernel memory is stolen for the handlers chain and \"time id\" shows 2-7\nseconds instead of normal 0.003.  It makes it possible to exhaust all\nkernel memory and to eat much of CPU time by triggerring numerous exits\non a single CPU.\n\nThe patch limits the number of times a single process may register\nitself on a single CPU to one.\n\nOne little issue is kept unfixed - as taskstats_exit() is called before\nexit_files() in do_exit(), the orphaned listener entry (if it was not\nexplicitly deregistered) is kept until the next someone\u0027s exit() and\nimplicit deregistration in send_cpu_listeners().  So, if a process\nregistered itself as a listener exits and the next spawned process gets\nthe same pid, it would inherit taskstats attributes.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: \u003cstable@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": "08142579b6ca35883c1ed066a2681de6f6917062",
      "tree": "00735ed37753533f3b645714770b4fb036b5f7e0",
      "parents": [
        "9b679320a5fbf46454011e5c62e0b8991b0956d1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 27 16:18:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "mm: fix assertion mapping-\u003enrpages \u003d\u003d 0 in end_writeback()\n\nUnder heavy memory and filesystem load, users observe the assertion\nmapping-\u003enrpages \u003d\u003d 0 in end_writeback() trigger.  This can be caused by\npage reclaim reclaiming the last page from a mapping in the following\nrace:\n\n\tCPU0\t\t\t\tCPU1\n  ...\n  shrink_page_list()\n    __remove_mapping()\n      __delete_from_page_cache()\n        radix_tree_delete()\n\t\t\t\t\tevict_inode()\n\t\t\t\t\t  truncate_inode_pages()\n\t\t\t\t\t    truncate_inode_pages_range()\n\t\t\t\t\t      pagevec_lookup() - finds nothing\n\t\t\t\t\t  end_writeback()\n\t\t\t\t\t    mapping-\u003enrpages !\u003d 0 -\u003e BUG\n        page-\u003emapping \u003d NULL\n        mapping-\u003enrpages--\n\nFix the problem by doing a reliable check of mapping-\u003enrpages under\nmapping-\u003etree_lock in end_writeback().\n\nAnalyzed by Jay \u003cjinshan.xiong@whamcloud.com\u003e, lost in LKML, and dug out\nby Miklos Szeredi \u003cmszeredi@suse.de\u003e.\n\nCc: Jay \u003cjinshan.xiong@whamcloud.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@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": "9b679320a5fbf46454011e5c62e0b8991b0956d1",
      "tree": "49ea7be5e8bb669ef99533a18c73555e2882efc5",
      "parents": [
        "aa2c96d6f329e66cc59352b0f12e8f04e6a9593b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Jun 27 16:18:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "mm/memory-failure.c: fix spinlock vs mutex order\n\nWe cannot take a mutex while holding a spinlock, so flip the order and\nfix the locking documentation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa2c96d6f329e66cc59352b0f12e8f04e6a9593b",
      "tree": "0d7db978da167df605b14d4880969b39caf5e0f4",
      "parents": [
        "507c5f1224014f9956e604ee8703b3bbea7da4a4"
      ],
      "author": {
        "name": "Josh Hunt",
        "email": "johunt@akamai.com",
        "time": "Mon Jun 27 16:18:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/misc/lkdtm.c: fix race when crashpoint is hit multiple times before checking count\n\nWe observed the crash point count going negative in cases where the\ncrash point is hit multiple times before the check of \"count \u003d\u003d 0\" is\ndone.  Because of this we never call lkdtm_do_action().  This patch just\nadds a spinlock to protect count.\n\nReported-by: Tapan Dhimant \u003ctdhimant@akamai.com\u003e\nSigned-off-by: Josh Hunt \u003cjohunt@akamai.com\u003e\nAcked-by: Ankita Garg \u003cankita@in.ibm.com\u003e\nCc: \u003cstable@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": "507c5f1224014f9956e604ee8703b3bbea7da4a4",
      "tree": "8af568077785c6159d5698741215b282788d661c",
      "parents": [
        "2b4b2482e70eba10dd98653a3a5ac68126565e24"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Jun 27 16:18:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "include/linux/compat.h: declare compat_sys_sendmmsg()\n\nThis is required for tilegx to be able to use the compat unistd.h header\nwhere compat_sys_sendmmsg() is now mentioned.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b4b2482e70eba10dd98653a3a5ac68126565e24",
      "tree": "81f933ce6291135529cda6581c59c55386d2832e",
      "parents": [
        "8c95aa60d2ae3c4e63705ee0f18e155898b09662"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Mon Jun 27 16:18:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "romfs: fix romfs_get_unmapped_area() argument check\n\nromfs_get_unmapped_area() checks argument `len\u0027 without considering\nPAGE_ALIGN which will cause do_mmap_pgoff() return -EINVAL error after\ncommit f67d9b1576c (\"nommu: add page_align to mmap\").\n\nFix the check by changing it in same way ramfs_nommu_get_unmapped_area()\nwas changed in ramfs/file-nommu.c.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@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": "8c95aa60d2ae3c4e63705ee0f18e155898b09662",
      "tree": "409dc8ef68a1487c02b6fff29c0a73393a5fc152",
      "parents": [
        "31c1771cdbf0edea96e109e24dae387d331b6d96"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon Jun 27 16:18:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "um: add asm/percpu.h\n\nTo make SLUB work on UML we need this_cpu_cmpxchg from\nasm-generic/percpu.h.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c1771cdbf0edea96e109e24dae387d331b6d96",
      "tree": "90086ac87189feb25f4549afc2c0980ddd6b163f",
      "parents": [
        "d9d90e5eb70e09903dadff42099b6c948f814050"
      ],
      "author": {
        "name": "Priyanka Jain",
        "email": "Priyanka.Jain@freescale.com",
        "time": "Mon Jun 27 16:18:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338\n\nPT7C4338 chip is being manufactured by Pericom Technology Inc.  It is a\nserial real-time clock which provides:\n\n1) Low-power clock/calendar.\n2) Programmable square-wave output.\n\nIt has 56 bytes of nonvolatile RAM.  Its register set is same as that of\nrtc device: DS1307.\n\nSigned-off-by: Priyanka Jain \u003cPriyanka.Jain@freescale.com\u003e\nAcked-by: Timur Tabi \u003ctimur@freescale.com\u003e\nReviewed-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9d90e5eb70e09903dadff42099b6c948f814050",
      "tree": "c3ab73df6dee61f9403bfd819a6b0cb9f3ca6085",
      "parents": [
        "94c1e62df4494b79782cb9c7279f827212d1de70"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "tmpfs: add shmem_read_mapping_page_gfp\n\nAlthough it is used (by i915) on nothing but tmpfs, read_cache_page_gfp()\nis unsuited to tmpfs, because it inserts a page into pagecache before\ncalling the filesystem\u0027s -\u003ereadpage: tmpfs may have pages in swapcache\nwhich only it knows how to locate and switch to filecache.\n\nAt present tmpfs provides a -\u003ereadpage method, and copes with this by\ncopying pages; but soon we can simplify it by removing its -\u003ereadpage.\nProvide shmem_read_mapping_page_gfp() now, ready for that transition,\n\nExport shmem_read_mapping_page_gfp() and add it to list in shmem_fs.h,\nwith shmem_read_mapping_page() inline for the common mapping_gfp case.\n\n(shmem_read_mapping_page_gfp or shmem_read_cache_page_gfp? Generally the\nread_mapping_page functions use the mapping\u0027s -\u003ereadpage, and the\nread_cache_page functions use the supplied filler, so I think\nread_cache_page_gfp was slightly misnamed.)\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94c1e62df4494b79782cb9c7279f827212d1de70",
      "tree": "43013fb403e592c535e6a7770be105b635ac9b63",
      "parents": [
        "072441e21ddcd1140606b7d4ef6eab579a86b0b3"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "tmpfs: take control of its truncate_range\n\n2.6.35\u0027s new truncate convention gave tmpfs the opportunity to control\nits file truncation, no longer enforced from outside by vmtruncate().\nWe shall want to build upon that, to handle pagecache and swap together.\n\nSlightly redefine the -\u003etruncate_range interface: let it now be called\nbetween the unmap_mapping_range()s, with the filesystem responsible for\ndoing the truncate_inode_pages_range() from it - just as the filesystem\nis nowadays responsible for doing that from its -\u003esetattr.\n\nLet\u0027s rename shmem_notify_change() to shmem_setattr().  Instead of\ncalling the generic truncate_setsize(), bring that code in so we can\ncall shmem_truncate_range() - which will later be updated to perform its\nown variant of truncate_inode_pages_range().\n\nRemove the punch_hole unmap_mapping_range() from shmem_truncate_range():\nnow that the COW\u0027s unmap_mapping_range() comes after -\u003etruncate_range,\nthere is no need to call it a third time.\n\nExport shmem_truncate_range() and add it to the list in shmem_fs.h, so\nthat i915_gem_object_truncate() can call it explicitly in future; get\nthis patch in first, then update drm/i915 once this is available (until\nthen, i915 will just be doing the truncate_inode_pages() twice).\n\nThough introduced five years ago, no other filesystem is implementing\n-\u003etruncate_range, and its only other user is madvise(,,MADV_REMOVE): we\nexpect to convert it to fallocate(,FALLOC_FL_PUNCH_HOLE,,) shortly,\nwhereupon -\u003etruncate_range can be removed from inode_operations -\nshmem_truncate_range() will help i915 across that transition too.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "072441e21ddcd1140606b7d4ef6eab579a86b0b3",
      "tree": "6f059ad83c09dfbeb1def29e805839db3e5bf85f",
      "parents": [
        "5b8ba10198a109f8a02380648c5d29000caa9c55"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "mm: move shmem prototypes to shmem_fs.h\n\nBefore adding any more global entry points into shmem.c, gather such\nprototypes into shmem_fs.h.  Remove mm\u0027s own declarations from swap.h,\nbut for now leave the ones in mm.h: because shmem_file_setup() and\nshmem_zero_setup() are called from various places, and we should not\nforce other subsystems to update immediately.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b8ba10198a109f8a02380648c5d29000caa9c55",
      "tree": "1e4328d86395baa3d429c0d9911b7d7e1272629d",
      "parents": [
        "4d258b25d947521c8b913154db61ec55198243f8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "mm: move vmtruncate_range to truncate.c\n\nYou would expect to find vmtruncate_range() next to vmtruncate() in\nmm/truncate.c: move it there.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d258b25d947521c8b913154db61ec55198243f8",
      "tree": "4f74f744797e92a0555705dc121ac8aaa041e750",
      "parents": [
        "a64227b0855c42b5c037011afa80580ca3228527"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Mon Jun 27 19:07:08 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 16:06:19 2011 -0700"
      },
      "message": "Fix some kernel-doc warnings\n\nFix \u0027make htmldocs\u0027 warnings:\n\n  Warning(/include/linux/hrtimer.h:153): No description found for parameter \u0027clockid\u0027\n  Warning(/include/linux/device.h:604): Excess struct/union/enum/typedef member \u0027of_match\u0027 description in \u0027device\u0027\n  Warning(/include/net/sock.h:349): Excess struct/union/enum/typedef member \u0027sk_rmem_alloc\u0027 description in \u0027sock\u0027\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a64227b0855c42b5c037011afa80580ca3228527",
      "tree": "8633fc0989fd6e53c9f3f0bb5774c1a54bd5f18e",
      "parents": [
        "c6830c22603aaecf65405af23f6da2d55892f9cb",
        "c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:55:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:55:43 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: queue: bring discard_granularity/alignment into line with SCSI\n  mmc: queue: append partition subname to queue thread name\n  mmc: core: make erase timeout calculation allow for gated clock\n  mmc: block: switch card to User Data Area when removing the block driver\n  mmc: sdio: reset card during power_restore\n  mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS\n  mmc: sdhi: DMA slave ID 0 is invalid\n  mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling\n  mmc: omap_hsmmc: use original sg_len for dma_unmap_sg\n  mmc: omap_hsmmc: fix ocr mask usage\n  mmc: sdio: fix runtime PM path during driver removal\n  mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader\n  mmc: sdhi: fix module unloading\n  mmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c\n  mmc: vub300: fix null dereferences in error handling\n"
    },
    {
      "commit": "c6830c22603aaecf65405af23f6da2d55892f9cb",
      "tree": "19458ebc7c32bef8a4ed59630cabb5785b1bdc11",
      "parents": [
        "af4087e0e682df12bdffec5cfafc2fec9208716e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jun 16 17:28:07 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:13:09 2011 -0700"
      },
      "message": "Fix node_start/end_pfn() definition for mm/page_cgroup.c\n\ncommit 21a3c96 uses node_start/end_pfn(nid) for detection start/end\nof nodes. But, it\u0027s not defined in linux/mmzone.h but defined in\n/arch/???/include/mmzone.h which is included only under\nCONFIG_NEED_MULTIPLE_NODES\u003dy.\n\nThen, we see\n  mm/page_cgroup.c: In function \u0027page_cgroup_init\u0027:\n  mm/page_cgroup.c:308: error: implicit declaration of function \u0027node_start_pfn\u0027\n  mm/page_cgroup.c:309: error: implicit declaration of function \u0027node_end_pfn\u0027\n\nSo, fixiing page_cgroup.c is an idea...\n\nBut node_start_pfn()/node_end_pfn() is a very generic macro and\nshould be implemented in the same manner for all archs.\n(m32r has different implementation...)\n\nThis patch removes definitions of node_start/end_pfn() in each archs\nand defines a unified one in linux/mmzone.h. It\u0027s not under\nCONFIG_NEED_MULTIPLE_NODES, now.\n\nA result of macro expansion is here (mm/page_cgroup.c)\n\nfor !NUMA\n start_pfn \u003d ((\u0026contig_page_data)-\u003enode_start_pfn);\n  end_pfn \u003d ({ pg_data_t *__pgdat \u003d (\u0026contig_page_data); __pgdat-\u003enode_start_pfn + __pgdat-\u003enode_spanned_pages;});\n\nfor NUMA (x86-64)\n  start_pfn \u003d ((node_data[nid])-\u003enode_start_pfn);\n  end_pfn \u003d ({ pg_data_t *__pgdat \u003d (node_data[nid]); __pgdat-\u003enode_start_pfn + __pgdat-\u003enode_spanned_pages;});\n\nChangelog:\n - fixed to avoid using \"nid\" twice in node_end_pfn() macro.\n\nReported-and-acked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af4087e0e682df12bdffec5cfafc2fec9208716e",
      "tree": "564622df71c8b5666be24cbfd93f58516791d180",
      "parents": [
        "4699d4423c07a1db35ea9453eac3a07e818338f9",
        "2f7e33d432d097a2a7f467b031bf18be91cb3d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 13:32:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 13:32:14 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  btrfs: fix inconsonant inode information\n  Btrfs: make sure to update total_bitmaps when freeing cache V3\n  Btrfs: fix type mismatch in find_free_extent()\n  Btrfs: make sure to record the transid in new inodes\n"
    },
    {
      "commit": "4699d4423c07a1db35ea9453eac3a07e818338f9",
      "tree": "a16641f1a1ef5d4a03122d58a1a4ff6514d21b4f",
      "parents": [
        "375ac3e09640fb16b6e6f1a1f1ee8aec30183fdf",
        "4a33821236f2ef3af0081e8a5eec1301cbed3125"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:01:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:01:29 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: prevent bogus assert when trying to remove non-existent attribute\n  xfs: clear XFS_IDIRTY_RELEASE on truncate down\n  xfs: reset inode per-lifetime state when recycling it\n"
    },
    {
      "commit": "375ac3e09640fb16b6e6f1a1f1ee8aec30183fdf",
      "tree": "e6964eff8ecfc21ec1752f176c7d1a001074de4b",
      "parents": [
        "edcda265225b90c8700b21758fffcba61d19e046",
        "c3ead6de4f6bd1c08a81f84e629e3dbf4a9078f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:00:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:00:50 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: hid-multitouch: add support for a new Lumio dual-touch panel\n  HID: hid-multitouch: correct VID for Stantum panels\n  HID: hid-multitouch: ensure slots are initialized\n"
    },
    {
      "commit": "edcda265225b90c8700b21758fffcba61d19e046",
      "tree": "5bc62e95df24004c46b9893b636296091c2f824a",
      "parents": [
        "9c317b3bed40fed07e2ed536afca3b58952ac432",
        "111b20d01346b9635b3223c7af4e40e43bee8dc6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 08:58:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 08:58:23 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: pm: ensure ARMv7 CPUs save and restore the TLS register\n  ARM: pm: proc-v7: fix missing struct processor pointers for suspend code\n  ARM: 6969/1: plat-iop: fix build error\n  ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries\n  ARM: SMP: wait for CPU to be marked active\n  ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols\n  ARM: 6962/1: mach-h720x: fix build error\n  ARM: 6959/1: SMP build fix for entry-macro-multi.S\n"
    },
    {
      "commit": "9c317b3bed40fed07e2ed536afca3b58952ac432",
      "tree": "9c3cc35a09cca665bdfcb85b1a1da37e221cc914",
      "parents": [
        "258e43fdb00c73d424b114ae3850accd55b27cbb",
        "859c965149ab5004b58b1fffd98190b6664cb717"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 08:57:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 08:57:46 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] allow setting of upper 32 bit in smp_ctl_set_bit\n  [S390] hwsampler: Set a sane default sampling rate\n  [S390] s390: enforce HW limits for the initial sampling rate\n  [S390] kvm-s390: fix kconfig dependencies\n"
    },
    {
      "commit": "2f7e33d432d097a2a7f467b031bf18be91cb3d49",
      "tree": "a1729a436b3c9921390e23cae35e5b837653dfe4",
      "parents": [
        "9b90f5135320bc74dc6c9a8c74d69fd4821d9282"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Jun 23 07:27:13 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 27 11:34:27 2011 -0400"
      },
      "message": "btrfs: fix inconsonant inode information\n\nWhen iputting the inode, We may leave the delayed nodes if they have some\ndelayed items that have not been dealt with. So when the inode is read again,\nwe must look up the relative delayed node, and use the information in it to\ninitialize the inode. Or we will get inconsonant inode information, it may\ncause that the same directory index number is allocated again, and hit the\nfollowing oops:\n\n[ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the\ninsertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)\n[ 5447.569766] ------------[ cut here ]------------\n[ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!\n[SNIP]\n[ 5447.790721] Call Trace:\n[ 5447.793191]  [\u003cffffffffa0641c4e\u003e] btrfs_insert_dir_item+0x189/0x1bb [btrfs]\n[ 5447.800156]  [\u003cffffffffa0651a45\u003e] btrfs_add_link+0x12b/0x191 [btrfs]\n[ 5447.806517]  [\u003cffffffffa0651adc\u003e] btrfs_add_nondir+0x31/0x58 [btrfs]\n[ 5447.812876]  [\u003cffffffffa0651d6a\u003e] btrfs_create+0xf9/0x197 [btrfs]\n[ 5447.818961]  [\u003cffffffff8111f840\u003e] vfs_create+0x72/0x92\n[ 5447.824090]  [\u003cffffffff8111fa8c\u003e] do_last+0x22c/0x40b\n[ 5447.829133]  [\u003cffffffff8112076a\u003e] path_openat+0xc0/0x2ef\n[ 5447.834438]  [\u003cffffffff810c58e2\u003e] ? __perf_event_task_sched_out+0x24/0x44\n[ 5447.841216]  [\u003cffffffff8103ecdd\u003e] ? perf_event_task_sched_out+0x59/0x67\n[ 5447.847846]  [\u003cffffffff81121a79\u003e] do_filp_open+0x3d/0x87\n[ 5447.853156]  [\u003cffffffff811e126c\u003e] ? strncpy_from_user+0x43/0x4d\n[ 5447.859072]  [\u003cffffffff8111f1f5\u003e] ? getname_flags+0x2e/0x80\n[ 5447.864636]  [\u003cffffffff8111f179\u003e] ? do_getname+0x14b/0x173\n[ 5447.870112]  [\u003cffffffff8111f1b7\u003e] ? audit_getname+0x16/0x26\n[ 5447.875682]  [\u003cffffffff8112b1ab\u003e] ? spin_lock+0xe/0x10\n[ 5447.880882]  [\u003cffffffff81112d39\u003e] do_sys_open+0x69/0xae\n[ 5447.886153]  [\u003cffffffff81112db1\u003e] sys_open+0x20/0x22\n[ 5447.891114]  [\u003cffffffff813b9aab\u003e] system_call_fastpath+0x16/0x1b\n\nFix it by reusing the old delayed node.\n\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nTested-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "258e43fdb00c73d424b114ae3850accd55b27cbb",
      "tree": "62f252cc4cde2a816ad2d609d80616322b26da15",
      "parents": [
        "804a007f5401f87fc6e7da1e8884dc32912e35d0",
        "daf6c4501e048eed56b256401d030d6b28e92ff1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:40:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:40:31 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN\n  cifs: free blkcipher in smbhash\n"
    },
    {
      "commit": "804a007f5401f87fc6e7da1e8884dc32912e35d0",
      "tree": "c94fda93a6c85b655bb8c13703a97295ce4314f6",
      "parents": [
        "8abf55883431a91d4877933240c8419b7fc17274",
        "9403c9c598e91d473c0582066e47ed2289292e45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:39:22 2011 -0700"
      },
      "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:\n  cifs: propagate errors from cifs_get_root() to mount(2)\n  cifs: tidy cifs_do_mount() up a bit\n  cifs: more breakage on mount failures\n  cifs: close sget() races\n  cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()\n  cifs: move cifs_umount() call into -\u003ekill_sb()\n  cifs: pull cifs_mount() call up\n  sanitize cifs_umount() prototype\n  cifs: initialize -\u003etlink_tree in cifs_setup_cifs_sb()\n  cifs: allocate mountdata earlier\n  cifs: leak on mount if we share superblock\n  cifs: don\u0027t pass superblock to cifs_mount()\n  cifs: don\u0027t leak nls on mount failure\n  cifs: double free on mount failure\n  take bdi setup/destruction into cifs_mount/cifs_umount\n\nAcked-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c",
      "tree": "75bc885df951307fda9215e33847411f37935c20",
      "parents": [
        "d09408ade08a08a710a247fb52aa50101e73ebf7"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Jun 23 13:40:29 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:53:05 2011 -0400"
      },
      "message": "mmc: queue: bring discard_granularity/alignment into line with SCSI\n\nSCSI defines discard alignment as the offset to the first\noptimal discard.  In the case of SD/MMC, that is always zero\nwhich is the default.\n\nSCSI defines discard granularity as a hint of a optimal\ndiscard size.  That is much better expressed by the MMC\n\"preferred erase size\" (pref_erase) field.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "d09408ade08a08a710a247fb52aa50101e73ebf7",
      "tree": "ddae7661d9a0f5f9315bd7f746d79242ccba94bf",
      "parents": [
        "4cf8c6dd2e261da94b87c4deadcc136ab022b6ac"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Jun 23 13:40:28 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:57 2011 -0400"
      },
      "message": "mmc: queue: append partition subname to queue thread name\n\nFor example, an eMMC with 2 boot partitions will have 3 threads.\nThe names change from:\n\n   40 ?        00:00:00 mmcqd/0\n   41 ?        00:00:00 mmcqd/0\n   42 ?        00:00:00 mmcqd/0\n\nto:\n\n   40 ?        00:00:00 mmcqd/0\n   41 ?        00:00:00 mmcqd/0boot0\n   42 ?        00:00:00 mmcqd/0boot1\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andrei Warkentin \u003candreiw@motorola.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4cf8c6dd2e261da94b87c4deadcc136ab022b6ac",
      "tree": "5bad08b6490c694b60d8c4afc0ab638ccea838ff",
      "parents": [
        "ddd6fa7e794e62af3ec3eb4ffdc78489885701f2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Jun 23 13:40:27 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:53 2011 -0400"
      },
      "message": "mmc: core: make erase timeout calculation allow for gated clock\n\nThe erase timeout calculation may depend on clock rate\nwhich is zero if the clock is gated, so use\nmmc_host_clk_rate() which allows for that case.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "ddd6fa7e794e62af3ec3eb4ffdc78489885701f2",
      "tree": "bc572f9622a9a88f832b3b56923d439c9acbc4bc",
      "parents": [
        "c6e633ad916e2af244dbfd11abd2bc077870bdfd"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Jun 23 13:40:26 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:49 2011 -0400"
      },
      "message": "mmc: block: switch card to User Data Area when removing the block driver\n\nThe MMC block driver and other drivers (e.g. mmc-test) will expect\nthe card to be switched to the User Data Area eMMC partition when\nthey start.  Hence the MMC block driver should ensure it is that\nway when it is removed.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andrei Warkentin \u003candreiw@motorola.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c6e633ad916e2af244dbfd11abd2bc077870bdfd",
      "tree": "bbede7dde592280dd1e76add67b1cc3f1afe3619",
      "parents": [
        "e9e8bcb8178e197d889ec31e79fa1ddc1732c8f9"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Sat Jun 25 19:20:11 2011 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:44 2011 -0400"
      },
      "message": "mmc: sdio: reset card during power_restore\n\nmmc_sdio_power_restore() skips some steps that are performed in other\npower-related codepaths which are necessary to fully reset the card.\nWithout this, runtime PM fails for SD8686 SDIO wifi on OLPC XO-1.5.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e9e8bcb8178e197d889ec31e79fa1ddc1732c8f9",
      "tree": "a0597bfc55184dcb48b10cdccd4f93e207b22a6e",
      "parents": [
        "3e713373ce07b9f59c3901e7d39bc1edccda28da"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james@albanarts.com",
        "time": "Tue Jun 21 10:55:34 2011 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:24 2011 -0400"
      },
      "message": "mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS\n\nHAVE_EFFICIENT_UNALIGNED_ACCESS is a config option, therefore it needs\nthe CONFIG_ before it when used by the preprocessor.\n\nSigned-off-by: James Hogan \u003cjames@albanarts.com\u003e\nAcked-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "3e713373ce07b9f59c3901e7d39bc1edccda28da",
      "tree": "f067a8e07336c35ad375951e03b57808478f22dc",
      "parents": [
        "7d8b4c2a4b73da8e3632603691838ca5b2a8c26d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue May 24 12:24:07 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:20 2011 -0400"
      },
      "message": "mmc: sdhi: DMA slave ID 0 is invalid\n\nDon\u0027t try to allocate DMA resources if the platform didn\u0027t specify\npositive DMA slave IDs.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7d8b4c2a4b73da8e3632603691838ca5b2a8c26d",
      "tree": "c9f4bf96c6250ebb72b6c30936d7f06a10e3382c",
      "parents": [
        "a9120c33ffbb0b3448d833dae392edc90d6cfac2"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Mon Jun 20 16:51:10 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:15 2011 -0400"
      },
      "message": "mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling\n\nCommit b6147490e6aac82 (\"mmc: tmio: split core functionality, DMA and\nMFD glue\") broke handling of the TMIO_MMC_WRPROTECT_DISABLE flag by\nthe tmio-mmc driver. This patch restores the original behaviour.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a9120c33ffbb0b3448d833dae392edc90d6cfac2",
      "tree": "8ea12aea362f9e5980926c1f1b2faae1425bd67b",
      "parents": [
        "4a3dc6ef344ccfe80bf986aec0b05f51af000720"
      ],
      "author": {
        "name": "Per Forlin",
        "email": "per.forlin@linaro.org",
        "time": "Fri Jun 17 20:14:21 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:51:28 2011 -0400"
      },
      "message": "mmc: omap_hsmmc: use original sg_len for dma_unmap_sg\n\nDon\u0027t use the returned sg_len from dma_map_sg() as inparameter\nto dma_unmap_sg(). Use the original sg_len for both dma_map_sg\nand dma_unmap_sg according to the documentation in DMA-API.txt.\n\nSigned-off-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nReviewed-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4a3dc6ef344ccfe80bf986aec0b05f51af000720",
      "tree": "d7644e3be353a6bcefc3b36e6fef589b106a89a1",
      "parents": [
        "297c7f2f158f7dfa9ab5813260ff954f9c2f83d2"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Tue Jun 14 15:59:59 2011 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:50:17 2011 -0400"
      },
      "message": "mmc: omap_hsmmc: fix ocr mask usage\n\nThe OMAP HSMMC driver uses an ocr_mask to determine the list of voltages\nsupported by the card. It populates this mask based on the list of\nvoltages supported by the regulator that supplies the voltage.\n\nCommit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for regulator\nto use) passed a fixed ocr_mask from the OMAP4 SDP board file to limit\nthe voltage to 2.9-3.0 Volts, and updated the driver to use this mask\nif provided, instead of using the regulator\u0027s supported voltages.\n\nHowever the commit is buggy - the ocr_mask is overridden by the\nregulator\u0027s capabilities anyway. Fix this.\n\n(The bug shows up when a system-wide suspend is attempted on the OMAP4\nSDP/Blaze platforms. The eMMC card comes up at 3V, but drops to 1.65V\nafter the system resumes).\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nAcked-by: Balaji T K \u003cbalajitk@ti.com\u003e\nAcked-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nTested-by: Kishore Kadiyala \u003ckishore.kadiyala@ti.com\u003e\nSigned-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "297c7f2f158f7dfa9ab5813260ff954f9c2f83d2",
      "tree": "463c7dbb914337e1c47e1840ea86c29457dbf3bb",
      "parents": [
        "be98ca652faa6468916a9b7608befff215a8ca70"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Jun 09 23:40:27 2011 +0000"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:49:55 2011 -0400"
      },
      "message": "mmc: sdio: fix runtime PM path during driver removal\n\nAfter commit e1866b3 \"PM / Runtime: Rework runtime PM handling\nduring driver removal\" was introduced, the driver core stopped\nincrementing the runtime PM usage counter of the device during\nthe invocation of the -\u003eremove() callback.\n\nThis indirectly broke SDIO\u0027s runtime PM path during driver removal,\nbecause no one calls _put_sync() anymore after -\u003eremove() completes.\n\nThis means that the power of runtime-PM-managed SDIO cards is kept\nhigh after their driver is removed (even if it was powered down\nbeforehand).\n\nFix that by directly calling _put_sync() when the last usage\ncounter is downref\u0027ed by the SDIO bus.\n\nReported-and-tested-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "daf6c4501e048eed56b256401d030d6b28e92ff1",
      "tree": "7b1af88901b9c62cba26f9d5694a05bf2a1badac",
      "parents": [
        "9b8e072a31180eb5cd6991d08524d9c4fa235ade",
        "8abf55883431a91d4877933240c8419b7fc17274"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Jun 25 19:22:28 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Jun 25 19:22:28 2011 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "8abf55883431a91d4877933240c8419b7fc17274",
      "tree": "c7de035cf068f3edf5053a30d912c2024bac88d8",
      "parents": [
        "4d362ad280fca0f2e098de607534f72f2c243e12",
        "b1eb085c064d0843826d7402db7fc5f3032e01fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 25 07:23:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 25 07:23:59 2011 -0700"
      },
      "message": "Merge branch \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtc: vt8500: Fix build error \u0026 cleanup rtc_class_ops-\u003eupdate_irq_enable()\n  alarmtimers: Return -ENOTSUPP if no RTC device is present\n  alarmtimers: Handle late rtc module loading\n"
    },
    {
      "commit": "4d362ad280fca0f2e098de607534f72f2c243e12",
      "tree": "25ff37b4c546f8a2cd58e7dc7111f8be53817e07",
      "parents": [
        "536142f950f7ea4f3d146a138ad6938f28a34f33",
        "e0938118576954ac4deafbdb9950cebd34f726c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 25 07:23:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 25 07:23:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: Remove unneeded version.h includes from sound/\n  ASoC: pxa-ssp: Correct check for stream presence\n  ASoC: imx: add missing module informations\n  ASoC: imx: Remove unused Kconfig SND_MXC_SOC_SSI entry\n  ALSA: HDA: Pinfix quirk for HP Z200 Workstation\n  ALSA: VIA HDA: Create a master amplifier control for VT1718S.\n  ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S.\n  ALSA: VIA HDA: Modify initial verbs list for VT1718S.\n  ALSA: hda - Remove ALC268 model override for CPR2000\n  ALSA: HDA: Remove quirk for an HP device\n  ASoC: Remove unused and about to be broken SND_SOC_CUSTOM I/O bus\n"
    }
  ],
  "next": "9b90f5135320bc74dc6c9a8c74d69fd4821d9282"
}
