THE VF PAUSE STATE MACHINE(9)
π The VF PAUSE state machine π
okay so this is a page from the Kernel API Manual, section 9 β yes, the (9) means kernel API docs, we love a numbered section, slay β¨ β and it's literally just the glow-up map of the VF PAUSE state machine. no cap. let's get into it bestie π«Ά
π NAME π
The VF PAUSE state machine β that's the whole name, that's the whole vibe π
β¨ DESCRIPTION β¨
so the VF PAUSE state machine looks like this, and honestly? it's giving subway map at 2am ππ. here's the diagram exactly as it appears, no edits, no touching, hands off:
(READY,RESUMED)<-------------<---------------------o---------o
| pause | ....V...........................PAUSE_WIP........ : : o : o------<-----busy : | : / / : | |
: PAUSE_SEND_PAUSE ---failed--->----------o--->(PAUSE_FAILED) |
: | : | |
: acked rejected---->----------o--->(MISMATCH) /
: | : /
: v : /
: PAUSE_WAIT_GUC : /
: | : /
: done : /
: | : /
: v : /
: PAUSE_GUC_DONE o-----restart
: | :
: | o---<--busy :
: / :
: / :
: / :
:....o..............o...............o...........:
| | |
completed flr stop
| | |
V .....V..... ......V.....
(PAUSED) : FLR_WIP : : STOP_WIP :
:.........: :..........:
like... look at all those states. (READY,RESUMED), PAUSE_WIP, PAUSE_SEND_PAUSE, (PAUSE_FAILED), (MISMATCH), PAUSE_WAIT_GUC, PAUSE_GUC_DONE, (PAUSED), FLR_WIP, STOP_WIP β every single one is in there, all the acked / rejected / failed / busy / restart / completed / flr / stop arrows too π¦. I am not summarizing a single box, that would be a crime and I would be the criminal π.
for the full state machine view, see The VF state machine_ β yeah, this one's just the pause chapter, go read the whole saga bestie, iykyk π
π SEE ALSO π
the group chat of related pages, all of them, in order, periodt π :
- Kernel file
./drivers/gpu/drm/xe/xe_gt_sriov_pf_control.cβ the actual source file, main character energy tbh The VF state machine(9)xe_gt_sriov_pf_control_pause_vf(9)The VF RESUME state machine(9)xe_gt_sriov_pf_control_resume_vf(9)The VF SAVE state machine(9)xe_gt_sriov_pf_control_check_save_data_done(9)xe_gt_sriov_pf_control_check_save_failed(9)xe_gt_sriov_pf_control_process_save_data(9)xe_gt_sriov_pf_control_trigger_save_vf(9)xe_gt_sriov_pf_control_finish_save_vf(9)The VF RESTORE state machine(9)xe_gt_sriov_pf_control_check_restore_failed(9)xe_gt_sriov_pf_control_restore_data_done(9)xe_gt_sriov_pf_control_process_restore_data(9)xe_gt_sriov_pf_control_trigger_restore_vf(9)xe_gt_sriov_pf_control_finish_restore_vf(9)The VF STOP state machine(9)xe_gt_sriov_pf_control_stop_vf(9)The VF FLR state machine(9)xe_gt_sriov_pf_control_prepare_flr(9)xe_gt_sriov_pf_control_trigger_flr(9)xe_gt_sriov_pf_control_sync_flr(9)xe_gt_sriov_pf_control_wait_flr(9)The VF FLR Flow with GuC(9)xe_gt_sriov_pf_control_process_guc2pf(9)xe_gt_sriov_pf_control_init(9)xe_gt_sriov_pf_control_restart(9)
like, it's a whole extended universe and honestly? obsessed π₯
aaaand that's the page, bestie πΈ β this lil doc lives at ./drivers/gpu/drm/xe, dated October 2026, and it goes out as The VF PAUSE state machine(9). mwah, go read the code, 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