dm_test_ism_...e_defers_sso(9)
π dm_test_ism_...e_defers_sso(9) β from the Kernel API Manual, bestie π
okay so before we even start: yes, the title up there is literally cut off mid-word (dm_test_ism_...e_defers_sso), that's just how the Kernel API Manual rolls, it's giving mysterious β¨. Anyway. Welcome to the group chat, grab a strawberry π, we're learning about a KUnit test today.
πΈ NAME πΈ
dm_test_ism_dispatch_optimized_idle_defers_sso β the test that covers the OPTIMIZED_IDLE dispatch path without touching DC at all. Not even a little. Zero DC contact, we're social distancing from DC fr fr π.
β SYNOPSIS β
void dm_test_ism_dispatch_optimized_idle_defers_sso (struct kunit *test
);
that's it. one function. one argument. iconic, honestly π
π¦ ARGUMENTS π¦
testβ the KUnit test context. it's the lil' sandbox our test lives in, the standard KUnit vibe-passed-in-by-the-framework situation. main character energy π«Ά
π DESCRIPTION π
okay so here's the tea β:
when sso_num_frames < filter_num_frames, the OPTIMIZED_IDLE current-state arm skips the idle-optimization commit and only schedules the SSO worker. it does not do the commit. it defers. hence the name, bestie, the whole thing makes sense now π₯
and the way this test wakes that arm up? it drives the state machine HYSTERESIS_WAITING β OPTIMIZED_IDLE via TIMER_ELAPSED. so one moment we're waiting, the next the timer's elapsed and we've slid into optimized idle, and that's exactly what pokes the arm we care about π
so what does that actually exercise? three lil' bits of code:
get_sso_delayβ gets the delay, obviously π- the skip branch β the branch that skips, yes I'm being redundant, it's fine β¨
mod_delayed_workβ schedules the delayed work, slay
and all of that with no DC access whatsoever. it's a clean, self-contained unit test. no hardware, no DC, no stress. just vibes and state transitions π
lowkey the point of this test is that the arm defers the SSO work instead of committing an idle optimization β and we prove it happens safely with zero DC involvement. no cap π
β¨ SEE ALSO β¨
so you want the whole friend group? bet, here's everybody π:
- the Kernel file itself (iykyk):
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_ism_test.c dm_test_ism_idle_delay_entry_count_exceeds_history_size(9)dm_test_ism_init_sets_initial_state(9)dm_test_ism_fini_after_init(9)dm_test_ism_set_last_idle_ts_updates_timestamp(9)dm_test_ism_insert_record_basic(9)dm_test_ism_insert_record_wraps_around(9)dm_test_ism_trigger_event_valid_transition(9)dm_test_ism_trigger_event_invalid_transition(9)dm_test_dispatch_next_event_hyst_wait_no_delay(9)dm_test_dispatch_next_event_hyst_wait_with_delay(9)dm_test_dispatch_next_event_opt_idle_no_sso_delay(9)dm_test_dispatch_next_event_opt_idle_with_sso_delay(9)dm_test_dispatch_next_event_timer_aborted(9)dm_test_dispatch_next_event_no_action_state(9)dm_test_ism_commit_event_no_state(9)dm_test_ism_commit_event_cursor_transition(9)dm_test_ism_commit_event_invalid_event(9)dm_test_ism_force_full_power(9)dm_test_ism_disable_enable_cycle(9)dm_test_ism_dispatch_hysteresis_schedule_and_cancel(9)
twenty-two references, all accounted for, not one dropped. we keep every single one π
and that's the page! this cutie came out of ./drivers/gpu/drm/amd/display/... in October 2026, under the dm_test_ism_...e_defers_sso(9) name in the Kernel API Manual. go forth and dispatch, bestie β see you in the next manpage π§π
π¦ 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