Page MenuHomeFreeBSD

Only use the IPMI watchdog on backends that support polling.
ClosedPublic

Authored by jhb on Mar 13 2015, 8:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 26, 12:33 PM
Unknown Object (File)
Mar 19 2024, 2:55 AM
Unknown Object (File)
Feb 12 2024, 1:59 AM
Unknown Object (File)
Feb 4 2024, 9:53 PM
Unknown Object (File)
Dec 20 2023, 2:45 AM
Unknown Object (File)
Nov 19 2023, 5:27 AM
Unknown Object (File)
Nov 14 2023, 8:05 PM
Unknown Object (File)
Sep 20 2023, 5:26 PM
Subscribers

Details

Reviewers
scottl
jhb
Summary

Watchdog drivers need to support rearming the watchdog in contexts
which are not permitted to sleep. Only use the IPMI watchdog with
backends which poll driver-initiated requests to meet this
requirement.

Test Plan
  • test on an existing IPMI KCS system and verify the watchdog still works properly

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

jhb retitled this revision from to Only use the IPMI watchdog on backends that support polling..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: scottl.

Scott, I don't have any hardware handy. Can you test this for me when you get some free time? Thanks.

This looks like it should work. Haven't checked the spec to make sure that these are the only two transports that support watchdog...

The watchdog is supported irrespective of the backend. This is a reflection of the limitation of the driver, not the hardware. However, I have seen very few backends which use SSIF (the smbus-based backend) in the wild, so I think this is fine vs trying to write a polled variant of the SSIF backend.

jhb added a reviewer: jhb.
This revision is now accepted and ready to land.Apr 24 2015, 4:52 PM

Tested that the watchdog was still attached on a machine with KCS. Also hacked the kcs backend to #if 0 out the 'driver_requetsts_polled' assignment and the watchdog was not attached. Also, unloading teh driver in both cases worked fine without tripping over an assertion failure, etc.