intel_gvt_reset_vgpu_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… intel_gvt_reset_vgpu_locked β€” the kernel API manual, bestie edition πŸ’…

okay so you're looking at intel_gvt_reset_vgpu_locked, a page from the Kernel API Manual, and honestly? she's a baddie. let's get into it ✨


🌸 NAME 🌸

intel_gvt_reset_vgpu_locked β€” reset a virtual GPU by DMLR or GT reset. that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

void intel_gvt_reset_vgpu_locked (struct intel_vgpu *vgpu , bool dmlr ,
       intel_engine_mask_t engine_mask );

literally that's the whole signature, no cap. copy it exactly, don't be cute with it 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • vgpu β€” the virtual GPU. our main character πŸ’–
  • dmlr β€” vGPU Device Model Level Reset or GT Reset. yeah it's the "which flavour of reset are we doing" switch πŸ“
  • engine_mask β€” engines to reset for GT reset. it's giving "pick your fighters" πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

so this function is the one that gets called when a user wants to reset a virtual GPU β€” either through device model reset or through GT reset. and listen, bestie, the caller should hold the vgpu lock. that's not optional, that's the rule, periodt πŸ”’

πŸŽ€ vGPU Device Model Level Reset (DMLR) πŸŽ€

DMLR simulates the PCI level reset, and what it does is reset the whole vGPU back to its default state β€” the exact state it was in when it was created. brand new, fresh out the box, no baggage ✨

this vGPU function is required both for functionary and security concerns. (yes, both. she's multi-talented.) the ultimate goal of vGPU FLR is that reuse a vGPU instance by virtual machines. so when we assign a vGPU to a virtual machine, we must issue such reset first β€” like wiping the counter before the next customer, iykyk πŸ’…

🧚 Full GT Reset and Per-Engine GT Reset 🧚

these are soft reset flow for GPU engines, and the engines in question are: Render, Blitter, Video, Video Enhancement. it is defined by GPU Spec. πŸ“œ

unlike the FLR, GT reset only reset particular resource of a vGPU per the reset request. so she's surgical, not scorched-earth 🌸

guest driver can issue a GT reset by programming the virtual GDRST register to reset specific virtual GPU engine or all engines. one engine? all engines? guest driver's choice, lowkey iconic ⭐

πŸ‘‘ the params, explained πŸ‘‘

the parameter dev_level is to identify if we will do DMLR or GT reset. the parameter engine_mask is to specific the engines that need to be reset.

if value ALL_ENGINES is given for engine_mask, it means the caller requests a full GT reset that we will reset all virtual GPU engines. every single one. all of them. go off πŸ”₯

and for FLR? engine_mask is ignored. don't even worry about it, she's not listening πŸ™ˆ


🌈 SEE ALSO 🌈

kernel file ./drivers/gpu/drm/i915/gvt/vgpu.c β€” that's where she lives, go say hi πŸ’œ

and the whole friend group, fr fr:


and that's the page, bestie 🫢 from ./drivers/gpu/drm/i915/gvt, dated October 2026, and she goes by intel_gvt_reset_vgpu_locked(9). mwah πŸ’‹
πŸ“¦ where this page comes from