Date: Mon, 25 Aug 2008 16:29:26 +0200 From: Kris Kennaway <kris@FreeBSD.org> To: Ed Schouten <ed@80386.nl> Cc: FreeBSD Current <current@freebsd.org> Subject: Re: mouse interactivity (Re: svn commit: r182109 - head/sys/dev/syscons) Message-ID: <48B2C1C6.6020901@FreeBSD.org> In-Reply-To: <20080825141951.GB99951@hoeg.nl> References: <200808241520.m7OFKiKx018944@svn.freebsd.org> <48B2B7A7.1030907@FreeBSD.org> <20080825141951.GB99951@hoeg.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Ed Schouten wrote: > * Kris Kennaway <kris@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48B2C1C6.6020901>