STRUCT RESCTRL_CACHE(9)
π struct resctrl_cache(9) β Cache allocation related data π
okay so bestie, welcome to the Kernel API Manual, section 9 β yes we're in the big leagues now, this is the struct resctrl_cache(9) page and it's lowkey iconic. Sit down, grab a strawberry π, and let's get into it.
This struct is literally the whole vibe check for cache allocation data β it's giving "everything you need to know about how this cache wants to be sliced and diced." β¨
π SYNOPSIS π
struct resctrl_cache {
unsigned int cbm_len;
unsigned int min_cbm_bits;
unsigned int shareable_bits;
bool arch_has_sparse_bitmasks;
bool arch_has_per_cpu_cfg;
bool io_alloc_capable;
};
no cap, that's the whole thing. six fields, all baddies. π«Ά
πΈ Members πΈ
cbm_lenβ the length of the cache bit mask. that's her. that's the size of the mask, periodt. πmin_cbm_bitsβ the minimum number of consecutive bits that gotta be set. and listen β a value of0here means the architecture can support zero CBM (yes, actually zero, that's a real thing, not me being dramatic π).shareable_bitsβ a bitmask of shareable resource with other executing entities. i.e. what this resource is willing to share with the other kids in the group chat. πarch_has_sparse_bitmasksβTrueif a bitmask likef00fis valid. yeah.f00f. those gaps are allowed, she's not regular, she's sparse and she's valid πarch_has_per_cpu_cfgβTrueif theQOS_CFGregister for this cache level has CPU scope. iykyk.io_alloc_capableβTrueif a portion of the cache can be configured for I/O traffic. so I/O gets a lil slice too, generous queen π
π¦ SEE ALSO π¦
okay this is the part where the whole friend group gets tagged. all of these live in the kernel file ./include/linux/resctrl.h and honestly? the roster is stacked:
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)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)
bestie heads up π«Ά β this page lives in ./include/linux, and that's the source line, not a fun lil folder to go poking at randomly. read responsibly. π
and that's the page!! okay love you, bye β sourced from ./include/linux, dated October 2026, and forever signed struct resctrl_cache(9). slay, go read some kernel headers π
β¨π
π¦ 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