[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c06e30e-8999-2c40-e631-1d67b3d9ce39@ti.com>
Date: Wed, 18 Mar 2020 10:07:56 -0400
From: Murali Karicheri <m-karicheri2@...com>
To: Vinicius Costa Gomes <vinicius.gomes@...el.com>,
Po Liu <po.liu@....com>,
"davem@...emloft.net" <davem@...emloft.net>,
"hauke.mehrtens@...el.com" <hauke.mehrtens@...el.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"allison@...utok.net" <allison@...utok.net>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"hkallweit1@...il.com" <hkallweit1@...il.com>,
"saeedm@...lanox.com" <saeedm@...lanox.com>,
"andrew@...n.ch" <andrew@...n.ch>,
"f.fainelli@...il.com" <f.fainelli@...il.com>,
"alexandru.ardelean@...log.com" <alexandru.ardelean@...log.com>,
"jiri@...lanox.com" <jiri@...lanox.com>,
"ayal@...lanox.com" <ayal@...lanox.com>,
"pablo@...filter.org" <pablo@...filter.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "simon.horman@...ronome.com" <simon.horman@...ronome.com>,
Claudiu Manoil <claudiu.manoil@....com>,
Vladimir Oltean <vladimir.oltean@....com>,
Alexandru Marginean <alexandru.marginean@....com>,
Xiaoliang Yang <xiaoliang.yang_1@....com>,
Roy Zang <roy.zang@....com>, Mingkai Hu <mingkai.hu@....com>,
Jerry Huang <jerry.huang@....com>, Leo Li <leoyang.li@....com>,
Ivan Khoronzhuk <ivan.khoronzhuk@...aro.org>
Subject: Re: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame
preemption of traffic classes
Hi Vinicius,
On 03/12/2020 07:34 PM, Vinicius Costa Gomes wrote:
> Hi,
>
> Po Liu <po.liu@....com> writes:
>
>> Hi Vinicius,
>>
>>
>> Br,
>> Po Liu
>>
>>> -----Original Message-----
>>> From: Vinicius Costa Gomes <vinicius.gomes@...el.com>
>>> Sent: 2020年2月22日 5:44
>>> To: Po Liu <po.liu@....com>; davem@...emloft.net;
>>> hauke.mehrtens@...el.com; gregkh@...uxfoundation.org; allison@...utok.net;
>>> tglx@...utronix.de; hkallweit1@...il.com; saeedm@...lanox.com;
>>> andrew@...n.ch; f.fainelli@...il.com; alexandru.ardelean@...log.com;
>>> jiri@...lanox.com; ayal@...lanox.com; pablo@...filter.org; linux-
>>> kernel@...r.kernel.org; netdev@...r.kernel.org
>>> Cc: simon.horman@...ronome.com; Claudiu Manoil
>>> <claudiu.manoil@....com>; Vladimir Oltean <vladimir.oltean@....com>;
>>> Alexandru Marginean <alexandru.marginean@....com>; Xiaoliang Yang
>>> <xiaoliang.yang_1@....com>; Roy Zang <roy.zang@....com>; Mingkai Hu
>>> <mingkai.hu@....com>; Jerry Huang <jerry.huang@....com>; Leo Li
>>> <leoyang.li@....com>; Po Liu <po.liu@....com>
>>> Subject: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame preemption of
>>> traffic classes
>>>
>>> Caution: EXT Email
>>>
>>> Hi,
>>>
>>> Po Liu <po.liu@....com> writes:
>>>
>>>> IEEE Std 802.1Qbu standard defined the frame preemption of port
>>>> traffic classes. This patch introduce a method to set traffic classes
>>>> preemption. Add a parameter 'preemption' in struct
>>>> ethtool_link_settings. The value will be translated to a binary, each
>>>> bit represent a traffic class. Bit "1" means preemptable traffic
>>>> class. Bit "0" means express traffic class. MSB represent high number
>>>> traffic class.
>>>>
>>>> If hardware support the frame preemption, driver could set the
>>>> ethernet device with hw_features and features with NETIF_F_PREEMPTION
>>>> when initializing the port driver.
>>>>
>>>> User can check the feature 'tx-preemption' by command 'ethtool -k
>>>> devname'. If hareware set preemption feature. The property would be a
>>>> fixed value 'on' if hardware support the frame preemption.
>>>> Feature would show a fixed value 'off' if hardware don't support the
>>>> frame preemption.
>>>>
>>>> Command 'ethtool devname' and 'ethtool -s devname preemption N'
>>>> would show/set which traffic classes are frame preemptable.
>>>>
>>>> Port driver would implement the frame preemption in the function
>>>> get_link_ksettings() and set_link_ksettings() in the struct ethtool_ops.
>>>>
>>>
>>> Any updates on this series? If you think that there's something that I could help,
>>> just tell.
>>
>> Sorry for the long time not involve the discussion. I am focus on other tsn code for tc flower.
>> If you can take more about this preemption serial, that would be good.
>>
>> I summary some suggestions from Marali Karicheri and Ivan Khornonzhuk and by you and also others:
>> - Add config the fragment size, hold advance, release advance and flags;
>> My comments about the fragment size is in the Qbu spec limit the fragment size " the minimum non-final fragment size is 64,
>> 128, 192, or 256 octets " this setting would affect the guardband setting for Qbv. But the ethtool setting could not involve this issues but by the taprio side.
>> - " Furthermore, this setting could be extend for a serial setting for mac and traffic class." "Better not to using the traffic class concept."
>> Could adding a serial setting by "ethtool --preemption xxx" or other name. I don' t think it is good to involve in the queue control since queues number may bigger than the TC number.
>> - The ethtool is the better choice to configure the preemption
>> I agree.
>
> Just a quick update. I was able to dedicate some time to this, and have
> something aproaching RFC-quality, but it needs more testing.
>
Great! I have got my frame preemption working on my SoC. Currently I am
using some defaults. I test it by using statistics provided by the
SoC. I will be able to integrate and test your patch using my internal
version and will include it in my patch to upstream once I am ready.
Regards,
Murali
> So, question, what were you using for testing this? Anything special?
>
> And btw, thanks for the summary of the discussion.
>
>>
>> Thanks!
>>>
>>>
>>> Cheers,
>>> --
>>> Vinicius
>
>
--
Murali Karicheri
Texas Instruments
Powered by blists - more mailing lists