Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Aug 2011 22:25:00 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        freebsd-arch@FreeBSD.org
Cc:        Hans Petter Selasky <hselasky@FreeBSD.org>, John Baldwin <jhb@FreeBSD.org>
Subject:   Re: skipping locks, mutex_owned, usb
Message-ID:  <4E57F30C.4000400@FreeBSD.org>
In-Reply-To: <4E57E5D8.3010606@FreeBSD.org>
References:  <4E53986B.5000804@FreeBSD.org> <201108230911.09021.jhb@freebsd.org> <4E564F15.3010809@FreeBSD.org> <201108250945.24606.jhb@freebsd.org> <4E57E5D8.3010606@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 26/08/2011 21:28 Andriy Gapon said the following:
[snip]
> Another observation is that when the kernel code calls into syscons code
> (kern_cons.c) it doesn't acquire the Giant.  It seems that the kernel calls
> syscons input routines only in some very special situations like very early boot
> (pause after each line option), late shutdown stage ("press any key to...") and
> ddb command prompt.
[snip]
> Hmm, but it's actually the kbd poll(TRUE) call itself that can be racy-ish...

As I was going to argue with myself that there actually should not be any race
here, because interrupts should already be disabled in the special cases, I
suddenly realized that I forgot about yet another special case, which is
actually not special enough - the mountroot prompt.  And I think that this is
the case which is the most troublesome comparing to all other cases.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E57F30C.4000400>