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.