Skip site navigation (1)Skip section navigation (2)
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>