xe_gt_sriov...save_consume(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_gt_sriov_pf_migration_save_consume πŸ’…

okay so this is a page from the Kernel API Manual, section 9 β€” and yes bestie, we're getting into the migration ring lore today πŸŽ€


✨ NAME ✨

xe_gt_sriov_pf_migration_save_consume β€” literally just: grab a VF save data packet off the migration ring πŸŒ€ no cap, that's the whole vibe.


🌸 SYNOPSIS 🌸

struct xe_sriov_packet * xe_gt_sriov_pf_migration_save_consume (struct xe_gt *gt , unsigned int vfid );

like… that's it. two arguments. she's lowkey elegant πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • gt β€” the xe_gt πŸš— (yes THE gt, main character energy fr)
  • vfid β€” the VF identifier πŸ”’ (which virtual function we're talking about, iykyk)

πŸ‘‘ DESCRIPTION πŸ‘‘

So this one gets called by the save migration data consumer β€” that's userspace, in case you were wondering πŸ™ˆ β€” whenever it's processing migration data.

And what does it do?? It queues the save migration data producer (aka the PF SR-IOV Control worker) πŸ‘·β€β™€οΈ which is potentially just sitting there waiting to add more data when the ring is full 😭 like girl same, we've all been blocked waiting for space.

so yeah: consumer consumes β†’ producer gets queued up β†’ the ring keeps flowing πŸ’– it's giving teamwork, it's giving pipeline, it's giving slay.


⭐ RETURN ⭐

here's the vibe check on what you get back πŸ‘‡

  • Pointer to xe_sriov_packet on success πŸŽ‰ iconic, we love a win
  • NULL if the ring is empty and there's no more data available πŸ’€ it's done, nothing left, go home
  • ERR_PTR(-EAGAIN) if the ring is empty but data is still being produced πŸ‘€ so like… empty β‰  done, bestie. come back later, she's still cooking πŸ“
ngl that last one is the sneakily important one β€” don't treat -EAGAIN like a failure, it literally means "more's coming, be patient" 🫢

🌈 SEE ALSO 🌈

the whole friend group πŸ«‚ go say hi:


and that's the whole page, bestie πŸ§šπŸ’œ

this little beauty lives over in ./drivers/gpu/drm/xe, dated October 2026, and it's part of the Kernel API Manual β€” that's the source, the version and the date all in one cute lil sign-off πŸŽ€βœ¨ mwah, go consume some packets πŸ’…

πŸ“¦ where this page comes from