Re: [patch] IPMI KCS can drop the lock while servicing a request

看板FB_stable作者時間12年前 (2013/04/27 13:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
On 23 March 2013 20:11, Eric van Gyzen <eric@vangyzen.net> wrote: > 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. Typically holding a lock is to serialise both program state and hardware state. The whole "unlock; do blocking work or sleep; lock" thing needs to be very carefully thought out. Adrian _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
文章代碼(AID): #1HUsCRay (FB_stable)
文章代碼(AID): #1HUsCRay (FB_stable)