STRUCT ADF_RL_SLA_INPUT_DATA(9)
π struct adf_rl_sla_input_data(9) β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the Kernel API Manual β¨ and today's main character is struct adf_rl_sla_input_data, which is literally the ratelimiting user input data structure π yes that's its whole NAME, and yes it ate.
π¦ SYNOPSIS π¦
here's the shape of it, no cap, copy it exactly:
struct adf_rl_sla_input_data {
u64 rp_mask;
int sla_id;
int parent_id;
unsigned int cir;
unsigned int pir;
enum rl_node_type type;
enum adf_base_services srv;
};
πΈ Members πΈ
so these are the fields, and i'm gonna be so fr with you about each one:
rp_maskβ a 64 bit bitmask of ring pair IDs that are gonna get assigned to the SLA π like, for example0x5means RP0 and RP2 get assigned, and0xA005means RP0,2,13,15 get assigned. it's giving hex homework but honestly iconic.sla_idβ the ID of the current SLA, for the operations update, rm, and get π₯ and for the add operation? this field literally gets updated with the ID of the newly added SLA. not me becoming a different value mid-operation πparent_idβ the ID of the SLA that the current one should be assigned to π«Ά set it to-1to refer to the default parent. easy.cirβ Committed information rate π the rate that's guaranteed to be achieved. the input value is expressed in permille scale, i.e.1000refers to the maximum device throughput for a selected service. promise, guaranteed, on god.pirβ Peak information rate β the maximum rate available that the SLA can achieve. also expressed in permille scale, i.e.1000refers to the maximum device throughput for a selected service. the ceiling, the limit, the whole vibe.typeβ the SLA type: root, cluster, node π pick your fighter.srvβ the service associated to the SLA: asym, sym dc π§ short names, big energy.
β¨ Description β¨
so this structure is used to perform operations on an SLA π« and depending on which operation you're doing, some of the parameters just get ignored β literally not invited to the function, and that's fine.
here's the list of which parameters you should actually set for each operation, bestie, don't skip it:
- add: all except
sla_id - update:
cir,pir,sla_id - rm:
sla_id - rm_all:
- - get:
sla_id - get_capability_rem:
srv,sla_id
π©· quick vibe check: fill in the wrong fields and the kernel's just gonna be like π§ no thoughts head empty. match the operation to the fields, okay?
π SEE ALSO π
go read these too, i'm obsessed:
- Kernel file
./drivers/crypto/intel/qat/qat_common/adf_rl.h - struct
adf_rl(9) - struct
rl_sla(9)
and that's the whole page, periodt π
mwah. this one came from ./drivers/crypto/intel/qat/qat... and it's dated October 2026, and the header said struct adf_r...a_input_data(9) in case you were wondering β love that for us, talk later bestie π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms