[patch] IPMI KCS can drop the lock while servicing a request
Eric van Gyzen
eric at vangyzen.net
Sun Mar 24 03:17:41 UTC 2013
At work, we discovered that our application's IPMI thread would often
use a lot of CPU time. The KCS thread uses DELAY to wait for the BMC,
so it can run without sleeping for a "long" time with a slow BMC. It
also holds the ipmi_softc.ipmi_lock during this time. When using
adaptive mutexes, an application thread that wants to operate on the
ipmi_pending_requests list will also spin during this same time.
We see no reason that the KCS thread needs to hold the lock while
servicing a request. We've been running with the attached patch for a
few months, with no ill effects.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 429 bytes
Desc: not available
More information about the freebsd-stable