On 03-09-2018 15:07, Jerome Brunet wrote:
>
> You had it on what you sent in the RFT, but this different.
Yeah, I had to fix the logic where tx queues != rx queues...
>
> Like with the RFT, the network breakdown we had is no longer reproduced.
> However this patch wreck the Rx throughput (680MBps -> 35MBps)
Damn, thats low. And I cant reproduce it here :/
Strange because I barely messed around with RX path...
Can you try attached patch in top of this one please?
>
> BTW, this patch and the RFT assume that 4ae0169fd1b3 ("net: stmmac: Do not
> keep
> rearming the coalesce timer in stmmac_xmit") is still applied but I believe
> David reverted the patch.
>
> If you still need this change, you should include it back in your changeset.
Yes I know it was reverted but -net was not merged into -next yet...
Thanks and Best Regards,
Jose Miguel Abreu
>
>> Thanks and Best Regards,
>> Jose Miguel Abreu
>> ---
>> drivers/net/ethernet/stmicro/stmmac/common.h | 4 +-
>> drivers/net/ethernet/stmicro/stmmac/stmmac.h | 7 +-
>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 177
>> +++++++++++++++-------
>> 3 files changed, 126 insertions(+), 62 deletions(-)
>
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 14f890f2a970..3c7cfda80433 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2247,10 +2247,8 @@ static void stmmac_tx_timer(struct timer_list *t)
struct stmmac_tx_queue *tx_q = from_timer(tx_q, t, txtimer);
struct stmmac_priv *priv = tx_q->priv_data;
- if (napi_schedule_prep(&tx_q->napi)) {
- stmmac_disable_dma_irq(priv, priv->ioaddr, tx_q->queue_index);
+ if (napi_schedule_prep(&tx_q->napi))
__napi_schedule(&tx_q->napi);
- }
tx_q->tx_timer_active = 0;
}