Corey Minyard a9a2c44ff0 [PATCH] ipmi: add timer thread
We must poll for responses to commands when interrupts aren't in use.  The
default poll interval is based on using a kernel timer, which varies with HZ.
For character-based interfaces like KCS and SMIC though, that can be way too
slow (>15 minutes to flash a new firmware with KCS, >20 seconds to retrieve
the sensor list).

This creates a low-priority kernel thread to poll more often.  If the state
machine is idle, so is the kernel thread.  But if there's an active command,
it polls quite rapidly.  This decrease a firmware flash time from 15 minutes
to 1.5 minutes, and the sensor list time to 4.5 seconds, on a Dell PowerEdge
x8x system.

The timer-based polling remains, to ensure some amount of responsiveness even
under high user process CPU load.

Checking for a stopped timer at rmmod now uses atomics and del_timer_sync() to
ensure safe stoppage.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 07:53:44 -08:00
..
2005-10-30 17:37:32 -08:00
2005-11-07 07:53:43 -08:00
2005-11-07 07:53:44 -08:00
2005-10-30 17:37:10 -08:00
2005-07-30 09:47:53 -05:00
2005-10-31 13:37:12 +11:00
2005-10-28 10:13:16 -07:00
2005-10-31 09:20:54 -08:00
2005-10-30 17:37:32 -08:00
2005-11-02 15:20:55 +11:00
2005-10-30 17:37:32 -08:00
2005-10-28 12:18:07 -04:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:32 -08:00
2005-09-11 19:15:07 -07:00