netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/5] net: busy-poll: allow preemption and other optimizations
@ 2016-11-15 18:15 Eric Dumazet
  2016-11-15 18:15 ` [PATCH net-next 1/5] net: busy-poll: allow preemption in sk_busy_loop() Eric Dumazet
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Eric Dumazet @ 2016-11-15 18:15 UTC (permalink / raw)
  To: David S . Miller
  Cc: netdev, Willem de Bruijn, Adam Belay, Zach Brown, Tariq Toukan,
	Yuval Mintz, Ariel Elior, Eric Dumazet, Eric Dumazet

It is time to have preemption points in sk_busy_loop() and improve
its scalability.

Also napi_complete() and friends can tell drivers when it is safe to
not re-enable device interrupts, saving some overhead under
high busy polling.

mlx4 and bnx2x are changed accordingly, to show how this busy polling
status can be exploited by drivers.

Next steps will implement Zach Brown suggestion, where NAPI polling
would be enabled all the time for some chosen queues.
This is needed for efficient epoll() support anyway.

Eric Dumazet (5):
  net: busy-poll: allow preemption in sk_busy_loop()
  net: busy-poll: remove need_resched() from sk_can_busy_loop()
  net: busy-poll: return busypolling status to drivers
  net/mlx4_en: use napi_complete_done() return value
  bnx2x: switch to napi_complete_done()

 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |  15 ++--
 drivers/net/ethernet/mellanox/mlx4/en_rx.c      |   4 +-
 include/linux/netdevice.h                       |  17 +++-
 include/net/busy_poll.h                         |   5 +-
 net/core/dev.c                                  | 110 +++++++++++++++++++-----
 5 files changed, 113 insertions(+), 38 deletions(-)

-- 
2.8.0.rc3.226.g39d4020

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

end of thread, other threads:[~2016-11-16 18:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-15 18:15 [PATCH net-next 0/5] net: busy-poll: allow preemption and other optimizations Eric Dumazet
2016-11-15 18:15 ` [PATCH net-next 1/5] net: busy-poll: allow preemption in sk_busy_loop() Eric Dumazet
2016-11-15 18:15 ` [PATCH net-next 2/5] net: busy-poll: remove need_resched() from sk_can_busy_loop() Eric Dumazet
2016-11-15 18:15 ` [PATCH net-next 3/5] net: busy-poll: return busypolling status to drivers Eric Dumazet
2016-11-15 18:15 ` [PATCH net-next 4/5] net/mlx4_en: use napi_complete_done() return value Eric Dumazet
2016-11-15 18:15 ` [PATCH net-next 5/5] bnx2x: switch to napi_complete_done() Eric Dumazet
2016-11-16 18:03 ` [PATCH net-next 0/5] net: busy-poll: allow preemption and other optimizations John Fastabend
2016-11-16 18:41 ` David Miller

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).