From: Frederic Weisbecker <fweisbec@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>, John Kacur <jkacur@redhat.com>,
lkml <linux-kernel@vger.kernel.org>,
Jan Blunck <jblunck@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: Re: [PATCH 10/10] bkl: Fix-up compile problems as a result of the bkl-pushdown.
Date: Wed, 28 Apr 2010 23:52:16 +0200 [thread overview]
Message-ID: <20100428215214.GC6037@nowhere> (raw)
In-Reply-To: <alpine.LFD.2.00.1004280750330.3739@i5.linux-foundation.org>
On Wed, Apr 28, 2010 at 07:55:02AM -0700, Linus Torvalds wrote:
>
>
> On Tue, 27 Apr 2010, Arnd Bergmann wrote:
> > +static long v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> > {
> > struct video_device *vdev = video_devdata(filp);
> > + int ret;
> >
> > /* Allow ioctl to continue even if the device was unregistered.
> > Things like dequeueing buffers might still be useful. */
> > + if (vdev->fops->unlocked_ioctl) {
> > + ret = vdev->fops->unlocked_ioctl(filp, cmd, arg);
> > + } else if (vdev->fops->ioctl) {
> > + /* TODO: convert all drivers to unlocked_ioctl */
> > + lock_kernel();
> > + ret = vdev->fops->ioctl(filp, cmd, arg);
> > + unlock_kernel();
> > + } else
> > + ret = -ENOTTY;
> >
> > + return ret;
>
> [ Removed the '-' lines so you can see what the end result ends up being ]
>
> Please, if you do this for the V4L2 layer, then DO NOT make the same
> mistake we did with the vasic VFS layer.
>
> In other words, DO NOT keep the "bkl" version named just "ioctl". It was a
> horrible horrible mistake, and it has resulted in problems years
> afterwards.
>
> I realize that it's so easy to just add a new ".unlocked_ioctl" member,
> and then as people start using it, they get rid of the BKL. But it's a
> mistake. It was a mistake for the VFS layer, it would be a mistake for the
> V4L2 layer.
>
> Instead, spend the 15 minutes just renaming every current 'ioctl' user in
> the V4L2 layer. It's not that much work, the scripts I documented in my
> renaming patch do 95% of the work (you just need to change
> "file_operations" to "v4l2_file_operations"). It's not that painful. And
> then you don't just push the BKL down, you actually annotate the remaining
> users so that they can be grepped for.
>
> So please please please, don't make the same mistake we did long ago.
>
> Linus
Hmm, there are 92 struct v4l2_file_operations::ioctl but actually a lot
of duplicates ioctl. In fact there are just 26 ioctl functions.
It's probably worth the whole pushdown instead of the rename.
I'm going to do this.
next prev parent reply other threads:[~2010-04-28 21:52 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-27 9:18 [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes John Kacur
2010-04-27 9:18 ` [PATCH 01/10] dvb: push down BKL into ioctl functions John Kacur
2010-04-27 9:18 ` [PATCH 02/10] scsi: " John Kacur
2010-04-27 9:18 ` [PATCH 03/10] bkl: Fix up compile problems in megaraid from bkl push-down John Kacur
2010-04-27 9:18 ` [PATCH 04/10] bkl: Fix missing inode tw_chrdev_ioctl due to bkl pushdown John Kacur
2010-04-27 9:18 ` [PATCH 05/10] bkl: Fix missing inode in twl_chrdev_ioctl resulting from " John Kacur
2010-04-27 9:18 ` [PATCH 06/10] isdn: push down BKL into ioctl functions John Kacur
2010-04-27 9:18 ` [PATCH 07/10] staging: " John Kacur
2010-04-27 9:18 ` [PATCH 08/10] v4l: always use unlocked_ioctl John Kacur
2010-04-27 9:18 ` [PATCH 09/10] drivers: push down BKL into various drivers John Kacur
2010-04-27 9:18 ` [PATCH 10/10] bkl: Fix-up compile problems as a result of the bkl-pushdown John Kacur
2010-04-27 11:17 ` Arnd Bergmann
2010-04-27 11:54 ` John Kacur
2010-04-27 13:03 ` Arnd Bergmann
2010-04-28 12:24 ` Mauro Carvalho Chehab
2010-04-28 12:37 ` Hans Verkuil
2010-04-28 13:02 ` Laurent Pinchart
2010-04-28 14:46 ` Mauro Carvalho Chehab
2010-04-28 14:55 ` Linus Torvalds
2010-04-28 21:52 ` Frederic Weisbecker [this message]
2010-04-29 3:42 ` [PATCH 0/5] Pushdown bkl from v4l ioctls Frederic Weisbecker
2010-04-29 6:44 ` Hans Verkuil
2010-04-29 7:10 ` Laurent Pinchart
2010-04-29 7:38 ` Arnd Bergmann
2010-05-01 9:55 ` Hans Verkuil
2010-05-01 10:47 ` Arnd Bergmann
2010-05-01 14:58 ` Frederic Weisbecker
2010-05-01 11:11 ` Alan Cox
2010-04-29 3:42 ` [PATCH 1/5] v4l: Pushdown bkl into video_ioctl2 Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 2/5] v4l: Use video_ioctl2_unlocked from drivers that don't want the bkl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 3/5] v4l: Change users of video_ioctl2 to use unlocked_ioctl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 4/5] v4l: Pushdown bkl to drivers that implement their own ioctl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 5/5] v4l: Remove struct v4l2_file_operations::ioctl Frederic Weisbecker
2010-04-27 11:31 ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Arnd Bergmann
2010-04-27 12:19 ` John Kacur
2010-04-27 12:41 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 0/6] BKL pushdown into ioctl, continued Arnd Bergmann
2010-04-27 14:24 ` [PATCH 1/7] logfs: push down BKL into ioctl function Arnd Bergmann
2010-04-27 14:32 ` Arnd Bergmann
2010-04-27 14:58 ` Jörn Engel
2010-04-27 15:05 ` Arnd Bergmann
2010-04-27 15:09 ` Jörn Engel
2010-04-27 15:27 ` John Kacur
2010-04-27 15:32 ` Jörn Engel
2010-04-27 15:38 ` Arnd Bergmann
2010-04-27 20:12 ` Frederic Weisbecker
2010-04-27 20:30 ` [PATCH] logfs: kill BKL Arnd Bergmann
2010-05-19 12:51 ` Frederic Weisbecker
2010-04-27 15:36 ` [PATCH 1/7] logfs: push down BKL into ioctl function Linus Torvalds
2010-04-27 16:29 ` John Kacur
2010-04-27 19:59 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 2/7] hfsplus: " Arnd Bergmann
2010-04-27 14:24 ` [PATCH 3/7] cris: push down BKL into some device drivers Arnd Bergmann
2010-04-27 17:22 ` Frederic Weisbecker
2010-04-30 7:53 ` Jesper Nilsson
2010-05-17 2:51 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 4/7] sn_hwperf: kill BKL usage Arnd Bergmann
2010-04-27 14:24 ` [PATCH 5/7] um/mmapper: remove " Arnd Bergmann
2010-04-27 14:24 ` [PATCH 6/7] coda/psdev: remove BKL from ioctl function Arnd Bergmann
2010-04-27 14:24 ` [PATCH 7/7] smbfs: push down BKL into " Arnd Bergmann
2010-04-27 12:40 ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Frederic Weisbecker
2010-04-27 12:51 ` Geert Uytterhoeven
2010-04-28 21:18 ` Frederic Weisbecker
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=20100428215214.GC6037@nowhere \
--to=fweisbec@gmail.com \
--cc=arnd@arndb.de \
--cc=jblunck@gmail.com \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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