==> Regarding Re: [PATCH 1/2] e1000: fix netpoll with NAPI; Auke Kok <[EMAIL 
PROTECTED]> adds:

auke-jan.h.kok> Hi,

auke-jan.h.kok> we're not too happy with this as it puts a branch right in
auke-jan.h.kok> the regular receive path. We haven't ran the numbers on it
auke-jan.h.kok> yet but it is likely that this will lower performance
auke-jan.h.kok> significantly during normal receives for something that is
auke-jan.h.kok> not common use.

auke-jan.h.kok> Attached below a (revised) patch that adds proper locking
auke-jan.h.kok> around the rx_clean to prevent the race.

That patch locks around the tx clean routine.  As such, it doesn't prevent
the problem.

> +     disable_irq(adapter->pdev->irq);
> +     if (likely(netif_rx_schedule_prep(&adapter->polling_netdev[0]))) {
> +             if (spin_trylock(&adapter->tx_queue_lock)) {
> +                     e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]);
> +                     spin_unlock(&adapter->tx_queue_lock);
> +             }
> +             adapter->clean_rx(adapter, adapter->rx_ring,
> +                             &budget, netdev->weight);
> +             clear_bit(__LINK_STATE_RX_SCHED,
> +                             &adapter->polling_netdev[0].state);

-Jeff
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to