ENUM KFD_IOCTL_SVM_ATTR_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum kfd_ioctl_svm_attr_type(9) ✨

okay bestie, gather round because this is the manual page for enum kfd_ioctl_svm_attr_type β€” the kernel API enum that tells you what kind of SVM attribute you're dealing with. her full name is enum kfd_ioc...vm_attr_type(9) and yes it's a long name, we're not shortening it, periodt πŸ’…


🌸 NAME 🌸

enum kfd_ioctl_svm_attr_type β€” the SVM attribute types, aka the vibe check for every attribute you can set on your SVM memory πŸ¦‹


✨ SYNOPSIS ✨

enum kfd_ioctl_svm_attr_type {
    KFD_IOCTL_SVM_ATTR_PREFERRED_LOC ,
    KFD_IOCTL_SVM_ATTR_PREFETCH_LOC ,
    KFD_IOCTL_SVM_ATTR_ACCESS ,
    KFD_IOCTL_SVM_ATTR_ACCESS_IN_PLACE ,
    KFD_IOCTL_SVM_ATTR_NO_ACCESS ,
    KFD_IOCTL_SVM_ATTR_SET_FLAGS ,
    KFD_IOCTL_SVM_ATTR_CLR_FLAGS ,
    KFD_IOCTL_SVM_ATTR_GRANULARITY

};

literally the entire roster πŸ’–


πŸ‘‘ CONSTANTS πŸ‘‘

πŸ’œ KFD_IOCTL_SVM_ATTR_PREFERRED_LOC

the gpuid of the preferred location, 0 for system memory. that's it, that's the whole vibe 🫢

πŸ’œ KFD_IOCTL_SVM_ATTR_PREFETCH_LOC

the gpuid of the prefetch location, 0 for system memory. setting this triggers an immediate prefetch (migration) β€” so bestie, when you set this, the migration is happening like right now, no waiting, no thinking about it 😭πŸ”₯

πŸ’œ KFD_IOCTL_SVM_ATTR_ACCESS

no extra description in the original, she's just there being iconic πŸ™ˆ

πŸ’œ KFD_IOCTL_SVM_ATTR_ACCESS_IN_PLACE

same situation β€” no extra description, just the constant living her truth ✨

πŸ’œ KFD_IOCTL_SVM_ATTR_NO_ACCESS

specify memory access for the gpuid given by the attribute value πŸ’€

πŸ’œ KFD_IOCTL_SVM_ATTR_SET_FLAGS

bitmask of flags to set β€” see KFD_IOCTL_SVM_FLAG_... for the flag family 🌈

πŸ’œ KFD_IOCTL_SVM_ATTR_CLR_FLAGS

bitmask of flags to clear πŸŽ€

πŸ’œ KFD_IOCTL_SVM_ATTR_GRANULARITY

migration granularity, and it's measured in log2 num pages β€” so yes, it's math, but make it cute πŸ“πŸ’–


πŸ¦‹ SEE ALSO πŸ¦‹

okay this section is a whole friend group, buckle up:

Kernel file ./include/uapi/linux/kfd_ioctl.h struct kfd_ioctl_criu_args(9), enum kfd_ioctl_svm_op(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)

like I said β€” a whole friend group, and they all ate πŸ’…πŸ”₯


and that's the page bestie! this iconic little doc lives at ./include/uapi/linux, dated October 2026, and it's titled enum kfd_ioc...vm_attr_type(9) β€” mwah, no notes, slay πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from