From: Murali Karicheri <m-karicheri2@ti.com>
To: Vinicius Costa Gomes <vinicius.gomes@intel.com>,
Po Liu <po.liu@nxp.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"hauke.mehrtens@intel.com" <hauke.mehrtens@intel.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"allison@lohutok.net" <allison@lohutok.net>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"hkallweit1@gmail.com" <hkallweit1@gmail.com>,
"saeedm@mellanox.com" <saeedm@mellanox.com>,
"andrew@lunn.ch" <andrew@lunn.ch>,
"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
"alexandru.ardelean@analog.com" <alexandru.ardelean@analog.com>,
"jiri@mellanox.com" <jiri@mellanox.com>,
"ayal@mellanox.com" <ayal@mellanox.com>,
"pablo@netfilter.org" <pablo@netfilter.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: "simon.horman@netronome.com" <simon.horman@netronome.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Vladimir Oltean <vladimir.oltean@nxp.com>,
Alexandru Marginean <alexandru.marginean@nxp.com>,
Xiaoliang Yang <xiaoliang.yang_1@nxp.com>,
Roy Zang <roy.zang@nxp.com>, Mingkai Hu <mingkai.hu@nxp.com>,
Jerry Huang <jerry.huang@nxp.com>, Leo Li <leoyang.li@nxp.com>,
Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Subject: Re: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame preemption of traffic classes
Date: Wed, 13 May 2020 10:55:47 -0400 [thread overview]
Message-ID: <968be6d0-813e-c820-1fec-0ac85c838e7f@ti.com> (raw)
In-Reply-To: <1c06e30e-8999-2c40-e631-1d67b3d9ce39@ti.com>
Hi Vinicius,
On 3/18/20 10:07 AM, Murali Karicheri wrote:
> Hi Vinicius,
>
> On 03/12/2020 07:34 PM, Vinicius Costa Gomes wrote:
>> Hi,
>>
>> Po Liu <po.liu@nxp.com> writes:
>>
>>> Hi Vinicius,
>>>
>>>
>>> Br,
>>> Po Liu
>>>
>>>> -----Original Message-----
>>>> From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
>>>> Sent: 2020年2月22日 5:44
>>>> To: Po Liu <po.liu@nxp.com>; davem@davemloft.net;
>>>> hauke.mehrtens@intel.com; gregkh@linuxfoundation.org;
>>>> allison@lohutok.net;
>>>> tglx@linutronix.de; hkallweit1@gmail.com; saeedm@mellanox.com;
>>>> andrew@lunn.ch; f.fainelli@gmail.com; alexandru.ardelean@analog.com;
>>>> jiri@mellanox.com; ayal@mellanox.com; pablo@netfilter.org; linux-
>>>> kernel@vger.kernel.org; netdev@vger.kernel.org
>>>> Cc: simon.horman@netronome.com; Claudiu Manoil
>>>> <claudiu.manoil@nxp.com>; Vladimir Oltean <vladimir.oltean@nxp.com>;
>>>> Alexandru Marginean <alexandru.marginean@nxp.com>; Xiaoliang Yang
>>>> <xiaoliang.yang_1@nxp.com>; Roy Zang <roy.zang@nxp.com>; Mingkai Hu
>>>> <mingkai.hu@nxp.com>; Jerry Huang <jerry.huang@nxp.com>; Leo Li
>>>> <leoyang.li@nxp.com>; Po Liu <po.liu@nxp.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@nxp.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.
>
Any progress on your side for a patch for the support?
I have posted my EST offload series for AM65x CPSW to netdev list today
at
https://marc.info/?l=linux-netdev&m=158937640015582&w=2
https://marc.info/?l=linux-netdev&m=158937639515579&w=2
https://marc.info/?l=linux-netdev&m=158937638315573&w=2
Next on my list of things to do is the IET FPE support for which I need
to have ethtool interface to allow configuring the express/preemptible
queues and feature enable/disable. Currently I am using a ethtool
priv-flags and some defaults. If you can post a patch, I will be able
to integrate and test it on AM65x CPSW driver and provide my comments/
Tested-by:
Regards,
Murali
> 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
next prev parent reply other threads:[~2020-05-13 15:05 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-27 9:59 [v1,net-next, 1/2] ethtool: add setting frame preemption of traffic classes Po Liu
2019-11-27 9:59 ` [v1,net-next, 2/2] enetc: implement the enetc 802.1Qbu hardware function Po Liu
2019-11-27 11:00 ` Vladimir Oltean
2019-12-04 1:35 ` Ivan Khoronzhuk
2019-11-27 18:57 ` [v1,net-next, 1/2] ethtool: add setting frame preemption of traffic classes David Miller
2019-12-03 15:11 ` Ivan Khoronzhuk
2019-12-11 2:52 ` Andre Guedes
2019-12-16 7:43 ` [EXT] " Po Liu
2019-12-16 21:44 ` Vinicius Costa Gomes
2019-12-19 0:43 ` Ivan Khoronzhuk
2019-12-19 1:54 ` Vinicius Costa Gomes
2019-12-30 16:56 ` Murali Karicheri
2020-01-17 23:47 ` Vinicius Costa Gomes
2019-12-30 17:03 ` Murali Karicheri
2020-01-09 1:07 ` Andre Guedes
2020-01-09 8:59 ` Jose Abreu
2020-01-09 18:04 ` Andre Guedes
2020-01-10 14:35 ` Jose Abreu
2020-01-10 16:02 ` Vladimir Oltean
2020-01-10 20:59 ` Andre Guedes
2020-01-09 0:56 ` Andre Guedes
2020-01-18 0:03 ` Vinicius Costa Gomes
2020-01-22 18:10 ` Murali Karicheri
2020-01-23 13:30 ` Vladimir Oltean
2020-01-23 17:50 ` Vinicius Costa Gomes
2020-02-10 20:30 ` Murali Karicheri
2020-02-11 19:22 ` Vinicius Costa Gomes
2020-02-25 17:55 ` Murali Karicheri
2020-02-10 20:17 ` Murali Karicheri
2020-02-21 21:43 ` Vinicius Costa Gomes
2020-02-22 3:26 ` [EXT] " Po Liu
2020-02-25 17:59 ` Murali Karicheri
2020-02-25 17:59 ` Murali Karicheri
2020-02-26 2:01 ` Po Liu
2020-03-12 23:34 ` Vinicius Costa Gomes
2020-03-13 6:00 ` Po Liu
2020-03-18 14:07 ` Murali Karicheri
2020-05-13 14:55 ` Murali Karicheri [this message]
2020-05-13 17:21 ` Vinicius Costa Gomes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=968be6d0-813e-c820-1fec-0ac85c838e7f@ti.com \
--to=m-karicheri2@ti.com \
--cc=alexandru.ardelean@analog.com \
--cc=alexandru.marginean@nxp.com \
--cc=allison@lohutok.net \
--cc=andrew@lunn.ch \
--cc=ayal@mellanox.com \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hauke.mehrtens@intel.com \
--cc=hkallweit1@gmail.com \
--cc=ivan.khoronzhuk@linaro.org \
--cc=jerry.huang@nxp.com \
--cc=jiri@mellanox.com \
--cc=leoyang.li@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingkai.hu@nxp.com \
--cc=netdev@vger.kernel.org \
--cc=pablo@netfilter.org \
--cc=po.liu@nxp.com \
--cc=roy.zang@nxp.com \
--cc=saeedm@mellanox.com \
--cc=simon.horman@netronome.com \
--cc=tglx@linutronix.de \
--cc=vinicius.gomes@intel.com \
--cc=vladimir.oltean@nxp.com \
--cc=xiaoliang.yang_1@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).