Thread (22 messages) 22 messages, 4 authors, 2017-02-19

Re: [PATCH net-next] mlx4: do not fire tasklet unless necessary

flat view

From: Eric Dumazet <hidden>
Date: 2017-02-16 15:49:53

On Thu, 2017-02-16 at 14:44 +0200, Saeed Mahameed wrote:
On Wed, Feb 15, 2017 at 4:04 PM, Eric Dumazet [off-list ref] wrote:
quoted
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.

Simply 8 RX queues. About 140,000 irq per second per RX queue,
for a moderate network load on 40Gbit NIC.

Interrupt moderation is a latency killer, we want our usec back.
quoted
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.

So why a mb() is needed exactly ?

wmb() seems enough.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help