mouse interactivity (Re: svn commit: r182109 - head/sys/dev/syscons)

Kris Kennaway kris at FreeBSD.org
Mon Aug 25 13:46:21 UTC 2008


Ed Schouten wrote:
> Author: ed
> Date: Sun Aug 24 15:20:44 2008
> New Revision: 182109
> URL: http://svn.freebsd.org/changeset/base/182109
> 
> Log:
>   Make sysmouse(4) use its own locks, instead of using Giant.
>   
>   When I changed syscons(4) to work with the MPSAFE TTY code, I just
>   locked all device nodes down using the compatibility feature that allows
>   you to override the TTY's lock (Giant in this case). Upon closer
>   inspection, it seems sysmouse(4) only has two internal variables that
>   need locking: mouse_level and mouse_status.
>   
>   I haven't done any performance benchmarks on this, though I think it
>   won't have any dramatic improvements on the system. It is good to get
>   rid of Giant here, because the third argument of tty_alloc() has only
>   been added to ease migration to MPSAFE TTY. It should not be used when
>   not needed.
>   
>   While there, remove SC_MOUSE, which is a leftover from the MPSAFE TTY
>   import.

This might help mouse interactivity for desktop users that have legacy 
Giant-locked systems in use (e.g. busy MSDOS filesystems, giant-locked 
disk drivers), etc.

Kris



More information about the freebsd-current mailing list