Skip site navigation (1)Skip section navigation (2)
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>