Linus Torvalds
033d9959ed
Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
...
Pull workqueue changes from Tejun Heo:
"This is workqueue updates for v3.7-rc1. A lot of activities this
round including considerable API and behavior cleanups.
* delayed_work combines a timer and a work item. The handling of the
timer part has always been a bit clunky leading to confusing
cancelation API with weird corner-case behaviors. delayed_work is
updated to use new IRQ safe timer and cancelation now works as
expected.
* Another deficiency of delayed_work was lack of the counterpart of
mod_timer() which led to cancel+queue combinations or open-coded
timer+work usages. mod_delayed_work[_on]() are added.
These two delayed_work changes make delayed_work provide interface
and behave like timer which is executed with process context.
* A work item could be executed concurrently on multiple CPUs, which
is rather unintuitive and made flush_work() behavior confusing and
half-broken under certain circumstances. This problem doesn't
exist for non-reentrant workqueues. While non-reentrancy check
isn't free, the overhead is incurred only when a work item bounces
across different CPUs and even in simulated pathological scenario
the overhead isn't too high.
All workqueues are made non-reentrant. This removes the
distinction between flush_[delayed_]work() and
flush_[delayed_]_work_sync(). The former is now as strong as the
latter and the specified work item is guaranteed to have finished
execution of any previous queueing on return.
* In addition to the various bug fixes, Lai redid and simplified CPU
hotplug handling significantly.
* Joonsoo introduced system_highpri_wq and used it during CPU
hotplug.
There are two merge commits - one to pull in IRQ safe timer from
tip/timers/core and the other to pull in CPU hotplug fixes from
wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."
Fixed a number of trivial conflicts, but the more interesting conflicts
were silent ones where the deprecated interfaces had been used by new
code in the merge window, and thus didn't cause any real data conflicts.
Tejun pointed out a few of them, I fixed a couple more.
* 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
workqueue: remove @delayed from cwq_dec_nr_in_flight()
workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
workqueue: use __cpuinit instead of __devinit for cpu callbacks
workqueue: rename manager_mutex to assoc_mutex
workqueue: WORKER_REBIND is no longer necessary for idle rebinding
workqueue: WORKER_REBIND is no longer necessary for busy rebinding
workqueue: reimplement idle worker rebinding
workqueue: deprecate __cancel_delayed_work()
workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
workqueue: use mod_delayed_work() instead of __cancel + queue
workqueue: use irqsafe timer for delayed_work
workqueue: clean up delayed_work initializers and add missing one
workqueue: make deferrable delayed_work initializer names consistent
workqueue: cosmetic whitespace updates for macro definitions
workqueue: deprecate system_nrt[_freezable]_wq
workqueue: deprecate flush[_delayed]_work_sync()
...
2012-10-02 09:54:49 -07:00
..
whci
USB: whci-hcd: fix NULL dereference on allocation failure
2012-08-15 15:17:39 -07:00
alchemy-common.c
MIPS: Alchemy: Au1300 SoC support
2011-12-07 22:02:05 +00:00
bcma-hcd.c
usb/bcma: Add missing #include <linux/slab.h>
2012-04-23 13:22:00 -07:00
ehci-atmel.c
drivers/usb/host/ehci-atmel.c: use devm_ functions
2012-08-10 12:01:32 -07:00
ehci-au1xxx.c
drivers/usb/host/ehci-au1xxx.c: use devm_ functions
2012-08-10 12:01:33 -07:00
ehci-cns3xxx.c
drivers/usb/host/ehci-cns3xxx.c: use devm_ functions
2012-08-10 12:01:33 -07:00
ehci-dbg.c
USB: EHCI: remove useless test
2012-09-21 09:37:53 -07:00
ehci-fsl.c
powerpc/usb: remove checking PHY_CLK_VALID for UTMI PHY
2012-09-24 13:42:45 -07:00
ehci-fsl.h
powerpc/usb: fix bug of CPU hang when missing USB PHY clock
2012-09-05 16:52:08 -07:00
ehci-grlib.c
drivers/usb/host/ehci-grlib.c: use devm_ functions
2012-08-10 12:01:33 -07:00
ehci-hcd.c
USB EHCI/Xen: propagate controller reset information to hypervisor
2012-09-18 17:20:48 +01:00
ehci-hub.c
USB EHCI/Xen: propagate controller reset information to hypervisor
2012-09-18 17:20:48 +01:00
ehci-ixp4xx.c
drivers/usb/host/ehci-ixp4xx.c: use devm_ functions
2012-08-10 12:01:33 -07:00
ehci-lpm.c
ehci-ls1x.c
USB/host: Cleanup unneccessary irq disable code
2012-09-10 20:22:35 -07:00
ehci-mem.c
USB: EHCI: use hrtimer for (s)iTD deallocation
2012-07-16 16:54:25 -07:00
ehci-msm.c
drivers/usb/host/ehci-msm.c: use devm_ functions
2012-08-10 12:01:33 -07:00
ehci-mv.c
drivers/usb/host/ehci-mv.c: use devm_ functions
2012-08-10 12:01:34 -07:00
ehci-mxc.c
ARM: soc: multiplatform enablement
2012-10-01 19:11:38 -07:00
ehci-octeon.c
EHCI: centralize controller initialization
2012-07-09 13:35:05 -07:00
ehci-omap.c
OMAP: USB : Fix the EHCI enumeration and core retention issue
2012-08-10 11:49:12 -07:00
ehci-orion.c
ARM: orion: move platform_data definitions
2012-09-19 17:42:17 +02:00
ehci-pci.c
USB: EHCI: use hrtimer for the periodic schedule
2012-07-16 16:53:16 -07:00
ehci-platform.c
drivers/usb/host/ehci-platform.c: fix error return code
2012-08-15 15:17:40 -07:00
ehci-pmcmsp.c
EHCI: centralize controller initialization
2012-07-09 13:35:05 -07:00
ehci-ppc-of.c
drivers/usb/host/ehci-ppc-of.c: use devm_ functions
2012-08-10 12:04:09 -07:00
ehci-ps3.c
EHCI: centralize controller initialization
2012-07-09 13:35:05 -07:00
ehci-q.c
EHCI: Update qTD next pointer in QH overlay region during unlink
2012-09-10 16:01:37 -07:00
ehci-s5p.c
ARM: soc: multiplatform enablement
2012-10-01 19:11:38 -07:00
ehci-sched.c
USB: EHCI: simplify isochronous scanning
2012-07-16 16:56:47 -07:00
ehci-sead3.c
Merge v3.6-rc3 into usb-next
2012-08-27 07:15:30 -07:00
ehci-sh.c
drivers/usb/host/ehci-sh.c: use devm_ functions
2012-08-10 12:04:09 -07:00
ehci-spear.c
EHCI: centralize controller initialization
2012-07-09 13:35:05 -07:00
ehci-sysfs.c
USB: EHCI: Allow users to override 80% max periodic bandwidth
2011-07-08 14:51:33 -07:00
ehci-tegra.c
usb: xceiv: patches for v3.7 merge window
2012-09-11 13:48:01 -07:00
ehci-tilegx.c
usb: add host support for the tilegx architecture
2012-07-18 16:40:29 -04:00
ehci-timer.c
USB: EHCI: convert warning messages to debug-level
2012-09-21 09:37:53 -07:00
ehci-vt8500.c
ARM: vt8500: Update vt8500-ehci driver to support device tree.
2012-08-16 14:00:37 -07:00
ehci-w90x900.c
EHCI: centralize controller initialization
2012-07-09 13:35:05 -07:00
ehci-xilinx-of.c
drivers/usb/host/ehci-xilinx-of.c: use devm_ functions
2012-08-10 12:04:10 -07:00
ehci-xls.c
usb: host: tegra: pass correct pointer in ehci_setup()
2012-07-16 17:13:39 -07:00
ehci.h
USB: EHCI: resolve some unlikely races
2012-07-16 16:56:48 -07:00
fhci-dbg.c
USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h
2012-06-26 19:42:11 -07:00
fhci-hcd.c
USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h
2012-06-26 19:42:11 -07:00
fhci-hub.c
USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h
2012-06-26 19:42:11 -07:00
fhci-mem.c
fhci-q.c
fhci-sched.c
USB: FHCI: use list_move_tail instead of list_del/list_add_tail
2012-09-05 16:55:18 -07:00
fhci-tds.c
USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h
2012-06-26 19:42:11 -07:00
fhci.h
USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h
2012-06-26 19:42:11 -07:00
fsl-mph-dr-of.c
fsl/usb: Add support for USB controller version 2.4
2012-09-21 09:43:55 -07:00
hwa-hc.c
Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
2012-01-09 12:09:47 -08:00
imx21-dbg.c
usb: Fix typo in imx21-dbg.c
2012-02-13 14:32:34 -08:00
imx21-hcd.c
usb: imx21-hcd.c: Use clk_prepare_enable/clk_disable_unprepare
2012-06-12 13:31:03 +03:00
imx21-hcd.h
ARM: imx: move platform_data definitions
2012-09-14 11:17:21 +02:00
isp116x-hcd.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
isp116x.h
isp1362-hcd.c
USB: isp1362-hcd.c: usb message always saved in case of underrun
2012-08-10 11:49:13 -07:00
isp1362.h
isp1760-hcd.c
isp1760-hcd: fix possible memory leak if urb could not be enqueued
2012-04-18 13:51:19 -07:00
isp1760-hcd.h
usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.
2011-10-19 13:29:06 -07:00
isp1760-if.c
isp1760-if: make module unloads correctly
2012-04-18 13:50:44 -07:00
Kconfig
ARM: soc: general cleanups
2012-10-01 18:19:05 -07:00
Makefile
USB: Add driver for the ssb bus
2012-04-18 13:43:30 -07:00
octeon2-common.c
usb: Configure octeon2 glue logic for proper uSOF cycle period.
2011-05-03 10:09:32 -07:00
ohci-at91.c
USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq
2012-09-24 10:42:25 -07:00
ohci-au1xxx.c
usb: [MIPS] fix unresolved err() reference in host/ohci-au1xxx.c
2012-05-01 18:36:09 -04:00
ohci-cns3xxx.c
USB: ohci-cns3xxx.c: remove err() usage
2012-04-27 11:24:40 -07:00
ohci-da8xx.c
ARM: davinci: move platform_data definitions
2012-09-14 11:16:54 +02:00
ohci-dbg.c
USB: ohci-dbg.c: remove dbg() usage
2012-05-01 21:33:37 -07:00
ohci-ep93xx.c
USB: ohci-ep93xx.c: remove dbg() usage
2012-05-01 21:33:38 -07:00
ohci-exynos.c
ARM: samsung: move platform_data definitions
2012-09-19 17:42:18 +02:00
ohci-hcd.c
Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2012-10-02 09:54:49 -07:00
ohci-hub.c
USB: ohci-hub: Mark ohci_finish_controller_resume() as __maybe_unused
2012-06-13 17:26:11 -07:00
ohci-jz4740.c
ohci-mem.c
ohci-nxp.c
ARM: soc: general cleanups
2012-10-01 18:19:05 -07:00
ohci-octeon.c
USB: irq: Remove IRQF_DISABLED
2011-09-18 01:39:36 -07:00
ohci-omap.c
ARM: OMAP1: Make plat/mux.h omap1 only
2012-09-20 14:54:57 -07:00
ohci-omap3.c
ARM: OMAP: USBHOST: Replace usbhs core driver APIs by Runtime pm APIs
2011-12-16 04:29:57 -07:00
ohci-pci.c
usb: add support for STA2X11 host driver
2012-01-24 14:15:37 -08:00
ohci-platform.c
drivers/usb/host/ohci-platform.c: fix error return code
2012-08-15 15:17:40 -07:00
ohci-pnx8550.c
usb: [MIPS] fix unresolved err() reference in host/ohci-pnx8550.c
2012-05-01 18:36:09 -04:00
ohci-ppc-of.c
USB: ohci-ppc-of.c: remove err() usage
2012-04-27 11:24:42 -07:00
ohci-ppc-soc.c
USB: ohci-ppc-soc.c: remove err() usage
2012-04-27 11:24:42 -07:00
ohci-ps3.c
USB: ohci-ps3.c: remove err() usage
2012-04-27 11:24:43 -07:00
ohci-pxa27x.c
ARM: soc: multiplatform enablement
2012-10-01 19:11:38 -07:00
ohci-q.c
OHCI: remove uses of hcd->state
2011-11-18 10:51:00 -08:00
ohci-s3c2410.c
ARM: samsung: move platform_data definitions
2012-09-19 17:42:18 +02:00
ohci-sa1111.c
USB: ohci-sa1111.c: remove dbg() usage
2012-05-01 21:33:39 -07:00
ohci-sh.c
USB: ohci-sh.c: remove err() usage
2012-04-27 11:24:44 -07:00
ohci-sm501.c
OHCI: remove uses of hcd->state
2011-11-18 10:51:00 -08:00
ohci-spear.c
USB: ehci: ohci: Add clk_{un}prepare() support
2012-04-18 14:33:43 -07:00
ohci-tilegx.c
usb: add host support for the tilegx architecture
2012-07-18 16:40:29 -04:00
ohci-tmio.c
USB: ohci-tmio.c: remove err() usage
2012-04-27 11:24:44 -07:00
ohci-xls.c
USB/host: Cleanup unneccessary irq disable code
2012-09-10 20:22:35 -07:00
ohci.h
USB: move transceiver from ehci_hcd and ohci_hcd to hcd and rename it as phy
2012-06-13 12:38:36 -07:00
oxu210hp-hcd.c
USB: oxu210hp-hcd.c: remove dbg() usage
2012-05-01 21:33:43 -07:00
oxu210hp.h
pci-quirks.c
xhci: Make handover code more robust
2012-09-05 12:07:17 -07:00
pci-quirks.h
usb: host: xhci: fix compilation error for non-PCI based stacks
2012-09-05 12:26:11 -07:00
r8a66597-hcd.c
usb: move children to struct usb_port
2012-09-10 12:59:42 -07:00
r8a66597.h
usb/host/r8a66597: remove conditional compilation of clk code
2012-07-30 17:25:12 -07:00
sl811-hcd.c
drivers/usb/host/sl811-hcd.c: removes unnecessary semicolon
2012-09-13 21:48:48 -07:00
sl811.h
sl811_cs.c
pcmcia: Convert pcmcia_device_id declarations to const
2011-05-06 07:46:22 +02:00
ssb-hcd.c
usb/ssb: Add missing #include <linux/slab.h>
2012-04-23 13:22:00 -07:00
u132-hcd.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
uhci-debug.c
USB: UHCI: Add support for big endian descriptors
2011-05-19 16:43:20 -07:00
uhci-grlib.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
uhci-hcd.c
ARM: vt8500: Add support for UHCI companion controller
2012-08-16 14:00:37 -07:00
uhci-hcd.h
USB: UHCI: Add support for big endian descriptors
2011-05-19 16:43:20 -07:00
uhci-hub.c
UHCI: hub_status_data should indicate if ports are resuming
2012-04-09 15:43:21 -07:00
uhci-pci.c
USB: UHCI: Move PCI specific functions to uhci-pci.c
2011-05-06 18:24:00 -07:00
uhci-platform.c
ARM: vt8500: Add support for UHCI companion controller
2012-08-16 14:00:37 -07:00
uhci-q.c
usb: fix number of mapped SG DMA entries
2011-12-09 16:18:19 -08:00
xhci-dbg.c
xHCI: correct to print the true HSEE of USBCMD
2012-04-10 15:21:52 -07:00
xhci-ext-caps.h
xHCI: Correct the #define XHCI_LEGACY_DISABLE_SMI
2012-04-11 08:31:06 -07:00
xhci-hub.c
Merge 3.6-rc6 into usb-next
2012-09-16 20:42:46 -07:00
xhci-mem.c
xHCI: add aborting command ring function
2012-09-13 15:49:28 -07:00
xhci-pci.c
xhci: Intel Panther Point BEI quirk.
2012-09-25 15:19:34 -07:00
xhci-plat.c
usb: host: xhci-plat: use ioremap_nocache
2012-09-05 12:07:19 -07:00
xhci-ring.c
xhci: Intel Panther Point BEI quirk.
2012-09-25 15:19:34 -07:00
xhci.c
usb: host: xhci: Fix Null pointer dereferencing with 71c731a for non-x86 systems
2012-09-24 12:11:10 -07:00
xhci.h
xhci: Intel Panther Point BEI quirk.
2012-09-25 15:19:34 -07:00