net: remove useless prefetch() call
authorEric Dumazet <dada1@cosmosbay.com>
Sat, 21 Mar 2009 20:42:55 +0000 (13:42 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Mar 2009 20:42:55 +0000 (13:42 -0700)
There is no gain using prefetch() in dev_hard_start_xmit(), since
we already had to read ops->ndo_select_queue pointer in dev_pick_tx(),
and both pointers are probably located in the same cache line.

This prefetch call slows down fast path because of a stall in address
computation.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index fdb9973b82a65df9ca777027a74304234f583306..052dd478d3e112b769b66ab83db5b82996d88061 100644 (file)
@@ -1670,7 +1670,6 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
        const struct net_device_ops *ops = dev->netdev_ops;
        int rc;
 
-       prefetch(&dev->netdev_ops->ndo_start_xmit);
        if (likely(!skb->next)) {
                if (!list_empty(&ptype_all))
                        dev_queue_xmit_nit(skb, dev);