From: Eric Dumazet <eric.duma...@gmail.com> Date: Fri, 10 Feb 2017 04:27:58 -0800
> From: Eric Dumazet <eduma...@google.com> > > All rx and rx netdev interrupts are handled by respectively > by mlx4_en_rx_irq() and mlx4_en_tx_irq() which simply schedule a NAPI. > > But mlx4_eq_int() also fires a tasklet to service all items that were > queued via mlx4_add_cq_to_tasklet(), but this handler was not called > unless user cqe was handled. > > This is very confusing, as "mpstat -I SCPU ..." show huge number of > tasklet invocations. > > This patch saves this overhead, by carefully firing the tasklet directly > from mlx4_add_cq_to_tasklet(), removing four atomic operations per IRQ. > > Signed-off-by: Eric Dumazet <eduma...@google.com> > Cc: Tariq Toukan <tar...@mellanox.com> > Cc: Saeed Mahameed <sae...@mellanox.com> Tariq/Saeed, please review.