Re: f_ops flag to speed up compatible ioctls in linux kernel

Lee Revell
2004-09-01T07:47:14Z

On Wed, 2004-09-01 at 03:32, viro@parcelfarce.linux.theplanet.co.uk
wrote:
> On Wed, Sep 01, 2004 at 10:22:45AM +0300, Michael S. Tsirkin wrote:
> > Hello!
> > Currently, on the x86_64 architecture, its quite tricky to make
> > a char device ioctl work for an x86 executables.
> > In particular,
> > 1. there is a requirement that ioctl number is unique -
> > which is hard to guarantee especially for out of kernel modules
>
> Too bad.
>
> > 2. there's a performance huge overhead for each compat call - there's
> > a hash lookup in a global hash inside a lock_kernel -
> > and I think compat performance *is* important.
> >
> > Further, adding a command to the ioctl suddenly requires changing
> > two places - registration code and ioctl itself.
>
> So don't add them. Adding a new ioctl is *NOT* a step to be taken lightly -
> we used to be far too accepting in that area and as somebody who'd waded
> through the resulting dungpiles over the last months I can tell you that
> result is utterly revolting.
>

By adding a new ioctl you are adding a new use of the BKL. It has been
suggested on dri-devel that this should be fixed. Is this even
possible?

Lee