All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
To: Eric Dumazet <edumazet@google.com>,
	"David S . Miller" <davem@davemloft.net>
Cc: netdev <netdev@vger.kernel.org>, Eli Cohen <eli@mellanox.com>,
	Amir Vadai <amirv@mellanox.com>,
	Ariel Elior <ariel.elior@qlogic.com>,
	Willem de Bruijn <willemb@google.com>,
	Rida Assaf <rida@google.com>,
	Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [PATCH net-next 5/9] net: network drivers no longer need to implement ndo_busy_poll()
Date: Tue, 17 Nov 2015 17:14:11 +0200	[thread overview]
Message-ID: <564B4443.90108@linux.intel.com> (raw)
In-Reply-To: <1447768624-14962-6-git-send-email-edumazet@google.com>

On 17/11/2015 15:57, Eric Dumazet wrote:
> Instead of having to implement complex ndo_busy_poll() method,
> drivers can simply rely on NAPI poll logic.

I really like where you are going with this series.

...

> We could go one step further, and make busy polling
> available for all NAPI drivers, but this would require
> that all netif_napi_del() calls are done in process context
> so that we can call synchronize_rcu().
> Full audit would be required.
> 
> Before this is done, a driver still needs to call :
> 
> - skb_mark_napi_id() for each skb provided to the stack, although we can
>   easily do this directly in core networking stack in a future patch.
> 
> - napi_hash_add() and napi_hash_del() to allocate/free a napi_id per napi.
> 
> - Make sure RCU grace period is respected after napi_hash_del() before
>   memory containing napi structure is freed.

Can we move all of these into the NAPI infrastructure?
Maybe hash add/del can be inside netif_napi_add/del.
Some way to force the right RCU behavior, and busy polling is
completely driver-agnostic, which IMHO outweighs the small gains
you can have by micro-optimizing ndo_busy_poll.

On another note, any thoughts about unifying poll_controller with
regular poll?

cheers,
Eliezer

  reply	other threads:[~2015-11-17 15:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-17 13:56 [PATCH net-next 0/9] net: extend busy polling support Eric Dumazet
2015-11-17 13:56 ` [PATCH net-next 1/9] net: better skb->sender_cpu and skb->napi_id cohabitation Eric Dumazet
2015-11-17 17:42   ` Alexei Starovoitov
2015-11-17 13:56 ` [PATCH net-next 2/9] mlx4: mlx4_en_low_latency_recv() called with BH disabled Eric Dumazet
2015-11-17 13:56 ` [PATCH net-next 3/9] net: un-inline sk_busy_loop() Eric Dumazet
2015-11-17 14:15   ` Eric Dumazet
2015-11-17 13:56 ` [PATCH net-next 4/9] net: allow BH servicing in sk_busy_loop() Eric Dumazet
2015-11-17 13:57 ` [PATCH net-next 5/9] net: network drivers no longer need to implement ndo_busy_poll() Eric Dumazet
2015-11-17 15:14   ` Eliezer Tamir [this message]
2015-11-17 15:33     ` Eric Dumazet
2015-11-17 16:03       ` Eric Dumazet
2015-11-17 13:57 ` [PATCH net-next 6/9] mlx5: add busy polling support Eric Dumazet
2015-11-17 13:57 ` [PATCH net-next 7/9] mlx5: support napi_complete_done() Eric Dumazet
2015-11-17 13:57 ` [PATCH net-next 8/9] bnx2x: remove bnx2x_low_latency_recv() support Eric Dumazet
2015-11-17 13:57 ` [PATCH net-next 9/9] mlx4: remove mlx4_en_low_latency_recv() Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=564B4443.90108@linux.intel.com \
    --to=eliezer.tamir@linux.intel.com \
    --cc=amirv@mellanox.com \
    --cc=ariel.elior@qlogic.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=eli@mellanox.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=rida@google.com \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.