linux/drivers/media/usb/dvb-usb-v2
NeilBrown 743162013d sched: Remove proliferation of wait_on_bit() action functions
The current "wait_on_bit" interface requires an 'action'
function to be provided which does the actual waiting.
There are over 20 such functions, many of them identical.
Most cases can be satisfied by one of just two functions, one
which uses io_schedule() and one which just uses schedule().

So:
 Rename wait_on_bit and        wait_on_bit_lock to
        wait_on_bit_action and wait_on_bit_lock_action
 to make it explicit that they need an action function.

 Introduce new wait_on_bit{,_lock} and wait_on_bit{,_lock}_io
 which are *not* given an action function but implicitly use
 a standard one.
 The decision to error-out if a signal is pending is now made
 based on the 'mode' argument rather than being encoded in the action
 function.

 All instances of the old wait_on_bit and wait_on_bit_lock which
 can use the new version have been changed accordingly and their
 action functions have been discarded.
 wait_on_bit{_lock} does not return any specific error code in the
 event of a signal so the caller must check for non-zero and
 interpolate their own error code as appropriate.

The wait_on_bit() call in __fscache_wait_on_invalidate() was
ambiguous as it specified TASK_UNINTERRUPTIBLE but used
fscache_wait_bit_interruptible as an action function.
David Howells confirms this should be uniformly
"uninterruptible"

The main remaining user of wait_on_bit{,_lock}_action is NFS
which needs to use a freezer-aware schedule() call.

A comment in fs/gfs2/glock.c notes that having multiple 'action'
functions is useful as they display differently in the 'wchan'
field of 'ps'. (and /proc/$PID/wchan).
As the new bit_wait{,_io} functions are tagged "__sched", they
will not show up at all, but something higher in the stack.  So
the distinction will still be visible, only with different
function names (gds2_glock_wait versus gfs2_glock_dq_wait in the
gfs2/glock.c case).

Since first version of this patch (against 3.15) two new action
functions appeared, on in NFS and one in CIFS.  CIFS also now
uses an action function that makes the same freezer aware
schedule call as NFS.

Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: David Howells <dhowells@redhat.com> (fscache, keys)
Acked-by: Steven Whitehouse <swhiteho@redhat.com> (gfs2)
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Steve French <sfrench@samba.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20140707051603.28027.72349.stgit@notabene.brown
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-07-16 15:10:39 +02:00
..
af9015.c [media] af9015: Don't use dynamic static allocation 2013-11-08 09:45:45 -02:00
af9015.h [media] af9015: do not use buffers from stack for usb_bulk_msg() 2013-03-18 16:51:17 -03:00
af9035.c [media] af9033: Don't export functions for the hardware filter 2014-03-14 20:26:59 -03:00
af9035.h [media] af9033: Don't export functions for the hardware filter 2014-03-14 20:26:59 -03:00
anysee.c [media] anysee: fix non-working E30 Combo Plus DVB-T 2013-12-20 14:24:20 -02:00
anysee.h [media] anysee: do not use buffers from stack for usb_bulk_msg() 2013-03-18 16:54:26 -03:00
au6610.c [media] au6610: use Kernel dev_foo() logging 2012-09-23 20:50:03 -03:00
au6610.h
az6007.c [media, edac] Change my email address 2014-02-07 08:03:07 -02:00
ce6230.c [media] ce6230: use Kernel dev_foo() logging 2012-09-23 20:50:42 -03:00
ce6230.h [media] dvb_usb_v2: use dvb_usb_dbg_usb_control_msg() 2012-09-15 11:35:59 -03:00
dvb_usb_common.h
dvb_usb_core.c sched: Remove proliferation of wait_on_bit() action functions 2014-07-16 15:10:39 +02:00
dvb_usb_urb.c [media] dvb_usb_v2: make checkpatch.pl happy 2013-03-23 09:59:56 -03:00
dvb_usb.h [media] dvb_usb_v2: get rid of deferred probe 2013-08-18 07:55:06 -03:00
ec168.c [media] ec168: fix error return code 2014-01-07 09:19:03 -02:00
ec168.h [media] ec168: declare MODULE_FIRMWARE 2012-09-23 20:08:21 -03:00
gl861.c [media] gl861: use Kernel dev_foo() logging 2012-09-23 20:50:13 -03:00
gl861.h
Kconfig [media] rtl28xxu: depends on I2C_MUX 2014-03-14 05:35:23 -03:00
lmedm04.c [media] lme2510: do not use bInterfaceNumber from dvb_usb_v2 2013-08-18 07:54:37 -03:00
lmedm04.h
Makefile [media] rtl28xxu: do not hard depend on staging SDR module 2014-04-15 09:48:27 -03:00
mxl111sf-demod.c [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-demod.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-gpio.c [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-gpio.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-i2c.c [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-i2c.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-phy.c [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-phy.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-reg.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-tuner.c [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
mxl111sf-tuner.h [media] mxl111sf: Fix compile when CONFIG_DVB_USB_MXL111SF is unset 2014-02-04 06:37:32 -02:00
mxl111sf.c [media] mxl111sf: Fix unintentional garbage stack read 2014-02-04 06:36:42 -02:00
mxl111sf.h [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
rtl28xxu.c [media] rtl28xxu: add [1b80:d3af] Sveon STV27 2014-05-13 20:25:47 -03:00
rtl28xxu.h [media] rtl28xxu: use muxed RTL2832 I2C adapters for E4000 and RTL2832_SDR 2014-03-14 05:35:24 -03:00
usb_urb.c [media] dvb_usb_v2: make checkpatch.pl happy 2013-03-23 09:59:56 -03:00