e1000: remove risky prefetch on next_skb->data
It was brought to our attention that the prefetches break e1000 traffic on xscale/arm architectures. Remove them for now. We'll let them stay in mm for a while, or find a better solution to enable. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
This commit is contained in:
parent
b9b6e78b11
commit
24f476eeec
1 changed files with 2 additions and 6 deletions
|
@ -3519,7 +3519,7 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
|
|||
buffer_info = &rx_ring->buffer_info[i];
|
||||
|
||||
while (rx_desc->status & E1000_RXD_STAT_DD) {
|
||||
struct sk_buff *skb, *next_skb;
|
||||
struct sk_buff *skb;
|
||||
u8 status;
|
||||
#ifdef CONFIG_E1000_NAPI
|
||||
if (*work_done >= work_to_do)
|
||||
|
@ -3537,8 +3537,6 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
|
|||
prefetch(next_rxd);
|
||||
|
||||
next_buffer = &rx_ring->buffer_info[i];
|
||||
next_skb = next_buffer->skb;
|
||||
prefetch(next_skb->data - NET_IP_ALIGN);
|
||||
|
||||
cleaned = TRUE;
|
||||
cleaned_count++;
|
||||
|
@ -3668,7 +3666,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
|
|||
struct e1000_buffer *buffer_info, *next_buffer;
|
||||
struct e1000_ps_page *ps_page;
|
||||
struct e1000_ps_page_dma *ps_page_dma;
|
||||
struct sk_buff *skb, *next_skb;
|
||||
struct sk_buff *skb;
|
||||
unsigned int i, j;
|
||||
uint32_t length, staterr;
|
||||
int cleaned_count = 0;
|
||||
|
@ -3697,8 +3695,6 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
|
|||
prefetch(next_rxd);
|
||||
|
||||
next_buffer = &rx_ring->buffer_info[i];
|
||||
next_skb = next_buffer->skb;
|
||||
prefetch(next_skb->data - NET_IP_ALIGN);
|
||||
|
||||
cleaned = TRUE;
|
||||
cleaned_count++;
|
||||
|
|
Reference in a new issue