ipmi patch for review

Gleb Smirnoff glebius at FreeBSD.org
Tue Sep 17 10:21:20 UTC 2013


  Hi!

  When system is writing a kernel core dump, it issues watchdog
pat wdog_kern_pat(WD_LASTVAL). If ipmi is in action, it registers
ipmi_wd_event() as event for watchdog. Thus ipmi_wd_event() is
called in dumping context.

The problem is that ipmi_wd_event() calls into ipmi_set_watchdog(),
that calls into ipmi_alloc_request(), which uses M_WAITOK and
thus sleeps. This is a smaller problem, since can be converted to
M_NOWAIT. But ipmi_set_watchdog() then calls into
ipmi_submit_driver_request(), which calls msleep() any time.

  The attached patch allows me to successfully write cores in
presence of IPMI.

-- 
Totus tuus, Glebius.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipmi.c.diff
Type: text/x-diff
Size: 398 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130917/a4782359/attachment.diff>


More information about the freebsd-current mailing list