Re: [patch] IPMI KCS can drop the lock while servicing a request
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"
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):