STRUCT KFD_IOCTL_CRIU_ARGS(9)
π struct kfd_ioctl_criu_args(9) β¨
okay bestie, welcome to the Kernel API Manual, section 9 β grab a lil snack because we're talking about struct kfd_ioctl_criu_args, and honestly it's giving "checkpoint/restore main character energy" π
πΈ NAME πΈ
struct kfd_ioctl_criu_args β the argument bundle you hand over to perform a CRIU operation π§
π¦ SYNOPSIS π¦
struct kfd_ioctl_criu_args {
__u64 devices;
__u64 bos;
__u64 priv_data;
__u64 priv_data_size;
__u32 num_devices;
__u32 num_bos;
__u32 num_objects;
__u32 pid;
__u32 op;
};
like, that's the whole squad right there π every field copied verbatim, no cap.
β¨ Members β¨
devicesβ [in/out] a user pointer to the memory location where the devices info lives. it's an array of typekfd_criu_device_bucketπbosβ [in/out] a user pointer to the memory location for the BOs info. this one's an array of typekfd_criu_bo_bucketπ«Άpriv_dataβ [in/out] a user pointer to the memory location for private data πpriv_data_sizeβ [in/out] the size ofpriv_data, counted in bytes πnum_devicesβ [in/out] how many GPUs the process is using. literally the size of thedevicesarray π₯num_bosβ [in/out] how many BOs the process is using. that's the size of thebosarray βnum_objectsβ [in/out] how many objects the process is using. and important: these objects are opaque to the user application, so don't go peeking bestie πpidβ [in/out] the PID of the process that's being checkpointed πopβ [in] the type of operation, typed askfd_criu_op(note: this one's input-only, no output, periodt) π
π Return π
0 on success, -errno on failure β iconic either way, but like, you want the 0 π
π₯ SEE ALSO π₯
Kernel file ./include/uapi/linux/kfd_ioctl.h, plus these absolute icons:
enum kfd_ioctl_svm_op(9)enum kfd_ioctl_svm_attr_type(9)struct kfd_ioctl_svm_attribute(9)struct kfd_ioctl_svm_args(9)struct kfd_ioctl_set_xnack_mode_args(9)struct kfd_ioctl_runtime_enable_args(9)struct kfd_ioctl_dbg_trap_enable_args(9)struct kfd_ioctl_dbg_trap_send_runtime_event_args(9)struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args(9)struct kfd_ioctl_dbg_trap_set_wave_launch_override_args(9)struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args(9)struct kfd_ioctl_dbg_trap_suspend_queues_args(9)struct kfd_ioctl_dbg_trap_resume_queues_args(9)struct kfd_ioctl_dbg_trap_set_node_address_watch_args(9)struct kfd_ioctl_dbg_trap_clear_node_address_watch_args(9)struct kfd_ioctl_dbg_trap_set_flags_args(9)struct kfd_ioctl_dbg_trap_query_debug_event_args(9)struct kfd_ioctl_dbg_trap_query_exception_info_args(9)struct kfd_ioctl_dbg_trap_queue_snapshot_args(9)struct kfd_ioctl_dbg_trap_device_snapshot_args(9)struct kfd_ioctl_dbg_trap_args(9)struct kfd_ioctl_pmc_settings(9)
and that's the whole page, bestie β go checkpoint something gorgeous π
this lil gem lives in ./include/uapi/linux, dated October 2026, and it's filed under struct kfd_ioctl_criu_args(9) if you ever need to find it again π
fr fr: every member is[in/out]exceptop, which is[in]only. don't forget or the vibe check will fail π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms