[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN8PR12MB3266149B178B38583E35D18AD33F0@BN8PR12MB3266.namprd12.prod.outlook.com>
Date: Tue, 7 Jan 2020 09:27:34 +0000
From: Jose Abreu <Jose.Abreu@...opsys.com>
To: Murali Karicheri <m-karicheri2@...com>,
Vinicius Costa Gomes <vinicius.gomes@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: Joao Pinto <Joao.Pinto@...opsys.com>,
David Ahern <dsahern@...il.com>
Subject: RE: [PATCH iproute2-next] taprio: Add support for the SetAndHold and
SetAndRelease commands
From: Murali Karicheri <m-karicheri2@...com>
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
Powered by blists - more mailing lists