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

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

From: Eric Dumazet <hidden>
Date: 2017-02-16 23:13:56

On Thu, 2017-02-16 at 23:17 +0200, Saeed Mahameed wrote:
so i guess you are not busy polling .. and adaptive moderation decided
to lower down
rx-usecs for you, and you are looking to improve latency.
quoted
Interrupt moderation is a latency killer, we want our usec back.
well, for RX we have adaptive moderation.
and for TX we have xmit more.
so interrupt moderation can be good if it is done right.

do i understand from this that you are against interrupt moderation ?
Absolutely against it. We prefer gro_flush_timeout.

The defaults values in mlx4 never were tuned for 40Gbit.

If you want to be able to reach 40Gbit on a single TCP flow, you want :

ethtool -C ethX rx-frames 16 rx-usecs-high 32

Or disable interrupt mitigation of course.


Interrupt moderation comes for free with NAPI really :

If under stress, number of interrupts will naturally decrease,
so what's the point with hardware _delaying_ an incoming packet
exactly ???

BTW interrupt moderation in mlx4 has at least two bugs.

I will send a patch.

quoted
quoted
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.
Yes seems right, not sure why it is mb() though, i will have to check
and get back to you on this.
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help