From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>, linux-media@vger.kernel.org
Subject: Re: V4L-DVB drivers and BKL
Date: Thu, 01 Apr 2010 11:12:50 -0300 [thread overview]
Message-ID: <4BB4A9E2.9090706@redhat.com> (raw)
In-Reply-To: <201004011411.02344.laurent.pinchart@ideasonboard.com>
Laurent Pinchart wrote:
> Hi Hans,
>
> On Thursday 01 April 2010 13:11:51 Hans Verkuil wrote:
>> On Thursday 01 April 2010 11:23:30 Laurent Pinchart wrote:
>>> On Thursday 01 April 2010 10:01:10 Hans Verkuil wrote:
>>>> Hi all,
>>>>
>>>> I just read on LWN that the core kernel guys are putting more effort
>>>> into removing the BKL. We are still using it in our own drivers,
>>>> mostly V4L.
>>>>
>>>> I added a BKL column to my driver list:
>>>>
>>>> http://www.linuxtv.org/wiki/index.php/V4L_framework_progress#Bridge_Dri
>>>> vers
>>>>
>>>> If you 'own' one of these drivers that still use BKL, then it would be
>>>> nice if you can try and remove the use of the BKL from those drivers.
>>>>
>>>> The other part that needs to be done is to move from using the .ioctl
>>>> file op to using .unlocked_ioctl. Very few drivers do that, but I
>>>> suspect almost no driver actually needs to use .ioctl.
>>> What about something like this patch as a first step ?
>> That doesn't fix anything. You just move the BKL from one place to another.
>> I don't see any benefit from that.
>
> Removing the BKL is a long-term project that basically pushes the BKL from
> core code to subsystems and drivers, and then replace it on a case by case
> basis. This patch (along with a replacement of lock_kernel/unlock_kernel by a
> V4L-specific lock) goes into that direction and removes the BKL usage from V4L
> ioctls. The V4L lock would then need to be pushed into individual drivers.
True, but, as almost all V4L drivers share a "common ancestor", fixing the
problems for one will also fix for the others.
One typical problem that I see is that some drivers register too soon: they
first register, then initialize some things. I've seen (and fixed) some race
conditions due to that. Just moving the register to the end solves this issue.
One (far from perfect) solution, would be to add a mutex protecting the entire
ioctl loop inside the drivers, and the open/close methods. This can later be
optimized by a mutex that will just protect the operations that can actually
cause problems if happening in parallel.
--
Cheers,
Mauro
next prev parent reply other threads:[~2010-04-01 16:44 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 8:01 V4L-DVB drivers and BKL Hans Verkuil
2010-04-01 9:23 ` Laurent Pinchart
2010-04-01 11:11 ` Hans Verkuil
2010-04-01 12:11 ` Laurent Pinchart
2010-04-01 14:12 ` Mauro Carvalho Chehab [this message]
2010-04-01 14:30 ` Laurent Pinchart
2010-04-01 14:44 ` Mauro Carvalho Chehab
2010-04-01 14:42 ` Hans Verkuil
2010-04-01 15:02 ` Mauro Carvalho Chehab
2010-04-01 15:27 ` Hans Verkuil
2010-04-01 16:58 ` Devin Heitmueller
2010-04-01 17:36 ` Mauro Carvalho Chehab
2010-04-01 18:29 ` Devin Heitmueller
2010-04-01 18:42 ` Mauro Carvalho Chehab
2010-04-01 18:56 ` Devin Heitmueller
2010-04-01 21:07 ` Mauro Carvalho Chehab
2010-04-01 21:40 ` Devin Heitmueller
2010-04-01 23:10 ` Mauro Carvalho Chehab
2010-04-01 21:11 ` Hans Verkuil
2010-04-01 21:06 ` Hans Verkuil
2010-04-01 21:16 ` Mauro Carvalho Chehab
2010-04-01 21:29 ` Devin Heitmueller
2010-04-03 0:23 ` Andy Walls
2010-04-07 20:07 ` [PATCH] em28xx: fix locks during dvb init sequence - was: " Mauro Carvalho Chehab
2010-04-07 20:15 ` Devin Heitmueller
2010-04-07 20:23 ` Mauro Carvalho Chehab
2010-04-01 11:57 ` Stefan Richter
2010-04-01 12:11 ` Hans Verkuil
2010-04-01 12:08 ` Stefan Richter
2010-04-01 12:12 ` Stefan Richter
2010-04-01 14:03 ` Mauro Carvalho Chehab
2010-04-03 14:19 ` Stefan Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB4A9E2.9090706@redhat.com \
--to=mchehab@redhat.com \
--cc=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox