)]}'
{
  "log": [
    {
      "commit": "39adff5f69d6849ca22353a88058c9f8630528c0",
      "tree": "b0c2d2de77ebc5c97fd19c29b81eeb03549553f8",
      "parents": [
        "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)\n  time, s390: Get rid of compile warning\n  dw_apb_timer: constify clocksource name\n  time: Cleanup old CONFIG_GENERIC_TIME references that snuck in\n  time: Change jiffies_to_clock_t() argument type to unsigned long\n  alarmtimers: Fix error handling\n  clocksource: Make watchdog reset lockless\n  posix-cpu-timers: Cure SMP accounting oddities\n  s390: Use direct ktime path for s390 clockevent device\n  clockevents: Add direct ktime programming function\n  clockevents: Make minimum delay adjustments configurable\n  nohz: Remove \"Switched to NOHz mode\" debugging messages\n  proc: Consider NO_HZ when printing idle and iowait times\n  nohz: Make idle/iowait counter update conditional\n  nohz: Fix update_ts_time_stat idle accounting\n  cputime: Clean up cputime_to_usecs and usecs_to_cputime macros\n  alarmtimers: Rework RTC device selection using class interface\n  alarmtimers: Add try_to_cancel functionality\n  alarmtimers: Add more refined alarm state tracking\n  alarmtimers: Remove period from alarm structure\n  alarmtimers: Remove interval cap limit hack\n  ...\n"
    },
    {
      "commit": "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
      "tree": "d76974986aaaa8549baf2d6a106fa6cb60d64b88",
      "parents": [
        "8686a0e200419322654a75155e2e6f80346a1297",
        "540f41edc15473ca3b2876de72646546ae101374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)\n  llist: Add back llist_add_batch() and llist_del_first() prototypes\n  sched: Don\u0027t use tasklist_lock for debug prints\n  sched: Warn on rt throttling\n  sched: Unify the -\u003ecpus_allowed mask copy\n  sched: Wrap scheduler p-\u003ecpus_allowed access\n  sched: Request for idle balance during nohz idle load balance\n  sched: Use resched IPI to kick off the nohz idle balance\n  sched: Fix idle_cpu()\n  llist: Remove cpu_relax() usage in cmpxchg loops\n  sched: Convert to struct llist\n  llist: Add llist_next()\n  irq_work: Use llist in the struct irq_work logic\n  llist: Return whether list is empty before adding in llist_add()\n  llist: Move cpu_relax() to after the cmpxchg()\n  llist: Remove the platform-dependent NMI checks\n  llist: Make some llist functions inline\n  sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch\n  sched: Remove redundant test in check_preempt_tick()\n  sched: Add documentation for bandwidth control\n  sched: Return unused runtime on group dequeue\n  ...\n"
    },
    {
      "commit": "7115e3fcf45514db7525a05365b10454ff7f345e",
      "tree": "17450e6337d559cc35dae6a7a73abab01ac63f00",
      "parents": [
        "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)\n  perf symbols: Increase symbol KSYM_NAME_LEN size\n  perf hists browser: Refuse \u0027a\u0027 hotkey on non symbolic views\n  perf ui browser: Use libslang to read keys\n  perf tools: Fix tracing info recording\n  perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads\n  perf hists: Don\u0027t consider filtered entries when calculating column widths\n  perf hists: Don\u0027t decay total_period for filtered entries\n  perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}\n  perf hists browser: Do not exit on tab key with single event\n  perf annotate browser: Don\u0027t change selection line when returning from callq\n  perf tools: handle endianness of feature bitmap\n  perf tools: Add prelink suggestion to dso update message\n  perf script: Fix unknown feature comment\n  perf hists browser: Apply the dso and thread filters when merging new batches\n  perf hists: Move the dso and thread filters from hist_browser\n  perf ui browser: Honour the xterm colors\n  perf top tui: Give color hints just on the percentage, like on --stdio\n  perf ui browser: Make the colors configurable and change the defaults\n  perf tui: Remove unneeded call to newtCls on startup\n  perf hists: Don\u0027t format the percentage on hist_entry__snprintf\n  ...\n\nFix up conflicts in arch/x86/kernel/kprobes.c manually.\n\nIngo\u0027s tree did the insane \"add volatile to const array\", which just\ndoesn\u0027t make sense (\"volatile const\"?).  But we could remove the const\n*and* make the array volatile to make doubly sure that gcc doesn\u0027t\noptimize it away..\n\nAlso fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the\nreader_lock has been turned into a raw lock by the core locking merge,\nand there was a new user of it introduced in this perf core merge.  Make\nsure that new use also uses the raw accessor functions.\n"
    },
    {
      "commit": "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
      "tree": "cf8a99623fe30fde6c5a729f329aa3a4e282886a",
      "parents": [
        "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
        "9bab0b7fbaceec47d32db51cd9e59c82fb071f5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:44:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:44:09 2011 +0200"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier\n  genirq: Fix fatfinered fixup really\n  genirq: percpu: allow interrupt type to be set at enable time\n  genirq: Add support for per-cpu dev_id interrupts\n  genirq: Add IRQCHIP_SKIP_SET_WAKE flag\n"
    },
    {
      "commit": "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
      "tree": "6dcf5a780718fc50b9cd79cc803daa7c7e080a02",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "048b718029033af117870d3da47da12995be14a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n  rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n  rcu: Wire up RCU_BOOST_PRIO for rcutree\n  rcu: Make rcu_torture_boost() exit loops at end of test\n  rcu: Make rcu_torture_fqs() exit loops at end of test\n  rcu: Permit rt_mutex_unlock() with irqs disabled\n  rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n  rcu: Suppress NMI backtraces when stall ends before dump\n  rcu: Prohibit grace periods during early boot\n  rcu: Simplify unboosting checks\n  rcu: Prevent early boot set_need_resched() from __rcu_pending()\n  rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n  rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n  rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n  rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier\n  rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n  rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n  nohz: Remove nohz_cpu_mask\n  rcu: Document interpretation of RCU-lockdep splats\n  rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n  ...\n"
    },
    {
      "commit": "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
      "tree": "88647d9dc50d634dee9cfeb7f354d620977a2f33",
      "parents": [
        "982653009b883ef1529089e3e6f1ae2fee41cbe2",
        "68cc3990a545dc0da221b4844dd8b9c06623a6c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()\n  lockdep: Comment all warnings\n  lib: atomic64: Change the type of local lock to raw_spinlock_t\n  locking, lib/atomic64: Annotate atomic64_lock::lock as raw\n  locking, x86, iommu: Annotate qi-\u003eq_lock as raw\n  locking, x86, iommu: Annotate irq_2_ir_lock as raw\n  locking, x86, iommu: Annotate iommu-\u003eregister_lock as raw\n  locking, dma, ipu: Annotate bank_lock as raw\n  locking, ARM: Annotate low level hw locks as raw\n  locking, drivers/dca: Annotate dca_lock as raw\n  locking, powerpc: Annotate uic-\u003elock as raw\n  locking, x86: mce: Annotate cmci_discover_lock as raw\n  locking, ACPI: Annotate c3_lock as raw\n  locking, oprofile: Annotate oprofilefs lock as raw\n  locking, video: Annotate vga console lock as raw\n  locking, latencytop: Annotate latency_lock as raw\n  locking, timer_stats: Annotate table_lock as raw\n  locking, rwsem: Annotate inner lock as raw\n  locking, semaphores: Annotate inner lock as raw\n  locking, sched: Annotate thread_group_cputimer as raw\n  ...\n\nFix up conflicts in kernel/posix-cpu-timers.c manually: making\ncputimer-\u003ecputime a raw lock conflicted with the ABBA fix in commit\nbcd5cff7216f (\"cputimer: Cure lock inversion\").\n"
    },
    {
      "commit": "2355e4290336fcda4b4a799448f745155a000226",
      "tree": "81814353573f5a47ac8f96d75221cfee46a0f92c",
      "parents": [
        "e33bae14fd8da449d735552d78e6dd33ece0458c",
        "b1e4d20cbf2ef8e27515da032b95fdcbb5b06bf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:39:47 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:39:47 2011 +0200"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\n* git://github.com/rustyrussell/linux:\n  params: make dashes and underscores in parameter names truly equal\n  kmod: prevent kmod_loop_msg overflow in __request_module()\n"
    },
    {
      "commit": "b1e4d20cbf2ef8e27515da032b95fdcbb5b06bf1",
      "tree": "f080e839635fa36f55d22d147baa12ae64d4c181",
      "parents": [
        "37252db6aa576c34fd794a5a54fb32d7a8b3a07a"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Mon Oct 10 00:03:37 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 26 13:10:39 2011 +1030"
      },
      "message": "params: make dashes and underscores in parameter names truly equal\n\nThe user may use \"foo-bar\" for a kernel parameter defined as \"foo_bar\".\nMake sure it works the other way around too.\n\nApply the equality of dashes and underscores on early_params and __setup\nparams as well.\n\nThe example given in Documentation/kernel-parameters.txt indicates that\nthis is the intended behaviour.\n\nWith the patch the kernel accepts \"log-buf-len\u003d1M\" as expected.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d744545\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (neatened implementations)\n"
    },
    {
      "commit": "37252db6aa576c34fd794a5a54fb32d7a8b3a07a",
      "tree": "2c4c83ec064a1352d8888e2e3641a9f2b1b72c03",
      "parents": [
        "c3b92c8787367a8bb53d57d9789b558f1295cc96"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Oct 26 13:10:39 2011 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 26 13:10:39 2011 +1030"
      },
      "message": "kmod: prevent kmod_loop_msg overflow in __request_module()\n\nDue to post-increment in condition of kmod_loop_msg in __request_module(),\nthe system log can be spammed by much more than 5 instances of the \u0027runaway\nloop\u0027 message if the number of events triggering it makes the kmod_loop_msg\nto overflow.\n\nFix that by making sure we never increment it past the threshold.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "7e0bb71e75020348bee523720a0c2f04cc72f540",
      "tree": "1a22d65bbce34e8cc0f82c543c9486ffb58332f7",
      "parents": [
        "b9e2780d576a010d4aba1e69f247170bf3718d6b",
        "0ab1e79b825a5cd8aeb3b34d89c9a89dea900056"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)\n  PM / Clocks: Remove redundant NULL checks before kfree()\n  PM / Documentation: Update docs about suspend and CPU hotplug\n  ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.\n  ARM: mach-shmobile: sh7372 A4R support (v4)\n  ARM: mach-shmobile: sh7372 A3SP support (v4)\n  PM / Sleep: Mark devices involved in wakeup signaling during suspend\n  PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n  PM / Hibernate: Do not initialize static and extern variables to 0\n  PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\n  PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n  MAINTAINERS: Update linux-pm list address\n  PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep\u003dnonvs\n  PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep\u003dnonvs\n  PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n  PM / Hibernate: Fix typo in a kerneldoc comment\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n  PM: Update the policy on default wakeup settings\n  PM / VT: Cleanup #if defined uglyness and fix compile error\n  PM / Suspend: Off by one in pm_suspend()\n  PM / Hibernate: Include storage keys in hibernation image on s390\n  ...\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "1be025d3cb40cd295123af2c394f7229ef9b30ca",
      "tree": "5dc14e1ea412cc7fdc3e563ad23187059fe8bfb5",
      "parents": [
        "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
        "a2c76b83fdd763c826f38a55127ccf25708099ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)\n  usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()\n  usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.\n  USB: gadget: midi: memory leak in f_midi_bind_config()\n  USB: gadget: midi: fix range check in f_midi_out_open()\n  QE/FHCI: fixed the CONTROL bug\n  usb: renesas_usbhs: tidyup for smatch warnings\n  USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms\n  EHCI: workaround for MosChip controller bug\n  usb: gadget: file_storage: fix race on unloading\n  USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers\n  USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio\n  usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n  USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board\n  USB: Fix runtime wakeup on OHCI\n  xHCI/USB: Make xHCI driver have a BOS descriptor.\n  usb: gadget: add new usb gadget for ACM and mass storage\n  ...\n"
    },
    {
      "commit": "59e52534172d845ebffb0d7e85fc56fb7b857051",
      "tree": "49552e03f1bdb413cd8b5f7542e91770688d7047",
      "parents": [
        "73692d9bb58ecc2fa73f4b2bfcf6eadaa6d49a26",
        "0d89e54c8249645404283436d952afc261a04e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)\n  MAINTAINERS: linux-m32r is moderated for non-subscribers\n  linux@lists.openrisc.net is moderated for non-subscribers\n  Drop default from \"DM365 codec select\" choice\n  parisc: Kconfig: cleanup Kernel page size default\n  Kconfig: remove redundant CONFIG_ prefix on two symbols\n  cris: remove arch/cris/arch-v32/lib/nand_init.S\n  microblaze: add missing CONFIG_ prefixes\n  h8300: drop puzzling Kconfig dependencies\n  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers\n  tty: drop superfluous dependency in Kconfig\n  ARM: mxc: fix Kconfig typo \u0027i.MX51\u0027\n  Fix file references in Kconfig files\n  aic7xxx: fix Kconfig references to READMEs\n  Fix file references in drivers/ide/\n  thinkpad_acpi: Fix printk typo \u0027bluestooth\u0027\n  bcmring: drop commented out line in Kconfig\n  btmrvl_sdio: fix typo \u0027btmrvl_sdio_sd6888\u0027\n  doc: raw1394: Trivial typo fix\n  CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n  treewide: Correct spelling of successfully in comments\n  ...\n"
    },
    {
      "commit": "36b8d186e6cc8e32cb5227f5645a58e1bc0af190",
      "tree": "1000ad26e189e6ff2c53fb7eeff605f59c7ad94e",
      "parents": [
        "cd85b557414fe4cd44ea6608825e96612a5fe2b2",
        "c45ed235abf1b0b6666417e3c394f18717976acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "message": "Merge branch \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security: (95 commits)\n  TOMOYO: Fix incomplete read after seek.\n  Smack: allow to access /smack/access as normal user\n  TOMOYO: Fix unused kernel config option.\n  Smack: fix: invalid length set for the result of /smack/access\n  Smack: compilation fix\n  Smack: fix for /smack/access output, use string instead of byte\n  Smack: domain transition protections (v3)\n  Smack: Provide information for UDS getsockopt(SO_PEERCRED)\n  Smack: Clean up comments\n  Smack: Repair processing of fcntl\n  Smack: Rule list lookup performance\n  Smack: check permissions from user space (v2)\n  TOMOYO: Fix quota and garbage collector.\n  TOMOYO: Remove redundant tasklist_lock.\n  TOMOYO: Fix domain transition failure warning.\n  TOMOYO: Remove tomoyo_policy_memory_lock spinlock.\n  TOMOYO: Simplify garbage collector.\n  TOMOYO: Fix make namespacecheck warnings.\n  target: check hex2bin result\n  encrypted-keys: check hex2bin result\n  ...\n"
    },
    {
      "commit": "1805b2f04855f07afe3a71d620a68f483b0ed74f",
      "tree": "b823b90f37f5404fcaef70f785c70112ca74a329",
      "parents": [
        "78d81d15b74246c7cedf84894434890b33da3907",
        "f42af6c486aa5ca6ee62800cb45c5b252020509d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "bcd5cff7216f9b2de0a148cc355eac199dc6f1cf",
      "tree": "384674b2b0e16e489f591148982046bf2d25608b",
      "parents": [
        "899e3ee404961a90b828ad527573aaaac39f0ab1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 17 11:50:30 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 18 11:36:59 2011 +0200"
      },
      "message": "cputimer: Cure lock inversion\n\nThere\u0027s a lock inversion between the cputimer-\u003elock and rq-\u003elock;\nnotably the two callchains involved are:\n\n update_rlimit_cpu()\n   sighand-\u003esiglock\n   set_process_cpu_timer()\n     cpu_timer_sample_group()\n       thread_group_cputimer()\n         cputimer-\u003elock\n         thread_group_cputime()\n           task_sched_runtime()\n             -\u003epi_lock\n             rq-\u003elock\n\n scheduler_tick()\n   rq-\u003elock\n   task_tick_fair()\n     update_curr()\n       account_group_exec()\n         cputimer-\u003elock\n\nWhere the first one is enabling a CLOCK_PROCESS_CPUTIME_ID timer, and\nthe second one is keeping up-to-date.\n\nThis problem was introduced by e8abccb7193 (\"posix-cpu-timers: Cure\nSMP accounting oddities\").\n\nCure the problem by removing the cputimer-\u003elock and rq-\u003elock nesting,\nthis leaves concurrent enablers doing duplicate work, but the time\nwasted should be on the same order otherwise wasted spinning on the\nlock and the greater-than assignment filter should ensure we preserve\nmonotonicity.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1318928713.21167.4.camel@twins\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a84a79e4d369a73c0130b5858199e949432da4c6",
      "tree": "e88e57ce951eeaf2780a27787ad712a09eb8be7e",
      "parents": [
        "8bc03e8f3a334e09e89a7dffb486ee97a5ce84ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 17 08:24:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 17 08:24:24 2011 -0700"
      },
      "message": "Avoid using variable-length arrays in kernel/sys.c\n\nThe size is always valid, but variable-length arrays generate worse code\nfor no good reason (unless the function happens to be inlined and the\ncompiler sees the length for the simple constant it is).\n\nAlso, there seems to be some code generation problem on POWER, where\nHenrik Bakken reports that register r28 can get corrupted under some\nsubtle circumstances (interrupt happening at the wrong time?).  That all\nindicates some seriously broken compiler issues, but since variable\nlength arrays are bad regardless, there\u0027s little point in trying to\nchase it down.\n\n\"Just don\u0027t do that, then\".\n\nReported-by: Henrik Grindal Bakken \u003chenribak@cisco.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bab0b7fbaceec47d32db51cd9e59c82fb071f5a",
      "tree": "19699e2c8463554c09fc44e3672c402687724d44",
      "parents": [
        "32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Oct 03 15:37:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 17 11:42:49 2011 +0200"
      },
      "message": "genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier\n\nThis adds a mechanism to resume selected IRQs during syscore_resume\ninstead of dpm_resume_noirq.\n\nUnder Xen we need to resume IRQs associated with IPIs early enough\nthat the resched IPI is unmasked and we can therefore schedule\nourselves out of the stop_machine where the suspend/resume takes\nplace.\n\nThis issue was introduced by 676dc3cf5bc3 \"xen: Use IRQF_FORCE_RESUME\".\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jeremy Fitzhardinge \u003cJeremy.Fitzhardinge@citrix.com\u003e\nCc: xen-devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1318713254.11016.52.camel@dagon.hellion.org.uk\nCc: stable@kernel.org (at least to 2.6.32.y)\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "081a9d043c983f161b78fdc4671324d1342b86bc",
      "tree": "4382d88e5705b18a95471af2a71319401c47744f",
      "parents": [
        "d231ff1af70a2df43d809173cf8c94e9c3beb853"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Thu Oct 13 23:58:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:38 2011 +0200"
      },
      "message": "PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n\nUse threads for LZO compression/decompression on hibernate/thaw.\nImprove buffering on hibernate/thaw.\nCalculate/verify CRC32 of the image pages on hibernate/thaw.\n\nIn my testing, this improved write/read speed by a factor of about two.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d231ff1af70a2df43d809173cf8c94e9c3beb853",
      "tree": "fa6efbb106f36738032bd035e10f54936d3b683d",
      "parents": [
        "27920651fe0d16a25632dc238e81b54f3a504869"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Tue Oct 11 23:29:18 2011 -0700"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:38 2011 +0200"
      },
      "message": "PM / Hibernate: Do not initialize static and extern variables to 0\n\nStatic and extern variables in kernel/power/hibernate.c need not be\ninitialized to 0 explicitly, so remove those initializations.\n\n[rjw: Modified subject, added changelog.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "27920651fe0d16a25632dc238e81b54f3a504869",
      "tree": "3f3c5c21b3267329c0b3718717c4c313b5e2115b",
      "parents": [
        "f126f7334f72e2fd1b7a62bba20c488b86e6e7c4"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Oct 11 21:20:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:37 2011 +0200"
      },
      "message": "PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\n\nTASK_KILLABLE is often used to put tasks to sleep for quite some time.\nOne of the most common uses is to put tasks to sleep while waiting for\nreplies from a server on a networked filesystem (such as CIFS or NFS).\n\nUnfortunately, fake_signal_wake_up does not currently wake up tasks\nthat are sleeping in TASK_KILLABLE state. This means that even if the\ncode were in place to allow them to freeze while in this sleep, it\nwouldn\u0027t work anyway.\n\nThis patch changes this function to wake tasks in this state as well.\nThis should be harmless -- if the code doing the sleeping doesn\u0027t have\nhandling to deal with freezer events, it should just go back to sleep.\nIf it does, then this will allow that code to do the right thing.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f126f7334f72e2fd1b7a62bba20c488b86e6e7c4",
      "tree": "c56a286700df963245e56cb8caea3e96565b478b",
      "parents": [
        "bf1c138e350155edb06709c7fbf0946f252b257c"
      ],
      "author": {
        "name": "Barry Song",
        "email": "baohua.song@csr.com",
        "time": "Mon Oct 10 23:38:41 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:37 2011 +0200"
      },
      "message": "PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n\nPatch \"PM / Hibernate: Add resumewait param to support MMC-like\ndevices as resume file\" added the resumewait kernel command line\noption.  The present patch adds resumedelay so that\nresumewait/delay were analogous to rootwait/delay.\n\n[rjw: Modified the subject and changelog slightly.]\n\nSigned-off-by: Barry Song \u003cbaohua.song@csr.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6f8d7022a842809aeb24db1d15669198ef02c131",
      "tree": "ae1d4bacda83b3f430c644cf2479ffb1948bb30c",
      "parents": [
        "21e82808fc465b66fedaac0f4e885cafb304e843"
      ],
      "author": {
        "name": "Barry Song",
        "email": "baohua.song@csr.com",
        "time": "Thu Oct 06 20:34:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:36 2011 +0200"
      },
      "message": "PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n\nSome devices like MMC are async detected very slow. For example,\ndrivers/mmc/host/sdhci.c launches a 200ms delayed work to detect\nMMC partitions then add disk.\n\nWe have wait_for_device_probe() and scsi_complete_async_scans()\nbefore calling swsusp_check(), but it is not enough to wait for MMC.\n\nThis patch adds resumewait kernel param just like rootwait so\nthat we have enough time to wait until MMC is ready. The difference is\nthat we wait for resume partition whereas rootwait waits for rootfs\npartition (which may be on a different device).\n\nThis patch will make hibernation support many embedded products\nwithout SCSI devices, but with devices like MMC.\n\n[rjw: Modified the changelog slightly.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nReviewed-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "21e82808fc465b66fedaac0f4e885cafb304e843",
      "tree": "58b66ddda8b7900c52e43007df6679fc352dd13e",
      "parents": [
        "2aede851ddf08666f68ffc17be446420e9d2a056"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Tue Sep 27 22:05:44 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:52 2011 +0200"
      },
      "message": "PM / Hibernate: Fix typo in a kerneldoc comment\n\nFix a typo in a function name in the kerneldoc comment next to\nresume_target_kernel().\n\n[rjw: Changed the subject slightly, added the changelog.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2aede851ddf08666f68ffc17be446420e9d2a056",
      "tree": "f63a0477c9fe618cd374065bac4cb5f172aaf7db",
      "parents": [
        "8f88893c05f2f677f18f2ce5591b4bed5d4a7535"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 26 20:32:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:52 2011 +0200"
      },
      "message": "PM / Hibernate: Freeze kernel threads after preallocating memory\n\nThere is a problem with the current ordering of hibernate code which\nleads to deadlocks in some filesystems\u0027 memory shrinkers.  Namely,\nsome filesystems use freezable kernel threads that are inactive when\nthe hibernate memory preallocation is carried out.  Those same\nfilesystems use memory shrinkers that may be triggered by the\nhibernate memory preallocation.  If those memory shrinkers wait for\nthe frozen kernel threads, the hibernate process deadlocks (this\nhappens with XFS, for one example).\n\nApparently, it is not technically viable to redesign the filesystems\nin question to avoid the situation described above, so the only\npossible solution of this issue is to defer the freezing of kernel\nthreads until the hibernate memory preallocation is done, which is\nimplemented by this change.\n\nUnfortunately, this requires the memory preallocation to be done\nbefore the \"prepare\" stage of device freeze, so after this change the\nonly way drivers can allocate additional memory for their freeze\nroutines in a clean way is to use PM notifiers.\n\nReported-by: Christoph \u003ccr2005@u-club.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "37cce26b32142f09a8967f6d238178af654b20de",
      "tree": "e1184828f0a9e7dfd0609793fa5ec0638731ca4b",
      "parents": [
        "528f7ce6e439edeac38f6b3f8561f1be129b5e91"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Sep 21 22:47:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:51 2011 +0200"
      },
      "message": "PM / VT: Cleanup #if defined uglyness and fix compile error\n\nIntroduce the config option CONFIG_VT_CONSOLE_SLEEP in order to cleanup\nthe #if defined ugliness for the vt suspend support functions. Note that\nCONFIG_VT_CONSOLE is already dependant on CONFIG_VT.\n\nThe function pm_set_vt_switch is actually dependant on CONFIG_VT and not\nCONFIG_PM_SLEEP. This fixes a compile error when CONFIG_PM_SLEEP is\nnot set:\n\ndrivers/tty/vt/vt_ioctl.c:1794: error: redefinition of \u0027pm_set_vt_switch\u0027\ninclude/linux/suspend.h:17: error: previous definition of \u0027pm_set_vt_switch\u0027 was here\n\nAlso, remove the incorrect path from the comment in console.c.\n\n[rjw: Replaced #if defined() with #ifdef in suspend.h.]\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "528f7ce6e439edeac38f6b3f8561f1be129b5e91",
      "tree": "6f03bc001aa170656f0d49f4f5afb6352027abaa",
      "parents": [
        "85055dd805f0822f13f736bee2a521e222c38293"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Sep 21 20:55:04 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM / Suspend: Off by one in pm_suspend()\n\nIn enter_state() we use \"state\" as an offset for the pm_states[]\narray.  The pm_states[] array only has PM_SUSPEND_MAX elements so\nthis test is off by one.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "85055dd805f0822f13f736bee2a521e222c38293",
      "tree": "edbad90395fc7471732edfb5372adcd7e55e791b",
      "parents": [
        "ca123102f69fb260221502ade9bbc069290fae84"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Aug 17 20:42:24 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM / Hibernate: Include storage keys in hibernation image on s390\n\nFor s390 there is one additional byte associated with each page,\nthe storage key. This byte contains the referenced and changed\nbits and needs to be included into the hibernation image.\nIf the storage keys are not restored to their previous state all\noriginal pages would appear to be dirty. This can cause\ninconsistencies e.g. with read-only filesystems.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ca123102f69fb260221502ade9bbc069290fae84",
      "tree": "bddbe802fcfd6b0434e26bffea76bd839fdb2666",
      "parents": [
        "2a77c46de1e3dace73745015635ebbc648eca69c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 11 22:38:12 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM: Fix build issue in main.c for CONFIG_PM_SLEEP unset\n\nSuspend statistics should depend on CONFIG_PM_SLEEP, so make that\nhappen.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2a77c46de1e3dace73745015635ebbc648eca69c",
      "tree": "a801ed6ba5623c7d963377906776ade6f02eea0a",
      "parents": [
        "9bd717c0dc8224cadfd66df7eeff98c987711d98"
      ],
      "author": {
        "name": "ShuoX Liu",
        "email": "shuox.liu@intel.com",
        "time": "Wed Aug 10 23:01:26 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:45 2011 +0200"
      },
      "message": "PM / Suspend: Add statistics debugfs file for suspend to RAM\n\nRecord S3 failure time about each reason and the latest two failed\ndevices\u0027 names in S3 progress.\nWe can check it through \u0027suspend_stats\u0027 entry in debugfs.\n\nThe motivation of the patch:\n\nWe are enabling power features on Medfield. Comparing with PC/notebook,\na mobile enters/exits suspend-2-ram (we call it s3 on Medfield) far\nmore frequently. If it can\u0027t enter suspend-2-ram in time, the power\nmight be used up soon.\n\nWe often find sometimes, a device suspend fails. Then, system retries\ns3 over and over again. As display is off, testers and developers\ndon\u0027t know what happens.\n\nSome testers and developers complain they don\u0027t know if system\ntries suspend-2-ram, and what device fails to suspend. They need\nsuch info for a quick check. The patch adds suspend_stats under\ndebugfs for users to check suspend to RAM statistics quickly.\n\nIf not using this patch, we have other methods to get info about\nwhat device fails. One is to turn on  CONFIG_PM_DEBUG, but users\nwould get too much info and testers need recompile the system.\n\nIn addition, dynamic debug is another good tool to dump debug info.\nBut it still doesn\u0027t match our utilization scenario closely.\n1) user need write a user space parser to process the syslog output;\n2) Our testing scenario is we leave the mobile for at least hours.\n   Then, check its status. No serial console available during the\n   testing. One is because console would be suspended, and the other\n   is serial console connecting with spi or HSU devices would consume\n   power. These devices are powered off at suspend-2-ram.\n\nSigned-off-by: ShuoX Liu \u003cshuox.liu@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "436fc280261dcfce5af38f08b89287750dc91cd2",
      "tree": "5a57ba115f7f9d19c0185673fa1bfba9dfc292da",
      "parents": [
        "9b5f8b31af57a8ce9e9f77864d9143b5e3304815"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "message": "tracing: Fix returning of duplicate data after EOF in trace_pipe_raw\n\nThe trace_pipe_raw handler holds a cached page from the time the file\nis opened to the time it is closed. The cached page is used to handle\nthe case of the user space buffer being smaller than what was read from\nthe ring buffer. The left over buffer is held in the cache so that the\nnext read will continue where the data left off.\n\nAfter EOF is returned (no more data in the buffer), the index of\nthe cached page is set to zero. If a user app reads the page again\nafter EOF, the check in the buffer will see that the cached page\nis less than page size and will return the cached page again. This\nwill cause reading the trace_pipe_raw again after EOF to return\nduplicate data, making the output look like the time went backwards\nbut instead data is just repeated.\n\nThe fix is to not reset the index right after all data is read\nfrom the cache, but to reset it after all data is read and more\ndata exists in the ring buffer.\n\nCc: stable \u003cstable@kernel.org\u003e\nReported-by: Jeremy Eder \u003cjeder@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9b5f8b31af57a8ce9e9f77864d9143b5e3304815",
      "tree": "fad2ac950e2b326cec325014016c2135403b3bf2",
      "parents": [
        "910e94dd0cc5abacebf0bd5ffd859f61b9583857"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Fri Aug 12 14:30:22 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:41:33 2011 -0400"
      },
      "message": "ftrace: Fix README to state tracing_on to start/stop tracing\n\ntracing_enabled option is deprecated.\nTo start/stop tracing, write to /sys/kernel/debug/tracing/tracing_on\nwithout tracing_enabled. This patch is based on Linux 3.1.0-rc1\n\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nLink: http://lkml.kernel.org/r/1313127022-23830-1-git-send-email-leemgs1@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "910e94dd0cc5abacebf0bd5ffd859f61b9583857",
      "tree": "7cb33f3f89f5fcdaa4dd4f5f19bb946ff495e9ac",
      "parents": [
        "177e2163fe2a5951c1d0531baa4bc1f135c6b7b4",
        "d696b58ca2c3ca76e784ef89a7e0453d9b7ab187"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 17:14:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 17:14:47 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://github.com/rostedt/linux into perf/core\n"
    },
    {
      "commit": "177e2163fe2a5951c1d0531baa4bc1f135c6b7b4",
      "tree": "11c50db259bace9d4bf71ed9449c43d2eaaf01ae",
      "parents": [
        "7588badafcd762034aa962ec86b82cacd4f42f74",
        "44a56040a0037a845d5fa218dffde464579f0cab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 09:07:49 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 09:07:49 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "d696b58ca2c3ca76e784ef89a7e0453d9b7ab187",
      "tree": "e5f02a13dc8fdec22e9223189122e5938e9ce77e",
      "parents": [
        "e0a413f619ef8bc366dafc6f8221674993b8d85f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 11:50:27 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:53 2011 -0400"
      },
      "message": "tracing: Do not allocate buffer for trace_marker\n\nWhen doing intense tracing, the kmalloc inside trace_marker can\nintroduce side effects to what is being traced.\n\nAs trace_marker() is used by userspace to inject data into the\nkernel ring buffer, it needs to do so with the least amount\nof intrusion to the operations of the kernel or the user space\napplication.\n\nAs the ring buffer is designed to write directly into the buffer\nwithout the need to make a temporary buffer, and userspace already\nwent through the hassle of knowing how big the write will be,\nwe can simply pin the userspace pages and write the data directly\ninto the buffer. This improves the impact of tracing via trace_marker\ntremendously!\n\nThanks to Peter Zijlstra and Thomas Gleixner for pointing out the\nuse of get_user_pages_fast() and kmap_atomic().\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e0a413f619ef8bc366dafc6f8221674993b8d85f",
      "tree": "a6696b0e7ef5422490bdbcc28d385c031d3e4eb8",
      "parents": [
        "e36de1de4a5f95b7cb3e5c37d10e6bbb91833ef0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 29 21:26:16 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:25 2011 -0400"
      },
      "message": "tracing: Warn on output if the function tracer was found corrupted\n\nAs the function tracer is very intrusive, lots of self checks are\nperformed on the tracer and if something is found to be strange\nit will shut itself down keeping it from corrupting the rest of the\nkernel. This shutdown may still allow functions to be traced, as the\ntracing only stops new modifications from happening. Trying to stop\nthe function tracer itself can cause more harm as it requires code\nmodification.\n\nAlthough a WARN_ON() is executed, a user may not notice it. To help\nthe user see that something isn\u0027t right with the tracing of the system\na big warning is added to the output of the tracer that lets the user\nknow that their data may be incomplete.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02ca1521ad404cf566e0075848f80d064c0a0503",
      "tree": "11989ae5bfc1e32f355cc0bb0a64cb7ae801ed78",
      "parents": [
        "9d3ec7a0c41d010153c9d20577cb1bcf9c4f65df"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Oct 04 19:44:38 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 10 15:13:03 2011 -0400"
      },
      "message": "ftrace/kprobes: Fix not to delete probes if in use\n\nFix kprobe-tracer not to delete a probe if the probe is in use.\nIn that case, delete operation will return -EBUSY.\n\nThis bug can cause a kernel panic if enabled probes are deleted\nduring perf record.\n\n(Add some probes on functions)\nsh-4.2# perf probe --del probe:\\*\nsh-4.2# exit\n(kernel panic)\n\nThis is originally reported on the fedora bugzilla:\n\n https://bugzilla.redhat.com/show_bug.cgi?id\u003d742383\n\nI\u0027ve also checked that this problem doesn\u0027t happen on\ntracepoints when module removing because perf event\nlocks target module.\n\n$ sudo ./perf record -e xfs:\\* -aR sh\nsh-4.2# rmmod xfs\nERROR: Module xfs is in use\nsh-4.2# exit\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.203 MB perf.data (~8862 samples) ]\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/20111004104438.14591.6553.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9696cc90071e3660ec02a3728acdedb68afdce4c",
      "tree": "99783d31dd42262c29346c92760f7896c3d81cb6",
      "parents": [
        "c28b56b1d46b1bbb1be33c8f2632a88b0de1ef68",
        "e3cba3243eb853a052613c804dea033bc4c9cf2d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:17:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:17:07 2011 +0200"
      },
      "message": "Merge branch \u0027pm-qos\u0027 into pm-for-linus\n\n* pm-qos:\n  PM / QoS: Update Documentation for the pm_qos and dev_pm_qos frameworks\n  PM / QoS: Add function dev_pm_qos_read_value() (v3)\n  PM QoS: Add global notification mechanism for device constraints\n  PM QoS: Implement per-device PM QoS constraints\n  PM QoS: Generalize and export constraints management code\n  PM QoS: Reorganize data structs\n  PM QoS: Code reorganization\n  PM QoS: Minor clean-ups\n  PM QoS: Move and rename the implementation files\n"
    },
    {
      "commit": "d727b60659a1173eb4142a5fc521ce67c28b34e1",
      "tree": "793d0fc86ecf98331024db5c86bc271cc72aa2d2",
      "parents": [
        "3ee72ca99288f1de95ec9c570e43f531c8799f06",
        "2a5306cc5f383b0e7414c75e458111afd4a563a4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "message": "Merge branch \u0027pm-runtime\u0027 into pm-for-linus\n\n* pm-runtime:\n  PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set\n  PM / Runtime: Replace dev_dbg() with trace_rpm_*()\n  PM / Runtime: Introduce trace points for tracing rpm_* functions\n  PM / Runtime: Don\u0027t run callbacks under lock for power.irq_safe set\n  USB: Add wakeup info to debugging messages\n  PM / Runtime: pm_runtime_idle() can be called in atomic context\n  PM / Runtime: Add macro to test for runtime PM events\n  PM / Runtime: Add might_sleep() to runtime PM functions\n"
    },
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "9d014020234525ae100879d71078a4bcb4849195",
      "tree": "a0d6c0776670cb876e5a8118a4e6ed28d8f51cbc",
      "parents": [
        "92e51938f5d005026ba4bb5b1fae5a86dc195b86",
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:48:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:49:21 2011 +0200"
      },
      "message": "Merge commit \u0027v3.1-rc9\u0027 into perf/core\n\nMerge reason: pick up latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "510f5acc4f4fb07f3f075900dc468d6e380beff6",
      "tree": "4ecbc827da461c0a5c2ea41480ea42804fc63440",
      "parents": [
        "1c83437e80186832a9a48dbb6b8868d28e40e562"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 17 20:47:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:47:08 2011 +0200"
      },
      "message": "sched: Don\u0027t use tasklist_lock for debug prints\n\nAvoid taking locks from debug prints, this avoids latencies on -rt,\nand improves reliability of the debug code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c83437e80186832a9a48dbb6b8868d28e40e562",
      "tree": "5b9170301b6cca9980f019c52bee31c3cc84817c",
      "parents": [
        "4939602a2441306008c6dca38216b741d4e09a42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 05 13:32:34 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:47:04 2011 +0200"
      },
      "message": "sched: Warn on rt throttling\n\nThe default rt-throttling is a source of never ending questions. Warn\nonce when we go into throttling so folks have that info in dmesg.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1110051331480.18778@ionos\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4939602a2441306008c6dca38216b741d4e09a42",
      "tree": "e22218b6291c934944c8860dedb9f37ffd452ac4",
      "parents": [
        "fa17b507f142d37aeac322a95f6f7c6375f25601"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sat Jun 25 15:45:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:47:00 2011 +0200"
      },
      "message": "sched: Unify the -\u003ecpus_allowed mask copy\n\nCurrently every sched_class::set_cpus_allowed() implementation has to\ncopy the cpumask into task_struct::cpus_allowed, this is pointless,\nput this copy in the generic code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/n/tip-jhl5s9fckd9ptw1fzbqqlrd3@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa17b507f142d37aeac322a95f6f7c6375f25601",
      "tree": "5ff8b9d7087175aca85dff3393932fe9b5497425",
      "parents": [
        "6eb57e0d65ebd99a71d435dc96d83e725752eef8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 16 12:23:22 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:56 2011 +0200"
      },
      "message": "sched: Wrap scheduler p-\u003ecpus_allowed access\n\nThis task is preparatory for the migrate_disable() implementation, but\nstands on its own and provides a cleanup.\n\nIt currently only converts those sites required for task-placement.\nKosaki-san once mentioned replacing cpus_allowed with a proper\ncpumask_t instead of the NR_CPUS sized array it currently is, that\nwould also require something like this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLink: http://lkml.kernel.org/n/tip-e42skvaddos99psip0vce41o@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6eb57e0d65ebd99a71d435dc96d83e725752eef8",
      "tree": "0349de8e8478a9b39dd1c75d347c36b9ebbef24c",
      "parents": [
        "ca38062e57e97791c2f62e3dbd06caf3ebb5721c"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Oct 03 15:09:01 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:27 2011 +0200"
      },
      "message": "sched: Request for idle balance during nohz idle load balance\n\nrq\u0027s idle_at_tick is set to idle/busy during the timer tick\ndepending on the cpu was idle or not. This will be used later in the load\nbalance that will be done in the softirq context (which is a process\ncontext in -RT kernels).\n\nFor nohz kernels, for the cpu doing nohz idle load balance on behalf of\nall the idle cpu\u0027s, its rq-\u003eidle_at_tick might have a stale value (which is\nrecorded when it got the timer tick presumably when it is busy).\n\nAs the nohz idle load balancing is also being done at the same place\nas the regular load balancing, nohz idle load balancing was bailing out\nwhen it sees rq\u0027s idle_at_tick not set.\n\nThus leading to poor system utilization.\n\nRename rq\u0027s idle_at_tick to idle_balance and set it when someone requests\nfor nohz idle balance on an idle cpu.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111003220934.892350549@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca38062e57e97791c2f62e3dbd06caf3ebb5721c",
      "tree": "c022f6a3d3087cc8eaebbc5640ca145f7d9c50d8",
      "parents": [
        "9243a169acb9df9c63632fb7d5464359a107877a"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Oct 03 15:09:00 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:23 2011 +0200"
      },
      "message": "sched: Use resched IPI to kick off the nohz idle balance\n\nCurrent use of smp call function to kick the nohz idle balance can deadlock\nin this scenario.\n\n1. cpu-A did a generic_exec_single() to cpu-B and after queuing its call single\ndata (csd) to the call single queue, cpu-A took a timer interrupt.  Actual IPI\nto cpu-B to process the call single queue is not yet sent.\n\n2. As part of the timer interrupt handler, cpu-A decided to kick cpu-B\nfor the idle load balancing (sets cpu-B\u0027s rq-\u003enohz_balance_kick to 1)\nand __smp_call_function_single() with nowait will queue the csd to the\ncpu-B\u0027s queue. But the generic_exec_single() won\u0027t send an IPI to cpu-B\nas the call single queue was not empty.\n\n3. cpu-A is busy with lot of interrupts\n\n4. Meanwhile cpu-B is entering and exiting idle and noticed that it has\nit\u0027s rq-\u003enohz_balance_kick set to \u00271\u0027. So it will go ahead and do the\nidle load balancer and clear its rq-\u003enohz_balance_kick.\n\n5. At this point, csd queued as part of the step-2 above is still locked\nand waiting to be serviced on cpu-B.\n\n6. cpu-A is still busy with interrupt load and now it got another timer\ninterrupt and as part of it decided to kick cpu-B for another idle load\nbalancing (as it finds cpu-B\u0027s rq-\u003enohz_balance_kick cleared in step-4\nabove) and does __smp_call_function_single() with the same csd that is\nstill locked.\n\n7. And we get a deadlock waiting for the csd_lock() in the\n__smp_call_function_single().\n\nMain issue here is that cpu-B can service the idle load balancer kick\nrequest from cpu-A even with out receiving the IPI and this lead to\ndoing multiple __smp_call_function_single() on the same csd leading to\ndeadlock.\n\nTo kick a cpu, scheduler already has the reschedule vector reserved. Use\nthat mechanism (kick_process()) instead of using the generic smp call function\nmechanism to kick off the nohz idle load balancing and avoid the deadlock.\n\n   [ This issue is present from 2.6.35+ kernels, but marking it -stable\n     only from v3.0+ as the proposed fix depends on the scheduler_ipi()\n     that is introduced recently. ]\n\nReported-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: stable@kernel.org # v3.0+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111003220934.834943260@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68cc3990a545dc0da221b4844dd8b9c06623a6c5",
      "tree": "9376283f1fb888927681de3848c9186426ba7b19",
      "parents": [
        "0119fee449f501d55924914a90f152540dd4ef9a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 05 13:20:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 05 13:20:24 2011 +0200"
      },
      "message": "rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b",
      "tree": "ee6e4c52ac19aad88ffc45f201fbbbf4c3dd67dc",
      "parents": [
        "1e7c5fd29487ee88cb3abac945bafa60ae026146"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 04 18:43:57 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 04 18:43:57 2011 +0200"
      },
      "message": "genirq: Fix fatfinered fixup really\n\nPutting the argument inside the quote does not really help.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "908a3283728d92df36e0c7cd63304fd35e93a8a9",
      "tree": "2511eb8eee1ebc534f34abd640e0fddb4d4fe5a3",
      "parents": [
        "f0f1d32f931b705c4ee5dd374074d34edf3eae14"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 15 15:32:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:44:07 2011 +0200"
      },
      "message": "sched: Fix idle_cpu()\n\nOn -rt we observed hackbench waking all 400 tasks to a single cpu.\nThis is because of select_idle_sibling()\u0027s interaction with the new\nipi based wakeup scheme.\n\nThe existing idle_cpu() test only checks to see if the current task on\nthat cpu is the idle task, it does not take already queued tasks into\naccount, nor does it take queued to be woken tasks into account.\n\nIf the remote wakeup IPIs come hard enough, there won\u0027t be time to\nschedule away from the idle task, and would thus keep thinking the cpu\nwas in fact idle, regardless of the fact that there were already\nseveral hundred tasks runnable.\n\nWe couldn\u0027t reproduce on mainline, but there\u0027s no reason it couldn\u0027t\nhappen.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-3o30p18b2paswpc9ohy2gltp@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa14ff4accfb24e59d2473f3d864d6648d80563b",
      "tree": "a2f3f5a16e1e740c6f96857e60c37826689d7b0b",
      "parents": [
        "924f8f5af31423529cc3940cb2ae9fee736b7517"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 12 13:06:17 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:43:58 2011 +0200"
      },
      "message": "sched: Convert to struct llist\n\nUse the generic llist primitives.\n\nWe had a private lockless list implementation in the scheduler in the wake-list\ncode, now that we have a generic llist implementation that provides all required\noperations, switch to it.\n\nThis patch is not expected to change any behavior.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1315836353.26517.42.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "924f8f5af31423529cc3940cb2ae9fee736b7517",
      "tree": "5d6866171b3fc428ebb64720917517534aa80670",
      "parents": [
        "38aaf8090d34b623b7919d8c933f6e938c9bf44b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 12 13:12:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:43:53 2011 +0200"
      },
      "message": "llist: Add llist_next()\n\nSo we don\u0027t have to expose the struct list_node member.\n\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1315836348.26517.41.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38aaf8090d34b623b7919d8c933f6e938c9bf44b",
      "tree": "4d036cfedd9e7669b6491900e407f59adbc93c69",
      "parents": [
        "781f7fd916fc77a862e20063ed3aeedf173234f9"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Sep 08 14:00:46 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:43:49 2011 +0200"
      },
      "message": "irq_work: Use llist in the struct irq_work logic\n\nUse llist in irq_work instead of the lock-less linked list\nimplementation in irq_work to avoid the code duplication.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1315461646-1379-6-git-send-email-ying.huang@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22f92bacbeea24b20e447444c28e7cad9f1ac3f8",
      "tree": "5c3f2346804a186aa2d954f078fd2f4d44bcc26e",
      "parents": [
        "557ab425429a5123d37f412ce3e6d6137cb621f8",
        "0f86267b79bc6e357b8606077c7f70239045ea9c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:08:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:09:08 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "349d2895cc8b7db1f5be677cd685209a3805d2ed",
      "tree": "516d4bb328bad8920f178c639b1880d5ec582eb8",
      "parents": [
        "a355d865f99d0dbbaba5595416e292592bd347dd"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Fri Sep 30 01:11:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:01 2011 -0400"
      },
      "message": "ipv4: NET_IPV4_ROUTE_GC_INTERVAL removal\n\nremoving obsoleted sysctl,\nip_rt_gc_interval variable no longer used since 2.6.38\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e7c5fd29487ee88cb3abac945bafa60ae026146",
      "tree": "7fc04be24400b851a544ca3edde40f84116ddb95",
      "parents": [
        "31d9d9b6d83030f748d013e61502fa5477e2ac0e"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 30 10:48:47 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:27 2011 +0200"
      },
      "message": "genirq: percpu: allow interrupt type to be set at enable time\n\nAs request_percpu_irq() doesn\u0027t allow for a percpu interrupt to have\nits type configured (it is generally impossible to configure it on all\nCPUs at once), add a \u0027type\u0027 argument to enable_percpu_irq().\n\nThis allows some low-level, board specific init code to be switched to\na generic API.\n\n[ tglx: Added WARN_ON argument ]\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "31d9d9b6d83030f748d013e61502fa5477e2ac0e",
      "tree": "503670b94d594c09daa83c047b426e7b5328aa76",
      "parents": [
        "60f96b41f71d2a13d1c0a457b8b77958f77142d1"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 23 17:03:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:26 2011 +0200"
      },
      "message": "genirq: Add support for per-cpu dev_id interrupts\n\nThe ARM GIC interrupt controller offers per CPU interrupts (PPIs),\nwhich are usually used to connect local timers to each core. Each CPU\nhas its own private interface to the GIC, and only sees the PPIs that\nare directly connect to it.\n\nWhile these timers are separate devices and have a separate interrupt\nline to a core, they all use the same IRQ number.\n\nFor these devices, request_irq() is not the right API as it assumes\nthat an IRQ number is visible by a number of CPUs (through the\naffinity setting), but makes it very awkward to express that an IRQ\nnumber can be handled by all CPUs, and yet be a different interrupt\nline on each CPU, requiring a different dev_id cookie to be passed\nback to the handler.\n\nThe *_percpu_irq() functions is designed to overcome these\nlimitations, by providing a per-cpu dev_id vector:\n\nint request_percpu_irq(unsigned int irq, irq_handler_t handler,\n\t\t   const char *devname, void __percpu *percpu_dev_id);\nvoid free_percpu_irq(unsigned int, void __percpu *);\nint setup_percpu_irq(unsigned int irq, struct irqaction *new);\nvoid remove_percpu_irq(unsigned int irq, struct irqaction *act);\nvoid enable_percpu_irq(unsigned int irq);\nvoid disable_percpu_irq(unsigned int irq);\n\nThe API has a number of limitations:\n- no interrupt sharing\n- no threading\n- common handler across all the CPUs\n\nOnce the interrupt is requested using setup_percpu_irq() or\nrequest_percpu_irq(), it must be enabled by each core that wishes its\nlocal interrupt to be delivered.\n\nBased on an initial patch by Thomas Gleixner.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f72a209a3e694ecb8d3ceed4671d98c4364e00e3",
      "tree": "e15bb43a4eb82ead5ca2aa387069353481f3cdef",
      "parents": [
        "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
        "eef24afb28561a5a9f4be8f8da97735b7e6a826f",
        "47997d756aa2a84ab577e1b0383cc12d582fc69c",
        "d670ec13178d0fd8680e6742a2bc6e04f28f87d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 01 08:37:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 01 08:37:25 2011 -0700"
      },
      "message": "Merge branches \u0027irq-urgent-for-linus\u0027, \u0027x86-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  irq: Fix check for already initialized irq_domain in irq_domain_add\n  irq: Add declaration of irq_domain_simple_ops to irqdomain.h\n\n* \u0027x86-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  x86/rtc: Don\u0027t recursively acquire rtc_lock\n\n* \u0027sched-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  posix-cpu-timers: Cure SMP wobbles\n  sched: Fix up wchan borkage\n  sched/rt: Migrate equal priority tasks to available CPUs\n"
    },
    {
      "commit": "048b718029033af117870d3da47da12995be14a3",
      "tree": "b3d4bf5219cd6543c35cb79d1aa08ae98cf2a8af",
      "parents": [
        "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
        "afe24b122eb6edb5f1cb942570ac8d766105c7fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 01 14:21:36 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 01 14:21:36 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://github.com/paulmckrcu/linux into core/rcu\n"
    },
    {
      "commit": "d670ec13178d0fd8680e6742a2bc6e04f28f87d8",
      "tree": "81a2ac824dd92a0536e42f9a0ba3d83240856722",
      "parents": [
        "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 01 12:42:04 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 30 14:07:06 2011 +0200"
      },
      "message": "posix-cpu-timers: Cure SMP wobbles\n\nDavid reported:\n\n  Attached below is a watered-down version of rt/tst-cpuclock2.c from\n  GLIBC.  Just build it with \"gcc -o test test.c -lpthread -lrt\" or\n  similar.\n\n  Run it several times, and you will see cases where the main thread\n  will measure a process clock difference before and after the nanosleep\n  which is smaller than the cpu-burner thread\u0027s individual thread clock\n  difference.  This doesn\u0027t make any sense since the cpu-burner thread\n  is part of the top-level process\u0027s thread group.\n\n  I\u0027ve reproduced this on both x86-64 and sparc64 (using both 32-bit and\n  64-bit binaries).\n\n  For example:\n\n  [davem@boricha build-x86_64-linux]$ ./test\n  process: before(0.001221967) after(0.498624371) diff(497402404)\n  thread:  before(0.000081692) after(0.498316431) diff(498234739)\n  self:    before(0.001223521) after(0.001240219) diff(16698)\n  [davem@boricha build-x86_64-linux]$ \n\n  The diff of \u0027process\u0027 should always be \u003e\u003d the diff of \u0027thread\u0027.\n\n  I make sure to wrap the \u0027thread\u0027 clock measurements the most tightly\n  around the nanosleep() call, and that the \u0027process\u0027 clock measurements\n  are the outer-most ones.\n\n  ---\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003cpthread.h\u003e\n\n  static pthread_barrier_t barrier;\n\n  static void *chew_cpu(void *arg)\n  {\n\t  pthread_barrier_wait(\u0026barrier);\n\t  while (1)\n\t\t  __asm__ __volatile__(\"\" : : : \"memory\");\n\t  return NULL;\n  }\n\n  int main(void)\n  {\n\t  clockid_t process_clock, my_thread_clock, th_clock;\n\t  struct timespec process_before, process_after;\n\t  struct timespec me_before, me_after;\n\t  struct timespec th_before, th_after;\n\t  struct timespec sleeptime;\n\t  unsigned long diff;\n\t  pthread_t th;\n\t  int err;\n\n\t  err \u003d clock_getcpuclockid(0, \u0026process_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(pthread_self(), \u0026my_thread_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_init(\u0026barrier, NULL, 2);\n\t  err \u003d pthread_create(\u0026th, NULL, chew_cpu, NULL);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(th, \u0026th_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_wait(\u0026barrier);\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  sleeptime.tv_sec \u003d 0;\n\t  sleeptime.tv_nsec \u003d 500000000;\n\t  nanosleep(\u0026sleeptime, NULL);\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  diff \u003d process_after.tv_nsec - process_before.tv_nsec;\n\t  printf(\"process: before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t process_before.tv_sec, process_before.tv_nsec,\n\t\t process_after.tv_sec, process_after.tv_nsec, diff);\n\t  diff \u003d th_after.tv_nsec - th_before.tv_nsec;\n\t  printf(\"thread:  before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t th_before.tv_sec, th_before.tv_nsec,\n\t\t th_after.tv_sec, th_after.tv_nsec, diff);\n\t  diff \u003d me_after.tv_nsec - me_before.tv_nsec;\n\t  printf(\"self:    before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t me_before.tv_sec, me_before.tv_nsec,\n\t\t me_after.tv_sec, me_after.tv_nsec, diff);\n\n\t  return 0;\n  }\n\nThis is due to us using p-\u003ese.sum_exec_runtime in\nthread_group_cputime() where we iterate the thread group and sum all\ndata. This does not take time since the last schedule operation (tick\nor otherwise) into account. We can cure this by using\ntask_sched_runtime() at the cost of having to take locks.\n\nThis also means we can (and must) do away with\nthread_group_sched_runtime() since the modified thread_group_cputime()\nis now more accurate and would deadlock when called from\nthread_group_sched_runtime().\n\nAside of that it makes the function safe on 32 bit systems. The old\ncode added t-\u003ese.sum_exec_runtime unprotected. sum_exec_runtime is a\n64bit value and could be changed on another cpu at the same time.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1314874459.7945.22.camel@twins\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
      "tree": "079ecdd16d4e73e783851cca3ba8bda9cbd8fa8d",
      "parents": [
        "92bb062fe36132a04c6dc8b3c51c945730b05224"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Sep 22 15:48:58 2011 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 29 20:04:34 2011 -0700"
      },
      "message": "Resource: fix wrong resource window calculation\n\n__find_resource() incorrectly returns a resource window which overlaps\nan existing allocated window.  This happens when the parent\u0027s\nresource-window spans 0x00000000 to 0xffffffff and is entirely allocated\nto all its children resource-windows.\n\n__find_resource() looks for gaps in resource allocation among the\nchildren resource windows.  When it encounters the last child window it\nblindly tries the range next to one allocated to the last child.  Since\nthe last child\u0027s window ends at 0xffffffff the calculation overflows,\nleading the algorithm to believe that any window in the range 0x0000000\nto 0xfffffff is available for allocation.  This leads to a conflicting\nwindow allocation.\n\nMichal Ludvig reported this issue seen on his platform.  The following\npatch fixes the problem and has been verified by Michal.  I believe this\nbug has been there for ages.  It got exposed by git commit 2bbc6942273b\n(\"PCI : ability to relocate assigned pci-resources\")\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nTested-by: Michal Ludvig \u003cmludvig@logix.net.nz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d178bc3a708f39cbfefc3fab37032d3f2511b4ec",
      "tree": "af492e92e140f1f6abad5a377a269ef7335824de",
      "parents": [
        "edb2b255a0bebac5aeb17c7613aeb76ba4e6c63c"
      ],
      "author": {
        "name": "Serge Hallyn",
        "email": "serge.hallyn@canonical.com",
        "time": "Mon Sep 26 10:45:18 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 29 13:13:08 2011 -0700"
      },
      "message": "user namespace: usb: make usb urbs user namespace aware (v2)\n\nAdd to the dev_state and alloc_async structures the user namespace\ncorresponding to the uid and euid.  Pass these to kill_pid_info_as_uid(),\nwhich can then implement a proper, user-namespace-aware uid check.\n\nChangelog:\nSep 20: Per Oleg\u0027s suggestion: Instead of caching and passing user namespace,\n\tuid, and euid each separately, pass a struct cred.\nSep 26: Address Alan Stern\u0027s comments: don\u0027t define a struct cred at\n\tusbdev_open(), and take and put a cred at async_completed() to\n\tensure it lasts for the duration of kill_pid_info_as_cred().\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2a5306cc5f383b0e7414c75e458111afd4a563a4",
      "tree": "0725cb2cf142f1bb52eb93cf0cce77f3798b2f72",
      "parents": [
        "c3dc2f14622a06488f11452b6efd1e02c5a8548b"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Thu Sep 29 22:07:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Sep 29 22:07:23 2011 +0200"
      },
      "message": "PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set\n\nDo not build kernel/trace/rpm-traces.c if CONFIG_PM_RUNTIME is not\nset, which avoids a build failure.\n\n[rjw: Added the changelog and modified the subject slightly.]\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "afe24b122eb6edb5f1cb942570ac8d766105c7fc",
      "tree": "c1f9e2fcbcf2d374f36ee3bfc45babf576cb6246",
      "parents": [
        "e90c53d3e238dd0b7b02964370e8fece1778df96"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Aug 24 16:52:09 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:49 2011 -0700"
      },
      "message": "rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n\nIt is possible for the CPU that noted the end of the prior grace period\nto not need a new one, and therefore to decide to propagate -\u003ecompleted\nthroughout the rcu_node tree without starting another grace period.\nHowever, in so doing, it releases the root rcu_node structure\u0027s lock,\nwhich can allow some other CPU to start another grace period.  The first\nCPU will be propagating -\u003ecompleted in parallel with the second CPU\ninitializing the rcu_node tree for the new grace period.  In theory\nthis is harmless, but in practice we need to keep things simple.\n\nThis commit therefore moves the propagation of -\u003ecompleted to\nrcu_report_qs_rsp(), and refrains from marking the old grace period\nas having been completed until it has finished doing this.  This\nprevents anyone from starting a new grace period concurrently with\nmarking the old grace period as having been completed.\n\nOf course, the optimization where a CPU needing a new grace period\ndoesn\u0027t bother marking the old one completed is still in effect:\nIn that case, the marking happens implicitly as part of initializing\nthe new grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e90c53d3e238dd0b7b02964370e8fece1778df96",
      "tree": "23e5b8623c2c37bd8a4656c66266209872f80701",
      "parents": [
        "5b61b0baa9e80289c53413e573befc5790a04ac7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 20 18:29:32 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:48 2011 -0700"
      },
      "message": "rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n\nThe purpose of rcu_needs_cpu_flush() was to iterate on pushing the\ncurrent grace period in order to help the current CPU enter dyntick-idle\nmode.  However, this can result in failures if the CPU starts entering\ndyntick-idle mode, but then backs out.  In this case, the call to\nrcu_pending() from rcu_needs_cpu_flush() might end up announcing a\nnon-existing quiescent state.\n\nThis commit therefore removes rcu_needs_cpu_flush() in favor of letting\nthe dyntick-idle machinery at the end of the softirq handler push the\nloop along via its call to rcu_pending().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5b61b0baa9e80289c53413e573befc5790a04ac7",
      "tree": "5f3c4b002089b6d6e92fafaba42ab4a42ef1f1f9",
      "parents": [
        "ab8f11e5f6655861ad4758a7da76b2fc0e0dcc98"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Aug 19 11:39:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:47 2011 -0700"
      },
      "message": "rcu: Wire up RCU_BOOST_PRIO for rcutree\n\nRCU boost threads start life at RCU_BOOST_PRIO, while others remain\nat RCU_KTHREAD_PRIO.  While here, change thread names to match other\nkthreads, and adjust rcu_yield() to not override the priority set by\nthe user.  This last change sets the stage for runtime changes to\npriority in the -rt tree.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ab8f11e5f6655861ad4758a7da76b2fc0e0dcc98",
      "tree": "3833850589c9593f42ba11b9aed589bbc18f28dd",
      "parents": [
        "93898fb1a395d2a5a53db238c68036da2f8c64d1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Aug 18 09:30:32 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:46 2011 -0700"
      },
      "message": "rcu: Make rcu_torture_boost() exit loops at end of test\n\nOne of the loops in rcu_torture_boost() fails to check kthread_should_stop(),\nand thus might be slowing or even stopping completion of rcutorture tests\nat rmmod time.  This commit adds the kthread_should_stop() check to the\noffending loop.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "93898fb1a395d2a5a53db238c68036da2f8c64d1",
      "tree": "be5b53612cce334959a73617986ab9f3dc859c31",
      "parents": [
        "5342e269b2b58ee0b0b4168a94087faaa60d0567"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Aug 17 12:39:34 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:44 2011 -0700"
      },
      "message": "rcu: Make rcu_torture_fqs() exit loops at end of test\n\nThe rcu_torture_fqs() function can prevent the rcutorture tests from\ncompleting, resulting in a hang.  This commit therefore ensures that\nrcu_torture_fqs() will exit its inner loops at the end of the test,\nand also applies the newish ULONG_CMP_LT() macro to time comparisons.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5342e269b2b58ee0b0b4168a94087faaa60d0567",
      "tree": "77467d64948328e506f06eaf5a719de7fade4b83",
      "parents": [
        "06ae115a1d551cd952d80df06eaf8b5153351875"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Aug 16 17:46:46 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:43 2011 -0700"
      },
      "message": "rcu: Permit rt_mutex_unlock() with irqs disabled\n\nCreate a separate lockdep class for the rt_mutex used for RCU priority\nboosting and enable use of rt_mutex_lock() with irqs disabled.  This\nprevents RCU priority boosting from falling prey to deadlocks when\nsomeone begins an RCU read-side critical section in preemptible state,\nbut releases it with an irq-disabled lock held.\n\nUnfortunately, the scheduler\u0027s runqueue and priority-inheritance locks\nstill must either completely enclose or be completely enclosed by any\noverlapping RCU read-side critical section.\n\nThis version removes a redundant local_irq_restore() noted by\nYong Zhang.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "06ae115a1d551cd952d80df06eaf8b5153351875",
      "tree": "858163c4983a7cc92bffab2267597f3bb802071b",
      "parents": [
        "9bc8b5586f94be6391458074ecbba8827ba8ba9d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Aug 14 15:56:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:42 2011 -0700"
      },
      "message": "rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n\nCPUs set rdp-\u003eqs_pending when coming online to resolve races with\ngrace-period start.  However, this means that if RCU is idle, the\njust-onlined CPU might needlessly send itself resched IPIs.  Adjust\nthe online-CPU initialization to avoid this, and also to correctly\ncause the CPU to respond to the current grace period if needed.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nTested-by: Christian Hoffmann \u003cemail@christianhoffmann.info\u003e\n"
    },
    {
      "commit": "9bc8b5586f94be6391458074ecbba8827ba8ba9d",
      "tree": "323804bb7180337c266f88519cea6b1f42114ead",
      "parents": [
        "037067a1b6f9a70f862f3ed9d59fe28b7cd55ac4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 13 13:31:47 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:41 2011 -0700"
      },
      "message": "rcu: Suppress NMI backtraces when stall ends before dump\n\nIt is possible for an RCU CPU stall to end just as it is detected, in\nwhich case the current code will uselessly dump all CPU\u0027s stacks.\nThis commit therefore checks for this condition and refrains from\nsending needless NMIs.\n\nAnd yes, the stall might also end just after we checked all CPUs and\ntasks, but in that case we would at least have given some clue as\nto which CPU/task was at fault.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "037067a1b6f9a70f862f3ed9d59fe28b7cd55ac4",
      "tree": "0f54deff3994de1bdb54707b7943307244ed692f",
      "parents": [
        "82e78d80fc392ac7e98326bc8beeb8a679913ffd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Aug 07 20:26:31 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:40 2011 -0700"
      },
      "message": "rcu: Prohibit grace periods during early boot\n\nGreater use of RCU during early boot (before the scheduler is operating)\nis causing RCU to attempt to start grace periods during that time, which\nin turn is resulting in both RCU and the callback functions attempting\nto use the scheduler before it is ready.\n\nThis commit prevents these problems by prohibiting RCU grace periods\nuntil after the scheduler has spawned the first non-idle task.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "82e78d80fc392ac7e98326bc8beeb8a679913ffd",
      "tree": "4999d3c03ed711056474c3a31512e7d3cf253b87",
      "parents": [
        "5c51dd7349d4bb26f845f17f85daa168f5fa03f2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Aug 04 07:55:34 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:39 2011 -0700"
      },
      "message": "rcu: Simplify unboosting checks\n\nCommit 7765be (Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special)\nintroduced a new -\u003ercu_boosted field in the task structure.  This is\nredundant because the existing -\u003ercu_boost_mutex will be non-NULL at\nany time that -\u003ercu_boosted is nonzero.  Therefore, this commit removes\n-\u003ercu_boosted and tests -\u003ercu_boost_mutex instead.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5c51dd7349d4bb26f845f17f85daa168f5fa03f2",
      "tree": "a846bf11cb973e8d0bb28d9c07653663759fb6c8",
      "parents": [
        "4627e240dfee4a0a46a58010b1b721b4ded1918f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Aug 04 06:59:03 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:37 2011 -0700"
      },
      "message": "rcu: Prevent early boot set_need_resched() from __rcu_pending()\n\nThere isn\u0027t a whole lot of point in poking the scheduler before there\nare other tasks to switch to.  This commit therefore adds a check\nfor rcu_scheduler_fully_active in __rcu_pending() to suppress any\npre-scheduler calls to set_need_resched().  The downside of this approach\nis additional runtime overhead in a reasonably hot code path.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4627e240dfee4a0a46a58010b1b721b4ded1918f",
      "tree": "807cc0618bc843800aa85fd6d20b4e9ee7adb74b",
      "parents": [
        "6206ab9bab620fc0fbbed30ce20d145b0b3d1840"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Aug 03 03:34:24 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:36 2011 -0700"
      },
      "message": "rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n\nThe trigger_all_cpu_backtrace() function is a no-op in architectures that\ndo not define arch_trigger_all_cpu_backtrace.  On such architectures, RCU\nCPU stall warning messages contain no stack trace information, which makes\ndebugging quite difficult.  This commit therefore substitutes dump_stack()\nfor architectures that do not define arch_trigger_all_cpu_backtrace,\nso that at least the local CPU\u0027s stack is dumped as part of the RCU CPU\nstall warning message.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6206ab9bab620fc0fbbed30ce20d145b0b3d1840",
      "tree": "b57912ba9fff6f2deba89c0178d3122bbd1fda6e",
      "parents": [
        "6846c0c54074d47927c90eab4a805115e1ae3292"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Aug 01 06:22:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:35 2011 -0700"
      },
      "message": "rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n\nWe only need to constrain the compiler if we are actually exiting\nthe top-level RCU read-side critical section.  This commit therefore\nmoves the first barrier() cal in __rcu_read_unlock() to inside the\n\"if\" statement, thus avoiding needless register flushes for inner\nrcu_read_unlock() calls.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7eb4f4553ceaa6c64da83c8a71d5a991c0188655",
      "tree": "308ce033d4c449effc3d6b99eb0adf8857357124",
      "parents": [
        "717f98f0f87c16c1e5768ac8f67c27f3d3535a25"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Jul 30 07:32:48 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:32 2011 -0700"
      },
      "message": "rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n\nWhen the -\u003edynticks field in the rcu_dynticks structure changed to an\natomic_t, its size on 64-bit systems changed from 64 bits to 32 bits.\nThe local variables in rcu_implicit_dynticks_qs() need to change as\nwell, hence this commit.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "717f98f0f87c16c1e5768ac8f67c27f3d3535a25",
      "tree": "4d2234eb29a350a3a5b1d7e4d29445c57b66f9f2",
      "parents": [
        "fc0763f53e3ff6a6bfa66934662a3446b9ca6f16"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 05 22:39:02 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:31 2011 -0700"
      },
      "message": "rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n\nThe in_irq() check in rcu_enter_nohz() is redundant because if we really\nare in an interrupt, the attempt to re-enter dyntick-idle mode will invoke\nrcu_needs_cpu() in any case, which will force the check for RCU callbacks.\nSo this commit removes the check along with the set_need_resched().\n\nSuggested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fc0763f53e3ff6a6bfa66934662a3446b9ca6f16",
      "tree": "2671d3f6275c9707a620032658ecb05025e4e9fa",
      "parents": [
        "d7bd2d68aa2ee2738a10c8ad9346b805e4ab2e1c"
      ],
      "author": {
        "name": "Shi, Alex",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 28 14:56:12 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:29 2011 -0700"
      },
      "message": "nohz: Remove nohz_cpu_mask\n\nRCU no longer uses this global variable, nor does anyone else.  This\ncommit therefore removes this variable.  This reduces memory footprint\nand also removes some atomic instructions and memory barriers from\nthe dyntick-idle path.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3721bc1d3ed9940b17791805b7ee3a4743295d12",
      "tree": "1ef9575fc29f9fe5be4420143c238731349265ab",
      "parents": [
        "22507ed9b9d587486fb4681e93a8c58837738a25"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jul 21 16:00:17 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:27 2011 -0700"
      },
      "message": "rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n\nWhen rcutorture is compiled directly into the kernel\n(instead of separately as a module), it is necessary to specify\nrcutorture.stat_interval as a kernel command-line parameter, otherwise,\nthe rcu_torture_stats kthread is never started.  However, when working\nwith the system after it has booted, it is convenient to be able to\nchange the time between statistic printing, particularly when logged\ninto the console.\n\nThis commit therefore allows the stat_interval parameter to be changed\nat runtime.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e4cc1f22b2f4e9b0207a8cdb63e56dcf99e82d35",
      "tree": "ec3fad6587f0a83e764a571394bdfb85a84edf30",
      "parents": [
        "d4c08f2ac311a360230eef7e5395b0ec8d8f0670"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Jun 27 00:17:43 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:22 2011 -0700"
      },
      "message": "rcu: Simplify quiescent-state accounting\n\nThere is often a delay between the time that a CPU passes through a\nquiescent state and the time that this quiescent state is reported to the\nRCU core.  It is quite possible that the grace period ended before the\nquiescent state could be reported, for example, some other CPU might have\ndeduced that this CPU passed through dyntick-idle mode.  It is critically\nimportant that quiescent state be counted only against the grace period\nthat was in effect at the time that the quiescent state was detected.\n\nPreviously, this was handled by recording the number of the last grace\nperiod to complete when passing through a quiescent state.  The RCU\ncore then checks this number against the current value, and rejects\nthe quiescent state if there is a mismatch.  However, one additional\npossibility must be accounted for, namely that the quiescent state was\nrecorded after the prior grace period completed but before the current\ngrace period started.  In this case, the RCU core must reject the\nquiescent state, but the recorded number will match.  This is handled\nwhen the CPU becomes aware of a new grace period -- at that point,\nit invalidates any prior quiescent state.\n\nThis works, but is a bit indirect.  The new approach records the current\ngrace period, and the RCU core checks to see (1) that this is still the\ncurrent grace period and (2) that this grace period has not yet ended.\nThis approach simplifies reasoning about correctness, and this commit\nchanges over to this new approach.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d4c08f2ac311a360230eef7e5395b0ec8d8f0670",
      "tree": "06e425b8153e076fbe43b037cf4497ac50afddb7",
      "parents": [
        "965a002b4f1a458c5dcb334ec29f48a0046faa25"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Jun 25 06:36:56 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:21 2011 -0700"
      },
      "message": "rcu: Add grace-period, quiescent-state, and call_rcu trace events\n\nAdd trace events to record grace-period start and end, quiescent states,\nCPUs noticing grace-period start and end, grace-period initialization,\ncall_rcu() invocation, tasks blocking in RCU read-side critical sections,\ntasks exiting those same critical sections, force_quiescent_state()\ndetection of dyntick-idle and offline CPUs, CPUs entering and leaving\ndyntick-idle mode (except from NMIs), CPUs coming online and going\noffline, and CPUs being kicked for staying in dyntick-idle mode for too\nlong (as in many weeks, even on 32-bit systems).\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nrcu: Add the rcu flavor to callback trace events\n\nThe earlier trace events for registering RCU callbacks and for invoking\nthem did not include the RCU flavor (rcu_bh, rcu_preempt, or rcu_sched).\nThis commit adds the RCU flavor to those trace events.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "965a002b4f1a458c5dcb334ec29f48a0046faa25",
      "tree": "9aa3847fd44b322a73631758e7337632e5e3a32d",
      "parents": [
        "385680a9487d2f85382ad6d74e2a15837e47bfd9"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Jun 18 09:55:39 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:20 2011 -0700"
      },
      "message": "rcu: Make TINY_RCU also use softirq for RCU_BOOST\u003dn\n\nThis patch #ifdefs TINY_RCU kthreads out of the kernel unless RCU_BOOST\u003dy,\nthus eliminating context-switch overhead if RCU priority boosting has\nnot been configured.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "385680a9487d2f85382ad6d74e2a15837e47bfd9",
      "tree": "68809ef9cdfeee43b7c08152bfdbc45d2c0d6489",
      "parents": [
        "eab0993c7ba5c7d9b3613d6037e0f31f0ccbe181"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 22:43:26 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:19 2011 -0700"
      },
      "message": "rcu: Add event-trace markers to TREE_RCU kthreads\n\nAdd event-trace markers to TREE_RCU kthreads to allow including these\nkthread\u0027s CPU time in the utilization calculations.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "eab0993c7ba5c7d9b3613d6037e0f31f0ccbe181",
      "tree": "9f37a94506e2c58d7d0139374bc21b64b9e073ed",
      "parents": [
        "e0f23060adfa3f27beaa7918eff70258b88471b6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 01:59:33 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:18 2011 -0700"
      },
      "message": "rcu: Move RCU_BOOST declarations to allow compiler checking\n\nAndi Kleen noticed that one of the RCU_BOOST data declarations was\nout of sync with the definition.  Move the declarations so that the\ncompiler can do the checking in the future.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e0f23060adfa3f27beaa7918eff70258b88471b6",
      "tree": "f0e8ed4ad97a1fc4d3c2c5af639a63063ae52e32",
      "parents": [
        "72fe701b70e6ced35d734b676c13efbc8fc769a9"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 01:29:39 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:16 2011 -0700"
      },
      "message": "rcu: Update comments to reflect softirqs vs. kthreads\n\nWe now have kthreads only for flavors of RCU that support boosting,\nso update the now-misleading comments accordingly.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "72fe701b70e6ced35d734b676c13efbc8fc769a9",
      "tree": "87bece8406b18e27409a33355c384c9f759915ae",
      "parents": [
        "e99033c5c160f1f247c665923a66acec693a967c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 01:14:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:15 2011 -0700"
      },
      "message": "rcu: Add RCU type to callback-invocation tracing\n\nAdd a string to the rcu_batch_start() and rcu_batch_end() trace\nmessages that indicates the RCU type (\"rcu_sched\", \"rcu_bh\", or\n\"rcu_preempt\").  The trace messages for the actual invocations\nthemselves are not marked, as it should be clear from the\nrcu_batch_start() and rcu_batch_end() events before and after.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e99033c5c160f1f247c665923a66acec693a967c",
      "tree": "c5b0863ad4b673134070872a159055237186f0fe",
      "parents": [
        "300df91ca9358f7f09298eec9503c12b32054ef7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 00:13:44 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:14 2011 -0700"
      },
      "message": "rcu: Put names into TINY_RCU structures under RCU_TRACE\n\nIn order to allow event tracing to distinguish between flavors of\nRCU, we need those names in the relevant RCU data structures.  TINY_RCU\nhas avoided them for memory-footprint reasons, so add them only if\nCONFIG_RCU_TRACE\u003dy.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "300df91ca9358f7f09298eec9503c12b32054ef7",
      "tree": "8917e0c2ee94a5385f4968094c0e1d9a7fdc0055",
      "parents": [
        "29c00b4a1d9e277786120032aa8364631820d863"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Jun 18 22:26:31 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:13 2011 -0700"
      },
      "message": "rcu: Event-trace markers for computing RCU CPU utilization\n\nThis commit adds the trace_rcu_utilization() marker that is to be\nused to allow postprocessing scripts compute RCU\u0027s CPU utilization,\ngive or take event-trace overhead.  Note that we do not include RCU\u0027s\ndyntick-idle interface because event tracing requires RCU protection,\nwhich is not available in dyntick-idle mode.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "29c00b4a1d9e277786120032aa8364631820d863",
      "tree": "23bf0c8cdb5268ef92ef9ed007639705e922b1b0",
      "parents": [
        "9d68197c05201d8edc70d58bd1d5dad05d8455e8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jun 17 15:53:19 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:12 2011 -0700"
      },
      "message": "rcu: Add event-tracing for RCU callback invocation\n\nThere was recently some controversy about the overhead of invoking RCU\ncallbacks.  Add TRACE_EVENT()s to obtain fine-grained timings for the\nstart and stop of a batch of callbacks and also for each callback invoked.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9d68197c05201d8edc70d58bd1d5dad05d8455e8",
      "tree": "c83d9b72ca28debc70fd1912b2e09867e439d87f",
      "parents": [
        "8008e129dc90ff4f7a56cb033d6bd042afe3ed52"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jun 21 01:48:03 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:10 2011 -0700"
      },
      "message": "rcu: Don\u0027t destroy rcu_torture_boost() callback until it is done\n\nThe rcu_torture_boost() cleanup code destroyed debug-objects state before\nwaiting for the last RCU callback to be invoked, resulting in rare but\nvery real debug-objects warnings.  Move the destruction to after the\nwaiting to fix this problem.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bdf2a4364904d6cf2f59b16b0bd86fdc5a2c6152",
      "tree": "ee8343d4a81757d75f1d51f54d3762f00525e7a9",
      "parents": [
        "2c42818e962e2858334bf45bfc56662b3752df34"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jun 07 16:59:35 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:43 2011 -0700"
      },
      "message": "rcu: Catch rcutorture up to new RCU API additions\n\nNow that the RCU API contains synchronize_rcu_bh(), synchronize_sched(),\ncall_rcu_sched(), and rcu_bh_expedited()...\n\nMake rcutorture test synchronize_rcu_bh(), getting rid of the old\nrcu_bh_torture_synchronize() workaround.  Similarly, make rcutorture test\nsynchronize_sched(), getting rid of the old sched_torture_synchronize()\nworkaround.  Make rcutorture test call_rcu_sched() instead of wrappering\nsynchronize_sched().  Also add testing of rcu_bh_expedited().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2c42818e962e2858334bf45bfc56662b3752df34",
      "tree": "192364123c9aeeab282c53168e51eddece9d8be4",
      "parents": [
        "f039d1f1884b2fe9c13d28f59d8330f0b0518fc4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 26 22:14:36 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:42 2011 -0700"
      },
      "message": "rcu: Abstract common code for RCU grace-period-wait primitives\n\nPull the code that waits for an RCU grace period into a single function,\nwhich is then called by synchronize_rcu() and friends in the case of\nTREE_RCU and TREE_PREEMPT_RCU, and from rcu_barrier() and friends in\nthe case of TINY_RCU and TINY_PREEMPT_RCU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f039d1f1884b2fe9c13d28f59d8330f0b0518fc4",
      "tree": "d7c16969d73fd467e75f8d050b0b7bca35ceb9c5",
      "parents": [
        "63cd758e07743b71ed76ba7db7f93986a7591a65"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue Jun 07 15:26:30 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:40 2011 -0700"
      },
      "message": "rcu: Fix mismatched variable in rcutree_trace.c\n\nrcutree.c defines rcu_cpu_kthread_cpu as int, not unsigned int,\nso the extern has to follow that.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b3fbab0571eb09746cc0283648165ec00efc8eb2",
      "tree": "63bc01cbf03a5df34a96af292a00df4a96dc148a",
      "parents": [
        "d5988af53102f3b73e5e0788be024ccfa51869de"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 24 08:31:09 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:37 2011 -0700"
      },
      "message": "rcu: Restore checks for blocking in RCU read-side critical sections\n\nLong ago, using TREE_RCU with PREEMPT would result in \"scheduling\nwhile atomic\" diagnostics if you blocked in an RCU read-side critical\nsection.  However, PREEMPT now implies TREE_PREEMPT_RCU, which defeats\nthis diagnostic.  This commit therefore adds a replacement diagnostic\nbased on PROVE_RCU.\n\nBecause rcu_lockdep_assert() and lockdep_rcu_dereference() are now being\nused for things that have nothing to do with rcu_dereference(), rename\nlockdep_rcu_dereference() to lockdep_rcu_suspicious() and add a third\nargument that is a string indicating what is suspicious.  This third\nargument is passed in from a new third argument to rcu_lockdep_assert().\nUpdate all calls to rcu_lockdep_assert() to add an informative third\nargument.\n\nAlso, add a pair of rcu_lockdep_assert() calls from within\nrcu_note_context_switch(), one complaining if a context switch occurs\nin an RCU-bh read-side critical section and another complaining if a\ncontext switch occurs in an RCU-sched read-side critical section.\nThese are present only if the PROVE_RCU kernel parameter is enabled.\n\nFinally, fix some checkpatch whitespace complaints in lockdep.c.\n\nAgain, you must enable PROVE_RCU to see these new diagnostics.  But you\nare enabling PROVE_RCU to check out new RCU uses in any case, aren\u0027t you?\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1eb521210a8c9823038abe4ddfe8c69e713ec17d",
      "tree": "f9fc70df7c25f80def12aeb231475405043eb1ed",
      "parents": [
        "1f288094807861ec1e48c428d2c49ccf7aaf3767"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Jun 16 16:02:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:34 2011 -0700"
      },
      "message": "rcu: Avoid unnecessary self-wakeup of per-CPU kthreads\n\nThere are a number of cases where the RCU can find additional work\nfor the per-CPU kthread within the context of that per-CPU kthread.\nIn such cases, the per-CPU kthread is already running, so attempting\nto wake itself up does nothing except waste CPU cycles.  This commit\ntherefore checks to see if it is in the per-CPU kthread context,\nomitting the wakeup in this case.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1f288094807861ec1e48c428d2c49ccf7aaf3767",
      "tree": "f8f1217bcf0a720d6ae17304b1bcb3ddbecb42be",
      "parents": [
        "a102a9ece5489e1718cd7543aa079082450ac3a2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 16 15:53:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:33 2011 -0700"
      },
      "message": "rcu: Use kthread_create_on_node()\n\nCommit a26ac2455ffc (move TREE_RCU from softirq to kthread) added\nper-CPU kthreads.  However, kthread creation uses kthread_create(), which\ncan put the kthread\u0027s stack and task struct on the wrong NUMA node.\nTherefore, use kthread_create_on_node() instead of kthread_create()\nso that the stacks and task structs are placed on the correct NUMA node.\n\nA similar change was carried out in commit 94dcf29a11b3 (kthread:\nuse kthread_create_on_node()).\n\nAlso change rcutorture\u0027s priority-boost-test kthread creation.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f786ecba4158880f8cdc0ebb93e7d78e6c125449",
      "tree": "0291e9079912f41ad2dd67ffd609a554e98b7850",
      "parents": [
        "5dd17e08f333cde0fa11000792e33d8d39b5599f"
      ],
      "author": {
        "name": "Vladimir Zapolskiy",
        "email": "vzapolskiy@gmail.com",
        "time": "Wed Sep 21 09:26:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 13:41:50 2011 -0400"
      },
      "message": "connector: add comm change event report to proc connector\n\nAdd an event to monitor comm value changes of tasks.  Such an event\nbecomes vital, if someone desires to control threads of a process in\ndifferent manner.\n\nA natural characteristic of threads is its comm value, and helpfully\napplication developers have an opportunity to change it in runtime.\nReporting about such events via proc connector allows to fine-grain\nmonitoring and control potentials, for instance a process control daemon\nlistening to proc connector and following comm value policies can place\nspecific threads to assigned cgroup partitions.\n\nIt might be possible to achieve a pale partial one-shot likeness without\nthis update, if an application changes comm value of a thread generator\ntask beforehand, then a new thread is cloned, and after that proc\nconnector listener gets the fork event and reads new thread\u0027s comm value\nfrom procfs stat file, but this change visibly simplifies and extends the\nmatter.\n\nSigned-off-by: Vladimir Zapolskiy \u003cvzapolskiy@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53b615ccca567ada1931eb04ad0614ac150c14a3",
      "tree": "f09512d0dabaeff71b9ee66c26ca02cae2947873",
      "parents": [
        "ad3c36a534bc7b945d7bffdda1c62e13bf93489a"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Tue Sep 27 22:53:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Sep 27 22:53:27 2011 +0200"
      },
      "message": "PM / Runtime: Introduce trace points for tracing rpm_* functions\n\nThis patch introduces 3 trace points to prepare for tracing\nrpm_idle/rpm_suspend/rpm_resume functions, so we can use these\ntrace points to replace the current dev_dbg().\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bfb9035c98906aafcd3cf22694fba2550997bf53",
      "tree": "82256f42b5be76c49c0009b96b0641b34a8f16d3",
      "parents": [
        "395cf9691d72173d8cdaa613c5f0255f993af94b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Aug 17 06:58:04 2011 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "treewide: Correct spelling of successfully in comments\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    }
  ],
  "next": "f4cfb33ed980085b14a8f376281edb2e270f0244"
}
