[PATCH net-next v7 0/3] net/sched: sch_fq_pie: add per-flow class statistics
From: Hemendra M. Naik <hidden>
Date: 2026-09-19 06:01:45
Also in:
linux-kselftest, lkml
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 will be posted on net-dev mailing list as well. Both the kernel and iproute2 patches can also be found in GitHub: - https://github.com/H-N41K/linux-net-next/commits/fq_pie_class_stats/ - https://github.com/H-N41K/iproute2-next/tree/fq_pie_class_stats --- Changelog: v7: - No code changes since v6. - Rebased over the latest net-next tree and re-submitted patch. v6: https://lore.kernel.org/netdev/20260917204225.275251-1-hemendranaik@gmail.com/ (local) - 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/ (local) - 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/ (local) - Fixed unaligned commit message; moved typo fixes to another patch. v3: https://lore.kernel.org/netdev/20260630183702.170798-1-hemendranaik@gmail.com/ (local) - 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/ (local) - Addressed ABI backward compatibility issue for tc_fq_pie_xstats. v1: https://lore.kernel.org/netdev/20260531125314.22492-1-hemendranaik@gmail.com/ (local) - 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