kernel-fxtec-pro1x/drivers/char
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
..
agp [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
drm Merge master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-11-01 21:49:07 -08:00
ftape [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
ip2 [PATCH] drivers/char: fix-up schedule_timeout() usage 2005-09-10 10:06:38 -07:00
ipmi [PATCH] ipmi: add timer thread 2005-11-07 07:53:44 -08:00
mwave [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
pcmcia [PATCH] synclink_cs add statistics clear 2005-09-10 10:06:22 -07:00
rio [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
tpm [PATCH] tpm: Fix lack of driver_unregister in init failcases 2005-11-07 07:53:36 -08:00
watchdog [WATCHDOG] adds device_driver .owner field 2005-11-01 19:31:59 +01:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
amiserial.c [PATCH] Remove unnecessary check_region references in comments 2005-09-13 08:22:29 -07:00
applicom.c [PATCH] applicom: fix error handling 2005-09-10 10:06:25 -07:00
applicom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cd1865.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ChangeLog Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
consolemap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cp437.uni Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cyclades.c [PATCH] Typo fix: explictly -> explicitly 2005-10-30 17:37:20 -08:00
decserial.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
defkeymap.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
defkeymap.map Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
digi.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
digi1.h [PATCH] Clean up the old digi support and rescue it 2005-09-07 16:57:20 -07:00
digiFep1.h [PATCH] Clean up the old digi support and rescue it 2005-09-07 16:57:20 -07:00
digiPCI.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ds1286.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ds1302.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ds1620.c [PATCH] char/ds1620: use msleep() instead of schedule_timeout() 2005-06-25 16:24:57 -07:00
dsp56k.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
dtlk.c [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
ec3104_keyb.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efirtc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
epca.c [PATCH] epca: update .owner field of struct pci_driver 2005-10-30 17:37:26 -08:00
epca.h [PATCH] epca iomem annotations + several missing readw() 2005-09-16 10:38:10 -07:00
epcaconfig.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
esp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
generic_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
generic_serial.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
genrtc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hangcheck-timer.c [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
hpet.c [PATCH] hpet: hpet driver cleanups 2005-10-30 17:37:31 -08:00
hvc_console.c [PATCH] hvc_console: start kernel thread before registering tty 2005-09-14 14:34:17 -07:00
hvc_vio.c powerpc: don't duplicate name between vio_driver and device_driver 2005-10-24 15:42:12 +10:00
hvcs.c powerpc: set the driver.owner field for all vio drivers 2005-10-24 16:59:13 +10:00
hvsi.c [PATCH] hvc_console: Use hvc_get_chars in hvsi code 2005-07-07 18:23:40 -07:00
hw_random.c [PATCH] drivers/char: fix-up schedule_timeout() usage 2005-09-10 10:06:38 -07:00
i8k.c [PATCH] I8K: add new BIOS signatures 2005-06-25 16:24:25 -07:00
ip2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip2main.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
ip27-rtc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isicom.c [PATCH] drivers/char/isicom.c: section fixes 2005-06-25 16:25:00 -07:00
istallion.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
ite_gpio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [PATCH] Telecom Clock Driver for MPCBL0010 ATCA computer blade 2005-10-30 17:37:25 -08:00
keyboard.c Input: clean up whitespace and formatting in drivers/char/keyboard.c 2005-09-10 12:03:38 -05:00
lcd.c Resurrect Cobalt support for 2.6. 2005-10-29 19:30:42 +01:00
lcd.h Resurrect Cobalt support for 2.6. 2005-10-29 19:30:42 +01:00
lp.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
Makefile [PATCH] Telecom Clock Driver for MPCBL0010 ATCA computer blade 2005-10-30 17:37:25 -08:00
mbcs.c [IA64] mbcs_init() should give up unless running on sn2 2005-10-04 09:39:18 -07:00
mbcs.h [PATCH] mbcs trivial user annotations 2005-05-04 07:33:13 -07:00
mem.c Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
misc.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
mmtimer.c [IA64] Two more uses of cpuid_to_cnodeid() must go. 2005-09-15 17:00:10 -07:00
moxa.c [SERIAL] Fix moxa tty driver name 2005-09-03 16:26:49 +01:00
mxser.c [PATCH] serial moxa: fix wrong BUG 2005-11-07 07:53:36 -08:00
mxser.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
n_hdlc.c [PATCH] Convert users to tty_unregister_ldisc() 2005-06-23 09:45:36 -07:00
n_r3964.c [PATCH] n_r3964 mod_timer() fix 2005-10-17 17:03:57 -07:00
n_tty.c [PATCH] gfp_t: remaining bits of drivers/* 2005-10-28 08:16:51 -07:00
nvram.c [PATCH] ARM: Reverted 2921/1: Support for the RTC / nvram on the Comdial MP1000 2005-11-04 17:26:57 +00:00
nwbutton.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nwbutton.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nwflash.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppdev.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
pty.c [PATCH] pty_chars_in_buffer oops fix 2005-09-09 13:57:31 -07:00
qtronix.c qtronix.c: Handle kmalloc failure. 2005-10-29 19:30:55 +01:00
qtronixmap.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
qtronixmap.map Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
random.c [RANDOM]: Introduce secure_dccp_sequence_number 2005-08-29 15:49:40 -07:00
raw.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
riscom8.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
riscom8.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
riscom8_reg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rocket.c [PATCH] rocketport: make it work when statically linked into kernel 2005-10-30 17:37:27 -08:00
rocket.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rocket_int.h [PATCH] drivers/char/rocket.c: cleanups 2005-06-25 16:25:04 -07:00
rtc.c [RTC]: Use SA_SHIRQ in sparc specific code. 2005-09-05 23:33:05 -07:00
s3c2410-rtc.c Create platform_device.h to contain all the platform device details. 2005-10-29 19:07:23 +01:00
scan_keyb.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scan_keyb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scx200_gpio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
selection.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ser_a2232.c [PATCH] Typo fix: dot after newline in printk strings 2005-10-30 17:37:20 -08:00
ser_a2232.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ser_a2232fw.ax Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ser_a2232fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial167.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
snsc.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-10-28 21:09:26 -07:00
snsc.h [IA64] Altix system controller event handling 2005-04-25 13:28:52 -07:00
snsc_event.c [IA64-SGI] fix unaligned memory access in snsc_event.c 2005-08-15 14:17:49 -07:00
sonypi.c Create platform_device.h to contain all the platform device details. 2005-10-29 19:07:23 +01:00
specialix.c [PATCH] remove some more check_region stuff 2005-10-30 17:37:18 -08:00
specialix_io8.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stallion.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
sx.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sxboards.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sxwindow.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
synclink.c [PATCH] SyncLink adapters: updates .owner field of struct pci_driver 2005-10-30 17:37:26 -08:00
synclinkmp.c [PATCH] SyncLink adapters: updates .owner field of struct pci_driver 2005-10-30 17:37:26 -08:00
sysrq.c [PATCH] Update sysrq-B to use emergency_restart() 2005-07-26 14:35:43 -07:00
tb0219.c Create platform_device.h to contain all the platform device details. 2005-10-29 19:07:23 +01:00
tipar.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
tlclk.c [PATCH] tlclk build fix 2005-11-01 21:44:46 -08:00
toshiba.c [PATCH] Toshiba driver cleanup 2005-06-25 16:24:24 -07:00
tty_io.c [PATCH] reduce sizeof(struct file) 2005-10-30 17:37:19 -08:00
tty_ioctl.c [PATCH] coverity: tty_ldisc_ref return null check 2005-06-28 21:20:34 -07:00
vc_screen.c [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
viocons.c merge filename and modify references to iseries/vio.h 2005-11-02 15:13:57 +11:00
viotape.c merge filename and modify references to iseries/vio.h 2005-11-02 15:13:57 +11:00
vme_scc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vr41xx_giu.c Create platform_device.h to contain all the platform device details. 2005-10-29 19:07:23 +01:00
vr41xx_rtc.c Create platform_device.h to contain all the platform device details. 2005-10-29 19:07:23 +01:00
vt.c [PATCH] vc: Use correct size on buffer copy in vc_resize 2005-09-15 08:24:09 -07:00
vt_ioctl.c [PATCH] Only disallow _setting_ of function key string 2005-11-07 07:53:39 -08:00