STRUCT XE_GT_SRIOV_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct xe_gt_sriov_config(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ this one's all about struct xe_gt_sriov_config β€” the GT level per-VF configuration data. yes that's a lot of acronyms, we'll get through it together 🫢


🌸 NAME 🌸

struct xe_gt_sriov_config β€” GT level per-VF configuration data. literally what it says on the tin πŸ’…


✨ SYNOPSIS ✨

struct xe_gt_sriov_config {
    struct xe_ggtt_node *ggtt_region;
    struct xe_bo *lmem_obj;
    u16 num_ctxs;
    u16 begin_ctx;
    u16 num_dbs;
    u16 begin_db;
    u32 exec_quantum[GUC_MAX_SCHED_GROUPS];
    u32 preempt_timeout[GUC_MAX_SCHED_GROUPS];
    u32 sched_priority;
    u32 thresholds[XE_GUC_KLV_NUM_THRESHOLDS];
 };

like, just look at it. iconic. no notes πŸ”₯


πŸŽ€ Members πŸŽ€

vibe check on every single field, one by one, no skipping (i would never 😀):

  • ggtt_region β€” the GGTT region that's been assigned to the VF. it's theirs. it's giving allocated πŸ’–
  • lmem_obj β€” the LMEM allocation for use by the VF. local memory, hand-delivered 🎁
  • num_ctxs β€” how many GuC context IDs there are. the count, the number, the quantity ✨
  • begin_ctx β€” the start index of the GuC context ID range. where the range begins, bestie πŸ“
  • num_dbs β€” how many GuC doorbell IDs. doorbells!! ding dong πŸ›ŽοΈ
  • begin_db β€” the start index of the GuC doorbell ID range. the beginning of the doorbell zone πŸ””
  • exec_quantum β€” execution-quantum, measured in milliseconds ⏱️ (yes, milliseconds, don't @ me)
  • preempt_timeout β€” preemption timeout, measured in microseconds ⏳ (different unit!! microseconds!! pay attention πŸ’€)
  • sched_priority β€” scheduling priority. who goes first, basically πŸ‘‘
  • thresholds β€” the GuC thresholds for adverse events notifications. when things go sideways, these are the lines that get crossed 🚨

πŸ¦‹ Description πŸ¦‹

so the PF driver uses this to maintain per-VF provisioning data. that's the whole plot. PF driver, per-VF provisioning data, maintained. periodt πŸ’œ


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h
  • struct xe_gt_sriov_spare_config(9) β€” the spare-config cousin, go say hi 🧚

ngl bestie, if you're poking at VF provisioning and you skip reading this, that's on you 😭 the fields are right there. iykyk.

and that's the page!! 🌸 source version and date, for the record: ./drivers/gpu/drm/xe, October 2026, struct xe_gt_sriov_config(9). mwah, go forth and provision responsibly πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from