Thread (14 messages) 14 messages, 7 authors, 2017-04-04

Re: [PATCH] [net-next] stmmac: use netif_set_real_num_{rx,tx}_queues

From: Joao Pinto <hidden>
Date: 2017-04-03 13:12:18
Also in: lkml

Hello Peppe,

Às 2:07 PM de 4/3/2017, Giuseppe CAVALLARO escreveu:
Hello Joao

On 3/30/2017 6:42 PM, Joao Pinto wrote:
quoted
Às 5:35 PM de 3/30/2017, Niklas Cassel escreveu:
quoted
On 03/30/2017 04:34 PM, Thierry Reding wrote:
quoted
On Thu, Mar 30, 2017 at 09:45:36AM +0200, Corentin Labbe wrote:
quoted
On Tue, Mar 28, 2017 at 06:01:05PM -0700, David Miller wrote:
quoted
From: Arnd Bergmann <arnd@arndb.de>
Date: Tue, 28 Mar 2017 11:48:21 +0200
quoted
A driver must not access the two fields directly but should instead use
the helper functions to set the values and keep a consistent internal
state:

ethernet/stmicro/stmmac/stmmac_main.c: In function 'stmmac_dvr_probe':
ethernet/stmicro/stmmac/stmmac_main.c:4083:8: error: 'struct net_device'
has no member named 'real_num_rx_queues'; did you mean 'real_num_tx_queues'?

Fixes: a8f5102af2a7 ("net: stmmac: TX and RX queue priority configuration")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
This break my revert patch. (since it patch ("net: stmmac: enable multiple
buffers").
Since dwmac-sunxi is still broken, what can I do ? send two revert patch ?
or adapt the reverting patch.
Have you tried if the kcalloc() patch I sent on Tuesday fixes things the
issues introduced by the multiple buffers patch? Niklas reported that it
restores functionality on his setup.

If it makes things work for you as well, we could maybe avoid the revert
altogether.
Thierry, I know that you are using DWMAC CORE 4.XX
How many RX queues and how many TX queues have you got?

I'm also using DWMAC CORE 4.XX
We have 2 TX queues and 1 RX queue.

I think that Corentin is using DWMAC CORE 3.XX

I know that Joao is using an IP Prototyping Kit that uses
DWMAC CORE 4.XX (connected via PCIe).
It would be nice if Joao could get an IP Prototyping Kit
based on DWMAC CORE 3.XX.

Doesn't Synopsys have an IP Prototyping Kit based on
DWMAC CORE 3.XX laying around somewhere? :)
I requested a prototyping platform with MAC 100 or a MAC 1000 in order to make
more tests, but I don't have an ETA for it yet.

The implication of the multiple buffers patch in 3.xx is some flow change in the
configuration of dma op mode or similar. I would recomend Corentin to dump the
dma & mac registers in the end of the _open function in order to see if the DMA
is really being well configured and is really started.
Old devices managed as stmmac: mac10/100 platform driver have no multi-queue
support.

It was introduced in the new versions managed by mac1000 but in my opinion
the stmmac driver has to only work with a single queue for tx and rx on ALL
the 3.x versions.

In fact, although the latest series have the multi-queue and channels there is
just one IRQ and this is a very poor implementation.
The 3.xx is very different from what we have in the 4.XX (QoS) on this part and
AV/B.

Nobody has ever asked for having this support in all these years for the previous
chips.

Adding this kind of support we'll spend time for having a no useful optimization
and risking to break the compatibility with a lot platforms that use these chips.

I image, multi-queue stable on 4.XX and no support on all older versions.
Let me know if you share that.
Yes older cores do not support multiple queues and I tried to isolate the
features not to affect older versions.

Do you think that functions as "ndev = alloc_etherdev_mqs" has some sort of
influence?

Thanks.
Regards
Peppe
quoted
Thanks.

Joao
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help