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>