Re: [Pv-drivers] rps and pvdrivers

Eric Dumazet
2010-09-04T13:51:57Z

Le samedi 04 septembre 2010 à 09:38 -0400, Chetan Loke a écrit :

> I see. Ok then that's whats happening. I guess I will have to look at
> the napi/ksoftirq/rps block in detail to understand this. But I would
> think that even w/o the rps settings I should still get the same
> numbers as compared to non-rps case, correct?
>
> On a VM(virtual machine) using a 1G vNIC I can capture ~250K
> pkts/sec(even higher in some cases). But I can't go beyond 100K
> pkts/sec on a 10G vNIC because ksoftirqd consumes 1-cpu 100% of the
> time. That's why I thought of switching to the 2.6.35 kernel to see if
> I could scale on 10G.
>
> It's possible that a VM cannot handle that much load. So I tried
> sending only 10% of line-rate(10G) which is 1G. It still doesn't work.
> I still can't capture that many pkts.

If packets have same rxhash, (same src IP, dst IP, src port, dst port),
they are directed on a single CPU, and this might explain you cannot
handle the load, RPS or not.

cat /proc/net/softnet_stat

RPS is good to handle multiple flows, because it can distribute load on
several cpus. But with a single flow, I guess it might be not that
useful.