Date: Mon, 24 Sep 2001 21:35:56 +0200 From: Wilko Bulte <wkb@freebie.xs4all.nl> To: John Baldwin <jhb@FreeBSD.org> Cc: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, current@FreeBSD.org Subject: Re: Seen this lock order reversal? Message-ID: <20010924213556.A16239@freebie.xs4all.nl> In-Reply-To: <XFMail.010924123332.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Mon, Sep 24, 2001 at 12:33:32PM -0700 References: <20010923204929.A11867@freebie.xs4all.nl> <XFMail.010924123332.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 24, 2001 at 12:33:32PM -0700, John Baldwin wrote: > > On 23-Sep-01 Wilko Bulte wrote: > > On Thu, Sep 20, 2001 at 07:40:52PM +0200, Wilko Bulte wrote: > >> On Wed, Sep 19, 2001 at 01:32:28PM -0700, John Baldwin wrote: > >> > > >> > On 19-Sep-01 Wilko Bulte wrote: > >> > > On Tue, Sep 18, 2001 at 03:01:25PM -0700, John Baldwin wrote: > >> > >> ... > >> > >> > >> p_flag to p_sflag which changed its locking semantics.) > >> > > > >> > > Another one, on a -current from yesterday, on -alpha: > >> > > > >> > > lock order reversal > >> > > 1st 0xfffffc00007fcef0 clk @ ../../../alpha/alpha/clock.c:702 > >> > > 2nd 0xfffffc00007f65d8 callout @ ../../../kern/kern_timeout.c:225 > >> > > ds10# > >> > > >> > Hmm, ok, that one is new and is a problem. Can you turn on WITNESS_DDB > >> > (it's > >> > available as the debug.witness_ddb sysctl and loader variableas well) and > >> > then > >> > get me a traceback in ddb? > >> > >> I built a GENERIC with WITNESS_DDB. Sofar (of course... :-/ ) no > >> reproduction of the problem. I'm running buildworlds, any other good > >> suggestions to help trigger it are welcome > > > > Bah. I cannot reproduce this on my DS10. > > > > Is there any reason to assume that specifying CPUTYPE ev56 has any > > influence on the lock order reversal? By default world is built with > > ev4, but I have gone to ev56 now. Rumor has it that results in 'less > > buggy' code. > > No. Hmmm. You didn't have any KTR traces enabled did you? No. > Hmm, that first one is in sysbeep() (the clk one) Ah! > > if (!beeping) { > /* enable counter2 output to speaker */ > if (pitch) outb(IO_PPI, inb(IO_PPI) | 3); > beeping = period; > timeout(sysbeepstop, (void *)NULL, period); > } > > This is the problem code. Hmmm. The i386 code seems b0rked. It doesn't have > enough locks! Eck. hmm, the pc98 code doesn't even _use_ the mutex but still > depends on disable/enable intr. Eek. I'll work at this later on today. I did notice that the default Alpha beep is of a much higher frequency than the x86 one. Any relation? (long shot... I suppose) W/ -- | / o / /_ _ email: wilko@FreeBSD.org |/|/ / / /( (_) Bulte Arnhem, The Netherlands To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010924213556.A16239>