The problem I think was that the adapter->ErrorTimer.expires variable (
which says when the timer is supposed to expire) was set only once. Thus
after the first return, the expires time was in the past, and the timer
returns immediately which resets the timer which returns immediately,
etc. This should have always caused trouble, not just on the tickless
kernel. I suspect that originally "immediately" meant once per jiffie,
while on the tickless kernel it means "as fast as possible". Ie it
originally churned at 300 times per second and now was going at 10000
times per second.


Note that originally it was set ( in et131x_initpci.c) as 
adapter->ErrorTimer.expires  = jiffies + TX_ERROR_PERIOD * HZ / 1000;
which is supposed to be once a second since TX_ERROR_PERIOD is 1000. The above 
fix does it once every 30 sec. (there are  HZ jiffies /sec) I have no idea if 
this makes any difference. 

This fix has not made it to sourceforge. The latest sourceforge version
is 1.2.3-3 which contains a lot of the fixes needed to run and compile
this driver on later kernels, but it does not contain the add_timer fix.

-- 
et131x causing ksoftirqd to eat up cpu
https://bugs.launchpad.net/bugs/150515
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to