drm/amdkfd: Add KFD SMI event IDs and triggers
authorPhilip Yang <Philip.Yang@amd.com>
Thu, 20 Jan 2022 20:06:30 +0000 (15:06 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Jun 2022 19:30:31 +0000 (15:30 -0400)
Define new system management interface event IDs for migration, GPU
recoverable page fault, user queues eviction, restore and unmap from
GPU events and corresponding event triggers, those will be implemented
in the following patches.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
include/uapi/linux/kfd_ioctl.h

index 231eb01..280edda 100644 (file)
@@ -470,6 +470,43 @@ enum kfd_smi_event {
        KFD_SMI_EVENT_THERMAL_THROTTLE = 2,
        KFD_SMI_EVENT_GPU_PRE_RESET = 3,
        KFD_SMI_EVENT_GPU_POST_RESET = 4,
+       KFD_SMI_EVENT_MIGRATE_START = 5,
+       KFD_SMI_EVENT_MIGRATE_END = 6,
+       KFD_SMI_EVENT_PAGE_FAULT_START = 7,
+       KFD_SMI_EVENT_PAGE_FAULT_END = 8,
+       KFD_SMI_EVENT_QUEUE_EVICTION = 9,
+       KFD_SMI_EVENT_QUEUE_RESTORE = 10,
+       KFD_SMI_EVENT_UNMAP_FROM_GPU = 11,
+
+       /*
+        * max event number, as a flag bit to get events from all processes,
+        * this requires super user permission, otherwise will not be able to
+        * receive event from any process. Without this flag to receive events
+        * from same process.
+        */
+       KFD_SMI_EVENT_ALL_PROCESS = 64
+};
+
+enum KFD_MIGRATE_TRIGGERS {
+       KFD_MIGRATE_TRIGGER_PREFETCH,
+       KFD_MIGRATE_TRIGGER_PAGEFAULT_GPU,
+       KFD_MIGRATE_TRIGGER_PAGEFAULT_CPU,
+       KFD_MIGRATE_TRIGGER_TTM_EVICTION
+};
+
+enum KFD_QUEUE_EVICTION_TRIGGERS {
+       KFD_QUEUE_EVICTION_TRIGGER_SVM,
+       KFD_QUEUE_EVICTION_TRIGGER_USERPTR,
+       KFD_QUEUE_EVICTION_TRIGGER_TTM,
+       KFD_QUEUE_EVICTION_TRIGGER_SUSPEND,
+       KFD_QUEUE_EVICTION_CRIU_CHECKPOINT,
+       KFD_QUEUE_EVICTION_CRIU_RESTORE
+};
+
+enum KFD_SVM_UNMAP_TRIGGERS {
+       KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY,
+       KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY_MIGRATE,
+       KFD_SVM_UNMAP_TRIGGER_UNMAP_FROM_CPU
 };
 
 #define KFD_SMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1))