ksoftirq consumes >80% CPU on embedded platform

Jul 28, 2010 2 Replies

Hello,



we're designing SOHO router based on MIPS processor, wired up with 24-ports switch. The CPU runs NAT (configured with iptables), iptables rules, dhcp etc. it doesn't have any H/W acceleration for these functions. When testing NAT in full-mesh mode (i.e. one WAN port and others are LAN port), we observe the significant system's slowdown, especially console responds very slowly, and there is also packets loss. The 'top' shows that ksoftirqd consumes over 80% of CPU.



What can be the reason of such behaviour? As I know Linux NAT runs in kernel space, so it should not be a problem of context switching?


Mark

ts

ng

ry

nel

It sounds like the CPU just doesn't have the horsepower to do all the tasks it is doing. How many packets per second, and how many connections, are you NATing? What MIPS processor is this?

DS

Get the mpstat(1) command and check the output from mpstat -P ALL to get a different view of it (or check the files in /proc which give you the same info, except in raw form).

mpstat(1) is part of the sar package, I think.

/Jorgen

// Jorgen Grahn O o .

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required