)]}'
{
  "log": [
    {
      "commit": "f29c50419c8d1998edd759f1990c4243a248f469",
      "tree": "bf75e1376757022dcb54a12eea705f6086649edd",
      "parents": [
        "6e9101aeec39961308176e0f59e73ac5d37d243a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 19 14:35:33 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 25 19:56:23 2011 -0400"
      },
      "message": "maccess,probe_kernel: Make write/read src const void *\n\nThe functions probe_kernel_write() and probe_kernel_read() do not modify\nthe src pointer. Allow const pointers to be passed in without the need\nof a typecast.\n\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/1305824936.1465.4.camel@gandalf.stny.rr.com\n"
    },
    {
      "commit": "4eec42f392043063d0f019640b4ccc2a45570002",
      "tree": "32db1c354f9c12d1275093efed8101a2bd5db232",
      "parents": [
        "586692a5a5fc5740c8a46abc0f2365495c2d7c5f"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:23 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh\n\nBefore the conversion of the NMI watchdog to perf event, the\nwatchdog timeout was 5 seconds. Now it is 60 seconds. For my\nparticular application, netbooks, 5 seconds was a better\ntimeout. With a short timeout, we catch faults earlier and are\nable to send back a panic. With a 60 second timeout, the user is\nunlikely to wait and will instead hit the power button, causing\nus to lose the panic info.\n\nThis change configures the NMI period to watchdog_thresh and\nsets the softlockup_thresh to watchdog_thresh * 2. In addition,\nwatchdog_thresh was reduced to 10 seconds as suggested by Ingo\nMolnar.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-4-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071642.GF22305@elte.hu\u003e\n"
    },
    {
      "commit": "586692a5a5fc5740c8a46abc0f2365495c2d7c5f",
      "tree": "bc08228e67a968d83691c9efc5ea1feda9e6f98b",
      "parents": [
        "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Disable watchdog when thresh is zero\n\nThis restores the previous behavior of softlock_thresh.\n\nCurrently, setting watchdog_thresh to zero causes the watchdog\nkthreads to consume a lot of CPU.\n\nIn addition, the logic of proc_dowatchdog_thresh and\nproc_dowatchdog_enabled has been factored into proc_dowatchdog.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-3-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071018.GE22305@elte.hu\u003e\n"
    },
    {
      "commit": "39ab05c8e0b519ff0a04a869f065746e6e8c3d95",
      "tree": "e73f0ba74c4ea7a80dff9b2dd9445a3a74190e28",
      "parents": [
        "1477fcc290b3d5c2614bde98bf3b1154c538860d",
        "c42d2237143fcf35cff642cefe2bcf7786aae312"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)\n  debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n  sysfs: remove \"last sysfs file:\" line from the oops messages\n  drivers/base/memory.c: fix warning due to \"memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\"\n  memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\n  SYSFS: Fix erroneous comments for sysfs_update_group().\n  driver core: remove the driver-model structures from the documentation\n  driver core: Add the device driver-model structures to kerneldoc\n  Translated Documentation/email-clients.txt\n  RAW driver: Remove call to kobject_put().\n  reboot: disable usermodehelper to prevent fs access\n  efivars: prevent oops on unload when efi is not enabled\n  Allow setting of number of raw devices as a module parameter\n  Introduce CONFIG_GOOGLE_FIRMWARE\n  driver: Google Memory Console\n  driver: Google EFI SMI\n  x86: Better comments for get_bios_ebda()\n  x86: get_bios_ebda_length()\n  misc: fix ti-st build issues\n  params.c: Use new strtobool function to process boolean inputs\n  debugfs: move to new strtobool\n  ...\n\nFix up trivial conflicts in fs/debugfs/file.c due to the same patch\nbeing applied twice, and an unrelated cleanup nearby.\n"
    },
    {
      "commit": "1477fcc290b3d5c2614bde98bf3b1154c538860d",
      "tree": "3d0614dac48924dd8c47afbbf1fa867c3719dcd4",
      "parents": [
        "eb04f2f04ed1227c266b3219c0aaeda525639718"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri May 20 11:11:53 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:22:20 2011 -0700"
      },
      "message": "signal.h need a definition of struct task_struct\n\nThis fixes these build errors on powerpc:\n\n  In file included from arch/powerpc/mm/fault.c:18:\n  include/linux/signal.h:239: error: \u0027struct task_struct\u0027 declared inside parameter list\n  include/linux/signal.h:239: error: its scope is only this definition or declaration, which is probably not what you want\n  include/linux/signal.h:240: error: \u0027struct task_struct\u0027 declared inside parameter list\n  ..\n\nExposed by commit e66eed651fd1 (\"list: remove prefetching from regular\nlist iterators\"), which removed the include of \u003clinux/prefetch.h\u003e from\n\u003clinux/list.h\u003e.\n\nWithout that, linux/signal.h no longer accidentally got the declaration\nof \u0027struct task_struct\u0027.\n\nFix by properly declaring the struct, rather than introducing any new\nheader file dependency.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "78c4def67e8eebe602655a3dec9aa08f0e2f7c4b",
      "tree": "8c0c756bbff7325f5c2a773f8cc64d8390ebe5b5",
      "parents": [
        "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
        "942c3c5c329274fa6de5998cb911cf3d0a42d0b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Make lookup table const\n  RTC: Disable CONFIG_RTC_CLASS from being built as a module\n  timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS\u003dn\n  timers: Remove delayed irqwork from alarmtimers implementation\n  timers: Improve alarmtimer comments and minor fixes\n  timers: Posix interface for alarm-timers\n  timers: Introduce in-kernel alarm-timer interface\n  timers: Add rb_init_node() to allow for stack allocated rb nodes\n  time: Add timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
      "tree": "111a94cefa9d800ec5c5e59520f4b5d1880965d0",
      "parents": [
        "0f1bdc1815c4cb29b3cd71a7091b478e426faa0b",
        "ab0e08f15d23628dd8d50bf6ce1a935a8840c7dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "message": "Merge branch \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: hpet: Cleanup the clockevents init and register code\n  x86: Convert PIT to clockevents_config_and_register()\n  clockevents: Provide interface to reconfigure an active clock event device\n  clockevents: Provide combined configure and register function\n  clockevents: Restructure clock_event_device members\n  clocksource: Get rid of the hardcoded 5 seconds sleep time limit\n  clocksource: Restructure clocksource struct members\n"
    },
    {
      "commit": "0f1bdc1815c4cb29b3cd71a7091b478e426faa0b",
      "tree": "b4d70c6a305d91bf7d1c8a6bbf87508587d55633",
      "parents": [
        "80fe02b5daf176f99d3afc8f6c9dc9dece019836",
        "a18f22a968de17b29f2310cdb7ba69163e65ec15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:13 2011 -0700"
      },
      "message": "Merge branch \u0027timers-clocksource-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-clocksource-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: convert mips to generic i8253 clocksource\n  clocksource: convert x86 to generic i8253 clocksource\n  clocksource: convert footbridge to generic i8253 clocksource\n  clocksource: add common i8253 PIT clocksource\n  blackfin: convert to clocksource_register_hz\n  mips: convert to clocksource_register_hz/khz\n  sparc: convert to clocksource_register_hz/khz\n  alpha: convert to clocksource_register_hz\n  microblaze: convert to clocksource_register_hz/khz\n  ia64: convert to clocksource_register_hz/khz\n  x86: Convert remaining x86 clocksources to clocksource_register_hz/khz\n  Make clocksource name const\n"
    },
    {
      "commit": "80fe02b5daf176f99d3afc8f6c9dc9dece019836",
      "tree": "970b90d56870e1b87b4c8efff7ec31fc454445a7",
      "parents": [
        "df48d8716eab9608fe93924e4ae06ff110e8674f",
        "db670dac49b5423b39b5e523d28fe32045d71b10",
        "ec514c487c3d4b652943da7b0afbc094eee08cfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:41:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:41:22 2011 -0700"
      },
      "message": "Merge branches \u0027sched-core-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)\n  sched: Fix and optimise calculation of the weight-inverse\n  sched: Avoid going ahead if -\u003ecpus_allowed is not changed\n  sched, rt: Update rq clock when unthrottling of an otherwise idle CPU\n  sched: Remove unused parameters from sched_fork() and wake_up_new_task()\n  sched: Shorten the construction of the span cpu mask of sched domain\n  sched: Wrap the \u0027cfs_rq-\u003enr_spread_over\u0027 field with CONFIG_SCHED_DEBUG\n  sched: Remove unused \u0027this_best_prio arg\u0027 from balance_tasks()\n  sched: Remove noop in alloc_rt_sched_group()\n  sched: Get rid of lock_depth\n  sched: Remove obsolete comment from scheduler_tick()\n  sched: Fix sched_domain iterations vs. RCU\n  sched: Next buddy hint on sleep and preempt path\n  sched: Make set_*_buddy() work on non-task entities\n  sched: Remove need_migrate_task()\n  sched: Move the second half of ttwu() to the remote cpu\n  sched: Restructure ttwu() some more\n  sched: Rename ttwu_post_activation() to ttwu_do_wakeup()\n  sched: Remove rq argument from ttwu_stat()\n  sched: Remove rq-\u003elock from the first half of ttwu()\n  sched: Drop rq-\u003elock from sched_exec()\n  ...\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix rt_rq runtime leakage bug\n"
    },
    {
      "commit": "df48d8716eab9608fe93924e4ae06ff110e8674f",
      "tree": "0fe10733a414b3651e1dae29518b7960a4da0aa4",
      "parents": [
        "acd30250d7d0f495685d1c7c6184636a22fcdf7f",
        "29510ec3b626c86de9707bb8904ff940d430289b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:36:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:36:08 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)\n  perf stat: Add more cache-miss percentage printouts\n  perf stat: Add -d -d and -d -d -d options to show more CPU events\n  ftrace/kbuild: Add recordmcount files to force full build\n  ftrace: Add self-tests for multiple function trace users\n  ftrace: Modify ftrace_set_filter/notrace to take ops\n  ftrace: Allow dynamically allocated function tracers\n  ftrace: Implement separate user function filtering\n  ftrace: Free hash with call_rcu_sched()\n  ftrace: Have global_ops store the functions that are to be traced\n  ftrace: Add ops parameter to ftrace_startup/shutdown functions\n  ftrace: Add enabled_functions file\n  ftrace: Use counters to enable functions to trace\n  ftrace: Separate hash allocation and assignment\n  ftrace: Create a global_ops to hold the filter and notrace hashes\n  ftrace: Use hash instead for FTRACE_FL_FILTER\n  ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions\n  perf bench, x86: Add alternatives-asm.h wrapper\n  x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit\n  x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB\n  x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB\n  ...\n"
    },
    {
      "commit": "acd30250d7d0f495685d1c7c6184636a22fcdf7f",
      "tree": "40f4e7e092de434c49a5f67f27ff1d3bf71000f9",
      "parents": [
        "6595b4a940c4c447b619ab5268378ed03e632694",
        "edf76f8307c350bcb81f0c760118a991b3e62956"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:30:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:30:15 2011 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Export functions to allow modular irq drivers\n  genirq: Uninline and sanity check generic_handle_irq()\n  genirq: Remove pointless ifdefs\n  genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP\n  genirq: Add chip suspend and resume callbacks\n  genirq: Implement a generic interrupt chip\n  genirq: Support per-IRQ thread disabling.\n  genirq: irq_desc: Document preflow_handler and affinity_hint\n  genirq: Update DocBook comments\n  genirq: Forgotten updates/deletions after removal of compat code\n"
    },
    {
      "commit": "6595b4a940c4c447b619ab5268378ed03e632694",
      "tree": "e604f97bf8e947fca3dca4c5101d6ffdc432466d",
      "parents": [
        "cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923",
        "5db1256a5131d3b133946fa02ac9770a784e6eb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  seqlock: Don\u0027t smp_rmb in seqlock reader spin loop\n  watchdog, hung_task_timeout: Add Kconfig configurable default\n  lockdep: Remove cmpxchg to update nr_chain_hlocks\n  lockdep: Print a nicer description for simple irq lock inversions\n  lockdep: Replace \"Bad BFS generated tree\" message with something less cryptic\n  lockdep: Print a nicer description for irq inversion bugs\n  lockdep: Print a nicer description for simple deadlocks\n  lockdep: Print a nicer description for normal deadlocks\n  lockdep: Print a nicer description for irq lock inversions\n"
    },
    {
      "commit": "cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923",
      "tree": "6354f5685db502e748b801873ed07ba1a7fa1f09",
      "parents": [
        "51509a283a908d73b20371addc67ee3ae7189934",
        "86b9523ab1517f6edeb87295329c901930d3732d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:28:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:28:58 2011 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, gart: Rename pci-gart_64.c to amd_gart_64.c\n  x86/amd-iommu: Use threaded interupt handler\n  arch/x86/kernel/pci-iommu_table.c: Convert sprintf_symbol to %pS\n  x86/amd-iommu: Add support for invalidate_all command\n  x86/amd-iommu: Add extended feature detection\n  x86/amd-iommu: Add ATS enable/disable code\n  x86/amd-iommu: Add flag to indicate IOTLB support\n  x86/amd-iommu: Flush device IOTLB if ATS is enabled\n  x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver\n  PCI: Move ATS declarations in seperate header file\n  dma-debug: print information about leaked entry\n  x86/amd-iommu: Flush all internal TLBs when IOMMUs are enabled\n  x86/amd-iommu: Rename iommu_flush_device\n  x86/amd-iommu: Improve handling of full command buffer\n  x86/amd-iommu: Rename iommu_flush* to domain_flush*\n  x86/amd-iommu: Remove command buffer resetting logic\n  x86/amd-iommu: Cleanup completion-wait handling\n  x86/amd-iommu: Cleanup inv_pages command handling\n  x86/amd-iommu: Move inv-dte command building to own function\n  x86/amd-iommu: Move compl-wait command building to own function\n"
    },
    {
      "commit": "51509a283a908d73b20371addc67ee3ae7189934",
      "tree": "bb920f09799cc47d496f26f7deb78a315351150d",
      "parents": [
        "75f5076b12924f53340209d2cde73b98ed3b3095",
        "6538df80194e305f1b78cafb556f4bb442f808b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:46:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:46:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (34 commits)\n  PM: Introduce generic prepare and complete callbacks for subsystems\n  PM: Allow drivers to allocate memory from .prepare() callbacks safely\n  PM: Remove CONFIG_PM_VERBOSE\n  Revert \"PM / Hibernate: Reduce autotuned default image size\"\n  PM / Hibernate: Add sysfs knob to control size of memory for drivers\n  PM / Wakeup: Remove useless synchronize_rcu() call\n  kmod: always provide usermodehelper_disable()\n  PM / ACPI: Remove acpi_sleep\u003ds4_nonvs\n  PM / Wakeup: Fix build warning related to the \"wakeup\" sysfs file\n  PM: Print a warning if firmware is requested when tasks are frozen\n  PM / Runtime: Rework runtime PM handling during driver removal\n  Freezer: Use SMP barriers\n  PM / Suspend: Do not ignore error codes returned by suspend_enter()\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM: Remove sysdev suspend, resume and shutdown operations\n  PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM\n  PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM\n  PM / AVR32: Use struct syscore_ops instead of sysdevs for PM\n  ...\n"
    },
    {
      "commit": "75f5076b12924f53340209d2cde73b98ed3b3095",
      "tree": "82bad4b458c0a7e54d264d407de12390275a1b24",
      "parents": [
        "83d7e948754cf021ed7343b122940fcc27c1bd88",
        "1df9fad1220beb21b4b4230373cbf4924436dd88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:44:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:44:34 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/qib: Use pci_dev-\u003erevision\n  RDMA/iwcm: Get rid of enum iw_cm_event_status\n  IB/ipath: Use pci_dev-\u003erevision, again\n  IB/qib: Prevent driver hang with unprogrammed boards\n  RDMA/cxgb4: EEH errors can hang the driver\n  RDMA/cxgb4: Reset wait condition atomically\n  RDMA/cxgb4: Fix missing parentheses\n  RDMA/cxgb4: Initialization errors can cause crash\n  RDMA/cxgb4: Don\u0027t change QP state outside EP lock\n  RDMA/cma: Add an ID_REUSEADDR option\n  RDMA/cma: Fix handling of IPv6 addressing in cma_use_port\n"
    },
    {
      "commit": "fce4a1dda2f1a9a25b3e5b7cd951070e0b42a818",
      "tree": "03a3f76c5b3d4f3b05dff44c307dbbb64ec5c510",
      "parents": [
        "e1f2084ed200eb31f2c9d1efe70569c76889c980",
        "6f6c3c33c027f2c83d53e8562cd9daa73fe8108b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:40:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:40:47 2011 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus: (48 commits)\n  MIPS: Move arch_get_unmapped_area and gang to new file.\n  MIPS: Cleanup arch_get_unmapped_area\n  MIPS: Octeon: Don\u0027t request interrupts for unused IPI mailbox bits.\n  Octeon: Fix interrupt irq settings for performance counters.\n  MIPS: Fix build warnings on defconfigs\n  MIPS: Lemote 2F, Malta: Fix build warning\n  MIPS: Set ELF AT_PLATFORM string for Loongson2 processors\n  MIPS: Set ELF AT_PLATFORM string for BMIPS processors\n  MIPS: Introduce set_elf_platform() helper function\n  MIPS: JZ4740: setup: Autodetect physical memory.\n  MIPS: BCM47xx: Fix MAC address parsing.\n  MIPS: BCM47xx: Extend the filling of SPROM from NVRAM\n  MIPS: BCM47xx: Register SSB fallback sprom callback\n  MIPS: BCM47xx: Extend bcm47xx_fill_sprom with prefix.\n  SSB: Change fallback sprom to callback mechanism.\n  MIPS: Alchemy: Clean up GPIO registers and accessors\n  MIPS: Alchemy: Cleanup DMA addresses\n  MIPS: Alchemy: Rewrite ethernet platform setup\n  MIPS: Alchemy: Rewrite UART setup and constants.\n  MIPS: Alchemy: Convert dbdma.c to syscore_ops\n  ...\n"
    },
    {
      "commit": "5318991645d78c83dde7a7bb1cba24695cc152c4",
      "tree": "68b62302435214105a87e15a970ac1e0df32df86",
      "parents": [
        "dc93275150da9542f500fbd3d0515eecfefba7f6",
        "7c1bfd685bcdc822ab1d7411ea05c82bd2a7b260",
        "d79647aea22732f39c81bbdc80931f96b46023f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:14:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:14:25 2011 -0700"
      },
      "message": "Merge branches \u0027stable/backend.base.v3\u0027 and \u0027stable/gntalloc.v7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/backend.base.v3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pci: Fix compiler error when CONFIG_XEN_PRIVILEGED_GUEST is not set.\n  xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions.\n  xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override.\n  xen/irq: The Xen hypervisor cleans up the PIRQs if the other domain forgot.\n  xen/irq: Export \u0027xen_pirq_from_irq\u0027 function.\n  xen/irq: Add support to check if IRQ line is shared with other domains.\n  xen/irq: Check if the PCI device is owned by a domain different than DOMID_SELF.\n  xen/pci: Add xen_[find|register|unregister]_device_domain_owner functions.\n\n* \u0027stable/gntalloc.v7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/gntdev,gntalloc: Remove unneeded VM flags\n"
    },
    {
      "commit": "f8223b17550c427ac249124ff7f25722221f4591",
      "tree": "741c45fec1c747cb7866f016865822b44105d6df",
      "parents": [
        "98a38a5d60a6e79eaad7f4a9b68cc1bd306ac5c0",
        "1a8e1463a49aaa452da1cefe184a00d4df47f1ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 15:57:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 15:57:29 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] remove redundant sprintf from request_module call.\n  [CPUFREQ] cpufreq_stats.c: Fixed brace coding style issue\n  [CPUFREQ] Fix memory leak in cpufreq_stat\n  [CPUFREQ] cpufreq.h: Fix some checkpatch.pl coding style issues.\n  [CPUFREQ] use dynamic debug instead of custom infrastructure\n  [CPUFREQ] CPU hotplug, re-create sysfs directory and symlinks\n  [CPUFREQ] Fix _OSC UUID in pcc-cpufreq\n"
    },
    {
      "commit": "98a38a5d60a6e79eaad7f4a9b68cc1bd306ac5c0",
      "tree": "bc6e761e7ead6b877c28abe908eaf9745c4f8627",
      "parents": [
        "7663164f2619e37a1dcad59383e2fcf8c5194107",
        "f721a465cddbe7f03e6cd2272008da558cf93818"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 14:56:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 14:56:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  params.c: Use new strtobool function to process boolean inputs\n  debugfs: move to new strtobool\n  Add a strtobool function matching semantics of existing in kernel equivalents\n  modpost: Update 64k section support for binutils 2.18.50\n  module: Use binary search in lookup_symbol()\n  module: Use the binary search for symbols resolution\n  lib: Add generic binary search function to the kernel.\n  module: Sort exported symbols\n  module: each_symbol_section instead of each_symbol\n  module: split unset_section_ro_nx function.\n  module: undo module RONX protection correctly.\n  module: zero mod-\u003einit_ro_size after init is freed.\n  minor ANSI prototype sparse fix\n  module: reorder kparam_array to remove alignment padding on 64 bit builds\n  module: remove 64 bit alignment padding from struct module with CONFIG_TRACE*\n  module: do not hide __modver_version_show declaration behind ifdef\n  module: deal with alignment issues in built-in module versions\n"
    },
    {
      "commit": "e66eed651fd18a961f11cda62f3b5286c8cc4f9f",
      "tree": "0b86980050e63623b103f1b6378aa3c457f63e87",
      "parents": [
        "75d65a425c0163d3ec476ddc12b51087217a070c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 14:15:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 14:15:29 2011 -0700"
      },
      "message": "list: remove prefetching from regular list iterators\n\nThis is removes the use of software prefetching from the regular list\niterators.  We don\u0027t want it.  If you do want to prefetch in some\niterator of yours, go right ahead.  Just don\u0027t expect the iterator to do\nit, since normally the downsides are bigger than the upsides.\n\nIt also replaces \u003clinux/prefetch.h\u003e with \u003clinux/const.h\u003e, because the\nuse of LIST_POISON ends up needing it.  \u003clinux/poison.h\u003e is sadly not\nself-contained, and including prefetch.h just happened to hide that.\n\nSuggested by David Miller (networking has a lot of regular lists that\nare often empty or a single entry, and prefetching is not going to do\nanything but add useless instructions).\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: linux-arch@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75d65a425c0163d3ec476ddc12b51087217a070c",
      "tree": "73fa02941dba62ff65fadc42eb03484428707cc5",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 13:50:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 13:50:07 2011 -0700"
      },
      "message": "hlist: remove software prefetching in hlist iterators\n\nThey not only increase the code footprint, they actually make things\nslower rather than faster.  On internationally acclaimed benchmarks\n(\"make -j16\" on an already fully built kernel source tree) the hlist\nprefetching slows down the build by up to 1%.\n\n(Almost all of it comes from hlist_for_each_entry_rcu() as used by\navc_has_perm_noaudit(), which is very hot due to all the pathname\nlookups to see if there is anything to do).\n\nThe cause seems to be two-fold:\n\n - on at least some Intel cores, prefetch(NULL) ends up with some\n   microarchitectural stall due to the TLB miss that it incurs.  The\n   hlist case triggers this very commonly, since the NULL pointer is the\n   last entry in the list.\n\n - the prefetch appears to cause more D$ activity, probably because it\n   prefetches hash list entries that are never actually used (because we\n   ended the search early due to a hit).\n\nRegardless, the numbers clearly say that the implicit prefetching is\nsimply a bad idea.  If some _particular_ user of the hlist iterators\nwants to prefetch the next list entry, they can do so themselves\nexplicitly, rather than depend on all list iterators doing so\nimplicitly.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: linux-arch@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29510ec3b626c86de9707bb8904ff940d430289b",
      "tree": "4e1f579058302cbe7274435a72c64ee54012c192",
      "parents": [
        "398995ce7980b03b5803f8f31073b45d87746bc1",
        "95950c2ecb31314ef827428e43ff771cf3b037e5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 19:48:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 19:48:03 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "80b816b736cfa5b9582279127099b20a479ab7d9",
      "tree": "94a2963c05e8e24d6153a0a2fae2f43fe05605bc",
      "parents": [
        "57f0fcbe1dea8a36c9d1673086326059991c5f81"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:42 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:16 2011 +0200"
      },
      "message": "clockevents: Provide interface to reconfigure an active clock event device\n\nSome ARM SoCs have clock event devices which have their frequency\nmodified due to frequency scaling. Provide an interface which allows\nto reconfigure an active device. After reconfiguration reprogram the\ncurrent pending event.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.437459958%40linutronix.de%3E\n"
    },
    {
      "commit": "57f0fcbe1dea8a36c9d1673086326059991c5f81",
      "tree": "c56c00307052034a64d2577819fdf21271446ebe",
      "parents": [
        "847b2f42be203f3cff7f243fdd3ee50c1e06c882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:41 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clockevents: Provide combined configure and register function\n\nAll clockevent devices have the same open coded initialization\nfunctions. Provide an interface which does all necessary\ninitialization in the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.331975870%40linutronix.de%3E\n"
    },
    {
      "commit": "847b2f42be203f3cff7f243fdd3ee50c1e06c882",
      "tree": "18447792ac25ac001aaf2e22fda7eec3183a162d",
      "parents": [
        "724ed53e8ac2c5278af8955673049714c1073464"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:41 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clockevents: Restructure clock_event_device members\n\nGroup the hot path members of struct clock_event_device together so we\nhave a better cache line footprint. Make it cacheline aligned.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.223607682%40linutronix.de%3E\n"
    },
    {
      "commit": "369db4c9524b7487faf1ff89646eee396c1363e1",
      "tree": "0df5fb62ebc4b233ef962a12cd7791509a31c9e3",
      "parents": [
        "a18f22a968de17b29f2310cdb7ba69163e65ec15"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:40 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clocksource: Restructure clocksource struct members\n\nGroup the hot path members of struct clocksource together so we have a\nbetter cache line footprint. Make it cacheline aligned.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.003081882%40linutronix.de%3E\n"
    },
    {
      "commit": "b3ae52b6b0335eba547221aad2cb3c50902e3d2d",
      "tree": "b7901a68a97fc73e6e711828f93ec8dbcca5722d",
      "parents": [
        "b7f720d68c0042cc8ce496e31a61df79a77f1b48"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue May 10 23:31:30 2011 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu May 19 09:55:47 2011 +0100"
      },
      "message": "SSB: Change fallback sprom to callback mechanism.\n\nSome embedded devices like the Netgear WNDR3300 have two SSB based cards\nwithout an own sprom on the pci bus. We have to provide two different\nfallback sproms for these and this was not possible with the old solution.\nIn the bcm47xx architecture the sprom data is stored in the nvram in the\nmain flash storage. The architecture code will be able to fill the sprom\nwith the stored data based on the bus where the device was found.\n\nThe bcm63xx code should do the same thing as before, just using the new\nAPI.\n\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: netdev@vger.kernel.org\nCc: linux-wireless@vger.kernel.org\nCc: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2362/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d0f1fed29e6e73d9d17f4c91a5896a4ce3938d45",
      "tree": "d44eae96f46e728cb9d87bca1b2494022bf590a9",
      "parents": [
        "6845756b29e4c4e7db41e2d75cafa9d091bc1c07"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Tue Apr 19 12:43:45 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:28 2011 +0930"
      },
      "message": "Add a strtobool function matching semantics of existing in kernel equivalents\n\nThis is a rename of the usr_strtobool proposal, which was a renamed,\nrelocated and fixed version of previous kstrtobool RFC\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1a94dc35bc5c166d89913dc01a49d27a3c21a455",
      "tree": "575196f1d0b9528b7d63b9bff692dd81e1aeac0f",
      "parents": [
        "f02e8a6596b7dc9b2171f7ff5654039ef0950cdc"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@ksplice.com",
        "time": "Thu Apr 14 20:00:19 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "lib: Add generic binary search function to the kernel.\n\nThere a large number hand-coded binary searches in the kernel (run\n\"git grep search | grep binary\" to find many of them).  Since in my\nexperience, hand-coding binary searches can be error-prone, it seems\nworth cleaning this up by providing a generic binary search function.\n\nThis generic binary search implementation comes from Ksplice.  It has\nthe same basic API as the C library bsearch() function.  Ksplice uses\nit in half a dozen places with 4 different comparison functions, and I\nthink our code is substantially cleaner because of this.\n\nSigned-off-by: Tim Abbott \u003ctabbott@ksplice.com\u003e\nExtra-bikeshedding-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nExtra-bikeshedding-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nExtra-bikeshedding-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f02e8a6596b7dc9b2171f7ff5654039ef0950cdc",
      "tree": "7e306a718415a53aea737c434f33eb36f3e53abc",
      "parents": [
        "de4d8d53465483168d6a627d409ee2d09d8e3308"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Thu Apr 14 14:59:39 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "module: Sort exported symbols\n\nThis patch places every exported symbol in its own section\n(i.e. \"___ksymtab+printk\").  Thus the linker will use its SORT() directive\nto sort and finally merge all symbol in the right and final section\n(i.e. \"__ksymtab\").\n\nThe symbol prefixed archs use an underscore as prefix for symbols.\nTo avoid collision we use a different character to create the temporary\nsection names.\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (folded in \u0027+\u0027 fixup)\nTested-by: Dirk Behme \u003cdirk.behme@googlemail.com\u003e\n"
    },
    {
      "commit": "de4d8d53465483168d6a627d409ee2d09d8e3308",
      "tree": "dadc9b82860842dcb970f2898f677e0d2373a2ab",
      "parents": [
        "01526ed0830643bd53a8434c3068e4c077e1b09d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Apr 19 21:49:58 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:26 2011 +0930"
      },
      "message": "module: each_symbol_section instead of each_symbol\n\nInstead of having a callback function for each symbol in the kernel,\nhave a callback for each array of symbols.\n\nThis eases the logic when we move to sorted symbols and binary search.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\n"
    },
    {
      "commit": "c5be0b2eb1ca05e0cd747f9c0ba552c6ee8827a0",
      "tree": "2252ad213e238dafec0d0a0d662ff1b53377b77a",
      "parents": [
        "a288bd651f4180c224cfddf837a0416157a36661"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu May 19 16:55:25 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:25 2011 +0930"
      },
      "message": "module: reorder kparam_array to remove alignment padding on 64 bit builds\n\nReorder structure kparam_array to remove 8 bytes of alignment padding on\n64 bit builds, dropping its size from 40 to 32 bytes.\n\nAlso update the macro module_param_array_named to initialise the\nstructure using its member names to allow it to be changed without\ntouching all its call sites.\n\n\u0027git grep\u0027 finds module_param_array in 1037 places so this patch will\nsave a small amount of data space across many modules.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a288bd651f4180c224cfddf837a0416157a36661",
      "tree": "7f966b8a0e31b8b6f2e64198c0429da57949df4a",
      "parents": [
        "9b73a5840c7d5f77e5766626716df13787cb258c"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu May 19 16:55:25 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:25 2011 +0930"
      },
      "message": "module: remove 64 bit alignment padding from struct module with CONFIG_TRACE*\n\nReorder struct module to remove 24 bytes of alignment padding on 64 bit\nbuilds when the CONFIG_TRACE options are selected. This allows the\nstructure to fit into one fewer cache lines, and its size drops from 592\nto 568 on x86_64.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9b73a5840c7d5f77e5766626716df13787cb258c",
      "tree": "5179b149129ee677d3a6fd621608cdc08206b516",
      "parents": [
        "b4bc842802db3314f9a657094da0450a903ea619"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Mon Feb 07 16:02:27 2011 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:25 2011 +0930"
      },
      "message": "module: do not hide __modver_version_show declaration behind ifdef\n\nDoing so prevents the following warning from sparse:\n\n  CHECK   kernel/params.c\nkernel/params.c:817:9: warning: symbol \u0027__modver_version_show\u0027 was not\ndeclared. Should it be static?\n\nsince kernel/params.c is never compiled with MODULE being set.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b4bc842802db3314f9a657094da0450a903ea619",
      "tree": "db9cadf46624dcd7e780850e8bda34b569a229b0",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Mon Feb 07 16:02:25 2011 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:24 2011 +0930"
      },
      "message": "module: deal with alignment issues in built-in module versions\n\nOn m68k natural alignment is 2-byte boundary but we are trying to\nalign structures in __modver section on sizeof(void *) boundary.\nThis causes trouble when we try to access elements in this section\nin array-like fashion when create \"version\" attributes for built-in\nmodules.\n\nMoreover, as DaveM said, we can\u0027t reliably put structures into\nindependent objects, put them into a special section, and then expect\narray access over them (via the section boundaries) after linking the\nobjects together to just \"work\" due to variable alignment choices in\ndifferent situations. The only solution that seems to work reliably\nis to make an array of plain pointers to the objects in question and\nput those pointers in the special section.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "936e074b286ae779f134312178dbab139ee7ea52",
      "tree": "6b0497be4d5e6258ad9b1ec99b2a9feb25b2dd22",
      "parents": [
        "cdbe61bfe70440939e457fb4a8d0995eaaed17de"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 05 22:54:01 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 19:22:52 2011 -0400"
      },
      "message": "ftrace: Modify ftrace_set_filter/notrace to take ops\n\nSince users of the function tracer can now pick and choose which\nfunctions they want to trace agnostically from other users of the\nfunction tracer, we need to pass the ops struct to the ftrace_set_filter()\nfunctions.\n\nThe functions ftrace_set_global_filter() and ftrace_set_global_notrace()\nis added to keep the old filter functions which are used to modify\nthe generic function tracers.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fce519588acfac249e8fdc1f5016c73d617de315",
      "tree": "bea37c564c552cf69344c3bab7156308df7de662",
      "parents": [
        "7103dbed8e462f2a065381d23fde086cbd5b9891",
        "b1608d69cb804e414d0887140ba08a9398e4e638"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 13:25:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 13:25:57 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  drivercore: revert addition of of_match to struct device\n  of: fix race when matching drivers\n"
    },
    {
      "commit": "cdbe61bfe70440939e457fb4a8d0995eaaed17de",
      "tree": "6e82066db25ab6fa42455a42bb77783dac5260b8",
      "parents": [
        "b848914ce39589d89ee0078a6d1ef452b464729e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 05 21:14:55 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:51 2011 -0400"
      },
      "message": "ftrace: Allow dynamically allocated function tracers\n\nNow that functions may be selected individually, it only makes sense\nthat we should allow dynamically allocated trace structures to\nbe traced. This will allow perf to allocate a ftrace_ops structure\nat runtime and use it to pick and choose which functions that\nstructure will trace.\n\nNote, a dynamically allocated ftrace_ops will always be called\nindirectly instead of being called directly from the mcount in\nentry.S. This is because there\u0027s no safe way to prevent mcount\nfrom being preempted before calling the function, unless we\nmodify every entry.S to do so (not likely). Thus, dynamically allocated\nfunctions will now be called by the ftrace_ops_list_func() that\nloops through the ops that are allocated if there are more than\none op allocated at a time. This loop is protected with a\npreempt_disable.\n\nTo determine if an ftrace_ops structure is allocated or not, a new\nutil function was added to the kernel/extable.c called\ncore_kernel_data(), which returns 1 if the address is between\n_sdata and _edata.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b848914ce39589d89ee0078a6d1ef452b464729e",
      "tree": "542bf09ae3c2d9118833132621585fb458e2a003",
      "parents": [
        "07fd5515f3b5c20704707f63e7f4485b534508a8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 04 09:27:52 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:50 2011 -0400"
      },
      "message": "ftrace: Implement separate user function filtering\n\nftrace_ops that are registered to trace functions can now be\nagnostic to each other in respect to what functions they trace.\nEach ops has their own hash of the functions they want to trace\nand a hash to what they do not want to trace. A empty hash for\nthe functions they want to trace denotes all functions should\nbe traced that are not in the notrace hash.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ed926f9b35cda0988234c356e16a7cb30f4e5338",
      "tree": "32169b7aaf6b0ef7815b095a544cce93e884bb73",
      "parents": [
        "33dc9b1267d59cef46ff0bd6bc043190845dc919"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 03 13:25:24 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:47 2011 -0400"
      },
      "message": "ftrace: Use counters to enable functions to trace\n\nEvery function has its own record that stores the instruction\npointer and flags for the function to be traced. There are only\ntwo flags: enabled and free. The enabled flag states that tracing\nfor the function has been enabled (actively traced), and the free\nflag states that the record no longer points to a function and can\nbe used by new functions (loaded modules).\n\nThese flags are now moved to the MSB of the flags (actually just\nthe top 32bits). The rest of the bits (30 bits) are now used as\na ref counter. Everytime a tracer register functions to trace,\nthose functions will have its counter incremented.\n\nWhen tracing is enabled, to determine if a function should be traced,\nthe counter is examined, and if it is non-zero it is set to trace.\n\nWhen a ftrace_ops is registered to trace functions, its hashes\nare examined. If the ftrace_ops filter_hash count is zero, then\nall functions are set to be traced, otherwise only the functions\nin the hash are to be traced. The exception to this is if a function\nis also in the ftrace_ops notrace_hash. Then that function\u0027s counter\nis not incremented for this ftrace_ops.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f45948e898e7bc76a73a468796d2ce80dd040058",
      "tree": "483979d8030cc2cf156ed65218c03a2d6825d9f5",
      "parents": [
        "1cf41dd79993389b012e4542ab502ce36ae7343f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 02 12:29:25 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:45 2011 -0400"
      },
      "message": "ftrace: Create a global_ops to hold the filter and notrace hashes\n\nCombine the filter and notrace hashes to be accessed by a single entity,\nthe global_ops. The global_ops is a ftrace_ops structure that is passed\nto different functions that can read or modify the filtering of the\nfunction tracer.\n\nThe ftrace_ops structure was modified to hold a filter and notrace\nhashes so that later patches may allow each ftrace_ops to have its own\nset of rules to what functions may be filtered.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1cf41dd79993389b012e4542ab502ce36ae7343f",
      "tree": "e1d0b58b2256d5936cff0c9d29ca8f68a80cedd8",
      "parents": [
        "b448c4e3ae6d20108dba1d7833f2c0d3dbad87ce"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 20:59:51 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:44 2011 -0400"
      },
      "message": "ftrace: Use hash instead for FTRACE_FL_FILTER\n\nWhen multiple users are allowed to have their own set of functions\nto trace, having the FTRACE_FL_FILTER flag will not be enough to\nhandle the accounting of those users. Each user will need their own\nset of functions.\n\nReplace the FTRACE_FL_FILTER with a filter_hash instead. This is\ntemporary until the rest of the function filtering accounting\ngets in.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b448c4e3ae6d20108dba1d7833f2c0d3dbad87ce",
      "tree": "504e5a3640328458e652e41cfd2ed74e4652e5b3",
      "parents": [
        "94692349c4fc1bc74c19a28f9379509361a06a3b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 15:12:32 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 18 15:29:44 2011 -0400"
      },
      "message": "ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions\n\nTo prepare for the accounting system that will allow multiple users of\nthe function tracer, having the FTRACE_FL_NOTRACE as a flag in the\ndyn_trace record does not make sense.\n\nAll ftrace_ops will soon have a hash of functions they should trace\nand not trace. By making a global hash of functions not to trace makes\nthis easier for the transition.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b1608d69cb804e414d0887140ba08a9398e4e638",
      "tree": "8999cd827e7fb4138ff83f7829d8fdcf44ee653d",
      "parents": [
        "01294d82622d6d9d64bde8e4530c7e2c6dbb6ee6"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed May 18 11:19:24 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed May 18 12:32:23 2011 -0600"
      },
      "message": "drivercore: revert addition of of_match to struct device\n\nCommit b826291c, \"drivercore/dt: add a match table pointer to struct\ndevice\" added an of_match pointer to struct device to cache the\nof_match_table entry discovered at driver match time.  This was unsafe\nbecause matching is not an atomic operation with probing a driver.  If\ntwo or more drivers are attempted to be matched to a driver at the\nsame time, then the cached matching entry pointer could get\noverwritten.\n\nThis patch reverts the of_match cache pointer and reworks all users to\ncall of_match_device() directly instead.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "01294d82622d6d9d64bde8e4530c7e2c6dbb6ee6",
      "tree": "98707dfac7c9533dbfef30c4ff05c0dfdabc17a6",
      "parents": [
        "2e9521fd656f05a716b5294a7dbebd37ced05e43"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Wed May 18 10:27:39 2011 -0500"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed May 18 10:19:36 2011 -0600"
      },
      "message": "of: fix race when matching drivers\n\nIf two drivers are probing devices at the same time, both will write\ntheir match table result to the dev-\u003eof_match cache at the same time.\n\nOnly write the result if the device matches.\n\nIn a thread titled \"SBus devices sometimes detected, sometimes not\",\nMeelis reported his SBus hme was not detected about 50% of the time.\nFrom the debug suggested by Grant it was obvious another driver matched\nsome devices between the call to match the hme and the hme discovery\nfailling.\n\nReported-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\n[grant.likely: modified to only call of_match_device() once]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "a2b9c1f6208126e6df6c02428c501f8853685812",
      "tree": "e36762d385bb490914a72485c4da4431e4b937d3",
      "parents": [
        "2e9521fd656f05a716b5294a7dbebd37ced05e43",
        "3ec717b7ca4ee1d75d77e4f6286430d8f01d1dbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 06:49:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 06:49:02 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: don\u0027t delay blk_run_queue_async\n  scsi: remove performance regression due to async queue run\n  blk-throttle: Use task_subsys_state() to determine a task\u0027s blkio_cgroup\n  block: rescan partitions on invalidated devices on -ENOMEDIA too\n  cdrom: always check_disk_change() on open\n  block: unexport DISK_EVENT_MEDIA_CHANGE for legacy/fringe drivers\n"
    },
    {
      "commit": "fe12bc2c996d3e492b2920e32ac79f7bbae3e15d",
      "tree": "05af87563123d909d04c328aead3fe24599633d1",
      "parents": [
        "fe0514348452f5b0ad7e842b0d71b8322b1297de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 12:48:00 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 14:59:08 2011 +0200"
      },
      "message": "genirq: Uninline and sanity check generic_handle_irq()\n\ngeneric_handle_irq() is missing a NULL pointer check for the result of\nirq_to_desc. This was a not a big problem, but we want to expose it to\ndrivers, so we better have sanity checks in place. Add a return value\nas well, which indicates that the irq number was valid and the handler\nwas invoked.\n\nBased on the pure code move from Jonathan Cameron.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\n"
    },
    {
      "commit": "f12a20fc9bfba4218ecbc4e40c8e08dc2a85dc99",
      "tree": "da399a0a02522d38b56d38616ac4b268e0a58f92",
      "parents": [
        "b2db21997f43907f54500edaf063253ca2a186f9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 17 15:44:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 02:55:24 2011 -0700"
      },
      "message": "procfs: add stub for proc_mkdir_mode()\n\nProvide a stub for proc_mkdir_mode() when CONFIG_PROC_FS is not\nenabled, just like the stub for proc_mkdir().\n\nFixes this linux-next build error:\n\n  drivers/net/wireless/airo.c:4504: error: implicit declaration of function \u0027proc_mkdir_mode\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6538df80194e305f1b78cafb556f4bb442f808b3",
      "tree": "72927d33d82f0e9502811abfc10d722a7423fff2",
      "parents": [
        "91e7c75ba93c48a82670d630b9daac92ff70095d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "message": "PM: Introduce generic prepare and complete callbacks for subsystems\n\nIntroduce generic .prepare() and .complete() power management\ncallbacks, currently missing, that can be used by subsystems and\npower domains and export them.  Provide NULL definitions of all\nthe generic system sleep callbacks for CONFIG_PM_SLEEP unset.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "91e7c75ba93c48a82670d630b9daac92ff70095d",
      "tree": "b44ac3dca1d03cce99cccc3f4ce55d4b5475d373",
      "parents": [
        "c650da23d59d2c82307380414606774c6d49b8bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "message": "PM: Allow drivers to allocate memory from .prepare() callbacks safely\n\nIf device drivers allocate substantial amounts of memory (above 1 MB)\nin their hibernate .freeze() callbacks (or in their legacy suspend\ncallbcks during hibernation), the subsequent creation of hibernate\nimage may fail due to the lack of memory.  This is the case, because\nthe drivers\u0027 .freeze() callbacks are executed after the hibernate\nmemory preallocation has been carried out and the preallocated amount\nof memory may be too small to cover the new driver allocations.\nUnfortunately, the drivers\u0027 .prepare() callbacks also are executed\nafter the hibernate memory preallocation has completed, so they are\nnot suitable for allocating additional memory either.  Thus the only\nway a driver can safely allocate memory during hibernation is to use\na hibernate/suspend notifier.  However, the notifiers are called\nbefore the freezing of user space and the drivers wanting to use them\nfor allocating additional memory may not know how much memory needs\nto be allocated at that point.\n\nTo let device drivers overcome this difficulty rework the hibernation\nsequence so that the memory preallocation is carried out after the\ndrivers\u0027 .prepare() callbacks have been executed, so that the\n.prepare() callbacks can be used for allocating additional memory\nto be used by the drivers\u0027 .freeze() callbacks.  Update documentation\nto match the new behavior of the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "290c748725c170ed9a02522959ae67f528eefe98",
      "tree": "a920190b75c7e054af24d850e79cc54f5cf53263",
      "parents": [
        "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
        "72874daa5e9064c4e8d689e6a04b1e96f687f872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "message": "Merge branch \u0027power-domains\u0027 into for-linus\n\n* power-domains:\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n  PM / Runtime: Add subsystem data field to struct dev_pm_info\n  OMAP2+ / PM: move runtime PM implementation to use device power domains\n  PM / Platform: Use generic runtime PM callbacks directly\n  shmobile: Use power domains for platform runtime PM\n  PM: Export platform bus type\u0027s default PM callbacks\n  PM: Make power domain callbacks take precedence over subsystem ones\n"
    },
    {
      "commit": "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
      "tree": "ac7d43e6c4f6a2f357454c42d762595cc358104d",
      "parents": [
        "1c1be3a949a61427a962771c85a347c822aeb991",
        "2e711c04dbbf7a7732a3f7073b1fc285d12b369d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "message": "Merge branch \u0027syscore\u0027 into for-linus\n\n* syscore:\n  PM: Remove sysdev suspend, resume and shutdown operations\n  PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM\n  PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM\n  PM / AVR32: Use struct syscore_ops instead of sysdevs for PM\n  PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM\n  ARM / Samsung: Use struct syscore_ops for \"core\" power management\n  ARM / PXA: Use struct syscore_ops for \"core\" power management\n  ARM / SA1100: Use struct syscore_ops for \"core\" power management\n  ARM / Integrator: Use struct syscore_ops for core PM\n  ARM / OMAP: Use struct syscore_ops for \"core\" power management\n  ARM: Use struct syscore_ops instead of sysdevs for PM in common code\n"
    },
    {
      "commit": "13d53f8775c6a00b070a3eef6833795412eb7fcd",
      "tree": "4d8d2c2261c9c41bfc37b1199b8789f5037e49ad",
      "parents": [
        "c3b0795c98c08351567464150db66d11e05d7611"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue May 10 21:27:34 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:18 2011 +0200"
      },
      "message": "kmod: always provide usermodehelper_disable()\n\nWe need to prevent kernel-forked processes during system poweroff.\nSuch processes try to access the filesystem whose disks we are\ntrying to shutdown at the same time. This causes delays and exceptions\nin the storage drivers.\n\nA follow-up patch will add these calls and need usermodehelper_disable()\nalso on systems without suspend support.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a144c6a6c924aa1da04dd77fb84b89927354fdff",
      "tree": "10cab9080a722a191086f58b9f304329e8a8b942",
      "parents": [
        "e1866b33b1e89f077b7132daae3dfd9a594e9a1a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 06 20:09:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:17 2011 +0200"
      },
      "message": "PM: Print a warning if firmware is requested when tasks are frozen\n\nSome drivers erroneously use request_firmware() from their -\u003eresume()\n(or -\u003ethaw(), or -\u003erestore()) callbacks, which is not going to work\nunless the firmware has been built in.  This causes system resume to\nstall until the firmware-loading timeout expires, which makes users\nthink that the resume has failed and reboot their machines\nunnecessarily.  For this reason, make _request_firmware() print a\nwarning and return immediately with error code if it has been called\nwhen tasks are frozen and it\u0027s impossible to start any new usermode\nhelpers.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nReviewed-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\n"
    },
    {
      "commit": "9937a5e2f32892db0dbeefc2b3bc74b3ae3ea9c7",
      "tree": "0448e96b503deb71dd8a1228da94a9fc22a57d48",
      "parents": [
        "70087dc38cc77ca8f46059564c00338777734762"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue May 17 11:04:44 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue May 17 11:04:44 2011 +0200"
      },
      "message": "scsi: remove performance regression due to async queue run\n\nCommit c21e6beb removed our queue request_fn re-enter\nprotection, and defaulted to always running the queues from\nkblockd to be safe. This was a known potential slow down,\nbut should be safe.\n\nUnfortunately this is causing big performance regressions for\nsome, so we need to improve this logic. Looking into the details\nof the re-enter, the real issue is on requeue of requests.\n\nRequeue of requests upon seeing a BUSY condition from the device\nends up re-running the queue, causing traces like this:\n\nscsi_request_fn()\n        scsi_dispatch_cmd()\n                scsi_queue_insert()\n                        __scsi_queue_insert()\n                                scsi_run_queue()\n\t\t\t\t\tscsi_request_fn()\n\t\t\t\t\t\t...\n\npotentially causing the issue we want to avoid. So special\ncase the requeue re-run of the queue, but improve it to offload\nthe entire run of local queue and starved queue from a single\nworkqueue callback. This is a lot better than potentially\nkicking off a workqueue run for each device seen.\n\nThis also fixes the issue of the local device going into recursion,\nsince the above mentioned commit never moved that queue run out\nof line.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "477de0de446210eb5c87e2a54c9ba4c8844fb98b",
      "tree": "399098973886cd595d33b375cefd022b9461c88c",
      "parents": [
        "b5e6ab589d570ac79cc939517fab05c87a23c262",
        "86f315bbb2374f1f077500ad131dd9b71856e697"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 16 18:36:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 16 18:36:47 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  Revert \"mmc: fix a race between card-detect rescan and clock-gate work instances\"\n"
    },
    {
      "commit": "f0201738b61b1adcf6b2c4719c5c415745014c1c",
      "tree": "c5a7c4b04693e459e22780f66d2d7e625d9d1243",
      "parents": [
        "85356f802225fedeee8c3e65bdd93b263ace0a8b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 12 19:06:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 16 14:46:30 2011 -0400"
      },
      "message": "ftrace: Avoid recording mcount on .init sections directly\n\nThe init and exit sections should not be traced and adding a call to\nmcount to them is a waste of text and instruction cache. Have the\nmacro section attributes include notrace to ignore these functions\nfor tracing from the build.\n\nLink: http://lkml.kernel.org/r/20110421023738.953028219@goodmis.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2064af917b3ba7589070064ca4ed12cecd99a63c",
      "tree": "36f7e08bbfb33079fc62b4a810a83fe4f3985636",
      "parents": [
        "600b776eb39a13a28b090ba9efceb0c69d4508aa"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Fri Apr 29 00:37:26 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 16 20:17:47 2011 +0200"
      },
      "message": "PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n\nThe platform_bus_set_pm_ops() operation is deprecated in favor of the\nnew device power domain infrastructre implemented in commit\n7538e3db6e015e890825fbd9f8659952896ddd5b (PM: add support for device\npower domains)\n\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7c21738efd0b5e8c2a9ac2440e7ffbf432d6f239",
      "tree": "d65f02ae98b229604e04df9984632272686cef9a",
      "parents": [
        "eed631e0d741d1a1067cfc6d709fdf2363126f9c",
        "752d2635ebb12b6122ba05775f7d1ccfef14b275"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 16 08:47:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 16 08:47:31 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm: Take lock around probes for drm_fb_helper_hotplug_event\n  drm/i915: Revert i915.semaphore\u003d1 default from 47ae63e0\n  vga_switcheroo: don\u0027t toggle-switch devices\n  drm/radeon/kms: add some evergreen/ni safe regs\n  drm/radeon/kms: fix extended lvds info parsing\n  drm/radeon/kms: fix tiling reg on fusion\n"
    },
    {
      "commit": "86f315bbb2374f1f077500ad131dd9b71856e697",
      "tree": "d1e70a9bfaa1665bef1b085f6f8ce4a0498e90d2",
      "parents": [
        "eed631e0d741d1a1067cfc6d709fdf2363126f9c"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon May 16 11:32:26 2011 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon May 16 11:32:26 2011 -0400"
      },
      "message": "Revert \"mmc: fix a race between card-detect rescan and clock-gate work instances\"\n\nThis reverts commit 26fc8775b51484d8c0a671198639c6d5ae60533e, which has\nbeen reported to cause boot/resume-time crashes for some users:\n\nhttps://bbs.archlinux.org/viewtopic.php?id\u003d118751.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "752d2635ebb12b6122ba05775f7d1ccfef14b275",
      "tree": "787f76b453e15a03e7db938eaace598dc36273eb",
      "parents": [
        "8eea1be174a1ea4b86323167bbadc8a6abdca613"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Fri Apr 22 11:03:57 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon May 16 12:01:43 2011 +1000"
      },
      "message": "drm: Take lock around probes for drm_fb_helper_hotplug_event\n\nWe need to hold the dev-\u003emode_config.mutex whilst detecting the output\nstatus. But we also need to drop it for the call into\ndrm_fb_helper_single_fb_probe(), which indirectly acquires the lock when\nattaching the fbcon.\n\nFailure to do so exposes a race with normal output probing. Detected by\nadding some warnings that the mutex is held to the backend detect routines:\n\n[   17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()\n[   17.772458] Hardware name: Latitude E6400\n[   17.772460] Modules linked in: ....\n[   17.772582] Pid: 11, comm: kworker/0:1 Tainted: G        W 2.6.38.4-custom.2 #8\n[   17.772584] Call Trace:\n[   17.772591]  [\u003cffffffff81046af5\u003e] ? warn_slowpath_common+0x78/0x8c\n[   17.772603]  [\u003cffffffffa03f3e5c\u003e] ? intel_crt_detect+0x3e/0x373 [i915]\n[   17.772612]  [\u003cffffffffa0355d49\u003e] ?  drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]\n[   17.772619]  [\u003cffffffffa03534d5\u003e] ?  drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]\n[   17.772625]  [\u003cffffffffa0354760\u003e] ?  drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]\n[   17.772633]  [\u003cffffffffa035577f\u003e] ? output_poll_execute+0x146/0x17c [drm_kms_helper]\n[   17.772638]  [\u003cffffffff81193c01\u003e] ? cfq_init_queue+0x247/0x345\n[   17.772644]  [\u003cffffffffa0355639\u003e] ? output_poll_execute+0x0/0x17c [drm_kms_helper]\n[   17.772648]  [\u003cffffffff8105b540\u003e] ? process_one_work+0x193/0x28e\n[   17.772652]  [\u003cffffffff8105c6bc\u003e] ? worker_thread+0xef/0x172\n[   17.772655]  [\u003cffffffff8105c5cd\u003e] ? worker_thread+0x0/0x172\n[   17.772658]  [\u003cffffffff8105c5cd\u003e] ? worker_thread+0x0/0x172\n[   17.772663]  [\u003cffffffff8105f767\u003e] ? kthread+0x7a/0x82\n[   17.772668]  [\u003cffffffff8100a724\u003e] ? kernel_thread_helper+0x4/0x10\n[   17.772671]  [\u003cffffffff8105f6ed\u003e] ? kthread+0x0/0x82\n[   17.772674]  [\u003cffffffff8100a720\u003e] ? kernel_thread_helper+0x0/0x10\n\nReported-by:  Frederik Himpe \u003cfhimpe@telenet.be\u003e\nReferences: https://bugs.freedesktop.org/show_bug.cgi?id\u003d36394\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "eed631e0d741d1a1067cfc6d709fdf2363126f9c",
      "tree": "31ba02472a8d5ef2d7780274a7663258c09a9acf",
      "parents": [
        "bd1a643e10eb8782b36b47c3602300319dd2fb00",
        "ebcb904dfe31644857422e3bb62e50f76fe86255"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 15 10:22:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 15 10:22:10 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix FS_IOC_SETFLAGS ioctl\n  Btrfs: fix FS_IOC_GETFLAGS ioctl\n  fs: remove FS_COW_FL\n  Btrfs: fix easily get into ENOSPC in mixed case\n  Prevent oopsing in posix_acl_valid()\n"
    },
    {
      "commit": "e1e8fb6a1ff3f9487e03a4cbf85b81d1316068ce",
      "tree": "a7cd1ba1f93d163e2ca02b8172888f43e444713f",
      "parents": [
        "1aba86d67f340a8001d67183ec32e8a62e3ec658"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 15 03:02:49 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 14 16:10:26 2011 -0400"
      },
      "message": "fs: remove FS_COW_FL\n\nFS_COW_FL and FS_NOCOW_FL were newly introduced to control per file\nCOW in btrfs, but FS_NOCOW_FL is sufficient.\n\nThe fact is we don\u0027t have corresponding BTRFS_INODE_COW flag.\n\nCOW is default, and FS_NOCOW_FL can be used to switch off COW for\na single file.\n\nIf we mount btrfs with nodatacow, a newly created file will be set with\nthe FS_NOCOW_FL flag. So to turn on COW for it, we can just clear the\nFS_NOCOW_FL flag.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a18f22a968de17b29f2310cdb7ba69163e65ec15",
      "tree": "a7d56d88fad5e444d7661484109758a2f436129e",
      "parents": [
        "a1c57e0fec53defe745e64417eacdbd3618c3e66",
        "798778b8653f64b7b2162ac70eca10367cff6ce8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 14 12:06:36 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 14 12:06:36 2011 +0200"
      },
      "message": "Merge branch \u0027consolidate-clksrc-i8253\u0027 of master.kernel.org:~rmk/linux-2.6-arm into timers/clocksource\n\nConflicts:\n\tarch/ia64/kernel/cyclone.c\n\tarch/mips/kernel/i8253.c\n\tarch/x86/kernel/i8253.c\n\nReason: Resolve conflicts so further cleanups do not conflict further\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8c414ff3f4dcdde228c6a668385218290d73a265",
      "tree": "2454fc7bf7d76b13fd6c03c08954afbae9d633b0",
      "parents": [
        "89c0b8e2520e12d69dafc663dfbd39f8180438ea"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 08 18:50:20 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 14 10:29:48 2011 +0100"
      },
      "message": "clocksource: convert footbridge to generic i8253 clocksource\n\nConvert the footbridge isa-timer code to use generic i8253 clocksource.\n\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "82a3242e11d9e63c8195be46c954efaefee35e22",
      "tree": "9de1ef19dd118963c9b46bebb224e504848eb85e",
      "parents": [
        "a236c71766a5f69edf189e2eaeb0aa587c8c5684"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 12 16:01:02 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 13 16:05:51 2011 -0700"
      },
      "message": "sysfs: remove \"last sysfs file:\" line from the oops messages\n\nOn some arches (x86, sh, arm, unicore, powerpc) the oops message would\nprint out the last sysfs file accessed.\n\nThis was very useful in finding a number of sysfs and driver core bugs\nin the 2.5 and early 2.6 development days, but it has been a number of\nyears since this file has actually helped in debugging anything that\ncouldn\u0027t also be trivially determined from the stack traceback.\n\nSo it\u0027s time to delete the line.  This is good as we need all the space\nwe can get for oops messages at times on consoles.\n\nAcked-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "298eaaad0edc004912513d7b9e18163bc053539b",
      "tree": "9e0e6dd9c54e4af80b0c671de87a71d018f79c38",
      "parents": [
        "cf70cc5b9d6a07d21ffd521aee690d26315d1bdf",
        "cb68552858c64db302771469b1202ea09e696329"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 13 15:20:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 13 15:20:51 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  bridge: fix forwarding of IPv6\n  bonding,llc: Fix structure sizeof incompatibility for some PDUs\n  ipv6: restore correct ECN handling on TCP xmit\n  ne-h8300: Fix regression caused during net_device_ops conversion\n  hydra: Fix regression caused during net_device_ops conversion\n  zorro8390: Fix regression caused during net_device_ops conversion\n  sfc: Always map MCDI shared memory as uncacheable\n  ehea: Fix memory hotplug oops\n  libertas: fix cmdpendingq locking\n  iwlegacy: fix IBSS mode crashes\n  ath9k: Fix a warning due to a queued work during S3 state\n  mac80211: don\u0027t start the dynamic ps timer if not associated\n"
    },
    {
      "commit": "cf70cc5b9d6a07d21ffd521aee690d26315d1bdf",
      "tree": "4804c11071e693eb5d66799bb8e05431f7905c84",
      "parents": [
        "087fbc9962e10a65fb0b542ecfc116ebf6cf1735",
        "a75b9df9d3bfc3cd1083974c045ae31ce5f3434f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 13 15:19:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 13 15:19:39 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4.1: Ensure that layoutget uses the correct gfp modes\n  NFSv4.1: remove pnfs_layout_hdr from pnfs_destroy_all_layouts tmp_list\n  NFSv41: Resend on NFS4ERR_RETRY_UNCACHED_REP\n"
    },
    {
      "commit": "a10e14667635dde504ed9e7ee851494c2cf2ae8e",
      "tree": "bf5ad736713e1fcb80fadb05825184b44d50c87e",
      "parents": [
        "ca06707022d6ba4744198a8ebbe4994786b0c613"
      ],
      "author": {
        "name": "Vitalii Demianets",
        "email": "vitas@nppfactor.kiev.ua",
        "time": "Thu May 12 23:04:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 15:13:24 2011 -0400"
      },
      "message": "bonding,llc: Fix structure sizeof incompatibility for some PDUs\n\nWith some combinations of arch/compiler (e.g. arm-linux-gcc) the sizeof\noperator on structure returns value greater than expected. In cases when the\nstructure is used for mapping PDU fields it may lead to unexpected results\n(such as holes and alignment problems in skb data). __packed prevents this\nundesired behavior.\n\nSigned-off-by: Vitalii Demianets \u003cvitas@nppfactor.kiev.ua\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47a150edc2ae734c0f4bf50aa19499e23b9a46f8",
      "tree": "beeba9befd531285f663559a76f6f0f7378a6c2b",
      "parents": [
        "381e7863d94891035a1a6b7836e9db72f9f1cba1"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge.hallyn@canonical.com",
        "time": "Fri May 13 04:27:54 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 13 11:45:33 2011 -0700"
      },
      "message": "Cache user_ns in struct cred\n\nIf !CONFIG_USERNS, have current_user_ns() defined to (\u0026init_user_ns).\n\nGet rid of _current_user_ns.  This requires nsown_capable() to be\ndefined in capability.c rather than as static inline in capability.h,\nso do that.\n\nRequest_key needs init_user_ns defined at current_user_ns if\n!CONFIG_USERNS, so forward-declare that in cred.h if !CONFIG_USERNS\nat current_user_ns() define.\n\nCompile-tested with and without CONFIG_USERNS.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\n[ This makes a huge performance difference for acl_permission_check(),\n  up to 30%.  And that is one of the hottest kernel functions for loads\n  that are pathname-lookup heavy.  ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca06707022d6ba4744198a8ebbe4994786b0c613",
      "tree": "829c4c904b4e3c21c9ae5dd05e5262cc430502c9",
      "parents": [
        "2592a7354092afd304a8c067319b15ab1e441e35"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sgunderson@bigfoot.com",
        "time": "Fri May 06 23:44:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 18:52:14 2011 -0400"
      },
      "message": "ipv6: restore correct ECN handling on TCP xmit\n\nSince commit e9df2e8fd8fbc9 (Use appropriate sock tclass setting for\nrouting lookup) we lost ability to properly add ECN codemarks to ipv6\nTCP frames.\n\nIt seems like TCP_ECN_send() calls INET_ECN_xmit(), which only sets the\nECN bit in the IPv4 ToS field (inet_sk(sk)-\u003etos), but after the patch,\nwhat\u0027s checked is inet6_sk(sk)-\u003etclass, which is a completely different\nfield.\n\nClose bug https://bugzilla.kernel.org/show_bug.cgi?id\u003d34322\n\n[Eric Dumazet] : added the INET_ECN_dontxmit() fix and replace macros\nby inline functions for clarity.\n\nSigned-off-by: Steinar H. Gunderson \u003csgunderson@bigfoot.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df43938bc581f831b80b14ae249078e8da3d6ef5",
      "tree": "544a9ae62e208a70cca56b5e3cb724b798eec681",
      "parents": [
        "49f019c188aa1e0ed5c8cffbcc5533dfb0e732dd",
        "c47747fde931c02455683bd00ea43eaa62f35b0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 12 10:42:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 12 10:42:36 2011 -0700"
      },
      "message": "Merge branch \u0027fbmem\u0027\n\n* fbmem:\n  fbmem: make read/write/ioctl use the frame buffer at open time\n  fbcon: add lifetime refcount to opened frame buffers\n"
    },
    {
      "commit": "698b368275c3fa98261159253cfc79653f9dffc6",
      "tree": "b92c921fe6522ece33fbbde33cc173c9dd32d9a2",
      "parents": [
        "9f381a61f58bb6487c93ce2233bb9992f8ea9211"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 11 14:49:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 12 07:37:51 2011 -0700"
      },
      "message": "fbcon: add lifetime refcount to opened frame buffers\n\nThis just adds the refcount and the new registration lock logic.  It\ndoes not (for example) actually change the read/write/ioctl routines to\nactually use the frame buffer that was opened: those function still end\nup alway susing whatever the current frame buffer is at the time of the\ncall.\n\nWithout this, if something holds the frame buffer open over a\nframebuffer switch, the close() operation after the switch will access a\nfb_info that has been free\u0027d by the unregistering of the old frame\nbuffer.\n\n(The read/write/ioctl operations will normally not cause problems,\nbecause they will - illogically - pick up the new fbcon instead.  But a\nswitch that happens just as one of those is going on might see problems\ntoo, the window is just much smaller: one individual op rather than the\nwhole open-close sequence.)\n\nThis use-after-free is apparently fairly easily triggered by the Ubuntu\n11.04 boot sequence.\n\nAcked-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nTested-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nTested-by: Anca Emanuel \u003canca.emanuel@gmail.com\u003e\nCc: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Andy Whitcroft \u003candy.whitcroft@canonical.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5db1256a5131d3b133946fa02ac9770a784e6eb2",
      "tree": "173c3e011e8ed2f2ed0bb02d1ce7d9fe031be509",
      "parents": [
        "e11feaa1192a079ba8e88a12121e9b12d55d4239"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu May 12 04:13:54 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 12 12:13:43 2011 +0200"
      },
      "message": "seqlock: Don\u0027t smp_rmb in seqlock reader spin loop\n\nMove the smp_rmb after cpu_relax loop in read_seqlock and add\nACCESS_ONCE to make sure the test and return are consistent.\n\nA multi-threaded core in the lab didn\u0027t like the update\nfrom 2.6.35 to 2.6.36, to the point it would hang during\nboot when multiple threads were active.  Bisection showed\naf5ab277ded04bd9bc6b048c5a2f0e7d70ef0867 (clockevents:\nRemove the per cpu tick skew) as the culprit and it is\nsupported with stack traces showing xtime_lock waits including\ntick_do_update_jiffies64 and/or update_vsyscall.\n\nExperimentation showed the combination of cpu_relax and smp_rmb\nwas significantly slowing the progress of other threads sharing\nthe core, and this patch is effective in avoiding the hang.\n\nA theory is the rmb is affecting the whole core while the\ncpu_relax is causing a resource rebalance flush, together they\ncause an interfernce cadance that is unbroken when the seqlock\nreader has interrupts disabled.\n\nAt first I was confused why the refactor in\n3c22cd5709e8143444a6d08682a87f4c57902df3 (kernel: optimise\nseqlock) didn\u0027t affect this patch application, but after some\nstudy that affected seqcount not seqlock. The new seqcount was\nnot factored back into the seqlock.  I defer that the future.\n\nWhile the removal of the timer interrupt offset created\ncontention for the xtime lock while a cpu does the\nadditonal work to update the system clock, the seqlock\nimplementation with the tight rmb spin loop goes back much\nfurther, and is just waiting for the right trigger.\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: \u003clinuxppc-dev@lists.ozlabs.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLink: http://lkml.kernel.org/r/%3Cseqlock-rmb%40mdm.bga.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7",
      "tree": "777d871949911f3e79a5b94545a7b6a55bdc2259",
      "parents": [
        "9cb5baba5e3acba0994ad899ee908799104c9965"
      ],
      "author": {
        "name": "Samir Bellabes",
        "email": "sam@synack.fr",
        "time": "Wed May 11 18:18:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:37 2011 +0200"
      },
      "message": "sched: Remove unused parameters from sched_fork() and wake_up_new_task()\n\nsched_fork() and wake_up_new_task() are defined with a parameter\n\u0027unsigned long clone_flags\u0027, which is unused.\n\nThis patch removes the parameters.\n\nSigned-off-by: Samir Bellabes \u003csam@synack.fr\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1305130685-1047-1-git-send-email-sam@synack.fr\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9cb5baba5e3acba0994ad899ee908799104c9965",
      "tree": "d5ff16000256a0bf56279926e6114b4603ede2b4",
      "parents": [
        "7142d17e8f935fa842e9f6eece2281b6d41625d6",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:18 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc7\u0027 into sched/core\n"
    },
    {
      "commit": "a75b9df9d3bfc3cd1083974c045ae31ce5f3434f",
      "tree": "039cc65774c895d704f23a2c89b7f1bcd736e0b9",
      "parents": [
        "2887fe45522843149ccf72e01f43813be4fb36c5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 18:00:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 22:52:13 2011 -0400"
      },
      "message": "NFSv4.1: Ensure that layoutget uses the correct gfp modes\n\nCurrently, writebacks may end up recursing back into the filesystem due to\nGFP_KERNEL direct reclaims in the pnfs subsystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d929b7a84438ad9012c5826f5617d79a3efcef1",
      "tree": "e8052fe083bc7cb33302bfa8cdc1b1b6f2fc782b",
      "parents": [
        "59a16ead572330deb38e5848151d30ed1af754bc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed May 11 15:13:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 11 18:50:45 2011 -0700"
      },
      "message": "mm: tracing: add missing GFP flags to tracing\n\ninclude/linux/gfp.h and include/trace/events/gfpflags.h are out of sync.\nWhen tracing is enabled, certain flags are not recognised and the text\noutput is less useful as a result.  Add the missing flags.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "ee85c2e1454603ebb9f8d87223ac79dcdc87fa32",
      "tree": "1e5f85fcd35083116e6bc88f6e995b4351e987f1",
      "parents": [
        "71a6d0af5b031d27029fda64fbab9b9d953d2b33"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed May 11 15:13:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 11 18:50:45 2011 -0700"
      },
      "message": "mm: add alloc_pages_exact_nid()\n\nAdd a alloc_pages_exact_nid() that allocates on a specific node.\n\nThe naming is quite broken, but fixing that would need a larger renaming\naction.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: tweak comment]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f389a99b652aab5b42297280bd94d95933ad12f",
      "tree": "a61c5507962055c9e495c469f805381c18bf06dc",
      "parents": [
        "bad49d9c89d8755a1289d68e6d0127a6ee79e119"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed May 11 15:13:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 11 18:50:44 2011 -0700"
      },
      "message": "mm: use alloc_bootmem_node_nopanic() on really needed path\n\nStefan found nobootmem does not work on his system that has only 8M of\nRAM.  This causes an early panic:\n\n  BIOS-provided physical RAM map:\n   BIOS-88: 0000000000000000 - 000000000009f000 (usable)\n   BIOS-88: 0000000000100000 - 0000000000840000 (usable)\n  bootconsole [earlyser0] enabled\n  Notice: NX (Execute Disable) protection missing in CPU or disabled in BIOS!\n  DMI not present or invalid.\n  last_pfn \u003d 0x840 max_arch_pfn \u003d 0x100000\n  init_memory_mapping: 0000000000000000-0000000000840000\n  8MB LOWMEM available.\n    mapped low ram: 0 - 00840000\n    low ram: 0 - 00840000\n  Zone PFN ranges:\n    DMA      0x00000001 -\u003e 0x00001000\n    Normal   empty\n  Movable zone start PFN for each node\n  early_node_map[2] active PFN ranges\n      0: 0x00000001 -\u003e 0x0000009f\n      0: 0x00000100 -\u003e 0x00000840\n  BUG: Int 6: CR2 (null)\n       EDI c034663c  ESI (null)  EBP c0329f38  ESP c0329ef4\n       EBX c0346380  EDX 00000006  ECX ffffffff  EAX fffffff4\n       err (null)  EIP c0353191   CS c0320060  flg 00010082\n  Stack: (null) c030c533 000007cd (null) c030c533 00000001 (null) (null)\n         00000003 0000083f 00000018 00000002 00000002 c0329f6c c03534d6 (null)\n         (null) 00000100 00000840 (null) c0329f64 00000001 00001000 (null)\n  Pid: 0, comm: swapper Not tainted 2.6.36 #5\n  Call Trace:\n   [\u003cc02e3707\u003e] ? 0xc02e3707\n   [\u003cc035e6e5\u003e] 0xc035e6e5\n   [\u003cc0353191\u003e] ? 0xc0353191\n   [\u003cc03534d6\u003e] 0xc03534d6\n   [\u003cc034f1cd\u003e] 0xc034f1cd\n   [\u003cc034a824\u003e] 0xc034a824\n   [\u003cc03513cb\u003e] ? 0xc03513cb\n   [\u003cc0349432\u003e] 0xc0349432\n   [\u003cc0349066\u003e] 0xc0349066\n\nIt turns out that we should ignore the low limit of 16M.\n\nUse alloc_bootmem_node_nopanic() in this case.\n\n[akpm@linux-foundation.org: less mess]\nSigned-off-by: Yinghai LU \u003cyinghai@kernel.org\u003e\nReported-by: Stefan Hellermann \u003cstefan@the2masters.de\u003e\nTested-by: Stefan Hellermann \u003cstefan@the2masters.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e711c04dbbf7a7732a3f7073b1fc285d12b369d",
      "tree": "dbc06a3fff744144d7937a205a91fd8ce71585d4",
      "parents": [
        "f5a592f7d74e38c5007876c731e6bf5580072e63"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 19:15:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:37:15 2011 +0200"
      },
      "message": "PM: Remove sysdev suspend, resume and shutdown operations\n\nSince suspend, resume and shutdown operations in struct sysdev_class\nand struct sysdev_driver are not used any more, remove them.  Also\ndrop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used\nfor executing those operations and modify all of their users\naccordingly.  This reduces kernel code size quite a bit and reduces\nits complexity.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9f381a61f58bb6487c93ce2233bb9992f8ea9211",
      "tree": "579baf2e2893ea97599db9da807ed334d11f11d5",
      "parents": [
        "21a43e397e7f66d3be44e09b54045f1a67838cc0",
        "9bbc052d5e63512b0ce4e201ea97e12fba9fda82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 10 17:39:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 10 17:39:01 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)\n  slcan: fix ldisc-\u003eopen retval\n  net/usb: mark LG VL600 LTE modem ethernet interface as WWAN\n  xfrm: Don\u0027t allow esn with disabled anti replay detection\n  xfrm: Assign the inner mode output function to the dst entry\n  net: dev_close() should check IFF_UP\n  vlan: fix GVRP at dismantle time\n  netfilter: revert a2361c8735e07322023aedc36e4938b35af31eb0\n  netfilter: IPv6: fix DSCP mangle code\n  netfilter: IPv6: initialize TOS field in REJECT target module\n  IPVS: init and cleanup restructuring\n  IPVS: Change of socket usage to enable name space exit.\n  netfilter: ebtables: only call xt_compat_add_offset once per rule\n  netfilter: fix ebtables compat support\n  netfilter: ctnetlink: fix timestamp support for new conntracks\n  pch_gbe: support ML7223 IOH\n  PCH_GbE : Fixed the issue of checksum judgment\n  PCH_GbE : Fixed the issue of collision detection\n  NET: slip, fix ldisc-\u003eopen retval\n  be2net: Fixed bugs related to PVID.\n  ehea: fix wrongly reported speed and port\n  ...\n"
    },
    {
      "commit": "9bbc052d5e63512b0ce4e201ea97e12fba9fda82",
      "tree": "30433e20961b73e571c081869d1ea52c92c7b15a",
      "parents": [
        "0d4420a90b51abdea71585f571bad6d789ff8eb7",
        "93bbce1ad0cd788190dd7d6c17d289f771fe3d0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 15:04:35 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 15:04:35 2011 -0700"
      },
      "message": "Merge branch \u0027pablo/nf-2.6-updates\u0027 of git://1984.lsi.us.es/net-2.6\n"
    },
    {
      "commit": "43a4dea4c9d44baae38ddc14b9b6d86fde4c8b88",
      "tree": "af7ecb23077cf5b4ae1290f7d1ab5e901e7adb82",
      "parents": [
        "e14a599335427f81bbb0008963e59aa9c6449dce"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Mon May 09 19:36:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 15:03:34 2011 -0700"
      },
      "message": "xfrm: Assign the inner mode output function to the dst entry\n\nAs it is, we assign the outer modes output function to the dst entry\nwhen we create the xfrm bundle. This leads to two problems on interfamily\nscenarios. We might insert ipv4 packets into ip6_fragment when called\nfrom xfrm6_output. The system crashes if we try to fragment an ipv4\npacket with ip6_fragment. This issue was introduced with git commit\nad0081e4 (ipv6: Fragment locally generated tunnel-mode IPSec6 packets\nas needed). The second issue is, that we might insert ipv4 packets in\nnetfilter6 and vice versa on interfamily scenarios.\n\nWith this patch we assign the inner mode output function to the dst entry\nwhen we create the xfrm bundle. So xfrm4_output/xfrm6_output from the inner\nmode is used and the right fragmentation and netfilter functions are called.\nWe switch then to outer mode with the output_finish functions.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "932fed4e2e42c3d730c01bb63b1c4f812c533d5b",
      "tree": "11b1afac3a40d253cdb905c42901edfaae5e196e",
      "parents": [
        "57d524154ffe99d27fb55e0e30ddbad9f4c35806",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:24 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 10 17:05:45 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc7\u0027 into perf/core\n\nMerge reason: pull in the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "604c307bf47350c74bb36507b86a08726c7c2075",
      "tree": "74a04255ea9105c3b29e3e9dfcacf66db984c7ee",
      "parents": [
        "e969687595c27e02e02be0c9363261826123ba77",
        "ba4b87ad5497cba555954885db99c99627f93748",
        "fd7b5535e10ce820f030842da3f289f80ec0d4f3",
        "58fc7f1419560efa9c426b829c195050e0147d7f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue May 10 10:25:23 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue May 10 10:25:23 2011 +0200"
      },
      "message": "Merge branches \u0027dma-debug/next\u0027, \u0027amd-iommu/command-cleanups\u0027, \u0027amd-iommu/ats\u0027 and \u0027amd-iommu/extended-features\u0027 into iommu/2.6.40\n\nConflicts:\n\tarch/x86/include/asm/amd_iommu_types.h\n\tarch/x86/kernel/amd_iommu.c\n\tarch/x86/kernel/amd_iommu_init.c\n"
    },
    {
      "commit": "7a4f0761fce32ff4918a7c23b08db564ad33092d",
      "tree": "20a123407182d544a8cbaa4d850e2ac96d3cfb37",
      "parents": [
        "1ae132b0347907ac95b8bc9dba37934f59d2a508"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans@schillstrom.com",
        "time": "Tue May 03 22:09:31 2011 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 10 09:52:47 2011 +0200"
      },
      "message": "IPVS: init and cleanup restructuring\n\nDESCRIPTION\nThis patch tries to restore the initial init and cleanup\nsequences that was before namspace patch.\nNetns also requires action when net devices unregister\nwhich has never been implemented. I.e this patch also\ncovers when a device moves into a network namespace,\nand has to be released.\n\nIMPLEMENTATION\nThe number of calls to register_pernet_device have been\nreduced to one for the ip_vs.ko\nSchedulers still have their own calls.\n\nThis patch adds a function __ip_vs_service_cleanup()\nand an enable flag for the netfilter hooks.\n\nThe nf hooks will be enabled when the first service is loaded\nand never disabled again, except when a namespace exit starts.\n\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n[horms@verge.net.au: minor edit to changelog]\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d0c49bf391b2e230a8f3ae4486da7df440f1216d",
      "tree": "77c63b308e23c8a97b2fd334ddd820a5f5aac6a2",
      "parents": [
        "a9bb79128aa659f97b774b97c9bb1bdc74444595"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:23:57 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:23:57 2011 -0700"
      },
      "message": "RDMA/iwcm: Get rid of enum iw_cm_event_status\n\nThe IW_CM_EVENT_STATUS_xxx values were used in only a couple of places;\ncma.c uses -Exxx values instead, and so do the amso1100, cxgb3 and cxgb4\ndrivers -- only nes was using the enum values (with the mild consequence\nthat all nes connection failures were treated as generic errors rather\nthan reported as timeouts or rejections).\n\nWe can fix this confusion by getting rid of enum iw_cm_event_status and\nusing a plain int for struct iw_cm_event.status, and converting nes to\nuse -Exxx as the other iWARP drivers do.\n\nThis also gets rid of the warning\n\n    drivers/infiniband/core/cma.c: In function \u0027cma_iw_handler\u0027:\n    drivers/infiniband/core/cma.c:1333:3: warning: case value \u00274294967185\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n    drivers/infiniband/core/cma.c:1336:3: warning: case value \u00274294967186\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n    drivers/infiniband/core/cma.c:1332:3: warning: case value \u00274294967192\u0027 not in enumerated type \u0027enum iw_cm_event_status\u0027\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nReviewed-by: Faisal Latif \u003cfaisal.latif@intel.com\u003e\n"
    },
    {
      "commit": "a9bb79128aa659f97b774b97c9bb1bdc74444595",
      "tree": "20208e66195581568e5c68f838897199d224fa90",
      "parents": [
        "43b752daae9445a3b2b075a236840d801fce1593"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Mon May 09 22:06:10 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 09 22:06:10 2011 -0700"
      },
      "message": "RDMA/cma: Add an ID_REUSEADDR option\n\nLustre requires that clients bind to a privileged port number before\nconnecting to a remote server.  On larger clusters (typically more\nthan about 1000 nodes), the number of privileged ports is exhausted,\nresulting in lustre being unusable.\n\nTo handle this, we add support for reusable addresses to the rdma_cm.\nThis mimics the behavior of the socket option SO_REUSEADDR.  A user\nmay set an rdma_cm_id to reuse an address before calling\nrdma_bind_addr() (explicitly or implicitly).  If set, other\nrdma_cm_id\u0027s may be bound to the same address, provided that they all\nhave reuse enabled, and there are no active listens.\n\nIf rdma_listen() is called on an rdma_cm_id that has reuse enabled, it\nwill only succeed if there are no other id\u0027s bound to that same\naddress.  The reuse option is exported to user space.  The behavior of\nthe kernel reuse implementation was verified against that given by\nsockets.\n\nThis patch is derived from a path by Ira Weiny \u003cweiny2@llnl.gov\u003e\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a09a79f66874c905af35d5bb5e5f2fdc7b6b894d",
      "tree": "9cb2ae1fef7083af91a49c19411e9871e0e59a37",
      "parents": [
        "26822eebb25500fb0776c7c256a6af041e9f538b"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mikulas@artax.karlin.mff.cuni.cz",
        "time": "Mon May 09 13:01:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 09 16:22:07 2011 -0700"
      },
      "message": "Don\u0027t lock guardpage if the stack is growing up\n\nLinux kernel excludes guard page when performing mlock on a VMA with\ndown-growing stack. However, some architectures have up-growing stack\nand locking the guard page should be excluded in this case too.\n\nThis patch fixes lvm2 on PA-RISC (and possibly other architectures with\nup-growing stack). lvm2 calculates number of used pages when locking and\nwhen unlocking and reports an internal error if the numbers mismatch.\n\n[ Patch changed fairly extensively to also fix /proc/\u003cpid\u003e/maps for the\n  grows-up case, and to move things around a bit to clean it all up and\n  share the infrstructure with the /proc bits.\n\n  Tested on ia64 that has both grow-up and grow-down segments  - Linus ]\n\nSigned-off-by: Mikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nTested-by: Tony Luck \u003ctony.luck@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd98a5d78062289552fff19afb9aa6918eaee63f",
      "tree": "7c27dbb0c531b99609c1b0c86145397e6b47231c",
      "parents": [
        "7f4238a0ef8858e1f9b02a874b5818f6e9846673",
        "4f87af46107499415afd238be104587b5a9d7ac3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 09 09:09:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 09 09:09:04 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: add pci id to acer travelmate quirk for 5730\n  drm/radeon: fix order of doing things in radeon_crtc_cursor_set\n  drm: mm: fix debug output\n  drm/radeon/kms: ATPX switcheroo fixes\n  drm/nouveau: Fix a crash at card takedown for NV40 and older cards\n"
    },
    {
      "commit": "2bbd4492552867053b5a618a2474297e2b1c355d",
      "tree": "13f6e611009a3175af2aeebecb5a1d65cf3cd205",
      "parents": [
        "ff68146acb98b689947692bffd38ec4ad67eb1cb"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Fri May 06 23:47:53 2011 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon May 09 09:14:45 2011 +1000"
      },
      "message": "drm: mm: fix debug output\n\nThe looping helper didn\u0027t do anything due to a superficial\nsemicolon. Furthermore one of the two dump functions suffered\nfrom copy\u0026paste fail.\n\nWhile staring at the code I\u0027ve also noticed that the replace\nhelper (currently unused) is a bit broken.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1231f0baa547a541a7481119323b7f964dda4788",
      "tree": "4f03036990f55084650cda8f2cd17c759c6b2542",
      "parents": [
        "37b6b935e96e837ccc60812c03e9f92e7dce2e61"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:05:02 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:51 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(sctp_local_addr_free) to kfree_rcu()\n\nThe rcu callback sctp_local_addr_free() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(sctp_local_addr_free).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "8b061610dac3a3b89770c85ad63b481a47b0c38e",
      "tree": "3ab93ad7f8f3e8bd612cff4e59d55d5a36c0c1fa",
      "parents": [
        "c2bf807eb347325988b1c7f9139e934ed9b1d795",
        "174a7b1f9692acad7f0ca2b02f696894201a6d94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 07 13:17:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 07 13:17:37 2011 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Makefile: Use gcc to determine ARCH\n  perf events, x86: Fix Intel Nehalem and Westmere last level cache event definitions\n  hw_breakpoints, powerpc: Fix CONFIG_HAVE_HW_BREAKPOINT off-case in ptrace_set_debugreg()\n  sh, hw_breakpoints: Fix racy access to ptrace breakpoints\n  arm, hw_breakpoints: Fix racy access to ptrace breakpoints\n  powerpc, hw_breakpoints: Fix racy access to ptrace breakpoints\n  x86, hw_breakpoints: Fix racy access to ptrace breakpoints\n  ptrace: Prepare to fix racy accesses on task breakpoints\n"
    },
    {
      "commit": "880ffb5c6c5c8c8c6efd9efe9355317322b4603b",
      "tree": "14dcec29fec290e480adec042bfcbb4ede12b005",
      "parents": [
        "3ccff540070b5adde7eec443676cfee1dd6b89fd"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Thu May 05 07:55:36 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 06 18:01:05 2011 -0700"
      },
      "message": "driver core: Add the device driver-model structures to kerneldoc\n\nAdd the comments to the structure bus_type, device_driver, device,\nclass to device.h for generating the driver-model kerneldoc. With another patch\nthese all removed from the files in Documentation/driver-model/ since\nthey are out of date. That will keep things up to date and provide a better way\nto document this stuff.\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nAcked-by: Harry Wei \u003charryxiyou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a3a4a5acd3bd2f6f1e102e1f1b9d2e2bb320a7fd",
      "tree": "8ed40e1c0bb654d824e39e6b42d1619a2807e75d",
      "parents": [
        "e5e06985bec89414ce2b3f301c24d884f609b020"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu May 05 23:55:18 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 06 13:20:59 2011 -0700"
      },
      "message": "Regression: partial revert \"tracing: Remove lock_depth from event entry\"\n\nThis partially reverts commit e6e1e2593592a8f6f6380496655d8c6f67431266.\n\nThat commit changed the structure layout of the trace structure, which\nin turn broke PowerTOP (1.9x generation) quite badly.\n\nI appreciate not wanting to expose the variable in question, and\nPowerTOP was not using it, so I\u0027ve replaced the variable with just a\npadding field - that way if in the future a new field is needed it can\njust use this padding field.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57d524154ffe99d27fb55e0e30ddbad9f4c35806",
      "tree": "406ce0543fa294d41ab8204ca531ab18453e5a1a",
      "parents": [
        "e04d1b23f9706186187dcb0be1a752e48dcc540b",
        "c63ca0c01d73563d4e2ab174bb3dd1e5efb907e6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 06 21:07:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 06 21:07:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf/stat\u0027 into perf/core\n\nMerge reason: the perf stat improvements are tested and ready now.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29ce831000081dd757d3116bf774aafffc4b6b20",
      "tree": "0b992d993b02d3479a150e9fc508d110dc45631d",
      "parents": [
        "bad6e1393cb505fe17747344a23666464daa3fa7"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed May 04 16:31:03 2011 +0300"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: provide rcu_virt_note_context_switch() function.\n\nProvide rcu_virt_note_context_switch() for vitalization use to note\nquiescent state during guest entry.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9ab1544eb4196ca8d05c433b2eb56f74496b1ee3",
      "tree": "be3a7897cf52920df4da41ded060e23150bdb849",
      "parents": [
        "6cc68793e380bb51f447d8d02af873b7bc01f222"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:15:47 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: introduce kfree_rcu()\n\nMany rcu callbacks functions just call kfree() on the base structure.\nThese functions are trivial, but their size adds up, and furthermore\nwhen they are used in a kernel module, that module must invoke the\nhigh-latency rcu_barrier() function at module-unload time.\n\nThe kfree_rcu() function introduced by this commit addresses this issue.\nRather than encoding a function address in the embedded rcu_head\nstructure, kfree_rcu() instead encodes the offset of the rcu_head\nstructure within the base structure.  Because the functions are not\nallowed in the low-order 4096 bytes of kernel virtual memory, offsets\nup to 4095 bytes can be accommodated.  If the offset is larger than\n4095 bytes, a compile-time error will be generated in __kfree_rcu().\nIf this error is triggered, you can either fall back to use of call_rcu()\nor rearrange the structure to position the rcu_head structure into the\nfirst 4096 bytes.\n\nNote that the allowable offset might decrease in the future, for example,\nto allow something like kmem_cache_free_rcu().\n\nThe new kfree_rcu() function can replace code as follows:\n\n\tcall_rcu(\u0026p-\u003ercu, simple_kfree_callback);\n\nwhere \"simple_kfree_callback()\" might be defined as follows:\n\n\tvoid simple_kfree_callback(struct rcu_head *p)\n\t{\n\t\tstruct foo *q \u003d container_of(p, struct foo, rcu);\n\n\t\tkfree(q);\n\t}\n\nwith the following:\n\n\tkfree_rcu(\u0026p-\u003ercu, rcu);\n\nNote that the \"rcu\" is the name of a field in the structure being\nfreed.  The reason for using this rather than passing in a pointer\nto the base structure is that the above approach allows better type\nchecking.\n\nThis commit is based on earlier work by Lai Jiangshan and Manfred Spraul:\n\nLai\u0027s V1 patch: http://lkml.org/lkml/2008/9/18/1\nManfred\u0027s patch: http://lkml.org/lkml/2009/1/2/115\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    }
  ],
  "next": "b0c9d7ff2793502650ad987c3f237d5fe5587a1e"
}
