linux_dsm_epyc7002/drivers/media/pci/ttpci
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
..
av7110_av.c [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
av7110_av.h
av7110_ca.c [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
av7110_ca.h
av7110_hw.c
av7110_hw.h
av7110_ipack.c
av7110_ipack.h
av7110_ir.c
av7110_v4l.c [media] v4l2: make vidioc_s_audio const 2012-09-26 10:50:12 -03:00
av7110.c [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
av7110.h [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
budget-av.c [media] drivers/media/pci/ttpci/budget-av.c: fix error return code 2012-11-22 13:41:31 -02:00
budget-ci.c
budget-core.c
budget-patch.c
budget.c
budget.h
Kconfig [media] ttpci: Fix a missing Kconfig dependency 2012-12-27 14:47:59 -02:00
Makefile
ttpci-eeprom.c
ttpci-eeprom.h