[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f14255ee-7fa8-afef-23ec-fc4f9a74eec8@marvell.com>
Date: Mon, 28 Nov 2016 14:07:51 +0100
From: Lino Sanfilippo <lsanfil@...vell.com>
To: Pavel Machek <pavel@....cz>, <peppe.cavallaro@...com>,
<netdev@...r.kernel.org>,
kernel list <linux-kernel@...r.kernel.org>
Subject: Re: stmmac ethernet in kernel 4.4: coalescing related pauses?
Hi Pavel,
On 23.11.2016 11:51, Pavel Machek wrote:
> I'm debugging strange delays during transmit in stmmac driver. They
> seem to be present in 4.4 kernel (and older kernels, too). Workload is
> burst of udp packets being sent, pause, burst of udp packets, ...
>
> Test code is attached, I use these parameters for testing:
>
> ./udp-test raw 10.0.0.6 1234 1000 100 30
>
> The delays seem to be related to coalescing:
>
> drivers/net/ethernet/stmicro/stmmac/common.h
> #define STMMAC_COAL_TX_TIMER 40000
> #define STMMAC_MAX_COAL_TX_TICK 100000
> #define STMMAC_TX_MAX_FRAMES 256
>
> If I lower the parameters, delays are gone, but I get netdev watchdog
> backtrace followed by broken driver.
>
> Any ideas what is going on there?
>
> [I'm currently trying to get newer kernels working on affected
> hardware.]
>
> Best regards,
>
> Pavel
I once encountered a similar behaviour with a driver. The reason was that the socket
queue limit was temporarily exhausted because the irq handler did not free the tx skbs
fast enough (that driver also used irq coalescing).
Calling skb_orphan() in the xmit handler made this issue disappear.
Regards,
Lino
Powered by blists - more mailing lists