From: Tim Gardner Date: Tue, 8 Jun 2010 23:51:27 +0000 (-0600) Subject: net: Print num_rx_queues imbalance warning only when there are allocated queues X-Git-Tag: v2.6.35-rc3~1^2~7^2 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=08c801f8d45387a1b46066aad1789a9bb9c4b645;hp=327723edebbbd621ed35b0d63073685eb225563e;p=net-next-2.6.git net: Print num_rx_queues imbalance warning only when there are allocated queues BugLink: http://bugs.launchpad.net/bugs/591416 There are a number of network drivers (bridge, bonding, etc) that are not yet receive multi-queue enabled and use alloc_netdev(), so don't print a num_rx_queues imbalance warning in that case. Also, only print the warning once for those drivers that _are_ multi-queue enabled. Signed-off-by: Tim Gardner Acked-by: Eric Dumazet --- diff --git a/net/core/dev.c b/net/core/dev.c index d03470f5260..14a85682af3 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2253,11 +2253,9 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb, if (skb_rx_queue_recorded(skb)) { u16 index = skb_get_rx_queue(skb); if (unlikely(index >= dev->num_rx_queues)) { - if (net_ratelimit()) { - pr_warning("%s received packet on queue " - "%u, but number of RX queues is %u\n", - dev->name, index, dev->num_rx_queues); - } + WARN_ONCE(dev->num_rx_queues > 1, "%s received packet " + "on queue %u, but number of RX queues is %u\n", + dev->name, index, dev->num_rx_queues); goto done; } rxqueue = dev->_rx + index;