ENUM DIM_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum dim_state β€” the DIM algorithm states, bestie

okay so this is enum dim_state(9) from the Kernel API Manual and honestly? it's giving state-machine realness. it's a tiny enum, it's iconic, it tells the DIM algorithm whether it's valid to start an iteration. periodt. ✨


🌸 SYNOPSIS 🌸

enum dim_state {
    DIM_START_MEASURE ,
    DIM_MEASURE_IN_PROGRESS ,
    DIM_APPLY_NEW_PROFILE

};

three constants, no cap. let's meet them 🫢


πŸŽ€ Constants πŸŽ€

  • DIM_START_MEASURE β€” this is the first iteration. that's it, that's the vibe. also the state you land in after applying a new profile, so it's lowkey the "fresh start" era πŸ’–
  • DIM_MEASURE_IN_PROGRESS β€” the algorithm is already in progress, bestie. so check if you need to perform an action. don't just barge in πŸ™ˆ
  • DIM_APPLY_NEW_PROFILE β€” the DIM consumer is currently applying a profile, so there is literally no need to measure rn. read the room πŸ’€

✨ Description ✨

these states determine if the algorithm is in a valid state to start an iteration. that's the whole gig. vibe check, then iterate 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./include/linux/dim.h, plus the whole friend group:

struct dim_cq_moder(9), struct dim_irq_moder(9), struct dim_sample(9), struct dim_stats(9), struct dim(9), enum dim_cq_period_mode(9), enum dim_tune_state(9), enum dim_stats_state(9), enum dim_step_result(9), net_dim_init_irq_moder(9), net_dim_free_irq_moder(9), net_dim_setting(9), net_dim_work_cancel(9), net_dim_get_rx_irq_moder(9), net_dim_get_tx_irq_moder(9), net_dim_set_rx_mode(9), net_dim_set_tx_mode(9), dim_on_top(9), dim_turn(9), dim_park_on_top(9), dim_park_tired(9), dim_calc_stats(9), dim_update_sample(9), dim_update_sample_with_comps(9), net_dim_get_rx_moderation(9), net_dim_get_def_rx_moderation(9), net_dim_get_tx_moderation(9), net_dim_get_def_tx_moderation(9), net_dim(9), rdma_dim(9)


fr fr go read ./include/linux/dim.h if you wanna see the whole thing in the wild πŸ¦‹

okay bye ily, this page lives in ./include/linux, dated October 2026, and it's part of the Kernel API Manual β€” mwah, slay, see you in the next manpage πŸ’œπŸŽ€

πŸ“¦ where this page comes from