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

From: Kris Kennaway <kris_at_FreeBSD.org>
Date: Mon, 25 Aug 2008 16:29:26 +0200
Ed Schouten wrote:
> * Kris Kennaway <kris_at_FreeBSD.org> wrote:
>> 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.
> 
> Yes, but only a very very little bit. moused still delivers the input to
> /dev/consolectl, which is still Giant locked. The part where the Xorg
> server reads from /dev/sysmouse is now Giant-free.

Ah, OK.  Well it's at least a step in the right direction!

Kris
Received on Mon Aug 25 2008 - 12:29:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:34 UTC