linux/drivers
Linus Torvalds 68380b5813 Add "run_scheduled_work()" workqueue function
This allows workqueue users to run just their own pending work, rather
than wait for the whole workqueue to finish running.  This solves the
deadlock with networking libphy that was due to other workqueue entries
possibly needing a lock that was held by the routine that wanted to
flush its own work.

It's not wonderful: if you absolutely need to synchronize with the work
function having been executed, any user strictly speaking should have
its own completion tracking logic, since when we run things explicitly
by hand, the generic workqueue layer can no longer help us synchronize.

Also, this is strictly only usable for work that has been scheduled
without any delayed timers.  You can not mix the new interface with
schedule_delayed_work().

But it's better than what we had currently.

Acked-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 09:28:19 -08:00
..
acorn
acpi
amba
ata
atm Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
base Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
block Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
bluetooth [PATCH] lockdep: annotate bcsp driver 2006-12-07 08:39:34 -08:00
cdrom [PATCH] drivers/cdrom/*: trivial vsnprintf() conversion 2006-12-07 08:39:35 -08:00
char [PATCH] IPMI: fix PROC_FS=n warnings 2006-12-07 08:39:48 -08:00
clocksource
connector
cpufreq [PATCH] hotplug CPU: clean up hotcpu_notifier() use 2006-12-07 08:39:39 -08:00
crypto
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
eisa
fc4
firmware
hwmon
i2c
ide [PATCH] winbond IDE depends on IDEDMA 2006-12-07 08:39:43 -08:00
ieee1394 [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
infiniband [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
input [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
isdn [PATCH] make 1-bit bitfields unsigned 2006-12-07 08:39:38 -08:00
leds [PATCH] PCEngines WRAP LED Support 2006-12-07 08:39:36 -08:00
macintosh [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
mca
md Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
media [PATCH] make 1-bit bitfields unsigned 2006-12-07 08:39:38 -08:00
message [PATCH] kernel-doc: fix fusion and i2o docs 2006-12-07 08:39:40 -08:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] tifm: fix NULL ptr and style 2006-12-07 08:39:33 -08:00
mmc
mtd [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
net Add "run_scheduled_work()" workqueue function 2006-12-07 09:28:19 -08:00
nubus
oprofile
parisc
parport [PATCH] parport: section mismatches with HOTPLUG=n 2006-12-07 08:39:40 -08:00
pci [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
pcmcia [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
pnp Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
ps3
rapidio
rtc [PATCH] rtc: ds1743 support 2006-12-07 08:39:43 -08:00
s390 [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
sbus
scsi [PATCH] ide_scsi: allow it to be used for non CD only 2006-12-07 08:39:43 -08:00
serial [PATCH] amba-pl010: clear error flags on rx error 2006-12-07 08:39:44 -08:00
sh
sn
spi [PATCH] spi: check platform_device_register_simple() error 2006-12-07 08:39:42 -08:00
tc
telephony
usb [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
video [PATCH] Trivial cleanup in the PCI IDs for the CS5535 2006-12-07 08:39:44 -08:00
w1 [PATCH] better CONFIG_W1_SLAVE_DS2433_CRC handling 2006-12-07 08:39:43 -08:00
zorro
Kconfig
Makefile