[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Kernel 2.4.14 slow due to softirq daemon?

Hi Mikael,

I found out what causes the slowdown - it is the high
frequency (15360 Hz) TIMER1 interrupt, used in serial port driver. As soon
as I put the kernel config flag
to No in "make config" the memory fill rates went back to previous (2.4.5)


-----Original Message-----
From: owner-dev-etrax@xxxxxxx.com]On">mailto:owner-dev-etrax@xxxxxxx.com]On
Behalf Of Mikael Starvik
Sent: Thursday, 13 December 2001 4:35
To: 'Zoran Tomicic '; 'owner-dev-etrax@xxxxxxx.com '; dev-etrax
Subject: RE: Kernel 2.4.14 slow due to softirq daemon?


There is at least one architecture specific modification
that in some way is related to soft IRQs. There may be
other that I am not aware of.

In 2.4.14 we always allow timer interrupt to happen
while handling soft IRQs (this was not the case in 2.4.5)
but I don't think this should cause any performance impact.
It would be easy to remove this patch from a 2.4.14 kernel
and check the result. If you want to test it your self you
can replace the call to BUILD_TIMER_IRQ with BUILD_IRQ in

Do you know any results for the same tests on any other
architecture (is 2.4.14 slower on all architectures?).

-----Original Message-----
From: owner-dev-etrax@xxxxxxx.com
To: dev-etrax
Sent: 2001-12-12 18:01
Subject: Kernel 2.4.14 slow due to  softirq daemon?

It seems that softirq daemon is eating to much CPU time on 2.4.14.
ps always shows it in running state and simple CPU bound benchmarks
much slower.

I noticed the problem when I measured Ethernet and memory throughput
performance with tcp_perf.c (it is included in
devboard_lx/tools/src/tcp_test). Here are the results of the memory fill
test on devboard:

Large buffer fill          (1000 x 1000000 byte)  25 MB/sec
Small (cached) buffer fill (1000000 x 1000 byte) 176 MB/sec

Large buffer fill          (1000 x 1000000 byte)  19 MB/sec
Small (cached) buffer fill (1000000 x 1000 byte) 114 MB/sec

Any ideas?

Zoran Tomicic