diff options
author | Eric Dumazet <edumazet@google.com> | 2015-11-18 06:30:59 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-11-18 16:17:41 -0500 |
commit | 93f93a4404159ecf7e9148f5ad0718ec702ac4cb (patch) | |
tree | 870897137213237587fb35c3f238d9d06e164de3 /net/core | |
parent | 868fdb06063d92f4373be4974d1b651a32bb9442 (diff) | |
download | op-kernel-dev-93f93a4404159ecf7e9148f5ad0718ec702ac4cb.zip op-kernel-dev-93f93a4404159ecf7e9148f5ad0718ec702ac4cb.tar.gz |
net: move skb_mark_napi_id() into core networking stack
We would like to automatically provide busy polling support
to all NAPI drivers, without them having to implement anything.
skb_mark_napi_id() can be called from napi_gro_receive() and
napi_get_frags().
Few drivers are still calling skb_mark_napi_id() because
they use netif_receive_skb(). They should eventually call
napi_gro_receive() instead. I will leave this to drivers
maintainers.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 9300961..83b4874 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4356,6 +4356,7 @@ static gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb) gro_result_t napi_gro_receive(struct napi_struct *napi, struct sk_buff *skb) { + skb_mark_napi_id(skb, napi); trace_napi_gro_receive_entry(skb); skb_gro_reset_offset(skb); @@ -4390,6 +4391,7 @@ struct sk_buff *napi_get_frags(struct napi_struct *napi) if (!skb) { skb = napi_alloc_skb(napi, GRO_MAX_HEAD); napi->skb = skb; + skb_mark_napi_id(skb, napi); } return skb; } |