QAT_SLA_MGR(8)
π qat_sla_mgr β the girlies' guide to QAT rate limiting π
okay so bestie, welcome to qat_sla_mgr from section 8 of the manual (System Administration Commands, iykyk) π
this is literally your group chat with the kernel for managing rate limiting Service Level Agreements on Intel QuickAssist Technology (QAT) devices, using the in-tree kernel driver. slay.
β¨ NAME β¨
qat_sla_mgr β manage QAT rate limiting Service Level Agreements π
πΈ SYNOPSIS πΈ
qat_sla_mgr command [arguments]
π¦ DESCRIPTION π¦
okay so here's the vibe: qat_sla_mgr is the command-line interface for managing rate limiting Service Level Agreements (SLAs) on Intel QuickAssist Technology (QAT) devices, and it works with the in-tree kernel driver. no cap.
It operates on the sysfs interface exposed by the intel_qat kernel module. Root access is required β like, actual root, bestie, not just "I have sudo and vibes". π
All throughput values are expressed in Megabits per second (Mbps). every single one. periodt.
SLAs are managed at the Physical Function (PF) level. The VF address is only needed at creation time to derive the ring-pair mask. VFs passed through to a guest VM are not supported π β so don't come for me with your passthrough setup, it's just not the moment.
π«Ά bestie note: bothqat_sla_mgrandqat_sla_rl.pymust reside in the same directory. they're a package deal, like us.
π COMMANDS π
createvf_addr cir pir service β Create a new SLA for the given VF address. Prints the assigned SLA ID on success. Use this ID with the PF address for subsequentupdateanddeleteoperations. it's giving "get your ID, keep your ID" π- vf_addr β PCI
Bus:Device.Functionaddress of the VF (e.g.6b:01.0or0000:6b:01.0). - cir β Committed Information Rate in Mbps. Must be a positive integer. no zero, no negative, no chaos.
- pir β Peak Information Rate in Mbps. Must be greater than or equal to
cir. the peak cannot dip below the committed, that's just physics (and the kernel). - service β Service type. One of:
asym,sym,dc,decomp,dcc.
- vf_addr β PCI
updatepf_addr sla_id cir pir β Update an existing SLA identified by sla_id. glow-up time β¨- pf_addr β PCI address of the PF.
- sla_id β SLA identifier returned by the
createcommand. - cir β New Committed Information Rate in Mbps.
- pir β New Peak Information Rate in Mbps.
deletepf_addr sla_id β Delete the SLA identified by sla_id. bye bestie πdelete_allpf_addr β Delete all SLAs on the given PF. nuclear option fr fr.listpf_addr β List all configured SLAs on the given PF. For each SLA, prints the ID, CIR, PIR (in Mbps), service type, ring-pair mask, and VF address (if SR-IOV is enabled). the full receipt π§Ύcapspf_addr β Print the maximum and remaining capacity (in Mbps) for every service configured on the device. Services are discovered at runtime viasysfs. it goes looking for them itself, main character energy.helpβ Display a brief usage summary. when in doubt, ask for help π₯Ί
π PCI ADDRESS FORMAT π
PCI addresses may be specified with or without the domain prefix:
BB:DD.Fβ Bus, Device, Function (domain defaults to0000).DDDD:BB:DD.Fβ Domain, Bus, Device, Function.
β SERVICES β
asymβ Asymmetric cryptography.symβ Symmetric cryptography.dcβ Compression.decompβ Decompression.dccβ Chained compression and crypto.
π EXIT STATUS π
0β Success. we ate. π½οΈ1β Failure. An error message is printed tostdoutwith details; check the kernel log for additional information β that's where the real tea is, bestie.
π EXAMPLES π
Query all device capabilities:
# ./qat_sla_mgr caps 0000:6b:00.0
Remaining capacity for 'asym' is: 173750 of: 173750
Remaining capacity for 'dc' is: 45000 of: 45000
Remaining capacity for 'sym' is: 95000 of: 95000
Create an SLA for a VF with 5000 Mbps CIR and 9000 Mbps PIR:
# ./qat_sla_mgr create 0000:6b:01.0 5000 9000 sym
SLA ID: 0
List SLAs on a PF:
# ./qat_sla_mgr list 0000:6b:00.0
SLA ID: 0
CIR: 5000
PIR: 9000
SRV: sym
RP: 0xf
VF: 0000:6b:01.0
Update SLA 0 to 8000/8000 Mbps:
# ./qat_sla_mgr update 0000:6b:00.0 0 8000 8000
Delete SLA 0:
# ./qat_sla_mgr delete 0000:6b:00.0 0
Delete all SLAs on a PF:
# ./qat_sla_mgr delete_all 0000:6b:00.0
πΈ ENVIRONMENT πΈ
qat_sla_mgr requires the intel_qat in-tree kernel module to be loaded. If an out-of-tree QAT driver is detected, an error message directs the user to the appropriate out-of-tree utility. it will literally point you to the right place, no guesswork π«Ά
π¦ FILES π¦
/sys/bus/pci/devices/<bdf>/qat_rl/β Sysfs directory used by the kernel for rate limiting configuration./sys/bus/pci/devices/<bdf>/qat/rp2srvβ Sysfs file mapping ring pairs to services; used bycapsto discover configured services.
π₯ SEE ALSO π₯
Kernel sysfs-driver-qat_rl documentation:
https://docs.kernel.org/ABI/testing/sysfs-driver-qat_rl
π AUTHORS π
Intel Corporation.
and that's the whole page, bestie π§ this was the Intel QAT manual, August 2026 edition, and it lives at QAT_SLA_MGR(8) β go forth and rate limit responsibly. mwah π
π¦ where this page comes from
- centos-stream 10: qatlib-tools 26.08.0-1.el10 Β· BSD-3-Clause
- centos-stream 9: qatlib-tools 26.08.0-1.el9 Β· BSD-3-Clause
- fedora 44: qatlib-tools 26.08.0-1.fc44 Β· BSD-3-Clause
- ubuntu stonking: qatlib-service 26.08.0-1 Β· BSD-3-clause OR GPL-2
- π the page's license: BSD-3-Clause
- Copyright(c) 2007-2026 Intel Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms