linux/drivers/staging
Evgeniy Polyakov 6694b31ac1 Staging: dst: thread pool.
Kernel currently does not allow to queue work into some entity which
will perform it in the process context and have simple way to extend
number of worker and work with them not as separate objects, but with
pool as a whole. So thread pool model was implemented in the DST.

Thread pool abstraction allows to schedule a work to be performed
on behalf of kernel thread. One does not operate with threads itself,
instead user provides setup and cleanup callbacks for thread pool itself,
and action and cleanup callbacks for each submitted work.

Each worker has private data initialized at creation time and data,
provided by user at scheduling time.

When action is being performed, thread can not be used by other users,
instead they will sleep until there is free thread to pick their work.

Thread pool is used for crypto processing of incoming and outgoing IO
requests to reduce the overall overhead.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:32 -07:00
..
agnx Staging: agnx: Fixup xmit.c checkpatch warnings 2009-04-03 14:53:27 -07:00
altpciechdma Staging: altera: fix printk format warnings 2009-04-03 14:53:28 -07:00
android Staging: Android: fix more printk formats 2009-04-03 14:53:30 -07:00
asus_oled Staging: asus_oled: do not use assignment in if condition 2009-04-03 14:53:15 -07:00
at76_usb Staging: at76_usb: convert to use linux/ieee80211.h 2009-04-03 14:53:28 -07:00
comedi Staging: remove duplicated #include's 2009-04-03 14:53:26 -07:00
dst Staging: dst: thread pool. 2009-04-03 14:53:32 -07:00
echo Staging: echo: Lindent drivers/staging/echo 2009-01-06 13:52:05 -08:00
epl staging: __FUNCTION__ is gcc-specific, use __func__ 2009-01-07 15:48:54 -08:00
et131x Staging: et131x: list usage cleanup 2009-04-03 14:53:28 -07:00
frontier Staging: frontier: Remove unused components of the alphatrack/tranzport sysfs interface. 2009-04-03 14:53:32 -07:00
go7007 Staging: go7007: fix build error 2009-04-03 14:53:27 -07:00
me4000 Staging: me4000: make file_operations const 2009-04-03 14:53:25 -07:00
meilhaus Staging: meilhaus: some checkpatch.pl cleanup 2009-04-03 14:53:28 -07:00
mimio Staging: mimio: depends on INPUT 2009-04-03 14:53:29 -07:00
otus Staging: otus: remove old irqreturn_t definition 2009-04-03 14:53:29 -07:00
panel Staging: panel: fix oops on panel_cleanup_module 2009-02-27 12:56:24 -08:00
poch Staging: poch: fix verification of memory area 2009-01-28 15:49:06 -08:00
rspiusb Staging: rspiusb: use USB API functions rather than constants 2009-04-03 14:53:28 -07:00
rt2860 Staging: rt2860: Remove dependency on CFLAG RT2860 2009-04-03 14:53:31 -07:00
rt2870 Staging: rt2870: Removal of kernel_thread() API 2009-04-03 14:53:31 -07:00
rtl8187se Staging: rtl8187se: fix \r\n line ends 2009-04-03 14:53:30 -07:00
slicoss Staging: slicoss: slichw.h cleanup 2009-04-03 14:53:08 -07:00
sxg Staging: sxg: Add support to download the firmware using request_firmware() 2009-04-03 14:53:14 -07:00
usbip Staging: usbip: kmem_cache_alloc/memset -> kmem_cache_zalloc 2009-04-03 14:53:28 -07:00
winbond Staging: w35und: remove gl_80211.h header 2009-04-03 14:53:16 -07:00
wlan-ng Staging: wlan-ng: block ioctls until card fully initialised 2009-04-03 14:53:24 -07:00
Kconfig Staging: benet: remove driver now that it is merged in drivers/net/ 2009-03-18 09:22:17 -07:00
Makefile Staging: benet: remove driver now that it is merged in drivers/net/ 2009-03-18 09:22:17 -07:00
staging.c Staging: workaround build system bug 2008-10-13 14:32:52 -07:00