include/uapi/linux/pkt_sched.h | 20 ++++- net/sched/sch_fq_pie.c | 86 ++++++++++++++++++- .../tc-testing/tc-tests/qdiscs/fq_pie.json | 27 ++++++ 3 files changed, 130 insertions(+), 3 deletions(-)
FQ-PIE runs an independent PIE controller per flow but exposes no
per-flow statistics. This series wires up fq_pie_class_ops to expose
per-flow AQM state (prob, delay, deficit, avg_dq_rate) via
'tc -s class show', following a similar pattern as FQ-CoDel.
This patch series is accompanied by a companion iproute2 patch series that
can be found at:
https://lore.kernel.org/netdev/20260902040221.83734-1-hemendranaik@gmail.com/
---
Changelog:
v6:
- Address Sashiko review comments:
- Revert the fq_pie flows range to [1..65536].
- Also drop the accompanying selftest 83be change.
- Compute the per-flow delay with div_u64() on the full 64-bit
nanosecond value.
- Widen avg_dq_rate to u64 before scaling it by PSCHED_TICKS_PER_SEC.
- Document the 36 to 64 byte xstats growth in the patch 1 commit message.
- Fix selftest 83c0. The ping payload exceeded the TBF burst so no
packet ever reached fq_pie, and the missing -W left the run waiting
out ping's default timeout.
v5: https://lore.kernel.org/netdev/20260902035231.81866-1-hemendranaik@gmail.com/
- Addressed Sashiko review comments:
- Omitted .tcf_block / .bind_tcf / .unbind_tcf from cl_ops (statistics
only being exported; filter attach to fq_pie is now disabled).
- Dropped empty tc_fq_pie_xqd_stats placeholder; class_stats is a direct
struct member.
- Limited flows to [1..65535] so per-flow class handles fit in a 16-bit
TC minor.
- Rewrote selftest 83c0 with TBF + fq_pie, ping traffic, and
matchCount 1 on per-flow stats output.
- Updated selftest 83be for the new flows limit.
- Dropped the tools/include UAPI mirror changes from patch 3/3.
v4: https://lore.kernel.org/netdev/20260727164056.106203-1-hemendranaik@gmail.com/
- Fixed unaligned commit message; moved typo fixes to another patch.
v3: https://lore.kernel.org/netdev/20260630183702.170798-1-hemendranaik@gmail.com/
- No changes since v2.
- Resent after the previous submission was deferred due to the
net-next tree closing during review.
- Updated corresponding iproute2 patch in response to review comments;
kernel patches unchanged.
v2: https://lore.kernel.org/netdev/20260614125000.6058-1-hemendranaik@gmail.com/
- Addressed ABI backward compatibility issue for tc_fq_pie_xstats.
v1: https://lore.kernel.org/netdev/20260531125314.22492-1-hemendranaik@gmail.com/
- Initial submission
Hemendra M. Naik (3):
net/sched: sch_fq_pie: add per-flow statistics via class ops
selftests: tc-testing: add fq_pie per-flow class stats test
net/sched: pie: correct tc_pie_xstats field documentation
include/uapi/linux/pkt_sched.h | 20 ++++-
net/sched/sch_fq_pie.c | 86 ++++++++++++++++++-
.../tc-testing/tc-tests/qdiscs/fq_pie.json | 27 ++++++
3 files changed, 130 insertions(+), 3 deletions(-)
--
2.34.1
On Fri, 18 Sep 2026 02:12:22 +0530 Hemendra M. Naik wrote: > This patch series is accompanied by a companion iproute2 patch series that > can be found at: > https://lore.kernel.org/netdev/20260902040221.83734-1-hemendranaik@gmail.com/ Does not apply any more. Also can you put it on a branch on github to make it easier to pull please ? Please rebase and repost both the kernel and the iproute2.
Hi Jakub, We've posted the new patches for kernel (v7) and iproute2 (v6) after rebasing. The mailing list threads can be tracked here: - Kernel v7: https://lore.kernel.org/netdev/20260919060125.38063-1-hemendranaik@gmail.com/ - iproute2 v6: https://lore.kernel.org/netdev/20260919061254.39678-1-hemendranaik@gmail.com/ As requested, we have also posted the latest patches on GitHub which can be found here: - https://github.com/H-N41K/linux-net-next/tree/fq_pie_class_stats/ - https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/ Thanks, Hemendra
On Sat, 19 Sep 2026 11:56:13 +0530 Hemendra M. Naik wrote: > - https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/ Thanks, please vendor in the headers on this branch so we can add it in the CI and it will just build as is. LMK when ready.
Hi Jakub, We have vendored the temporary UAPI header changes into the GitHub development branch (https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/) as requested, so it should now build standalone in your CI pipeline. Please note that this header sync commit is not present in the official iproute2 patch submitted to the mailing list (https://lore.kernel.org/netdev/20260922211139.38570-1-hemendranaik@gmail.com/). It was added to the GitHub branch strictly for validation and testing purposes. Regards, Hemendra
On Wed, 23 Sep 2026 09:31:36 +0530 Hemendra M. Naik wrote: > Hi Jakub, > > We have vendored the temporary UAPI header changes into the GitHub > development branch (https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/) > as requested, so it should now build standalone in your CI pipeline. > > Please note that this header sync commit is not present in the official > iproute2 patch submitted to the mailing list > (https://lore.kernel.org/netdev/20260922211139.38570-1-hemendranaik@gmail.com/). > It was added to the GitHub branch strictly for validation and testing purposes. Thanks! Victor, could you pull this into tdc as well?
On Wed, Sep 23, 2026 at 11:53 PM Jakub Kicinski <kuba@kernel.org> wrote: > > On Wed, 23 Sep 2026 09:31:36 +0530 Hemendra M. Naik wrote: > > Hi Jakub, > > > > We have vendored the temporary UAPI header changes into the GitHub > > development branch (https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/) > > as requested, so it should now build standalone in your CI pipeline. > > > > Please note that this header sync commit is not present in the official > > iproute2 patch submitted to the mailing list > > (https://lore.kernel.org/netdev/20260922211139.38570-1-hemendranaik@gmail.com/). > > It was added to the GitHub branch strictly for validation and testing purposes. > > Thanks! > > Victor, could you pull this into tdc as well? Done, it's in tdc. cheers, Victor
On Thu, 24 Sep 2026 08:35:34 -0300 Victor Nogueira wrote: > On Wed, Sep 23, 2026 at 11:53 PM Jakub Kicinski <kuba@kernel.org> wrote: > > > > On Wed, 23 Sep 2026 09:31:36 +0530 Hemendra M. Naik wrote: > > > Hi Jakub, > > > > > > We have vendored the temporary UAPI header changes into the GitHub > > > development branch (https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats/) > > > as requested, so it should now build standalone in your CI pipeline. > > > > > > Please note that this header sync commit is not present in the official > > > iproute2 patch submitted to the mailing list > > > (https://lore.kernel.org/netdev/20260922211139.38570-1-hemendranaik@gmail.com/). > > > It was added to the GitHub branch strictly for validation and testing purposes. > > > > Thanks! > > > > Victor, could you pull this into tdc as well? > > Done, it's in tdc. Thanks! https://lore.kernel.org/all/20260922205924.32173-3-hemendranaik@gmail.com/ will return in net-next-2026-09-24--18-00
© 2016 - 2026 Red Hat, Inc.