Skip to contentSkip to conversation

IPMI driver for Linux

PATCH Larry Butler 2 participants 2 messages Aug 21, 2002

lore
Share & tools
lore
#0 lore raw

Corey,

I've been working on a driver too because the busy waits in the drivers that are out there can hold a CPU for too long. I've measured as much as 120ms.

First I tried sleeping in the driver until the very next jiffy. I found that my driver became unreliable under high CPU load because the scheduling delays were too long. I even managed wedge the BMC on one of my test systems in a way I can't seem to fix. :)

What I finally settled on was using the timer interrupt. This seems to work well both in terms of being nice to the rest of the system (I register a shared irq handler only while I need it) and being reliable even under high
load. So, just consider it a suggestion. I'd like to see your driver
included too. It's certainly more complete than mine. You must have access to more documentation than I do.

Larry

#1 lore raw

I tie into the highres timer code for short sleeps. It does require that you have highres timers installed in your kernel and enabled. Otherwise you are right, it is very slow.

Since I had access to highres timers, that was a lot easier than hooking into and configuring the timer interrupt, and a lot more portable, too.

If you want to post your code or modify mine to add the timer interrupt support, that would be great.

-Corey

Quoted 17 lines · Larry Butler

Corey,

I've been working on a driver too because the busy waits in the drivers that are out there can hold a CPU for too long. I've measured as much as 120ms.

First I tried sleeping in the driver until the very next jiffy. I found that my driver became unreliable under high CPU load because the scheduling delays were too long. I even managed wedge the BMC on one of my test systems in a way I can't seem to fix. :)

What I finally settled on was using the timer interrupt. This seems to work well both in terms of being nice to the rest of the system (I register a shared irq handler only while I need it) and being reliable even under high load. So, just consider it a suggestion. I'd like to see your driver included too. It's certainly more complete than mine. You must have access to more documentation than I do.

Larry

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/