Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Oct 2010 17:32:35 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        avg@icyb.net.ua
Cc:        stable@FreeBSD.org, sterling@camdensoftware.com, freebsd@jdc.parodius.com
Subject:   Re: CPU time accounting broken on 8-STABLE machine after a few hours of uptime
Message-ID:  <201010020032.o920WZKG028379@gw.catspoiler.org>
In-Reply-To: <201009300849.o8U8nr8r081019@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 30 Sep, Don Lewis wrote:

> The silent reboots that I was seeing with WITNESS go away if I add
> WITNESS_SKIPSPIN.  Witness doesn't complain about anything.

I've tracked down the the silent reboot problem.  It happens when a
userland sysctl call gets down into calcru1(), which tries to print a
"calcu: .." message.  Eventually sc_puts() wants to grab a spin lock,
which causes a call to witness, which detects a lock order reversal.
This recurses into printf(), which dives back into the console code and
eventually triggers a panic.

I'm still gathering the details on this and I see what I can come up
with for a fix.

> I tested -CURRENT and !SMP seems to work ok.  One difference in terms of
> hardware between the two tests is that I'm using a SATA drive when
> testing -STABLE and a SCSI drive when testing -CURRENT.

I'm not able to trigger the problem with -CURRENT when it is running on
a SCSI drive, but I do see the freezes, long ping RTTs, and ntp insanity
when running a !SMP -CURRENT kernel on my SATA drive with an 8.1-STABLE
world.




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