Remove this trivial bit of inefficiency from the rx receive loop, results in increase of a few Mbps in iperf3. Tested on Intel Core2 platform.
Signed-off-by: Sieng Piaw Liew <liew.s.p...@gmail.com> --- drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c index 3f65f2b370c5..b995f9a0479c 100644 --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c @@ -1796,9 +1796,7 @@ static void atl1c_clean_rx_irq(struct atl1c_adapter *adapter, struct atl1c_recv_ret_status *rrs; struct atl1c_buffer *buffer_info; - while (1) { - if (*work_done >= work_to_do) - break; + while (*work_done < work_to_do) { rrs = ATL1C_RRD_DESC(rrd_ring, rrd_ring->next_to_clean); if (likely(RRS_RXD_IS_VALID(rrs->word3))) { rfd_num = (rrs->word0 >> RRS_RX_RFD_CNT_SHIFT) & -- 2.17.1