Thread (9 messages) flat view 9 messages, 2 authors, 2021-05-26

Re: [RFC net-next 2/2] net: fec: add ndo_select_queue to fix TX bandwidth fluctuations

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-05-25 13:58:31
Also in: lkml

quoted
On Sun, May 23, 2021 at 06:20:19PM +0800, Joakim Zhang wrote:
quoted
From: Fugang Duan <redacted>

As we know that AVB is enabled by default, and the ENET IP design is
queue 0 for best effort, queue 1&2 for AVB Class A&B. Bandwidth of
queue 1&2 set in driver is 50%, TX bandwidth fluctuated when selecting
tx queues randomly with FEC_QUIRK_HAS_AVB quirk available.
How is the driver currently scheduling between these queues? Given the
802.1q priorities, i think we want queue 2 with the highest priority for
scheduling. Then queue 0 and lastly queue 1.
I think currently there is no schedule between these queues in the driver.
So queues 1 and 2 are limited to 50% the total bandwidth, but are
otherwise not prioritised over queue 0? That sounds odd.
Could you please point me where I can find mapping between priorities and queues? You prefer to below mapping?
static const u16 fec_enet_vlan_pri_to_queue[8] = {1, 1, 0, 0, 0, 2, 2, 2};
https://en.wikipedia.org/wiki/IEEE_P802.1p

I'm not sure i actually believe the hardware does not prioritise the
queues. It seems to me, it is more likely to take frames from queues 1
and 2 if they have not consumed their 50% share.

PCP value 0 is best effort. That should really be given the same
priority as a packet without a VLAN header. Which is why i suggested
putting those packets into queue 0.

Also, if the hardware is performing prioritisation, PCP value 1,
background, when put into queue 1 will end up as higher priority then
best effort?

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