STRUCT RDT_L3_MON_DOMAIN(9)
π struct rdt_l3_mon_domain(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes, that's the vibe, we're in the kernel docs today and honestly? it's giving main character energy. this page is all about struct rdt_l3_mon_domain, and no cap, it's kind of iconic once you get it.
πΈ NAME πΈ
struct rdt_l3_mon_domain β literally just a group of CPUs that share RDT_RESOURCE_L3 monitoring π that's it, that's the whole thing, and it's lowkey important, iykyk.
β¨ SYNOPSIS β¨
here's the actual shape of it, copied exactly because we do not mess with the code, periodt:
struct rdt_l3_mon_domain {
struct rdt_domain_hdr hdr;
unsigned int ci_id;
unsigned long *rmid_busy_llc;
struct mbm_state *mbm_states[QOS_NUM_L3_MBM_EVENTS];
struct delayed_work mbm_over;
struct delayed_work cqm_limbo;
int mbm_work_cpu;
int cqm_work_cpu;
struct mbm_cntr_cfg *cntr_cfg;
};
π¦ Members π¦
okay bestie, member-by-member tour, let's go π
hdrβ the common header for different domain types. it's the shared little crown every domain type wears πci_idβ the cache info id for this domain. yes, this domain specifically π―rmid_busy_llcβ bitmap of which limbo RMIDs are above threshold. a whole bitmap, bestie, tracking the limbo RMIDs that overshot π₯mbm_statesβ per-event pointer to the MBM event's saved state. and here's the tea: an MBM event's state is an array ofstruct mbm_stateindexed by RMID on x86, or by combined CLOSID, RMID on Arm. different architectures, different indexing, same slay πmbm_overβ the worker that periodically reads MBM h/w counters. it's on a schedule, it's diligent, it's that girl β°cqm_limboβ the worker that periodically reads CQM h/w counters. same energy, different counters π«mbm_work_cpuβ the worker CPU for MBM h/w counters. somebody's gotta do it π«Άcqm_work_cpuβ the worker CPU for CQM h/w counters. and this someone too πcntr_cfgβ array of assignable counters' configuration, indexed by counter ID. array, indexed, configured, done β¨
π SEE ALSO π
okay so this list is long and we are not skipping a single one, because every reference matters bestie π the kernel file is ./include/linux/resctrl.h and the whole squad is:
enum resctrl_conf_type(9)struct resctrl_staged_config(9)struct rdt_domain_hdr(9)struct rdt_ctrl_domain(9)struct mbm_cntr_cfg(9)struct resctrl_cache(9)enum membw_throttle_mode(9)struct resctrl_membw(9)enum resctrl_schema_fmt(9)struct resctrl_mon(9)struct rdt_resource(9)struct resctrl_schema(9)resctrl_arch_sync_cpu_closid_rmid(9)resctrl_get_default_ctrl(9)resctrl_arch_mon_event_config_write(9)resctrl_arch_mon_event_config_read(9)resctrl_arch_mbm_cntr_assign_enabled(9)resctrl_arch_mbm_cntr_assign_set(9)resctrl_arch_rmid_read(9)resctrl_arch_rmid_read_context_check(9)resctrl_find_domain(9)resctrl_arch_reset_rmid(9)resctrl_arch_reset_rmid_all(9)resctrl_arch_reset_all_ctrls(9)resctrl_arch_config_cntr(9)resctrl_arch_cntr_read(9)resctrl_arch_reset_cntr(9)resctrl_arch_io_alloc_enable(9)resctrl_arch_get_io_alloc_enabled(9)
like, a whole friend group fr fr π«Ά
and that's the page!! mwah π it lives over in ./include/linux and it's dated October 2026 β so go read it when the calendar catches up, bestie. bye bye, stan resctrl, drink water, and remember: the vibe changes, the facts do not π
πβ¨
π¦ 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