STRUCT CMB_AREA(9)
π struct cmb_area(9) β like, the kernel API manual bestie π
okay so real talk, this is page struct cmb_area(9) from the Kernel API Manual, and it's short but it matters, so let's get into it β¨
β¨ NAME β¨
struct cmb_area β the lil container that holds all your global cmb data π«Ά no cap, that's literally its whole job.
πΈ SYNOPSIS πΈ
struct cmb_area {
struct cmb *mem;
struct list_head list;
int num_channels;
spinlock_t lock;
};
periodt. four members. that's the whole struct. she's compact and she's iconic π
π¦ Members π¦
memβ pointer to CMBs, but only in basic measurement mode π (so if you're not in basic measurement mode, don't come looking here bestie, it's giving crickets)listβ holds a linked list of all subchannels π yes, all of them, she keeps the whole squad togethernum_channelsβ the number of channels that are to be measured π the headcount, essentiallylockβ a spinlock, and its whole personality is protecting concurrent access tomemandlistπ₯. like, do not touch those two without holding the lock, i'm literally begging π
β SEE ALSO β
go read the rest of the family, iykyk π
Kernel file ./drivers/s390/cio/cmf.c, plus:
enum cmb_format(9), struct cmb_operations(9), struct cmb(9), struct cmbe(9), enable_cmf(9), __disable_cmf(9), disable_cmf(9), cmf_read(9), cmf_readall(9), cmf_reactivate(9)
π friendly reminder thatlockprotects bothmemandlistβ so like, respect the lock or things get real undefined-behaviour-y real fast π
k bye bestie!! this page came from ./drivers/s390/cio and it's dated October 2026, so it's fresh π mwah π β go forth and lock your mem and list properly π§ββοΈβ¨
π¦ 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