Thread (14 messages) 14 messages, 5 authors, 2020-01-20

RE: [PATCH iproute2-next] taprio: Add support for the SetAndHold and SetAndRelease commands

From: Jose Abreu <Jose.Abreu@synopsys.com>
Date: 2020-01-07 09:27:44

From: Murali Karicheri <redacted>
Date: Jan/03/2020, 22:24:14 
(UTC+00:00)
So you have one sched entry that specify SetAndHold for all remaining
queues. So this means, queue 0 will never get sent. I guess you also
support SetAndRelease so that a mix of SetAndHold followed by 
SetAndRelease can be sent to enable sending from Queue 0. Is that
correct?

Something like
               sched-entry H 02 300000 \ <=== 300 usec tx from Q1
               sched-entry R 01 200000   <=== 300 usec tx from Q0

Just trying to understand how this is being used for real world
application.
This is the command I use:

# tc qdisc add dev $intf handle 100: parent root taprio \
	num_tc 4 \
	map 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 \
	base-time $base \
	cycle-time 1000000 \
	sched-entry R 00 100000 \
	sched-entry H 02 200000 \
	sched-entry H 04 300000 \
	sched-entry H 08 400000 \
	flags 0x2
# sleep 2
# iperf3 -c <ip> -u -b 0 -t 15 &
# sleep 5
# echo "Queue 3: Expected=40%, Queue 0 will now be preempted"
# tperf -i <ethX> -p 3

This will basically preempt Queue 0 and flood Queue 3 with express 
traffic.

You can find tperf utility here: https://github.com/joabreu/tperf

---
Thanks,
Jose Miguel Abreu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help