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

Re: Kernel 2.4.14 slow due to softirq daemon?



On Thursdayen den 20 December 2001 14.06, Zoran Tomicic wrote:
> 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
> 	CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST
> to No in "make config" the memory fill rates went back to previous (2.4.5)
> values.
>
> Regards
> Zoran

Oh,

I think there is a new IRQ frequency limiter in newer kernels.
(author Ingo Molnar
 "[announce] [patch] limiting IRQ load, irq-rewrite-2.4.11-B5")

This is to protect from unclearable IRQs from a defective unit.
(the high frequency seams close to the limit)
cat /proc/irq/9/max_rate
shows 20000 as limit for all IRQs...
You might raise the limit.

/RogerL

>
>
> -----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?
>
>
> Hi,
>
> 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
> os/linux/include/asm/irq.h.
>
> Do you know any results for the same tests on any other
> architecture (is 2.4.14 slower on all architectures?).
>
> Regards
> /Mikael
> -----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
> execute
> 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:
>
> 2.4.5
> =====
> Large buffer fill          (1000 x 1000000 byte)  25 MB/sec
> Small (cached) buffer fill (1000000 x 1000 byte) 176 MB/sec
>
> 2.4.14
> =====
> Large buffer fill          (1000 x 1000000 byte)  19 MB/sec
> Small (cached) buffer fill (1000000 x 1000 byte) 114 MB/sec
>
> Any ideas?
>
> Regards
> Zoran Tomicic

-- 
Roger Larsson
Skellefteċ
Sweden