> On Sunday 14 November 2010 23:48:51 Hans Verkuil wrote: >> On Sunday, November 14, 2010 22:53:29 Arnd Bergmann wrote: >> > On Sunday 14 November 2010, Hans Verkuil wrote: >> > > This patch series converts 24 v4l drivers to unlocked_ioctl. These >> are low >> > > hanging fruit but you have to start somewhere :-) >> > > >> > > The first patch replaces mutex_lock in the V4L2 core by >> mutex_lock_interruptible >> > > for most fops. >> > >> > The patches all look good as far as I can tell, but I suppose the >> title is >> > obsolete now that the BKL has been replaced with a v4l-wide mutex, >> which >> > is what you are removing in the series. >> >> I guess I have to rename it, even though strictly speaking the branch >> I'm >> working in doesn't have your patch merged yet. >> >> BTW, replacing the BKL with a static mutex is rather scary: the BKL >> gives up >> the lock whenever you sleep, the mutex doesn't. Since sleeping is very >> common >> in V4L (calling VIDIOC_DQBUF will typically sleep while waiting for a >> new frame >> to arrive), this will make it impossible for another process to access >> any >> v4l2 device node while the ioctl is sleeping. >> >> I am not sure whether that is what you intended. Or am I missing >> something? > > I was aware that something like this could happen, but I apparently > misjudged how big the impact is. The general pattern for ioctls is that > those that get called frequently do not sleep, so it can almost always be > called with a mutex held. True in general, but most definitely not true for V4L. The all important VIDIOC_DQBUF ioctl will almost always sleep. Mauro, I think this patch will have to be reverted and we just have to do the hard work ourselves. Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by Cisco -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html