STRUCT KFD_IOCTL_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH_ARGS(9)
πΈ struct kfd_ioctl_dbg_trap_clear_node_address_watch_args(9) πΈ
okay so bestie, welcome to the Kernel API Manual β¨ β this page is all about struct kfd_ioctl_dbg_trap_clear_node_address_watch_args, and ngl the name is a whole mouthful, but the vibe is simple: it's the args struct for KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH. Basically the cleanup-crew struct. It shows up, it clears the watch point, it leaves. main character energy but make it β¨housekeepingβ¨ π
π SYNOPSIS π
here's the whole struct, and like, that's literally all of it:
struct kfd_ioctl_dbg_trap_clear_node_address_watch_args {
__u32 gpu_id;
__u32 id;
};
two __u32 fields. tiny struct. huge responsibility. the way that it fits in a single cache line is lowkey iconic ππ«Ά
π Members π
gpu_idβ (IN) β the target device whose watch point we're clearing out. like, which GPU are we doing this to, bestie? this field answers that. π₯οΈβ¨idβ (IN) β the allocated watch id that you want to clear. it's the little name tag on the watch point you're yeeting. π·οΈπ
π¦ Description π¦
so what does it do? Clear address watch for device. periodt. that's the whole thing. you're un-watching an address on a device, and this struct is how you tell the kernel which device and which watch. π
the generic errors apply too β check out kfd_dbg_trap_operations for the full menu of them, iykyk. and on the happy path it returns - 0 on SUCCESS. slay. πβ
and here are the specific ones you might catch in the wild:
ENODEVβ ifgpu_idisn't found. like, bestie, that GPU doesn't exist?? πEINVALβ if the watch ID has not been allocated. you can't clear something that was never allocated, that's giving "cancelled before it aired" πΊπ
not me stressing the error codes β but fr fr, check them, or your debugger session will be confused and sad π
π₯ SEE ALSO π₯
go read the whole family, they're all linked in the kernel file ./include/uapi/linux/kfd_ioctl.h π
- struct
kfd_ioctl_criu_args(9) - 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_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)
that's the whole page, bestie. no notes. π«Ά
sign-off szn: this lil beauty lives in ./include/uapi/linux π and the version/date situation is October 2026 β yes, from the future, we stay ahead of the timeline πβ¨ go forth and clear those watches, you absolute icon ππ
π¦ 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