sfc: Explicitly prefetch RX hash prefix, not just Ethernet heade
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 29 Jan 2013 23:33:15 +0000 (23:33 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Thu, 7 Mar 2013 20:22:10 +0000 (20:22 +0000)
Currently we prefetch from the Ethernet header, but we will also read
the hash prefix.  In practice they should be in the same cache line
and this won't hurt, but it is still pointless to add on the hash
prefix size.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/rx.c

index 23d67d1f136f1539e637584702297201dd12dbac..8e78a2fe7364babd1ad3e3bd72fbad9cae68ae17 100644 (file)
@@ -458,7 +458,7 @@ void efx_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index,
        /* Prefetch nice and early so data will (hopefully) be in cache by
         * the time we look at it.
         */
-       prefetch(efx_rx_buf_va(rx_buf) + efx->type->rx_buffer_hash_size);
+       prefetch(efx_rx_buf_va(rx_buf));
 
        /* Pipeline receives so that we give time for packet headers to be
         * prefetched into cache.