On Wed, Feb 15, 2017 at 4:04 PM, Eric Dumazet [off-list ref] wrote:
On Wed, 2017-02-15 at 05:29 -0800, Eric Dumazet wrote:
quoted
mlx4_eq_int() is a hard irq handler.
How a tasklet could run in the middle of it ?
A tasklet is a softirq handler.
Speaking of mlx4_eq_int() , 50% of cycles are spent on mb() (mfence)
in eq_set_ci()
I wonder why you have so many interrupts ? don't you have some kind of
interrupt moderation ?
what test are you running that got your CPU so busy.
I wonder why this very expensive mb() is required, right before exiting
the interrupt handler.
to make sure the HW knows we handled Completions up to (ci) consumer
index. so it will generate next irq.