mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
selftests/tc-testing: add codel/fq_codel interval boundary cases
Add tdc cases locking the codel/fq_codel small-interval uAPI after
the dropping-loop bound (previous patch): sub-tick and two-tick
intervals are ACCEPTED (the loop bound makes them safe), the
1024us boundary is accepted, and a sub-tick target sojourn delay is
accepted (it does not participate in the control law):
codel: 6e44/a8c3/a695/9793 - interval 1us/3us/1024us and
target 1us accepted (rendered 0us/2us/1.02ms/0us by tc)
fq_codel: 1b4d/3540/49c5/3e0f - interval 1us/3us/1024us and
target 1us accepted
The positive cases match the full rendered qdisc line (tc renders
interval 1us as 0us, 3us as 2us, 1024us as 1.02ms), mirroring the
existing tests in these files.
These cases do not test the dropping-loop bound itself: tdc cannot
observe per-dequeue drop counts. c797 (fq_codel target 1 interval 1)
passes unmodified on the patched kernel, which is the uAPI evidence
for the previous patch.
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://patch.msgid.link/QDISC-1L5H.v1.20260912080102@mojatatu.com.2
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7f4a5ec625
commit
f6fb2ac5e1
|
|
@ -213,5 +213,77 @@
|
|||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1p target 5ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DEV1 handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "6e44",
|
||||
"name": "Create CODEL with 1us interval, accepted (sub-tick, uAPI locked)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 1us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 0us",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "a8c3",
|
||||
"name": "Create CODEL with 3us interval, accepted (two ticks)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 3us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 2us",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "a695",
|
||||
"name": "Create CODEL with 1024us interval boundary accepted",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 1024us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 1.02ms",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "9793",
|
||||
"name": "Create CODEL with 1us target, accepted (target not in control law)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel target 1us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 0us interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -316,5 +316,77 @@
|
|||
"matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DEV1 handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "1b4d",
|
||||
"name": "Create FQ_CODEL with 1us interval, accepted (sub-tick, uAPI locked)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq_codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 1us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum [0-9]+ target 5ms interval 0us memory_limit 32Mb ecn drop_batch 64",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "3540",
|
||||
"name": "Create FQ_CODEL with 3us interval, accepted (two ticks)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq_codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 3us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum [0-9]+ target 5ms interval 2us memory_limit 32Mb ecn drop_batch 64",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "49c5",
|
||||
"name": "Create FQ_CODEL with 1024us interval boundary accepted",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq_codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 1024us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum [0-9]+ target 5ms interval 1.02ms memory_limit 32Mb ecn drop_batch 64",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
},
|
||||
{
|
||||
"id": "3e0f",
|
||||
"name": "Create FQ_CODEL with 1us target, accepted (target not in control law)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq_codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel target 1us",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum [0-9]+ target 0us interval 100ms memory_limit 32Mb ecn drop_batch 64",
|
||||
"matchCount": "1",
|
||||
"teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user