[lkml]   [2006]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectksoftird doesn't work like it should (?)
Hello everybody.

First of all, thank you all of you that helped me when i was doing my
thesis project: olsson, greg k-h, ... I could learn a lot (although
i'm still a newbie, of course) in these 8 months, and wrote in this
mailing list when i was too lost...

Well, you won't remember me, but I had to design a network analysis
system in kernel space. Letting apart that is or is not useful (I
didnt choose that, I just had to do it), I made some testing that
could be interesting, or that's what i think.

That's why I would like to share it with you. Here I attach a link to
a picture, which show the problems they happen when the network load
goes high.

This picture shows the throughput of a network analysis system in user
space (not mine), with different injection speeds.
x axis: traffic speed (packets per second)
y axis: analyzer throughput (packets per second)

You can see that, when the network traffic is low, the network
analyzer can process all the packets (straight line), but when it gets
too high, it starts losing packets. If it gets even higher, the
ksoftirqd kernel thread starts eating 99.9% CPU time, even if it is
supposed that its priority is the lowest possible, so the throughput
goes lower. ksoftirqd is supposed that would not starve user programs,
but the system almost goes to livelock. The system stabilizes around
1.2 Gpps.

So what we can conclude here is that ksoftirqd doesnt work as it
should, or maybe do_softirq() is called from more places apart from
the ksoftird kernel thread. In any case, the user process almost

If you'd like, i have more pictures similar to this, and the
"solution" i found, which tries to make the throughput to be constant
independently of the traffic speed.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-03-28 13:32    [W:0.030 / U:3.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site