[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.
Eric
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipmi_kcs.c.patch
Type: text/x-patch
Size: 429 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20130323/35d3ca08/attachment.bin>
More information about the freebsd-stable
mailing list