Re: [Discuss] [PATCH] ipmi: use round_jiffies on timers to reduce timer overhead/wakeups

From: Matt Domsch
Date: Wed Oct 21 2009 - 22:50:21 EST


On Thu, Oct 22, 2009 at 05:57:06AM +0900, Arjan van de Ven wrote:
> Corey Minyard wrote:
> >Certainly. Yes, some (probably most) IPMI hardware does not use
> >interrupts, and unfortunately, it's not just older machines. The driver
> >used to poll more slowly, but in many cases the performance was
> >unacceptable.
>
> ... but now it burns quite a bit of power (I'd not be surprised if it is 10
> Watts extra on a 70W server)
>
> is there any way to poll slowly until there is active ipmi traffic, during
> which we can then poll a bit faster.
> ... and then go back to slow polling when there is an ipmi idle period ?

I believe that's what the thread does already. Depending on what
userspace apps are generating IPMI requests though, there may not be a
whole lot of time between requests. Dell OpenManage software does a
poll of the IPMI sensors, SEL logs, etc. at regular intervals, on the
order of minutes between runs, but during each run there's almost
always an outstanding IPMI command.

The difference was several minutes during startup, and 15 minutes ->
1.5 minutes during a firmware flash, with the kipmi0 thread present.
I've heard requests to have the some userspace control over the
start/stop of that thread, so it could get started only when there are
more time-critical userspace requests to be made (such as during firmware
update), but I've not worked on that part. We'd need an interface
(sysfs file?) to start/stop the thread, and could adjust userspace to
use that (Dell OpenManage, ipmitool, sblim-cmpi-ipmi, ...).

Though I'm really curious that HP has a KCS+interrupt controller
available. That gives me hope that the industry-wide problems which
prevented Dell from doing likewise a couple years ago are now
resolved. I'll have my team look into it again.


--
Matt Domsch
Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/