On Tuesday 10 March 2009 00:50:41 Mauro Carvalho Chehab wrote:
> On Mon, 9 Mar 2009 08:16:53 +0100
>
> Hans Verkuil <hverk...@xs4all.nl> wrote:
> > On Monday 09 March 2009 02:07:33 Trent Piepho wrote:
> > > On Sun, 8 Mar 2009, Hans Verkuil wrote:
> > > > The last one fixes an ivtv regression caused by this change:
> > > >
> > > > changeset:   10811:0a0eba8e64d5
> > > > user:        Trent Piepho <xy...@speakeasy.org>
> > > > date:        Tue Mar 03 20:21:02 2009 -0800
> > > > summary:     videodev: only copy needed part of RW ioctl's
> > > > parameter
> > > >
> > > > The fix is simple: switch on the full ioctl command instead of just
> > > > the NR field.
> > > >
> > > > Thanks to Martin Dauskardt for doing the bisect and tracing the
> > > > breakage to this change.
> > >
> > > Switching on the whole ioctl makes the switch statement a lot less
> > > efficient.  I'd rather just put a if (_IOC_TYPE(cmd) != 'V') return
> > > 0; in there.  That should fix the non-v4l2 ioctls, right?
> >
> > That was my first thought as well, but I realized that this is one area
> > where you really do not want to take any risk.
>
> IMO, it is better to use Trent's way, and reduce the number of places
> that do memset(0).
>
> > Personally I think this code is overoptimization. In my view the
> > performance advantage is minimal while reducing the readability of the
> > code.
>
> In general, it is a good idea to avoid copying a data that won't be used
> from userspace. I liked the optimizations done. Let's just fix what's
> broken and test a lot to avoid causing a kernel regression.

I strongly suspect that the extra function call and tests involved takes 
longer than the initial copy_from_user and memset. Perhaps with the 
exception of G_FMT, which is really the only one that has a non-trivial 
amount of data to copy. None of the commands involved are high-performance 
commands (well, we haven't any of those anyway), nor is a tight inner-loop 
involved. I'll see if I can run some benchmarks, but I remain convinced 
that this change has no benefit.

Regards,

        Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to