linux_dsm_epyc7002/drivers/media/pci
Nikolaus Schulz 30ad64b8ac [media] dvb: push down ioctl lock in dvb_usercopy
Since most dvb ioctls wrap their real work with dvb_usercopy, the static mutex
used in dvb_usercopy effectively is a global lock for dvb ioctls.
Unfortunately, frontend ioctls can be blocked by the frontend thread for
several seconds; this leads to unacceptable lock contention.  Mitigate that by
pushing the mutex from dvb_usercopy down to the individual, device specific
ioctls.
There are 10 such ioctl functions using dvb_usercopy, either calling it
directly, or via the trivial wrapper dvb_generic_ioctl. The following already
employ their own locking and look safe:
    • dvb_demux_ioctl           (as per dvb_demux_do_ioctl)
    • dvb_dvr_ioctl             (as per dvb_dvr_do_ioctl)
    • dvb_osd_ioctl             (as per single non-trivial callee)
    • fdtv_ca_ioctl             (as per callees)
    • dvb_frontend_ioctl
The following functions do not, and are thus changed to use a device specific
mutex:
    • dvb_net_ioctl             (as per dvb_net_do_ioctl)
    • dvb_ca_en50221_io_ioctl   (as per dvb_ca_en50221_io_do_ioctl)
    • dvb_video_ioctl
    • dvb_audio_ioctl
    • dvb_ca_ioctl

Signed-off-by: Nikolaus Schulz <schulz@macnetix.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-12-27 15:44:21 -02:00
..
b2c2 [media] Kconfig: Fix b2c2 common code selection 2012-08-21 08:38:31 -03:00
bt8xx [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
cx18 [media] cx18: get rid of warning: no previous prototype 2012-10-27 17:58:14 -02:00
cx88 [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
cx23885 [media] cx23885: add RC support for MyGica X8507 2012-12-23 19:42:40 -02:00
cx25821 [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
ddbridge [media] ddbridge: fix error handling in module_init_ddbridge() 2012-09-11 15:29:00 -03:00
dm1105 [media] drivers/media/pci/dm1105/dm1105.c: fix error return code 2012-11-22 14:20:28 -02:00
ivtv [media] ivtv: ivtv-driver: Replace 'flush_work_sync()' 2012-12-20 15:22:30 -02:00
mantis [media] mantis: get rid of warning: no previous prototype 2012-10-27 18:05:22 -02:00
meye [media] v4l: Tell user space we're using monotonic timestamps 2012-12-21 11:20:51 -02:00
ngene [media] drivers/media/pci/ngene/ngene-core.c: fix error return code 2012-11-22 14:20:25 -02:00
pluto2
pt1 [media] dvb_frontend: add multistream support 2012-09-23 20:59:32 -03:00
saa7134 [media] drivers/media/pci/saa7134/saa7134-dvb.c: Test if videobuf_dvb_get_frontend return NULL 2012-12-21 17:43:22 -02:00
saa7146 [media] v4l2: make vidioc_s_audio const 2012-09-26 10:50:12 -03:00
saa7164 [media] saa7134,saa7164: warning: comparison of unsigned fixes 2012-10-28 07:38:48 -02:00
sta2x11 [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
ttpci [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
zoran [media] v4l: Tell user space we're using monotonic timestamps 2012-12-21 11:20:51 -02:00
Kconfig [media] Add missing help for some menuconfig items 2012-08-21 08:17:37 -03:00
Makefile [media] Fix some Makefile rules 2012-08-16 19:55:03 -03:00