* [PATCH iproute2 v2 0/2] tc: pie: make tc/q_pie.c consistent with the kernel
@ 2019-03-27 15:36 Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 1/2] tc: pie: change maximum integer value of tc_pie_xstats->prob Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 2/2] tc: pie: update man page Leslie Monis
0 siblings, 2 replies; 3+ messages in thread
From: Leslie Monis @ 2019-03-27 15:36 UTC (permalink / raw)
To: stephen; +Cc: netdev, Leslie Monis
The PIE qdisc implementation in Linux has recently been
aligned with RFC 8033. This patch series makes tc/q_pie.c
consistent with that implementation and also updates the man
page tc-pie(8).
Changes from v1 to v2:
- Used UINT64_MAX instead of 0xffffffffffffffff as suggested
by Stephen.
Leslie Monis (2):
tc: pie: change maximum integer value of tc_pie_xstats->prob
tc: pie: update man page
man/man8/tc-pie.8 | 40 ++++++++++++++++++----------------------
man/man8/tc.8 | 1 +
tc/q_pie.c | 2 +-
3 files changed, 20 insertions(+), 23 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH iproute2 v2 1/2] tc: pie: change maximum integer value of tc_pie_xstats->prob
2019-03-27 15:36 [PATCH iproute2 v2 0/2] tc: pie: make tc/q_pie.c consistent with the kernel Leslie Monis
@ 2019-03-27 15:36 ` Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 2/2] tc: pie: update man page Leslie Monis
1 sibling, 0 replies; 3+ messages in thread
From: Leslie Monis @ 2019-03-27 15:36 UTC (permalink / raw)
To: stephen; +Cc: netdev, Leslie Monis
tc_pie_xstats->prob has a maximum value of (2^64 - 1).
Signed-off-by: Leslie Monis <lesliemonis@gmail.com>
---
tc/q_pie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tc/q_pie.c b/tc/q_pie.c
index f7924ef5..236ea31b 100644
--- a/tc/q_pie.c
+++ b/tc/q_pie.c
@@ -198,7 +198,7 @@ static int pie_print_xstats(struct qdisc_util *qu, FILE *f,
st = RTA_DATA(xstats);
/*prob is returned as a fracion of maximum integer value */
fprintf(f, "prob %f delay %uus avg_dq_rate %u\n",
- (double)st->prob / (double)0xffffffff, st->delay,
+ (double)st->prob / UINT64_MAX, st->delay,
st->avg_dq_rate);
fprintf(f, "pkts_in %u overlimit %u dropped %u maxq %u ecn_mark %u\n",
st->packets_in, st->overlimit, st->dropped, st->maxq,
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH iproute2 v2 2/2] tc: pie: update man page
2019-03-27 15:36 [PATCH iproute2 v2 0/2] tc: pie: make tc/q_pie.c consistent with the kernel Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 1/2] tc: pie: change maximum integer value of tc_pie_xstats->prob Leslie Monis
@ 2019-03-27 15:36 ` Leslie Monis
1 sibling, 0 replies; 3+ messages in thread
From: Leslie Monis @ 2019-03-27 15:36 UTC (permalink / raw)
To: stephen; +Cc: netdev, Leslie Monis
Update man page to reflect the changes made in Linux.
Signed-off-by: Leslie Monis <lesliemonis@gmail.com>
---
man/man8/tc-pie.8 | 40 ++++++++++++++++++----------------------
man/man8/tc.8 | 1 +
2 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/man/man8/tc-pie.8 b/man/man8/tc-pie.8
index 278293bd..a302132f 100644
--- a/man/man8/tc-pie.8
+++ b/man/man8/tc-pie.8
@@ -60,10 +60,10 @@ limit on the queue size in packets. Incoming packets are dropped when this limit
is reached. Default is 1000 packets.
.SS target
-is the expected queue delay. The default target delay is 20ms.
+is the expected queue delay. The default target delay is 15ms.
.SS tupdate
-is the frequency at which the system drop probability is calculated. The default is 30ms.
+is the frequency at which the system drop probability is calculated. The default is 15ms.
.SS alpha
.SS beta
@@ -91,29 +91,27 @@ is turned off.
.SH EXAMPLES
# tc qdisc add dev eth0 root pie
# tc -s qdisc show
- qdisc pie 8034: dev eth0 root refcnt 2 limit 200p target 19000us tupdate 29000us alpha 2 beta 20
- Sent 7443524 bytes 7204 pkt (dropped 900, overlimits 0 requeues 0)
- backlog 38998b 37p requeues 0
- prob 0.123384 delay 25000us avg_dq_rate 1464840
- pkts_in 7241 overlimit 900 dropped 0 maxq 186 ecn_mark 0
+ qdisc pie 8036: dev eth0 root refcnt 2 limit 1000p target 15.0ms tupdate 16.0ms alpha 2 beta 20
+ Sent 31216108 bytes 20800 pkt (dropped 80, overlimits 0 requeues 0)
+ backlog 16654b 11p requeues 0
+ prob 0.006161 delay 15666us avg_dq_rate 1159667
+ pkts_in 20811 overlimit 0 dropped 80 maxq 50 ecn_mark 0
# tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn
# tc -s qdisc show
- qdisc pie 8036: dev eth0 root refcnt 2 limit 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn
- Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0)
- backlog 33728b 32p requeues 0
- prob 0.102262 delay 24000us avg_dq_rate 1464840
- pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71
-
+ qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 20.0ms tupdate 32.0ms alpha 2 beta 20 ecn
+ Sent 6591724 bytes 4442 pkt (dropped 27, overlimits 0 requeues 0)
+ backlog 18168b 12p requeues 0
+ prob 0.008845 delay 11348us avg_dq_rate 1342773
+ pkts_in 4454 overlimit 0 dropped 27 maxq 65 ecn_mark 0
# tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode
# tc -s qdisc show
- qdisc pie 8036: dev eth0 root refcnt 2 limit 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn
- Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0)
- backlog 33728b 32p requeues 0
- prob 0.102262 delay 24000us avg_dq_rate 1464840
- pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71
-
+ qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 50.0ms tupdate 32.0ms alpha 2 beta 20 bytemode
+ Sent 1616274 bytes 1137 pkt (dropped 0, overlimits 0 requeues 0)
+ backlog 13626b 9p requeues 0
+ prob 0.000000 delay 0us avg_dq_rate 0
+ pkts_in 1146 overlimit 0 dropped 0 maxq 23 ecn_mark 0
.SH SEE ALSO
.BR tc (8),
@@ -121,9 +119,7 @@ is turned off.
.BR tc-red (8)
.SH SOURCES
- o IETF draft submission is at http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
- o IEEE Conference on High Performance Switching and Routing 2013 : "PIE: A
-Lightweight Control Scheme to Address the Bufferbloat Problem"
+ o RFC 8033: https://tools.ietf.org/html/rfc8033
.SH AUTHORS
PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of
diff --git a/man/man8/tc.8 b/man/man8/tc.8
index f98398a3..ab0bad8a 100644
--- a/man/man8/tc.8
+++ b/man/man8/tc.8
@@ -848,6 +848,7 @@ was written by Alexey N. Kuznetsov and added in Linux 2.2.
.BR tc-mqprio (8),
.BR tc-pfifo (8),
.BR tc-pfifo_fast (8),
+.BR tc-pie (8),
.BR tc-red (8),
.BR tc-route (8),
.BR tc-sfb (8),
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-03-27 15:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-27 15:36 [PATCH iproute2 v2 0/2] tc: pie: make tc/q_pie.c consistent with the kernel Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 1/2] tc: pie: change maximum integer value of tc_pie_xstats->prob Leslie Monis
2019-03-27 15:36 ` [PATCH iproute2 v2 2/2] tc: pie: update man page Leslie Monis
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).