]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Make sysmouse(4) use its own locks, instead of using Giant.
authored <ed@FreeBSD.org>
Sun, 24 Aug 2008 15:20:44 +0000 (15:20 +0000)
committered <ed@FreeBSD.org>
Sun, 24 Aug 2008 15:20:44 +0000 (15:20 +0000)
commitfc03269bd377fdba1743efebf7c4c4326a09c659
treee275d30a75e5c9ee45dc8593e8b169fcfd044361
parent5e0a924fecb528e064546f1f0aff20da81027b70
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.
sys/dev/syscons/sysmouse.c