[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161214125735.GA19542@amd>
Date: Wed, 14 Dec 2016 13:57:35 +0100
From: Pavel Machek <pavel@....cz>
To: Niklas Cassel <niklas.cassel@...s.com>
Cc: Giuseppe CAVALLARO <peppe.cavallaro@...com>,
Joao Pinto <Joao.Pinto@...opsys.com>,
Florian Fainelli <f.fainelli@...il.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
David Miller <davem@...emloft.net>, larper@...s.com,
rabinv@...s.com, netdev <netdev@...r.kernel.org>,
CARLOS.PALMINHA@...opsys.com, Jie.Deng1@...opsys.com,
Stephen Warren <swarren@...dia.com>
Subject: Re: Synopsys Ethernet QoS
Hi!
> So if there is a long time before handling interrupts,
> I guess that it makes sense that one stream could
> get an advantage in the net scheduler.
>
> If I find the time, and if no one beats me to it, I will try to replace
> the normal timers with HR timers + a smaller default timeout.
>
Can you try something like this? Highres timers will be needed, too,
but this fixes the logic problem.
You'll need to apply it twice as code is copy&pasted.
Best regards,
Pavel
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
*/
priv->tx_count_frames += nfrags + 1;
if (likely(priv->tx_coal_frames > priv->tx_count_frames)) {
- mod_timer(&priv->txtimer,
- STMMAC_COAL_TIMER(priv->tx_coal_timer));
+ if (priv->tx_count_frames == nfrags + 1)
+ mod_timer(&priv->txtimer,
+ STMMAC_COAL_TIMER(priv->tx_coal_timer));
} else {
priv->tx_count_frames = 0;
priv->hw->desc->set_tx_ic(desc);
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists