Date: Mon, 29 Aug 2011 16:19:28 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-arch@FreeBSD.org Subject: Re: skipping locks, mutex_owned, usb Message-ID: <4E5B91E0.6090305@FreeBSD.org> In-Reply-To: <201108251352.31504.hselasky@c2i.net> References: <4E53986B.5000804@FreeBSD.org> <201108251308.56737.hselasky@c2i.net> <4E562E3A.7030304@FreeBSD.org> <201108251352.31504.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
on 25/08/2011 14:52 Hans Petter Selasky said the following: >> http://people.freebsd.org/~avg/stop_scheduler_on_panic.diff >> http://people.freebsd.org/~avg/stop_scheduler_on_panic.8.x.diff > > The following patch complements Andriy's patch with regard to USB. Please test > and report back! > > http://hselasky.homeunix.org:8192/usb_scheduler_stopped.patch Here is my take on the issue: http://people.freebsd.org/~avg/ukbd-polling.diff Admittedly it has a few hairy places, but overall it should reduce the number of lines and quirks in the ukbd code. The patch can be logically separated into three parts: - locking Giant around kbdd_poll and scgetc calls in sc_cngetc - SCHEDULER_STOPPED-vs-mutex_owned changes in usb_transfer.c - removing explicit Giant checks and manipulations in ukbd.c I would like to ask for a review of these changes in whole or in parts. Thank you! Further, I think that ideally we should follow bde's suggestion of extending syscons interface to allow explicitly going into and out of the polling mode instead of implicitly doing that for every character. Also, perhaps kernel doesn't always have to use the polling mode - for example I think that the mountroot prompt should do fine in the regular mode. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E5B91E0.6090305>