Browse Source

i40e/i40evf: enable prefetch of Tx descriptors during cleanup

Performance can be improved a bit by imitating ixgbe and using
prefetch to get us the next Tx descriptor.

Change-ID: Ice7ffd4cd0ce87c35295059bdb7972a7f53723aa
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jesse Brandeburg 10 years ago
parent
commit
016890b994

+ 2 - 0
drivers/net/ethernet/intel/i40e/i40e_txrx.c

@@ -770,6 +770,8 @@ static bool i40e_clean_tx_irq(struct i40e_ring *tx_ring, int budget)
 			tx_desc = I40E_TX_DESC(tx_ring, 0);
 			tx_desc = I40E_TX_DESC(tx_ring, 0);
 		}
 		}
 
 
+		prefetch(tx_desc);
+
 		/* update budget accounting */
 		/* update budget accounting */
 		budget--;
 		budget--;
 	} while (likely(budget));
 	} while (likely(budget));

+ 2 - 0
drivers/net/ethernet/intel/i40evf/i40e_txrx.c

@@ -289,6 +289,8 @@ static bool i40e_clean_tx_irq(struct i40e_ring *tx_ring, int budget)
 			tx_desc = I40E_TX_DESC(tx_ring, 0);
 			tx_desc = I40E_TX_DESC(tx_ring, 0);
 		}
 		}
 
 
+		prefetch(tx_desc);
+
 		/* update budget accounting */
 		/* update budget accounting */
 		budget--;
 		budget--;
 	} while (likely(budget));
 	} while (likely(budget));