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

From: Eliezer Tamir
Date: Thu May 30 2013 - 02:05:31 EST


On 29/05/2013 21:52, 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"?

Right == the queue the packets arrive on.
Wrong == any other queue.

BTW, if you have an application that receives UDP data to an unbound socket, wouldn't it be better in any case to steer all of the incoming packets for this UDP socket to a single queue disregarding the source address? (Can't your hardware do that?)

The general approach is that userspace needs to make sure that threads, connections and IRQs are bound to the right CPUs.

-Eliezer

--
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/