netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 net-next 0/1] DUALPI2 patch
@ 2025-02-22 10:07 chia-yu.chang
  2025-02-22 10:07 ` [PATCH v5 net-next 1/1] sched: Add dualpi2 qdisc chia-yu.chang
  0 siblings, 1 reply; 8+ messages in thread
From: chia-yu.chang @ 2025-02-22 10:07 UTC (permalink / raw)
  To: netdev, dave.taht, pabeni, jhs, kuba, stephen, xiyou.wangcong,
	jiri, davem, edumazet, horms, andrew+netdev, ij, ncardwell,
	koen.de_schepper, g.white, ingemar.s.johansson, mirja.kuehlewind,
	cheshire, rs.ietf, Jason_Livingood, vidhi_goel
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

Hello,

  Please find DUALPI2 patch v5.
  In addition to the changes, a comparison was done between MQ + DUALPI2, MQ + FQ_PIE, 
  MQ + FQ_CODEL as suggested by Dave, you can find them below.

Unshaped 1gigE with 4 download streams test:
 - Summary of tcp_4down run 'MQ + FQ_CODEL':
                           avg       median       # data pts
    Ping (ms) ICMP :       1.19     1.34 ms          349
    TCP download avg :   235.42      N/A Mbits/s     349
    TCP download sum :   941.68      N/A Mbits/s     349
    TCP download::1  :   235.19   235.39 Mbits/s     349
    TCP download::2  :   235.03   235.35 Mbits/s     349
    TCP download::3  :   236.89   235.44 Mbits/s     349
    TCP download::4  :   234.57   235.19 Mbits/s     349

 - Summary of tcp_4down run 'MQ + FQ_PIE'
                           avg       median        # data pts
    Ping (ms) ICMP :       1.21     1.37 ms          350
    TCP download avg :   235.42      N/A Mbits/s     350
    TCP download sum :   941.61     N/A Mbits/s      350
    TCP download::1  :   232.54  233.13 Mbits/s      350
    TCP download::2  :   232.52  232.80 Mbits/s      350
    TCP download::3  :   233.14  233.78 Mbits/s      350
    TCP download::4  :   243.41  241.48 Mbits/s      350

 - Summary of tcp_4down run 'MQ + DUALPI2'
                           avg       median        # data pts
    Ping (ms) ICMP :       1.19     1.34 ms          349
    TCP download avg :   235.42      N/A Mbits/s     349
    TCP download sum :   941.68      N/A Mbits/s     349
    TCP download::1  :   235.19   235.39 Mbits/s     349
    TCP download::2  :   235.03   235.35 Mbits/s     349
    TCP download::3  :   236.89   235.44 Mbits/s     349
    TCP download::4  :   234.57   235.19 Mbits/s     349


Unshaped 1gigE with 128 download streams test:
 - Summary of tcp_128down run 'MQ + FQ_CODEL':
                           avg       median       # data pts
    Ping (ms) ICMP   :     1.88     1.86 ms          350
    TCP download avg :     7.39      N/A Mbits/s     350
    TCP download sum :   946.47      N/A Mbits/s     350

 - Summary of tcp_128down run 'MQ + FQ_PIE':
                           avg       median       # data pts
    Ping (ms) ICMP   :     1.88     1.86 ms          350
    TCP download avg :     7.39      N/A Mbits/s     350
    TCP download sum :   946.47      N/A Mbits/s     350

 - Summary of tcp_128down run 'MQ + DUALPI2':
                           avg       median       # data pts
    Ping (ms) ICMP   :     1.88     1.86 ms          350
    TCP download avg :     7.39      N/A Mbits/s     350
    TCP download sum :   946.47      N/A Mbits/s     350


Unshaped 10gigE with 4 download streams test:
 - Summary of tcp_4down run 'MQ + FQ_CODEL':
                           avg       median       # data pts
    Ping (ms) ICMP :       0.22     0.23 ms          350
    TCP download avg :  2354.08      N/A Mbits/s     350
    TCP download sum :  9416.31      N/A Mbits/s     350
    TCP download::1  :  2353.65  2352.81 Mbits/s     350
    TCP download::2  :  2354.54  2354.21 Mbits/s     350
    TCP download::3  :  2353.56  2353.78 Mbits/s     350
    TCP download::4  :  2354.56  2354.45 Mbits/s     350

- Summary of tcp_4down run 'MQ + FQ_PIE':
                           avg       median      # data pts
    Ping (ms) ICMP :       0.20     0.19 ms          350
    TCP download avg :  2354.76      N/A Mbits/s     350
    TCP download sum :  9419.04      N/A Mbits/s     350
    TCP download::1  :  2354.77  2353.89 Mbits/s     350
    TCP download::2  :  2353.41  2354.29 Mbits/s     350
    TCP download::3  :  2356.18  2354.19 Mbits/s     350
    TCP download::4  :  2354.68  2353.15 Mbits/s     350

 - Summary of tcp_4down run 'MQ + DUALPI2':
                           avg       median      # data pts
    Ping (ms) ICMP :       0.24     0.24 ms          350
    TCP download avg :  2354.11      N/A Mbits/s     350
    TCP download sum :  9416.43      N/A Mbits/s     350
    TCP download::1  :  2354.75  2353.93 Mbits/s     350
    TCP download::2  :  2353.15  2353.75 Mbits/s     350
    TCP download::3  :  2353.49  2353.72 Mbits/s     350
    TCP download::4  :  2355.04  2353.73 Mbits/s     350


Unshaped 10gigE with 128 download streams test:
 - Summary of tcp_128down run 'MQ + FQ_CODEL':
                           avg       median       # data pts
    Ping (ms) ICMP   :     7.57     8.69 ms          350
    TCP download avg :    73.97      N/A Mbits/s     350
    TCP download sum :  9467.82      N/A Mbits/s     350

 - Summary of tcp_128down run 'MQ + FQ_PIE':
                           avg       median       # data pts
    Ping (ms) ICMP   :     7.82     8.91 ms          350
    TCP download avg :    73.97      N/A Mbits/s     350
    TCP download sum :  9468.42      N/A Mbits/s     350

 - Summary of tcp_128down run 'MQ + DUALPI2': 
                           avg       median       # data pts
    Ping (ms) ICMP   :     6.87     7.93 ms          350
    TCP download avg :    73.95      N/A Mbits/s     350
    TCP download sum :  9465.87      N/A Mbits/s     350

 From the results shown above, we see small differences between combinations.

v5
- Update commit message to include results of no_split_gso and split_gso (Dave Taht <dave.taht@gmail.com> and Paolo Abeni <pabeni@redhat.com>)
- Add memlimit in dualpi2 attribute, and add memory_used, max_memory_used, memory_limit in dualpi2 stats (Dave Taht <dave.taht@gmail.com>)
- Update note in sch_dualpi2.c related to BBRv3 status (Dave Taht <dave.taht@gmail.com>)
- Update license identifier (Dave Taht <dave.taht@gmail.com>)
- Add selftest in tools/testing/selftests/tc-testing (Cong Wang <xiyou.wangcong@gmail.com>)
- Use netlink policies for parameter checks (Jamal Hadi Salim <jhs@mojatatu.com>)
- Modify texts & fix typos in Documentation/netlink/specs/tc.yaml (Dave Taht <dave.taht@gmail.com>)
- Add dscsriptions of packet counter statistics and reset function of sch_dualpi2.c
- Fix step_thresh in packets
- Update code comments in sch_dualpi2.c

v4
- Update statement in Kconfig for DualPI2 (Stephen Hemminger <stephen@networkplumber.org>)
- Put a blank line after #define in sch_dualpi2.c (Stephen Hemminger <stephen@networkplumber.org>)
- Fix line length warning

v3
- Fix compilaiton error
- Update Documentation/netlink/specs/tc.yaml (Jakub Kicinski <kuba@kernel.org>)

v2
- Add Documentation/netlink/specs/tc.yaml (Jakub Kicinski <kuba@kernel.org>)
- Use dualpi2 instead of skb prefix (Jamal Hadi Salim <jhs@mojatatu.com>)
- Replace nla_parse_nested_deprecated with nla_parse_nested (Jamal Hadi Salim <jhs@mojatatu.com>)
- Fix line length warning

For more details of DualPI2, plesae refer IETF RFC9332
(https://datatracker.ietf.org/doc/html/rfc9332).
--
Chia-Yu

Koen De Schepper (1):
  sched: Add dualpi2 qdisc

 Documentation/netlink/specs/tc.yaml           |  140 +++
 include/linux/netdevice.h                     |    1 +
 include/uapi/linux/pkt_sched.h                |   38 +
 net/sched/Kconfig                             |   12 +
 net/sched/Makefile                            |    1 +
 net/sched/sch_dualpi2.c                       | 1081 +++++++++++++++++
 tools/testing/selftests/tc-testing/config     |    1 +
 .../tc-testing/tc-tests/qdiscs/dualpi2.json   |  149 +++
 8 files changed, 1423 insertions(+)
 create mode 100644 net/sched/sch_dualpi2.c
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/dualpi2.json

-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-03-03 16:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-22 10:07 [PATCH v5 net-next 0/1] DUALPI2 patch chia-yu.chang
2025-02-22 10:07 ` [PATCH v5 net-next 1/1] sched: Add dualpi2 qdisc chia-yu.chang
2025-02-24 20:30   ` Jakub Kicinski
2025-02-25 18:07     ` Chia-Yu Chang (Nokia)
2025-02-26  0:41   ` Cong Wang
2025-03-02 15:37     ` Chia-Yu Chang (Nokia)
     [not found]       ` <s6XvSuJ8nXItuCMN4KLwbJvYh8P3pAtM4TpVWLomsju1tts9T7CGMmmuWSJcIhkC-aXOZndLLoB8jIfDCwdkVH6POUi86FIO5jfkcUhI2nw=@ealdwulf.org.uk>
2025-03-03  1:10         ` Chia-Yu Chang (Nokia)
2025-03-03 16:20           ` Koen De Schepper (Nokia)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).