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

From: Po Liu
Date: Fri Mar 13 2020 - 02:00:39 EST





Br,
Po Liu

> -----Original Message-----
> From: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
> Sent: 2020å3æ13æ 7:35
> To: Po Liu <po.liu@xxxxxxx>; davem@xxxxxxxxxxxxx;
> hauke.mehrtens@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> allison@xxxxxxxxxxx; tglx@xxxxxxxxxxxxx; hkallweit1@xxxxxxxxx;
> saeedm@xxxxxxxxxxxx; andrew@xxxxxxx; f.fainelli@xxxxxxxxx;
> alexandru.ardelean@xxxxxxxxxx; jiri@xxxxxxxxxxxx; ayal@xxxxxxxxxxxx;
> pablo@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx
> Cc: simon.horman@xxxxxxxxxxxxx; Claudiu Manoil
> <claudiu.manoil@xxxxxxx>; Vladimir Oltean <vladimir.oltean@xxxxxxx>;
> Alexandru Marginean <alexandru.marginean@xxxxxxx>; Xiaoliang Yang
> <xiaoliang.yang_1@xxxxxxx>; Roy Zang <roy.zang@xxxxxxx>; Mingkai Hu
> <mingkai.hu@xxxxxxx>; Jerry Huang <jerry.huang@xxxxxxx>; Leo Li
> <leoyang.li@xxxxxxx>; Murali Karicheri <m-karicheri2@xxxxxx>; Ivan
> Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
> Subject: RE: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame
> preemption of traffic classes
>
> Caution: EXT Email
>
> Hi,
>
> Po Liu <po.liu@xxxxxxx> writes:
>
> > Hi Vinicius,
> >
> >
> > Br,
> > Po Liu
> >
> >> -----Original Message-----
> >> From: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
> >> Sent: 2020å2æ22æ 5:44
> >> To: Po Liu <po.liu@xxxxxxx>; davem@xxxxxxxxxxxxx;
> >> hauke.mehrtens@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> >> allison@xxxxxxxxxxx; tglx@xxxxxxxxxxxxx; hkallweit1@xxxxxxxxx;
> >> saeedm@xxxxxxxxxxxx; andrew@xxxxxxx; f.fainelli@xxxxxxxxx;
> >> alexandru.ardelean@xxxxxxxxxx; jiri@xxxxxxxxxxxx; ayal@xxxxxxxxxxxx;
> >> pablo@xxxxxxxxxxxxx; linux- kernel@xxxxxxxxxxxxxxx;
> >> netdev@xxxxxxxxxxxxxxx
> >> Cc: simon.horman@xxxxxxxxxxxxx; Claudiu Manoil
> >> <claudiu.manoil@xxxxxxx>; Vladimir Oltean <vladimir.oltean@xxxxxxx>;
> >> Alexandru Marginean <alexandru.marginean@xxxxxxx>; Xiaoliang Yang
> >> <xiaoliang.yang_1@xxxxxxx>; Roy Zang <roy.zang@xxxxxxx>; Mingkai Hu
> >> <mingkai.hu@xxxxxxx>; Jerry Huang <jerry.huang@xxxxxxx>; Leo Li
> >> <leoyang.li@xxxxxxx>; Po Liu <po.liu@xxxxxxx>
> >> Subject: [EXT] Re: [v1,net-next, 1/2] ethtool: add setting frame
> >> preemption of traffic classes
> >>
> >> Caution: EXT Email
> >>
> >> Hi,
> >>
> >> Po Liu <po.liu@xxxxxxx> 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.
>
> So, question, what were you using for testing this? Anything special?

I tested on www.nxp.com/LS1028A. There is nothing special for preemption.

>
> And btw, thanks for the summary of the discussion.


>
> >
> > Thanksï
> >>
> >>
> >> Cheers,
> >> --
> >> Vinicius
>
>
> --
> Vinicius