Re: [PATCH v6 net-next 2/5] net: implement support for low latencysocket polling

From: Eliezer Tamir
Date: Thu May 30 2013 - 01:58:49 EST


On 29/05/2013 22:08, Eric Dumazet wrote:
On Wed, 2013-05-29 at 21:52 +0300, Or Gerlitz wrote:
Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> wrote:
Or Gerlitz wrote:

Unlike with TCP sockets, UDP sockets may receive packets from multiple
sources and hence the receiving context may be steered to be executed
on different cores through RSS or other Flow-Steering HW mechanisms
which could mean different napi contexts for the same socket, is that
a problem here? what's the severity?

Nothing will break if you poll on the wrong queue.
Your data will come through normal NAPI processing of the right queue.

Can you elaborate a little further, why you call this "wrong" and "right"?
--

This definitely need some documentation, because before llpoll, device
RX path was serviced by the cpu receiving the harwdare interrupt.

So the "wrong" queue could add false sharing, and wrong NUMA
allocations.

Yes,
To work properly when you have more than one NUMA node, you have to have packet steering set up, either by your NIC or by HW accelerated RFS.

I would like to add a short writeup of the design and suggested configuration. Where should it go?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/