netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* udp: Question about busy_poll change
@ 2014-04-09 14:13 Edward Cree
  2014-04-09 14:51 ` Shawn Bohrer
  0 siblings, 1 reply; 8+ messages in thread
From: Edward Cree @ 2014-04-09 14:13 UTC (permalink / raw)
  To: netdev, Shawn Bohrer; +Cc: Jonathan Cooper

Commit 005ec9743394010cd37d86c3fd2e81978231cdbf, "udp: Only allow busy
read/poll on connected sockets",
causes a performance regression (increased latency) on some
micro-benchmarks which don't connect() their UDP socket, and might well
have a similar effect on real applications that do the same thing.
As far as I can tell, the change is only needed in the case where the
UDP socket is bound to INADDR_ANY, _and_ traffic on the chosen UDP port
is received through more than one NIC (or perhaps through a NIC with
separate NAPI contexts per receive queue?)
In particular, busy polling makes sense for a client (which will only be
receiving packets from one remote address even though the socket is
unconnected), or for a socket which has been bound to an interface's
address (at least in the case of sfc, where we have one NAPI context for
all the receive queues on an interface).

So, what was the deeper rationale for this change?  Is there a
correctness issue or does the old behaviour just affect performance
through unnecessary busy_polling?  Or have I just misunderstood things
completely?

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-04-11 10:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-09 14:13 udp: Question about busy_poll change Edward Cree
2014-04-09 14:51 ` Shawn Bohrer
2014-04-09 16:20   ` Edward Cree
2014-04-10 18:04     ` [RFC PATCH] udp: allow busy_poll on some unconnected sockets Edward Cree
2014-04-10 18:32       ` Eric Dumazet
2014-04-10 18:38         ` Edward Cree
2014-04-10 19:04           ` Eric Dumazet
2014-04-11 10:44             ` Jonathan Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).