Commit 82dc3c63 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

net: introduce NAPI_POLL_WEIGHT

Some drivers use a too big NAPI poll weight.

This patch adds a NAPI_POLL_WEIGHT default value
and issues an error message if a driver attempts
to use a bigger weight.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dd9f319d
...@@ -1475,6 +1475,11 @@ static inline void *netdev_priv(const struct net_device *dev) ...@@ -1475,6 +1475,11 @@ static inline void *netdev_priv(const struct net_device *dev)
*/ */
#define SET_NETDEV_DEVTYPE(net, devtype) ((net)->dev.type = (devtype)) #define SET_NETDEV_DEVTYPE(net, devtype) ((net)->dev.type = (devtype))
/* Default NAPI poll() weight
* Device drivers are strongly advised to not use bigger value
*/
#define NAPI_POLL_WEIGHT 64
/** /**
* netif_napi_add - initialize a napi context * netif_napi_add - initialize a napi context
* @dev: network device * @dev: network device
......
...@@ -4057,6 +4057,9 @@ void netif_napi_add(struct net_device *dev, struct napi_struct *napi, ...@@ -4057,6 +4057,9 @@ void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
napi->gro_list = NULL; napi->gro_list = NULL;
napi->skb = NULL; napi->skb = NULL;
napi->poll = poll; napi->poll = poll;
if (weight > NAPI_POLL_WEIGHT)
pr_err_once("netif_napi_add() called with weight %d on device %s\n",
weight, dev->name);
napi->weight = weight; napi->weight = weight;
list_add(&napi->dev_list, &dev->napi_list); list_add(&napi->dev_list, &dev->napi_list);
napi->dev = dev; napi->dev = dev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment