[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AE90C24D6B3A694183C094C60CF0A2F6026B742A@saturn3.aculab.com>
Date: Mon, 18 Nov 2013 10:09:53 -0000
From: "David Laight" <David.Laight@...LAB.COM>
To: "Willy Tarreau" <w@....eu>, "Arnaud Ebalard" <arno@...isbad.org>
Cc: "Cong Wang" <xiyou.wangcong@...il.com>, <edumazet@...gle.com>,
<linux-arm-kernel@...ts.infradead.org>, <netdev@...r.kernel.org>,
"Thomas Petazzoni" <thomas.petazzoni@...e-electrons.com>
Subject: RE: [BUG,REGRESSION?] 3.11.6+,3.12: GbE iface rate drops to few KB/s
> I wonder if we can call mvneta_txq_done() from the IRQ handler, which would
> cause some recycling of the Tx descriptors when receiving the corresponding
> ACKs.
>
> Ideally we should enable the Tx IRQ, but I still have no access to this
> chip's datasheet despite having asked Marvell several times in one year
> (Thomas has it though).
>
> So it is fairly possible that in your case you can't fill the link if you
> consume too many descriptors. For example, if your server uses TCP_NODELAY
> and sends incomplete segments (which is quite common), it's very easy to
> run out of descriptors before the link is full.
Or you have a significant number of active tcp connections.
Even if there were no requirement to free the skb quickly you still
need to take a 'tx done' interrupt when the link is transmit rate limited.
There are scenarios when there is no receive traffic - eg asymmetric
routing, but testable with netperf UDP transmits.
David
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists