All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kurt Kanzenbach <kurt@linutronix.de>
To: Vladimir Oltean <vladimir.oltean@nxp.com>, netdev@vger.kernel.org
Cc: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Subject: Re: [RFC PATCH net-next 12/15] net/sched: keep the max_frm_len information inside struct sched_gate_list
Date: Sat, 28 Jan 2023 13:06:40 +0100	[thread overview]
Message-ID: <87zga2ualr.fsf@kurt> (raw)
In-Reply-To: <20230128010719.2182346-13-vladimir.oltean@nxp.com>

[-- Attachment #1: Type: text/plain, Size: 1440 bytes --]

On Sat Jan 28 2023, Vladimir Oltean wrote:
> I have one practical reason for doing this and one concerning correctness.
>
> The practical reason has to do with a follow-up patch, which aims to mix
> 2 sources of max_sdu (one coming from the user and the other automatically
> calculated based on TC gate durations @current link speed). Among those
> 2 sources of input, we must always select the smaller max_sdu value, but
> this can change at various link speeds. So the max_sdu coming from the
> user must be kept separated from the value that is operationally used
> (the minimum of the 2), because otherwise we overwrite it and forget
> what the user asked us to do.
>
> To solve that, this patch proposes that struct sched_gate_list contains
> the operationally active max_frm_len, and q->max_sdu contains just what
> was requested by the user.
>
> The reason having to do with correctness lies on the following
> observation: the admin sched_gate_list becomes operational at a given
> base_time in the future. Until then, it is inactive and applies no
> shaping, all gates are open, etc. So the queueMaxSDU dropping shouldn't
> apply either (this is a mechanism to ensure that packets smaller than
> the largest gate duration for that TC don't hang the port; clearly it
> makes little sense if the gates are always open).
>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>

Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

  reply	other threads:[~2023-01-28 12:06 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-28  1:07 [RFC PATCH net-next 00/15] taprio fixprovements Vladimir Oltean
2023-01-28  1:07 ` [RFC PATCH net-next 01/15] net/sched: taprio: delete peek() implementation Vladimir Oltean
2023-01-28 11:59   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 02/15] net/sched: taprio: continue with other TXQs if one dequeue() failed Vladimir Oltean
2023-01-28 11:59   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 03/15] net/sched: taprio: refactor one skb dequeue from TXQ to separate function Vladimir Oltean
2023-01-28 11:59   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 04/15] net/sched: taprio: avoid calling child->ops->dequeue(child) twice Vladimir Oltean
2023-01-28 12:00   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 05/15] net/sched: taprio: give higher priority to higher TCs in software dequeue mode Vladimir Oltean
2023-01-28 12:04   ` Kurt Kanzenbach
2023-01-29 13:17     ` Vladimir Oltean
2023-01-31  9:37       ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 06/15] net/sched: taprio: calculate tc gate durations Vladimir Oltean
2023-01-28 12:05   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 07/15] net/sched: taprio: rename close_time to end_time Vladimir Oltean
2023-01-28 12:05   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 08/15] net/sched: taprio: calculate budgets per traffic class Vladimir Oltean
2023-01-28 12:05   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 09/15] net/sched: taprio: calculate guard band against actual TC gate close time Vladimir Oltean
2023-01-28 12:05   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 10/15] net/sched: make stab available before ops->init() call Vladimir Oltean
2023-01-28 12:06   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 11/15] net/sched: taprio: warn about missing size table Vladimir Oltean
2023-01-28 12:06   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 12/15] net/sched: keep the max_frm_len information inside struct sched_gate_list Vladimir Oltean
2023-01-28 12:06   ` Kurt Kanzenbach [this message]
2023-01-28  1:07 ` [RFC PATCH net-next 13/15] net/sched: taprio: automatically calculate queueMaxSDU based on TC gate durations Vladimir Oltean
2023-01-28 12:06   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 14/15] net/sched: taprio: split segmentation logic from qdisc_enqueue() Vladimir Oltean
2023-01-28 12:07   ` Kurt Kanzenbach
2023-01-28  1:07 ` [RFC PATCH net-next 15/15] net/sched: taprio: don't segment unnecessarily Vladimir Oltean
2023-01-28 12:07   ` Kurt Kanzenbach
2023-01-28 12:20 ` [RFC PATCH net-next 00/15] taprio fixprovements Kurt Kanzenbach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zga2ualr.fsf@kurt \
    --to=kurt@linutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=vinicius.gomes@intel.com \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.