Commit 7c4ec749 authored by David S. Miller's avatar David S. Miller

net: Init backlog NAPI's gro_hash.

Based upon a patch by Sean Tranchetti.

Fixes: d4546c25 ("net: Convert GRO SKB handling to list_head.")
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 99d20a46
...@@ -6115,19 +6115,24 @@ static enum hrtimer_restart napi_watchdog(struct hrtimer *timer) ...@@ -6115,19 +6115,24 @@ static enum hrtimer_restart napi_watchdog(struct hrtimer *timer)
return HRTIMER_NORESTART; return HRTIMER_NORESTART;
} }
void netif_napi_add(struct net_device *dev, struct napi_struct *napi, static void init_gro_hash(struct napi_struct *napi)
int (*poll)(struct napi_struct *, int), int weight)
{ {
int i; int i;
INIT_LIST_HEAD(&napi->poll_list);
hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
napi->timer.function = napi_watchdog;
napi->gro_bitmask = 0;
for (i = 0; i < GRO_HASH_BUCKETS; i++) { for (i = 0; i < GRO_HASH_BUCKETS; i++) {
INIT_LIST_HEAD(&napi->gro_hash[i].list); INIT_LIST_HEAD(&napi->gro_hash[i].list);
napi->gro_hash[i].count = 0; napi->gro_hash[i].count = 0;
} }
napi->gro_bitmask = 0;
}
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
INIT_LIST_HEAD(&napi->poll_list);
hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
napi->timer.function = napi_watchdog;
init_gro_hash(napi);
napi->skb = NULL; napi->skb = NULL;
napi->poll = poll; napi->poll = poll;
if (weight > NAPI_POLL_WEIGHT) if (weight > NAPI_POLL_WEIGHT)
...@@ -9554,6 +9559,7 @@ static int __init net_dev_init(void) ...@@ -9554,6 +9559,7 @@ static int __init net_dev_init(void)
sd->cpu = i; sd->cpu = i;
#endif #endif
init_gro_hash(&sd->backlog);
sd->backlog.poll = process_backlog; sd->backlog.poll = process_backlog;
sd->backlog.weight = weight_p; sd->backlog.weight = weight_p;
} }
......
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