aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2010-11-26 06:47:28 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-12-01 20:10:19 -0200
commit879aa24d6394aa04b690a600a41ff500441ad384 (patch)
tree024886e8a84ab3f7e88c1e2c5aeceae28cc344bb /include/media
parent[media] v4l2-dev: use mutex_lock_interruptible instead of plain mutex_lock (diff)
downloadlinux-dev-879aa24d6394aa04b690a600a41ff500441ad384.tar.xz
linux-dev-879aa24d6394aa04b690a600a41ff500441ad384.zip
[media] V4L: improve the BKL replacement heuristic
The BKL replacement mutex had some serious performance side-effects on V4L drivers. It is replaced by a better heuristic that works around the worst of the side-effects. Read the v4l2-dev.c comments for the whole sorry story. This is a temporary measure only until we can convert all v4l drivers to use unlocked_ioctl. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/v4l2-device.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h
index 6648036b728d..b16f307d471a 100644
--- a/include/media/v4l2-device.h
+++ b/include/media/v4l2-device.h
@@ -51,6 +51,8 @@ struct v4l2_device {
unsigned int notification, void *arg);
/* The control handler. May be NULL. */
struct v4l2_ctrl_handler *ctrl_handler;
+ /* BKL replacement mutex. Temporary solution only. */
+ struct mutex ioctl_lock;
};
/* Initialize v4l2_dev and make dev->driver_data point to v4l2_dev.