Netdev List
 help / color / mirror / Atom feed
From: Gyutae Bae <gyutae.opensource@navercorp.com>
To: stable@vger.kernel.org
Cc: "Jonas Köppeler" <j.koeppeler@tu-berlin.de>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	netdev@vger.kernel.org, "Minsu Jeon" <minsu.jeon@navercorp.com>,
	"Jonghyeon Kim" <jong-hyeon.kim@navercorp.com>,
	"Siwan Kim" <siwan.kim@navercorp.com>,
	"Gyutae Bae" <gyutae.bae@navercorp.com>
Subject: Backport request: fq_codel stale-state fix (815980fe6dbb)
Date: Mon, 26 Oct 2026 19:13:37 +0900	[thread overview]
Message-ID: <20261026101337.22494-1-gyutae.opensource@navercorp.com> (raw)

Hi,

Please backport the following upstream commit to 5.10.y, 5.15.y,
6.1.y, 6.6.y, 6.12.y and 6.18.y:

  815980fe6dbb01ad4007e8b260a45617f598b76d
  net_sched: codel: fix stale state for empty flows in fq_codel

This fixes stale CoDel state that causes packet drops in sparse
flows.  When a flow's queue becomes empty, first_above_time is not
reset, so a later packet can be dropped based on the old timestamp.

We have encountered this in production on 5.15 nodes using the default
mq + fq_codel setup, with steady qdisc drops on lightly loaded links.
A kprobe on the fq_codel drop path showed that every drop we traced
occurred with first_above_time set more than one second earlier.
Applying the fix as a livepatch on a 5.15 node reduced its drops from
about 50 per minute to zero.  We also confirmed that the fix eliminated
these drops in tests that reproduced the issue on 5.15.92 and 6.12.48.

The fix adds one line to include/net/codel_impl.h.  It applies cleanly
to v5.10.272, v5.15.223, v6.1.190, v6.6.160, v6.12.114 and v6.18.58.
Both commits identified by the Fixes: tags are present in all six
longterm trees.

The commit was merged in v7.0 without a Cc: stable tag and was
backported to 6.19.11 as 86b81a5c24ad.  It is already included in
7.2.y, but is still missing from the longterm trees listed above.

Thanks,
Gyutae Bae

             reply	other threads:[~2026-10-26 10:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26 10:13 Gyutae Bae [this message]
2026-10-26 22:55 ` Backport request: fq_codel stale-state fix (815980fe6dbb) Sasha Levin

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=20261026101337.22494-1-gyutae.opensource@navercorp.com \
    --to=gyutae.opensource@navercorp.com \
    --cc=edumazet@google.com \
    --cc=gyutae.bae@navercorp.com \
    --cc=hawk@kernel.org \
    --cc=j.koeppeler@tu-berlin.de \
    --cc=jong-hyeon.kim@navercorp.com \
    --cc=kuba@kernel.org \
    --cc=minsu.jeon@navercorp.com \
    --cc=netdev@vger.kernel.org \
    --cc=siwan.kim@navercorp.com \
    --cc=stable@vger.kernel.org \
    --cc=toke@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox