vlan: slight optimization for vlan_do_receive()
authordingtianhong <dingtianhong@huawei.com>
Fri, 7 Mar 2014 10:45:30 +0000 (18:45 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 9 Mar 2014 23:03:51 +0000 (19:03 -0400)
According Joe's suggestion, maybe it'd be faster to add an unlikely to
the test for PCKET_OTHERHOST, so I add it and see whether the performance
could be better, although the differences is so small and negligible, but
it is hard to catch that any lower device would set the skb type to
PACKET_OTHERHOST, so most of time, I think it make sense to add unlikely
for the test.

Cc: Joe Perches <joe@perches.com>
Cc: Patrick McHardy <kaber@trash.net>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/8021q/vlan_core.c

index 6ee48aac776fbe84db68a503d9aca10ca45b0081..97815ec69161d43e61cea6e796e548346b70d576 100644 (file)
@@ -22,7 +22,7 @@ bool vlan_do_receive(struct sk_buff **skbp)
                return false;
 
        skb->dev = vlan_dev;
-       if (skb->pkt_type == PACKET_OTHERHOST) {
+       if (unlikely(skb->pkt_type == PACKET_OTHERHOST)) {
                /* Our lower layer thinks this is not local, let's make sure.
                 * This allows the VLAN to have a different MAC than the
                 * underlying device, and still route correctly. */