2020-02-26 02:01:38

by Po Liu

[permalink] [raw]
Subject: RE: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame preemption of traffic classes




Br,
Po Liu

> -----Original Message-----
> From: Murali Karicheri <[email protected]>
> Sent: 2020??2??26?? 1:59
> To: Po Liu <[email protected]>; Vinicius Costa Gomes
> <[email protected]>; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Cc: [email protected]; Claudiu Manoil
> <[email protected]>; Vladimir Oltean <[email protected]>;
> Alexandru Marginean <[email protected]>; Xiaoliang Yang
> <[email protected]>; Roy Zang <[email protected]>; Mingkai Hu
> <[email protected]>; Jerry Huang <[email protected]>; Leo Li
> <[email protected]>; Ivan Khoronzhuk <[email protected]>
> Subject: Re: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame
> preemption of traffic classes
>
> Caution: EXT Email
>
> Hi Po,
>
> On 02/21/2020 10:26 PM, Po Liu wrote:
> > Hi Vinicius,
> >
> >
> > Br,
> > Po Liu
> >
> >> -----Original Message-----
> >> From: Vinicius Costa Gomes <[email protected]>
> >> Sent: 2020??2??22?? 5:44
> >> To: Po Liu <[email protected]>; [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; [email protected]; [email protected];
> >> [email protected]; [email protected]; [email protected];
> >> [email protected]; [email protected];
> [email protected];
> >> [email protected]; linux- [email protected];
> >> [email protected]
> >> Cc: [email protected]; Claudiu Manoil
> >> <[email protected]>; Vladimir Oltean
> <[email protected]>;
> >> Alexandru Marginean <[email protected]>; Xiaoliang
> Yang
> >> <[email protected]>; Roy Zang <[email protected]>; Mingkai
> Hu
> >> <[email protected]>; Jerry Huang <[email protected]>; Leo Li
> >> <[email protected]>; Po Liu <[email protected]>
> >> Subject: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame
> >> preemption of traffic classes
> >>
> >> Caution: EXT Email
> >>
> >> Hi,
> >>
> >> Po Liu <[email protected]> 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:
>
> It is Murali :)
>
> > - Add config the fragment size, hold advance, release advance and
> > flags;
>
> - I believe hold advance, release advance values are read only
>
> > 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."
> - Couldn't understand the above? Could you please explain a bit more
> on what you meant here?

Oh, I copy the original suggestion by you and other here. Just for more evaluation for next version.

>
> Murali
> > 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.
> >
> > Thanks??
> >>
> >>
> >> Cheers,
> >> --
> >> Vinicius
>
> --
> Murali Karicheri
> Texas Instruments