diff options
author | Eric Dumazet <edumazet@google.com> | 2017-02-02 18:43:28 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-03 17:28:29 -0500 |
commit | 79e7fff47b7bb4124ef970a13eac4fdeddd1fc25 (patch) | |
tree | 484a1b06f220a2e6566ddbaba553eaa831eca1ba /net/core | |
parent | 7a655c6324a8968ea2f027bf3660c87c42ac3de4 (diff) | |
download | linux-79e7fff47b7bb4124ef970a13eac4fdeddd1fc25.tar.gz linux-79e7fff47b7bb4124ef970a13eac4fdeddd1fc25.tar.bz2 linux-79e7fff47b7bb4124ef970a13eac4fdeddd1fc25.zip |
net: remove support for per driver ndo_busy_poll()
We added generic support for busy polling in NAPI layer in linux-4.5
No network driver uses ndo_busy_poll() anymore, we can get rid
of the pointer in struct net_device_ops, and its use in sk_busy_loop()
Saves NETIF_F_BUSY_POLL features bit.
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 | 15 | ||||
-rw-r--r-- | net/core/ethtool.c | 1 |
2 files changed, 0 insertions, 16 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 727b6fda0e8c..4cde8bfb9bab 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4978,7 +4978,6 @@ bool sk_busy_loop(struct sock *sk, int nonblock) { unsigned long end_time = !nonblock ? sk_busy_loop_end_time(sk) : 0; int (*napi_poll)(struct napi_struct *napi, int budget); - int (*busy_poll)(struct napi_struct *dev); void *have_poll_lock = NULL; struct napi_struct *napi; int rc; @@ -4993,17 +4992,10 @@ restart: if (!napi) goto out; - /* Note: ndo_busy_poll method is optional in linux-4.5 */ - busy_poll = napi->dev->netdev_ops->ndo_busy_poll; - preempt_disable(); for (;;) { rc = 0; local_bh_disable(); - if (busy_poll) { - rc = busy_poll(napi); - goto count; - } if (!napi_poll) { unsigned long val = READ_ONCE(napi->state); @@ -6956,13 +6948,6 @@ static netdev_features_t netdev_fix_features(struct net_device *dev, features &= ~dev->gso_partial_features; } -#ifdef CONFIG_NET_RX_BUSY_POLL - if (dev->netdev_ops->ndo_busy_poll) - features |= NETIF_F_BUSY_POLL; - else -#endif - features &= ~NETIF_F_BUSY_POLL; - return features; } diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 6b3eee0834a0..d5f412b3093d 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -102,7 +102,6 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN] [NETIF_F_RXFCS_BIT] = "rx-fcs", [NETIF_F_RXALL_BIT] = "rx-all", [NETIF_F_HW_L2FW_DOFFLOAD_BIT] = "l2-fwd-offload", - [NETIF_F_BUSY_POLL_BIT] = "busy-poll", [NETIF_F_HW_TC_BIT] = "hw-tc-offload", }; |