Re: [PATCH] softirq: let ksoftirqd do its job

From: Hannes Frederic Sowa
Date: Thu Sep 01 2016 - 08:06:00 EST


On 31.08.2016 22:42, Eric Dumazet wrote:
> On Wed, 2016-08-31 at 21:40 +0200, Jesper Dangaard Brouer wrote:
>
>> I can confirm the improvement of approx 900Kpps (no wonder people have
>> been complaining about DoS against UDP/DNS servers).
>>
>> BUT during my extensive testing, of this patch, I also think that we
>> have not gotten to the bottom of this. I was expecting to see a higher
>> (collective) PPS number as I add more UDP servers, but I don't.
>>
>> Running many UDP netperf's with command:
>> super_netperf 4 -H 198.18.50.3 -l 120 -t UDP_STREAM -T 0,0 -- -m 1472 -n -N
>
> Are you sure sender can send fast enough ?
>
>>
>> With 'top' I can see ksoftirq are still getting a higher %CPU time:
>>
>> PID %CPU TIME+ COMMAND
>> 3 36.5 2:28.98 ksoftirqd/0
>> 10724 9.6 0:01.05 netserver
>> 10722 9.3 0:01.05 netserver
>> 10723 9.3 0:01.05 netserver
>> 10725 9.3 0:01.05 netserver
>
> Looks much better on my machine, with "udprcv -n 4" (using 4 threads,
> and 4 sockets using SO_REUSEPORT)

Would it make sense to include used socket backlog in udp socket lookup
compute_score calculation? Just want to throw out the idea, I actually
could imagine to also cause bad side effects.