__vmw_execb...se_pinned_bo(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

This is the __vmw_execb...se_pinned_bo(9) page from the Kernel API Manual, and the main character is __vmw_execbuf_release_pinned_bo β€” the one that flushes queries and unpins the pinned query bo. πŸ‘‘

🌸 SYNOPSIS 🌸

void __vmw_execbuf_release_pinned_bo (struct vmw_private *dev_priv , struct vmw_fence_obj *fence );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev_priv β€” The device private structure. That’s the device-private bestie this call hangs out with. πŸ’–
  • fence β€” If non-NULL should point to a struct vmw_fence_obj issued _after_ a query barrier that flushes all queries touching the current buffer pointed to by dev_priv->pinned_bo. ✨

πŸ’… DESCRIPTION πŸ’…

Okay so use this function to unpin the pinned query bo, or as a query barrier when you need to make sure all queries have finished before the next fifo command. Example: on hardware context destructions, where the hardware may otherwise leak unfinished queries. 😭

This function does not return any failure codes, but it makes attempts to do safe unpinning in case of errors. No return-value drama, but it still tries to be careful. 🫢

The function will synchronize on the previous query barrier, and will thus not finish until that barrier has executed. So yeah, it’s gonna wait for that barrier to do its thing. ⏳

⚠️ Heads up, bestie: the dev_priv->cmdbuf_mutex needs to be held by the current thread before calling this function. That’s a hard requirement, fr fr.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c is the main-character file, and this whole entourage is literally right here:

πŸ’– and that’s the whole page, bestie β€” brought to you by ./drivers/gpu/drm/vmwgfx, dated October 2026. mwah! πŸ’‹

πŸ“¦ where this page comes from