STRUCT RESCTRL_MEMBW(9)
π NAME π
struct resctrl_membw β the memory bandwidth allocation data bundle, straight out of the Kernel API Manual bestie, and yes it's exactly as iconic as it sounds π
β¨ SYNOPSIS β¨
struct resctrl_membw {
u32 min_bw;
u32 max_bw;
u32 bw_gran;
u32 delay_linear;
bool arch_needs_linear;
enum membw_throttle_mode throttle_mode;
bool mba_sc;
u32 *mb_map;
};
π¦ Members π¦
okay so this struct is literally the whole vibe check for memory bandwidth, and here's every single field, no cap:
min_bwβ the minimum memory bandwidth percentage that a user is allowed to ask for. floor energy πmax_bwβ the maximum memory bandwidth value, and it's also the reset value. so it's giving main character and backup dancer at the same time πbw_granβ the granularity at which the memory bandwidth actually gets allocated. the chunk size, if you will β¨delay_linearβTrueif the memory B/W delay is on a linear scale. so like, straight line vibes πarch_needs_linearβTrueif we literally can't configure non-linear resources. no wiggle room, the architecture said what it said πthrottle_modeβ the bandwidth throttling mode used when threads are requesting different memory bandwidths. drama between threads, basically πmba_scβTrueif the MBA software controller (mba_sc) is enabled. she's awake and she's working π«Άmb_mapβ the mapping of memory B/W percentage β memory B/W delay. the translation layer, the interpreter, the go-between π
π SEE ALSO π
Kernel file ./include/linux/resctrl.h β go read it, it's the source of truth fr fr π§
and then the whole extended friend group, all present and accounted for:
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 rdt_l3_mon_domain(9)struct resctrl_cache(9)enum membw_throttle_mode(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)
that's the whole page bestie, every field, every reference, nothing skipped π go forth and allocate your bandwidth responsibly β¨
and yeah, this lil page lives in ./include/linux and it's dated October 2026 β future queen behavior honestly ππΈ slay, see u in the next manpage π«Ά
π¦ 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