From: David S. Miller Date: Thu, 21 Oct 2010 15:43:05 +0000 (-0700) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Tag: v2.6.37-rc1~147^2~2 X-Git-Url: https://bbs.cooldavid.org/git/?p=net-next-2.6.git;a=commitdiff_plain;h=2198a10b501fd4443430cb17e065a9e859cc58c9 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/core/dev.c --- 2198a10b501fd4443430cb17e065a9e859cc58c9 diff --cc drivers/net/tg3.h index 8342190df0f,be7ff138a7f..4a1974804b9 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@@ -2811,9 -2755,11 +2811,9 @@@ struct tg3 struct vlan_group *vlgrp; #endif - struct tg3_rx_prodring_set prodring[TG3_IRQ_MAX_VECS]; - /* begin "everything else" cacheline(s) section */ - struct rtnl_link_stats64 net_stats; + unsigned long rx_dropped; struct rtnl_link_stats64 net_stats_prev; struct tg3_ethtool_stats estats; struct tg3_ethtool_stats estats_prev; diff --cc net/core/dev.c index b2269ac04cb,8e07109cc0e..6d4218cdb73 --- a/net/core/dev.c +++ b/net/core/dev.c @@@ -1483,9 -1484,8 +1483,9 @@@ int dev_forward_skb(struct net_device * skb_orphan(skb); nf_reset(skb); - if (!(dev->flags & IFF_UP) || - (skb->len > (dev->mtu + dev->hard_header_len + VLAN_HLEN))) { + if (unlikely(!(dev->flags & IFF_UP) || - (skb->len > (dev->mtu + dev->hard_header_len)))) { ++ (skb->len > (dev->mtu + dev->hard_header_len + VLAN_HLEN)))) { + atomic_long_inc(&dev->rx_dropped); kfree_skb(skb); return NET_RX_DROP; }