[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <27f157f0-1240-4380-aaed-3b6e912d4a96@intel.com>
Date: Tue, 23 Jul 2024 10:30:38 +0300
From: Mor Bar-Gabay <morx.bar.gabay@...el.com>
To: Kurt Kanzenbach <kurt@...utronix.de>, Jesse Brandeburg
<jesse.brandeburg@...el.com>, Tony Nguyen <anthony.l.nguyen@...el.com>
CC: Vinicius Costa Gomes <vinicius.gomes@...el.com>, <netdev@...r.kernel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>, "shenjian (K)"
<shenjian15@...wei.com>, Eric Dumazet <edumazet@...gle.com>,
<intel-wired-lan@...ts.osuosl.org>, Simon Horman <horms@...nel.org>, "Jakub
Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, "David S.
Miller" <davem@...emloft.net>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v3] igc: Add MQPRIO offload
support
On 21/06/2024 10:25, Kurt Kanzenbach wrote:
> Add support for offloading MQPRIO. The hardware has four priorities as well
> as four queues. Each queue must be a assigned with a unique priority.
>
> However, the priorities are only considered in TSN Tx mode. There are two
> TSN Tx modes. In case of MQPRIO the Qbv capability is not required.
> Therefore, use the legacy TSN Tx mode, which performs strict priority
> arbitration.
>
> Example for mqprio with hardware offload:
>
> |tc qdisc replace dev ${INTERFACE} handle 100 parent root mqprio num_tc 4 \
> | map 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 \
> | queues 1@0 1@1 1@2 1@3 \
> | hw 1
>
> The mqprio Qdisc also allows to configure the `preemptible_tcs'. However,
> frame preemption is not supported yet.
>
> Tested on Intel i225 and implemented by following data sheet section 7.5.2,
> Transmit Scheduling.
>
> Signed-off-by: Kurt Kanzenbach <kurt@...utronix.de>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@...el.com>
> Acked-by: Vinicius Costa Gomes <vinicius.gomes@...el.com>
> Reviewed-by: Simon Horman <horms@...nel.org>
> ---
> Changes in v3:
> - Use FIELD_PREP for Tx ARB (Simon)
> - Add helper for Tx ARB configuration (Simon)
> - Limit ethtool_set_channels when mqprio is enabled (Jian)
> - Link to v2: https://lore.kernel.org/r/20240212-igc_mqprio-v2-1-587924e6b18c@linutronix.de
>
> Changes in v2:
> - Improve changelog (Paul Menzel)
> - Link to v1: https://lore.kernel.org/r/20240212-igc_mqprio-v1-1-7aed95b736db@linutronix.de
> ---
> drivers/net/ethernet/intel/igc/igc.h | 10 +++-
> drivers/net/ethernet/intel/igc/igc_defines.h | 11 +++++
> drivers/net/ethernet/intel/igc/igc_ethtool.c | 4 ++
> drivers/net/ethernet/intel/igc/igc_main.c | 69 +++++++++++++++++++++++++++
> drivers/net/ethernet/intel/igc/igc_regs.h | 2 +
> drivers/net/ethernet/intel/igc/igc_tsn.c | 70 +++++++++++++++++++++++++++-
> 6 files changed, 163 insertions(+), 3 deletions(-)
>
Tested-by: Mor Bar-Gabay <morx.bar.gabay@...el.com>
Powered by blists - more mailing lists