STRUCT CMB(9)
π struct cmb(9) β from the Kernel API Manual β¨
okay bestie, so this one's a whole structural moment β we're talking about struct cmb, aka the basic channel measurement block, straight out of the Kernel API Manual. main character energy for your s390 measurement vibes π
πΈ NAME πΈ
struct cmb β the basic channel measurement block. that's it, that's the icon π
β¨ SYNOPSIS β¨
struct cmb {
u16 ssch_rsch_count;
u16 sample_count;
u32 device_connect_time;
u32 function_pending_time;
u32 device_disconnect_time;
u32 control_unit_queuing_time;
u32 device_active_only_time;
u32 reserved[2];
};
lowkey a gorgeous little struct, no cap π«Ά
π¦ Members π¦
here's the member-by-member breakdown, and yes we're doing all of them π
ssch_rsch_countβ the number ofsschandrsch. both of them. counted. iconic.sample_countβ the number of samples. it's giving data collection πdevice_connect_timeβ the time of device connect. clocked β°function_pending_timeβ the time of function pending. the waiting era πdevice_disconnect_timeβ the time of device disconnect. bye bestie πcontrol_unit_queuing_timeβ the time of control unit queuing. the queue is queuing, fr frdevice_active_only_timeβ the time of device active only. exactly what it says, and nothing else πreservedβ unused in basic measurement mode. she's just sitting there, thriving, unbothered π
π Description π
so this is the measurement block as used by the hardware β like, the actual hardware's version, not a vibe we made up. πΈ the fields get described further in z/Architecture Principles of Operation, chapter 17 β that's your required reading, iykyk π
now the important part, bestie, pay attention π₯: the cmb area made up from these blocks must be a contiguous array and may not be reallocated or freed. like, do not touch. do not move. do not free. not me catching you trying to reallocate it π
and also β only one cmb area can be present in the system. one. singular. she's the only one. periodt π
π§ SEE ALSO π§
- Kernel file
./drivers/s390/cio/cmf.c enum cmb_format(9)struct cmb_operations(9)struct cmb_area(9)struct cmbe(9)enable_cmf(9)__disable_cmf(9)disable_cmf(9)cmf_read(9)cmf_readall(9)cmf_reactivate(9)
a whole friend group, honestly π«Ά go read them all, slay β¨
and that's the whole page, babes π this little gem lives over in ./drivers/s390/cio and the docs are dated October 2026 β so consider yourself fully caught up in the future. mwah π
ππ¦
π¦ 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