Date: Tue, 26 Aug 2008 15:20:33 +0200 From: Kris Kennaway <kris@FreeBSD.org> To: =?ISO-8859-1?Q?Marius_N=FCnnerich?= <marius@nuenneri.ch> Cc: Ed Schouten <ed@80386.nl>, FreeBSD Current <current@freebsd.org> Subject: Re: mouse interactivity (Re: svn commit: r182109 - head/sys/dev/syscons) Message-ID: <48B40321.70504@FreeBSD.org> In-Reply-To: <b649e5e0808260302q3bb6818dxa6239a97ac2e784b@mail.gmail.com> References: <200808241520.m7OFKiKx018944@svn.freebsd.org> <48B2B7A7.1030907@FreeBSD.org> <20080825141951.GB99951@hoeg.nl> <b649e5e0808260302q3bb6818dxa6239a97ac2e784b@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Marius Nünnerich wrote: > On Mon, Aug 25, 2008 at 4:19 PM, Ed Schouten <ed@80386.nl> 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. > > Are you going to lock that one too? I have some problems with a sluggish PS/2 > mouse when Firefox runs a heavily javascripted site (though it is way better > now that I can use nvidia(4) again without crashing). Unless you fit into a situation like the one I described, it doesn't sound like the giant locking is the problem for you. You can check by enabling lock profiling. Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48B40321.70504>