Re: [PATCH net-next 00/12] Add tc-mqprio and tc-taprio support for preemptible traffic classes
From: Ferenc Fejes
Date: Sun Feb 19 2023 - 04:50:29 EST
Hi Vladimir!
On Sat, 2023-02-18 at 17:20 +0200, Vladimir Oltean wrote:
> On Fri, Feb 17, 2023 at 01:21:14AM +0200, Vladimir Oltean wrote:
> > The last RFC in August 2022 contained a proposal for the UAPI of
> > both
> > TSN standards which together form Frame Preemption (802.1Q and
> > 802.3):
> > https://patchwork.kernel.org/project/netdevbpf/cover/20220816222920.1952936-1-vladimir.oltean@xxxxxxx/
> >
> > It wasn't clear at the time whether the 802.1Q portion of Frame
> > Preemption
> > should be exposed via the tc qdisc (mqprio, taprio) or via some
> > other
> > layer (perhaps also ethtool like the 802.3 portion).
> >
> > So the 802.3 portion got submitted separately and finally was
> > accepted:
> > https://patchwork.kernel.org/project/netdevbpf/cover/20230119122705.73054-1-vladimir.oltean@xxxxxxx/
> >
> > leaving the only remaining question: how do we expose the 802.1Q
> > bits?
> >
> > This series proposes that we use the Qdisc layer, through separate
> > (albeit very similar) UAPI in mqprio and taprio, and that both
> > these
> > Qdiscs pass the information down to the offloading device driver
> > through
> > the common mqprio offload structure (which taprio also passes).
> >
> > Implementations are provided for the NXP LS1028A on-board Ethernet
> > (enetc, felix).
> >
> > Some patches should have maybe belonged to separate series, leaving
> > here
> > only patches 09/12 - 12/12, for ease of review. That may be true,
> > however due to a perceived lack of time to wait for the
> > prerequisite
> > cleanup to be merged, here they are all together.
> >
> > Vladimir Oltean (12):
> > net: enetc: rename "mqprio" to "qopt"
> > net: mscc: ocelot: add support for mqprio offload
> > net: dsa: felix: act upon the mqprio qopt in taprio offload
> > net: ethtool: fix __ethtool_dev_mm_supported() implementation
> > net: ethtool: create and export ethtool_dev_mm_supported()
> > net/sched: mqprio: simplify handling of nlattr portion of
> > TCA_OPTIONS
> > net/sched: mqprio: add extack to mqprio_parse_nlattr()
> > net/sched: mqprio: add an extack message to mqprio_parse_opt()
> > net/sched: mqprio: allow per-TC user input of FP adminStatus
> > net/sched: taprio: allow per-TC user input of FP adminStatus
> > net: mscc: ocelot: add support for preemptible traffic classes
> > net: enetc: add support for preemptible traffic classes
> >
> > drivers/net/dsa/ocelot/felix_vsc9959.c | 44 ++++-
> > drivers/net/ethernet/freescale/enetc/enetc.c | 31 ++-
> > drivers/net/ethernet/freescale/enetc/enetc.h | 1 +
> > .../net/ethernet/freescale/enetc/enetc_hw.h | 4 +
> > drivers/net/ethernet/mscc/ocelot.c | 51 +++++
> > drivers/net/ethernet/mscc/ocelot.h | 2 +
> > drivers/net/ethernet/mscc/ocelot_mm.c | 56 ++++++
> > include/linux/ethtool_netlink.h | 6 +
> > include/net/pkt_sched.h | 1 +
> > include/soc/mscc/ocelot.h | 6 +
> > include/uapi/linux/pkt_sched.h | 17 ++
> > net/ethtool/mm.c | 24 ++-
> > net/sched/sch_mqprio.c | 182
> > +++++++++++++++---
> > net/sched/sch_mqprio_lib.c | 14 ++
> > net/sched/sch_mqprio_lib.h | 2 +
> > net/sched/sch_taprio.c | 65 +++++--
> > 16 files changed, 459 insertions(+), 47 deletions(-)
> >
> > --
> > 2.34.1
> >
>
> Seeing that there is no feedback on the proposed UAPI, I'd be tempted
> to resend this, with just the modular build fixed (export the
> ethtool_dev_mm_supported() symbol).
>
> Would anyone hate me for doing this, considering that the merge
> window
> is close? Does anyone need some time to take a closer look at this,
> or
> think about a better alternative?
Do you have the iproute2 part? Sorry if I missed it, but it would be
nice to see how is that UAPI exposed for the config tools. Is there any
new parameter for mqprio/taprio?
Best,
Ferenc