STRUCT VDPA_CALLBACK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

ok so struct vdpa_callback β€” literally the vDPA callback definition, bestie. that's the whole vibe. it's giving "here's how the driver tells you something happened" ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct vdpa_callback {
    irqreturn_t (*callback)(void *data);
    void *private;
    struct eventfd_ctx *trigger;
};

like, this is the whole struct. three fields. she's compact and she's iconic πŸ’…


πŸŽ€ Members πŸŽ€

  • callback β€” the interrupt callback function itself. the main character!! when the interrupt hits, this is the function that gets called 🫢
  • private β€” the data that gets passed to the callback function. it's your stuff, you hand it over, it comes right back to you in the callback. no cap 🌸
  • trigger β€” the eventfd for the callback, and it's Optional (capital-O optional, bestie, respect it πŸ™ˆ). when it is set, the vDPA driver must guarantee that signaling it is functionally equivalent to triggering the callback. then the vDPA parent can signal it directly instead of triggering the callback. so like... a shortcut that has to be a true equivalent, not an approximation. iykyk πŸ’€
⚠️ lowkey important: that trigger guarantee is not a suggestion. if the driver sets trigger, it must make sure signaling it is functionally equivalent to triggering the callback. periodt. πŸ”₯

🌈 SEE ALSO 🌈

the whole squad, fr fr β€” all from the kernel file ./include/linux/vdpa.h:

  • struct vdpa_notification_area(9)
  • struct vdpa_vq_state_split(9)
  • struct vdpa_vq_state_packed(9)
  • struct vdpa_device(9)
  • struct vdpa_iova_range(9)
  • struct vdpa_map_file(9)
  • struct vdpa_config_ops(9)
  • vdpa_alloc_device(9)
  • struct vdpa_driver(9)
  • struct vdpa_mgmtdev_ops(9)
  • struct vdpa_mgmt_dev(9)

⭐ ok that's the page!! this one lives over in ./include/linux and it was dated October 2026, and the whole thing is filed under struct vdpa_callback(9) β€” go read the whole vDPA fam, they all slay together πŸ’œπŸŽ€πŸ’–

πŸ“¦ where this page comes from