UNION TMIGR_STATE(9)
π union tmigr_state(9) β a Kernel API Manual moment
okay so bestie, welcome to the Kernel API Manual and today's main character is union tmigr_state(9) β literally the state of tmigr_group, no cap β¨
πΈ NAME πΈ
union tmigr_state β the state of tmigr_group π«Ά
β¨ SYNOPSIS β¨
like, here's the whole vibe, exactly as it lives:
union tmigr_state {
u32 state;
struct {
u8 active;
u8 migrator;
u16 seq;
};
};
π Members π
stateβ the combined version of the state β and heads up, it's only used for the atomicread/cmpxchgfunction π then there's the anon struct: that's the split version of the state, and you only use the struct members to update information so you stay independent of endianness π{unnamed_struct}β anonymous, mysterious, iconic, no name needed π§activeβ contains each mask bit of the active children πmigratorβ contains the mask of the child which is migrator πseqβ the sequence counter, and it needs to be increased whenever an update to thetmigr_stateis done β because it prevents a race when updates in the child groups get propagated in a changed order π the detailed info about that whole scenario is given in the documentation at the begin oftimer_migration.cβ go read it, iykyk π
π¦ SEE ALSO π¦
Kernel file ./kernel/time/timer_migration.h plus the whole friend group: struct tmigr_hierarchy(9), struct tmigr_event(9), struct tmigr_group(9), and struct tmigr_cpu(9) π
fr fr that's the whole page β every member, every warning, every cross-reference accounted for π
k bye bestie, this one's a wrap π from ./kernel/time, dated October 2026 π slay β¨
π¦ 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