[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230218152021.puhz7m26uu2lzved@skbuf>
Date: Sat, 18 Feb 2023 17:20:21 +0200
From: Vladimir Oltean <vladimir.oltean@....com>
To: netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Jamal Hadi Salim <jhs@...atatu.com>,
Cong Wang <xiyou.wangcong@...il.com>,
Jiri Pirko <jiri@...nulli.us>,
Vinicius Costa Gomes <vinicius.gomes@...el.com>,
Kurt Kanzenbach <kurt@...utronix.de>,
Gerhard Engleder <gerhard@...leder-embedded.com>,
Amritha Nambiar <amritha.nambiar@...el.com>,
Claudiu Manoil <claudiu.manoil@....com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
UNGLinuxDriver@...rochip.com, Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
Ferenc Fejes <ferenc.fejes@...csson.com>,
Xiaoliang Yang <xiaoliang.yang_1@....com>,
linux-kernel@...r.kernel.org,
Pranavi Somisetty <pranavi.somisetty@....com>,
Harini Katakam <harini.katakam@....com>
Subject: Re: [PATCH net-next 00/12] Add tc-mqprio and tc-taprio support for
preemptible traffic classes
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@nxp.com/
>
> 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@nxp.com/
>
> 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?
Powered by blists - more mailing lists