[parisc-linux] ksoftirqd eats 100% cpu :-(

Carlos O'Donell carlos@baldric.uwo.ca
Tue, 8 Oct 2002 19:48:54 -0400


> 
> > It's a bug/feature related to the HIL drivers.
> > Since we have to poll the HIL ports the whole time
> > the bunch of running timers increase the ksoftirqd load a lot.
> 
> I understand that polling is necessary while sending commands out
> to hil devices, but input should be interrupt driven. What is the
> reason for all of the polling?
> 
> John Marvin
> jsm@fc.hp.com


It's interrupt driven, but the ISR _always_ calls tasklet_schedule 
to do the real work. The HIL state machine and SERIO layer hooks
in a function to it's own tasklet so it can update on interrupt.

Most drivers usage of tasklets involves:

a- Setup and enable during module init
b- Leave them alone.

I assume that this is the case, because tasklets are CPU intensive.
It would be nice to have someone investiage this... if not, it goes
on the end of my now _really_ long todo list :)

c.