STRUCT SYNC_MERGE_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sync_merge_data(9) β€” Kernel API Manual energy πŸ’…

okay so welcome to the Kernel API Manual page for struct sync_merge_data(9) β€” we're doing fence merging and it's lowkey iconic. πŸ¦‹


✨ NAME ✨

struct sync_merge_data β€” SYNC_IOC_MERGE: merge two fences. That's the whole assignment, bestie. πŸ’–

πŸ“œ SYNOPSIS πŸ“œ

struct sync_merge_data {
    char name[32];
    __s32 fd2;
    __s32 fence;
    __u32 flags;
    __u32 pad;
};

🫢 Members 🫢

  • name β€” name of new fence. Naming rights: secured. πŸŽ€
  • fd2 β€” file descriptor of second fence. The other half of the merge. πŸ’…
  • fence β€” returns the fd of the new fence to userspace. Yes, it hands the new fence fd back to userspace. 🫴
  • flags β€” merge_data flags. FLAGS. We love a flag field. ✨
  • pad β€” padding for 64-bit alignment, should always be zero. Keep it zero, okay? That's the rule. 🚨

🌸 Description 🌸

Creates a new fence containing copies of the sync_pts in both the calling fd and sync_merge_data.fd2. Returns the new fence's fd in sync_merge_data.fence. So it's literally making a new fence from both sides and giving you the fd back through the struct. No cap. πŸ”₯

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./include/uapi/linux/sync_file.h
  • struct sync_fence_info(9)
  • struct sync_file_info(9)
  • struct sync_set_deadline(9)

This struct sync_merge_data(9) page comes from ./include/uapi/linux and is dated October 2026 β€” mwah, bye bestie, go merge those fences responsibly! πŸ’‹πŸŽ€

πŸ“¦ where this page comes from