lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 21 Oct 2013 11:07:53 +0200 From: Giuseppe CAVALLARO <peppe.cavallaro@...com> To: Jimmy Perchet <jimmy.perchet@...rot.com> Cc: <netdev@...r.kernel.org> Subject: Re: [PATCH RFC 3/5] net:stmmac: ensure we reclaim all dirty descriptors. Hello Jimmy On 10/16/2013 5:24 PM, Jimmy Perchet wrote: > On low speed link (10MBit/s), some TX descriptors can remain dirty > if the tx coalescence timer expires before they were treated. Re-arm timer > in this case. > > Signed-off-by: Jimmy Perchet <jimmy.perchet@...rot.com> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 0015175..af04b5d 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -1284,8 +1284,12 @@ static void stmmac_tx_clean(struct stmmac_priv *priv) > p = priv->dma_tx + entry; > > /* Check if the descriptor is owned by the DMA. */ > - if (priv->hw->desc->get_tx_owner(p)) > + if (priv->hw->desc->get_tx_owner(p)) { > + /* Be sure to harvest remaining descriptor. */ > + mod_timer(&priv->txtimer, > + STMMAC_COAL_TIMER(priv->tx_coal_timer)); > break; > + } why should we reload the timer when clean the tx resource? This is done in the xmit where as soon as a frame has to be transmitted it makes sense to reload the timer. Also I have not clear why the problem happens on 10MBit/s speed Maybe there is an hidden problem (lock protection) that should be fixed. How did you get this problem? Just on low speed and stress the net? I have never seen it. peppe > > /* Verify tx error by looking at the last segment. */ > last = priv->hw->desc->get_tx_ls(p); > -- 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