Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2012 22:51:43 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Andrew Boyer <aboyer@averesystems.com>
Cc:        sbruno@FreeBSD.org, FreeBSD Stable Mailing List <freebsd-stable@FreeBSD.org>, John Baldwin <jhb@FreeBSD.org>
Subject:   Re: IPMI hardware watchdogs Re: dell r420/r320 stable/9
Message-ID:  <5012F14F.7070204@FreeBSD.org>
In-Reply-To: <23294764-F30B-4732-8C41-3F0ECA5F273C@averesystems.com>
References:  <1343350238.12294.10.camel@powernoodle.corp.yahoo.com> <23294764-F30B-4732-8C41-3F0ECA5F273C@averesystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
on 27/07/2012 17:33 Andrew Boyer said the following:
> 
> On Jul 26, 2012, at 8:50 PM, Sean Bruno wrote:
> 
>> For the time being I had to revert the following from my stable/9 tree. 
>> Otherwise I would get a kernel panic on shutdown from ipmi(4).
>> 
>> http://svnweb.freebsd.org/base?view=revision&revision=237839 
>> http://svnweb.freebsd.org/base?view=revision&revision=221121
>> 
> 
> 
> On a somewhat related note: We noticed recently that you can't pet or disable
> the IPMI hardware watchdog once SCHEDULER_STOPPED() is true.  This means it
> can fire unexpectedly while you're dumping core or rebooting, depending on
> how long the timeout was on the pet before the panic.  The ipmi driver will
> need to process the command differently if the scheduler is stopped.  I
> haven't had time to look at a fix yet.

Yeah, I noticed that unlike most (all?) other watchdog drivers where watchdog
re-arming is a very basic operation like doing one I/O the IPMI watchdog does
some more complex stuff which involves waiting on another thread.  I think that
this may be a little bit too much for a reliable watchdog driver.  At least, as
you note, this definitely won't work for the panic case where only one thread is
left running.  I guess that the driver should check for that case and do a
direct operation instead of enqueueing a request and waiting for another thread
to execute it.

-- 
Andriy Gapon





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