Re: [PATCH] drm: convert drm_ioctl to unlocked_ioctl

From: Dave Airlie
Date: Thu Dec 17 2009 - 20:27:37 EST

On Thu, Dec 17, 2009 at 8:17 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> drm_ioctl is called with the Big Kernel Lock held,
> which shows up very high in statistics on vfs_ioctl.
> Moving the lock into the drm_ioctl function itself
> makes sure we blame the right subsystem and it gets
> us one step closer to eliminating the locked version
> of fops->ioctl.
> Since drm_ioctl does not require the lock itself,
> we only need to hold it while calling the specific
> handler. The 32 bit conversion handlers do not
> interact with any other code, so they don't need
> the BKL here either and can just call drm_ioctl.
> As a bonus, this cleans up all the other users
> of drm_ioctl which now no longer have to find
> the inode or call lock_kernel.

This looks good, I've taken this and I've squashed
the generic pieces of your RFC into this (i.e.
I haven't modified the drivers, but just added the
flag to allow the ioctls to be unlocked if the driver
selects them).

Do you think we should try and get this in soon,
its seems like it shouldn't have any regressions
unless we start switching drivers over.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at