Date: Tue, 2 Apr 2013 17:04:07 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-stable@freebsd.org Cc: Eric van Gyzen <eric@vangyzen.net> Subject: Re: [patch] IPMI KCS can drop the lock while servicing a request Message-ID: <201304021704.07197.jhb@freebsd.org> In-Reply-To: <514E6ED8.9040305@vangyzen.net> References: <514E6ED8.9040305@vangyzen.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, March 23, 2013 11:11:20 pm Eric van Gyzen 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. The lock protects against concurrent access to the registers themselves (though the thread sort of does this already). However, even with a slow BMC it shouldn't be waiting but so long. I had some other comments about this patch in my reply to when it was committed. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304021704.07197.jhb>