On Thu, Dec 17, 2009 at 8:17 AM, Arnd Bergmann <a...@arndb.de> 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.

Dave.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to