Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1396567

Re: [PATCH v2] net: arc/emac: Move arc_emac_tx_clean() into arc_emac_tx() and disable tx interrut

From David Miller <davem@davemloft.net>
Newsgroups linux.kernel
Subject Re: [PATCH v2] net: arc/emac: Move arc_emac_tx_clean() into arc_emac_tx() and disable tx interrut
Date 2016-05-09 05:50 +0200
Message-ID <rwKmJ-3VJ-1@gated-at.bofh.it> (permalink)
References <rvMTD-4RE-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Caesar Wang <wxt@rock-chips.com>
Date: Fri,  6 May 2016 20:19:16 +0800

> Doing tx_clean() inside poll() may scramble the tx ring buffer if
> tx() is running. This will cause tx to stop working, which can be
> reproduced by simultaneously downloading two large files at high speed.
> 
> Moving tx_clean() into tx() will prevent this. And tx interrupt is no
> longer needed now.

TX completion work is always recommended to be done in the ->poll()
handler.

Fix the race or whatever bug there is rather than working around it,
and regressing the driver, by handling TX completion in the interrupt
handler.

Thanks.

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH v2] net: arc/emac: Move arc_emac_tx_clean() into arc_emac_tx() and disable tx interrut Caesar Wang <wxt@rock-chips.com> - 2016-05-06 14:20 +0200
  Re: [PATCH v2] net: arc/emac: Move arc_emac_tx_clean() into  arc_emac_tx() and disable tx interrut David Miller <davem@davemloft.net> - 2016-05-09 05:50 +0200

csiph-web