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


Groups > linux.kernel > #1638516

RE: [PATCH] net: fec: select queue depending on VLAN priority

From Andy Duan <fugang.duan@nxp.com>
Newsgroups linux.kernel
Subject RE: [PATCH] net: fec: select queue depending on VLAN priority
Date 2017-05-10 04:50 +0200
Message-ID <tFpRo-2n4-9@gated-at.bofh.it> (permalink)
References <tF62l-5K4-1@gated-at.bofh.it> <tFdwS-2iO-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: David Miller <davem@davemloft.net> Sent: Tuesday, May 09, 2017 9:39 PM
>To: stefan@agner.ch
>Cc: Andy Duan <fugang.duan@nxp.com>; andrew@lunn.ch;
>festevam@gmail.com; netdev@vger.kernel.org; linux-
>kernel@vger.kernel.org
>Subject: Re: [PATCH] net: fec: select queue depending on VLAN priority
>
>From: Stefan Agner <stefan@agner.ch>
>Date: Mon,  8 May 2017 22:37:08 -0700
>
>> Since the addition of the multi queue code with commit 59d0f7465644
>> ("net: fec: init multi queue date structure") the queue selection has
>> been handelt by the default transmit queue selection implementation
>> which tries to evenly distribute the traffic across all available
>> queues. This selection presumes that the queues are using an equal
>> priority, however, the queues 1 and 2 are actually of higher priority
>> (the classification of the queues is enabled in fec_enet_enable_ring).
>>
>> This can lead to net scheduler warnings and continuous TX ring dumps
>> when exercising the system with iperf.
>>
>> Use only queue 0 for all common traffic (no VLAN and P802.1p priority
>> 0 and 1) and route level 2-7 through queue 1 and 2.
>>
>> Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
>> Fixes: 59d0f7465644 ("net: fec: init multi queue date structure")
>
>If the queues are used for prioritization, and it does not have multiple normal
>priority level queues, multiqueue is not what the driver should have
>implemented.
Firstly, HW multiple queues support:
	- Traffic-shaping bandwidth distribution supports credit-based and round-robin-based policies. Either policy can be combined with time-based shaping.
	- AVB (Audio Video Bridging, IEEE 802.1Qav) features:
		* Credit-based bandwidth distribution policy can be combined with time-based shaping
		* AVB endpoint talker and listener support
		* Support for arbitration between different priority traffic (for example, AVB class A, AVB class B, and non-AVB)
Round-robin-based policies:
	It has the same priority for three queues: In the round-robin QoS scheme, each queue is given an equal opportunity to transmit one frame. For example, if queue n has a frame to transmit, the queue transmits its frame. After queue n has transmitted its frame, or if queue n does not have a frame to transmit, queue n+1 is then allowed to transmit its frame, and so on.

Credit-based policies:
	The AVB credit based shaper acts independently, per class, to control the bandwidth distribution between normal traffic and time-sensitive traffic with respect to the total link bandwidth available.
	Credit based shaper conbined with time-based shaping:  
		- priority: ClassA queue > ClassB queue > best effort
		- ensure the queue bandwidth as user set based on time-based shaping algorithms (transmitter transmit frame from three queue in turn based on time-based shaping algorithms)
	And in real AVB case,  each streaming can be independent, and are fixed on related queue. Then driver level should implement .ndo_select_queue() to put the streaming into related queue. That is what the patch did.

The current driver config the three queue to credit-based policies (AVB), the patch seems no problem for the implementation. Do you have any suggestion ?

Andy

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


Thread

[PATCH] net: fec: select queue depending on VLAN priority Stefan Agner <stefan@agner.ch> - 2017-05-09 07:40 +0200
  Re: [PATCH] net: fec: select queue depending on VLAN priority Andrew Lunn <andrew@lunn.ch> - 2017-05-09 14:20 +0200
  Re: [PATCH] net: fec: select queue depending on VLAN priority David Miller <davem@davemloft.net> - 2017-05-09 15:40 +0200
    RE: [PATCH] net: fec: select queue depending on VLAN priority Andy Duan <fugang.duan@nxp.com> - 2017-05-10 04:50 +0200
      Re: [PATCH] net: fec: select queue depending on VLAN priority Stefan Agner <stefan@agner.ch> - 2017-05-11 06:10 +0200
        RE: [PATCH] net: fec: select queue depending on VLAN priority Andy Duan <fugang.duan@nxp.com> - 2017-05-11 06:50 +0200
    Re: [PATCH] net: fec: select queue depending on VLAN priority Stefan Agner <stefan@agner.ch> - 2017-05-10 07:00 +0200

csiph-web