GUC VGT POLICY KLVS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… GuC VGT Policy KLVs πŸ’…

Okay so bestie, this page lives in the Kernel API Manual, and it's literally the list of GuC KLV keys available for use with PF2GUC_UPDATE_VGT_POLICY. No cap, every crumb is staying right here. πŸ“βœ¨


  • GUC_KLV_VGT_POLICY_SCHED_IF_IDLE β€” 0x8001 [From 70.12.0]
    • This config lets you update the scheduling priority of the PF and all VFs at once. Setting this policy to 0 updates all VFs scheduling priorities to LOW, and setting this policy to 1 updates all VFs scheduling priorities to NORMAL. Those changes will take effect on the next VF-Switch event.
    • [Before 70.12.0] This config sets whether strict scheduling is enabled, whereby any VF that doesn’t have work to submit is still allocated a fixed execution time-slice to ensure active VFs execution is always consistent even during other VF reprovisiong / rebooting events. Changing this KLV impacts all VFs and takes effect on the next VF-Switch event.
    • Values: :0: don't schedule idle (default) Β· :1: schedule if idle
  • GUC_KLV_VGT_POLICY_ADVERSE_SAMPLE_PERIOD β€” 0x8002
    • This config sets the sample period for tracking adverse event counters. A sample period is the period in millisecs during which events are counted. This is applicable for all the VFs.
    • Values: :0: adverse events are not counted (default) Β· :n: sample period in milliseconds
  • GUC_KLV_VGT_POLICY_ENGINE_GROUP_CONFIG β€” 0x8004
    • This config allows the PF to split the engines across scheduling groups. Each group is independently timesliced across VFs, allowing different VFs to be active on the HW at the same time.
    • > Important vibe check: when enabling this feature, all engines must be assigned to a group (and only one group), or they will be excluded from scheduling after this KLV is sent.
    • To enable the groups, the driver must provide a masks array with GUC_MAX_ENGINE_CLASSES entries for each group, with each mask indicating which logical instances of that class belong to the group. Therefore, the length of this KLV when enabling groups is num_groups * GUC_MAX_ENGINE_CLASSES.
    • To disable the groups, the driver must send the KLV without any payload (i.e. len = 0). The maximum number of groups is 8.
  • GUC_KLV_VGT_POLICY_RESET_AFTER_VF_SWITCH β€” 0x8D00
    • This enum is to reset utilized HW engine after VF Switch (i.e to clean up Stale HW register left behind by previous VF).
    • Values: :0: don't reset (default) Β· :1: reset

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  • GuC KLV(9)
  • GuC Global Config KLVs(9)
  • GuC Self Config KLVs(9)
  • GuC Opt In Feature KLVs(9)
  • GuC Scheduling Policies KLVs(9)
  • GuC VF Configuration KLVs(9)
  • GuC Reserved KLVs(9)

okay that's the whole tea β˜• β€” source ./drivers/gpu/drm/xe/abi, October 2026, page GuC VGT Policy KLVs(9). bye bestie, go slay those VGT policies πŸ’–πŸ¦‹

πŸ“¦ where this page comes from