Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1395008
| From | John Crispin <john@phrozen.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 12/12] net-next: mediatek: remove superfluous queue wake up call |
| Date | 2016-05-05 12:00 +0200 |
| Message-ID | <rvoeD-626-15@gated-at.bofh.it> (permalink) |
| References | <rvnLA-5Kz-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The code checks if the queue should be stopped because we are below the
threshold of free descriptors only to check if it should be started again.
If we do end up in a state where we are at the threshold limit, it makes
more sense to just stop the queue and wait for the next IRQ to trigger the
TX housekeeping again. There is no rush in enqueuing the next packet, it
needs to wait for all the others in the queue to be dispatched first
anyway.
Signed-off-by: John Crispin <john@phrozen.org>
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 2d3c464..4d0b179 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -780,12 +780,9 @@ static int mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0)
goto drop;
- if (unlikely(atomic_read(&ring->free_count) <= ring->thresh)) {
+ if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
mtk_stop_queue(eth);
- if (unlikely(atomic_read(&ring->free_count) >
- ring->thresh))
- mtk_wake_queue(eth);
- }
+
spin_unlock_irqrestore(ð->page_lock, flags);
return NETDEV_TX_OK;
--
1.7.10.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/12] net-next: mediatek: bug fixes and tx stall fixes John Crispin <john@phrozen.org> - 2016-05-05 11:30 +0200 [PATCH 01/12] net-next: mediatek: fix DQL support John Crispin <john@phrozen.org> - 2016-05-05 11:30 +0200 [PATCH 09/12] net-next: mediatek: increase watchdog_timeo John Crispin <john@phrozen.org> - 2016-05-05 11:30 +0200 [PATCH 06/12] net-next: mediatek: add next data pointer coherency protection John Crispin <john@phrozen.org> - 2016-05-05 11:30 +0200 [PATCH 04/12] net-next: mediatek: invalid buffer lookup in mtk_tx_map() John Crispin <john@phrozen.org> - 2016-05-05 11:40 +0200 [PATCH 08/12] net-next: mediatek: fix threshold value John Crispin <john@phrozen.org> - 2016-05-05 11:40 +0200 [PATCH 03/12] net-next: mediatek: fix missing free of scratch memory John Crispin <john@phrozen.org> - 2016-05-05 11:40 +0200 [PATCH 02/12] net-next: mediatek: add missing return code check John Crispin <john@phrozen.org> - 2016-05-05 11:40 +0200 [PATCH 12/12] net-next: mediatek: remove superfluous queue wake up call John Crispin <john@phrozen.org> - 2016-05-05 12:00 +0200 [PATCH 10/12] net-next: mediatek: fix off by one in the TX ring allocation John Crispin <john@phrozen.org> - 2016-05-05 12:00 +0200 [PATCH 11/12] net-next: mediatek: only wake the queue if it is stopped John Crispin <john@phrozen.org> - 2016-05-05 12:00 +0200 Re: [PATCH 00/12] net-next: mediatek: bug fixes and tx stall fixes Andrew Lunn <andrew@lunn.ch> - 2016-05-05 14:30 +0200
csiph-web