Re: [PATCH,RFC] Drop non-unlocked ioctl support in v4l2-dev.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

On Thursday 06 August 2009 17:16:08 Hans Verkuil wrote:
> Hi Laurent,
>
> > Hi everybody,
> >
> > this patch moves the BKL one level down by removing the non-unlocked
> > ioctl in v4l2-dev.c and calling lock_kernel/unlock_kernel in the
> > unlocked_ioctl handler if the driver only supports locked ioctl.
> >
> > Opinions/comments/applause/kicks ?
>
> I've been thinking about this as well, and my idea was to properly
> implement this by letting the v4l core serialize ioctls if the driver
> doesn't do its own serialization (either through mutexes or lock_kernel).

A v4l-specific (or even device-specific) mutex would of course be better than 
the BKL.

Are there file operations other than ioctl that are protected by the BKL ? 
Blindly replacing the BKL by a mutex on ioctl would then introduce race 
conditions.

> The driver can just set a flag in video_device if it wants to do
> serialization manually, otherwise the core will serialize using a mutex
> and we should be able to completely remove the BKL from all v4l drivers.

Whether the driver fills v4l2_operations::ioctl or 
v4l2_operations::unlocked_ioctl can be considered as such a flag :-)

Many drivers are currently using the BKL in an unlocked_ioctl handler. I'm not 
sure it would be a good idea to move the BKL back to the v4l2 core, as the 
long term goal is to remove it completely and use fine-grain driver-level 
locking.

Regards,

Laurent Pinchart

--
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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux