[SWDEV-527092] - Process Start/Stop event addition (#368)
- Added more events to `amdsmi_evt_notification_type_t` Change-Id: I6a256fe828e4bec3197c7fecbed374ab17c6f850 Signed-off-by: Adam Pryor <Adam.Pryor@amd.com>
This commit is contained in:
committed by
GitHub
orang tua
bacbaac0b1
melakukan
8713305f80
@@ -88,7 +88,7 @@ AMDSMI_MAX_CACHE_TYPES = 10
|
||||
AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK = 64
|
||||
AMDSMI_GPU_UUID_SIZE = 38
|
||||
MAX_AMDSMI_NAME_LENGTH = 64
|
||||
MAX_EVENT_NOTIFICATION_MSG_SIZE = 96
|
||||
MAX_EVENT_NOTIFICATION_MSG_SIZE = 256
|
||||
_AMDSMI_STRING_LENGTH = 80
|
||||
|
||||
|
||||
@@ -273,7 +273,15 @@ class AmdSmiEvtNotificationType(IntEnum):
|
||||
THERMAL_THROTTLE = amdsmi_wrapper.AMDSMI_EVT_NOTIF_THERMAL_THROTTLE
|
||||
GPU_PRE_RESET = amdsmi_wrapper.AMDSMI_EVT_NOTIF_GPU_PRE_RESET
|
||||
GPU_POST_RESET = amdsmi_wrapper.AMDSMI_EVT_NOTIF_GPU_POST_RESET
|
||||
RING_HANG = amdsmi_wrapper.AMDSMI_EVT_NOTIF_RING_HANG
|
||||
MIGRATE_START = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_MIGRATE_START
|
||||
MIGRATE_END = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_MIGRATE_END
|
||||
PAGE_FAULT_START = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_END
|
||||
PAGE_FAULT_END = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_END
|
||||
QUEUE_EVICTION = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_QUEUE_EVICTION
|
||||
QUEUE_RESTORE = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_QUEUE_RESTORE
|
||||
UNMAP_FROM_GPU = amdsmi_wrapper.AMDSMI_EVT_NOTIF_EVENT_UNMAP_FROM_GPU
|
||||
PROCESS_START = amdsmi_wrapper.AMDSMI_EVT_NOTIF_PROCESS_START
|
||||
PROCESS_END = amdsmi_wrapper.AMDSMI_EVT_NOTIF_PROCESS_END
|
||||
|
||||
|
||||
class AmdSmiTemperatureMetric(IntEnum):
|
||||
@@ -543,17 +551,18 @@ class AmdSmiEventReader:
|
||||
processor_handle, ctypes.c_uint64(mask)))
|
||||
|
||||
def read(self, timestamp, num_elem=10):
|
||||
c_count = ctypes.c_uint32(num_elem)
|
||||
self.event_info = (amdsmi_wrapper.amdsmi_evt_notification_data_t * num_elem)()
|
||||
_check_res(
|
||||
amdsmi_wrapper.amdsmi_get_gpu_event_notification(
|
||||
ctypes.c_int(timestamp),
|
||||
ctypes.byref(ctypes.c_uint32(num_elem)),
|
||||
ctypes.byref(c_count),
|
||||
self.event_info,
|
||||
)
|
||||
)
|
||||
|
||||
ret = []
|
||||
for i in range(0, num_elem):
|
||||
for i in range(c_count.value):
|
||||
unique_event_values = set(event.value for event in AmdSmiEvtNotificationType)
|
||||
if self.event_info[i].event in unique_event_values:
|
||||
if AmdSmiEvtNotificationType(self.event_info[i].event).name != "NONE":
|
||||
|
||||
@@ -1418,8 +1418,16 @@ amdsmi_evt_notification_type_t__enumvalues = {
|
||||
2: 'AMDSMI_EVT_NOTIF_THERMAL_THROTTLE',
|
||||
3: 'AMDSMI_EVT_NOTIF_GPU_PRE_RESET',
|
||||
4: 'AMDSMI_EVT_NOTIF_GPU_POST_RESET',
|
||||
5: 'AMDSMI_EVT_NOTIF_RING_HANG',
|
||||
5: 'AMDSMI_EVT_NOTIF_LAST',
|
||||
5: 'AMDSMI_EVT_NOTIF_EVENT_MIGRATE_START',
|
||||
6: 'AMDSMI_EVT_NOTIF_EVENT_MIGRATE_END',
|
||||
7: 'AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_START',
|
||||
8: 'AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_END',
|
||||
9: 'AMDSMI_EVT_NOTIF_EVENT_QUEUE_EVICTION',
|
||||
10: 'AMDSMI_EVT_NOTIF_EVENT_QUEUE_RESTORE',
|
||||
11: 'AMDSMI_EVT_NOTIF_EVENT_UNMAP_FROM_GPU',
|
||||
12: 'AMDSMI_EVT_NOTIF_PROCESS_START',
|
||||
13: 'AMDSMI_EVT_NOTIF_PROCESS_END',
|
||||
1: 'AMDSMI_EVT_NOTIF_LAST',
|
||||
}
|
||||
AMDSMI_EVT_NOTIF_NONE = 0
|
||||
AMDSMI_EVT_NOTIF_VMFAULT = 1
|
||||
@@ -1427,8 +1435,16 @@ AMDSMI_EVT_NOTIF_FIRST = 1
|
||||
AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = 2
|
||||
AMDSMI_EVT_NOTIF_GPU_PRE_RESET = 3
|
||||
AMDSMI_EVT_NOTIF_GPU_POST_RESET = 4
|
||||
AMDSMI_EVT_NOTIF_RING_HANG = 5
|
||||
AMDSMI_EVT_NOTIF_LAST = 5
|
||||
AMDSMI_EVT_NOTIF_EVENT_MIGRATE_START = 5
|
||||
AMDSMI_EVT_NOTIF_EVENT_MIGRATE_END = 6
|
||||
AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_START = 7
|
||||
AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_END = 8
|
||||
AMDSMI_EVT_NOTIF_EVENT_QUEUE_EVICTION = 9
|
||||
AMDSMI_EVT_NOTIF_EVENT_QUEUE_RESTORE = 10
|
||||
AMDSMI_EVT_NOTIF_EVENT_UNMAP_FROM_GPU = 11
|
||||
AMDSMI_EVT_NOTIF_PROCESS_START = 12
|
||||
AMDSMI_EVT_NOTIF_PROCESS_END = 13
|
||||
AMDSMI_EVT_NOTIF_LAST = 13
|
||||
amdsmi_evt_notification_type_t = ctypes.c_uint32 # enum
|
||||
class struct_amdsmi_evt_notification_data_t(Structure):
|
||||
pass
|
||||
@@ -1437,7 +1453,7 @@ struct_amdsmi_evt_notification_data_t._pack_ = 1 # source:False
|
||||
struct_amdsmi_evt_notification_data_t._fields_ = [
|
||||
('processor_handle', ctypes.POINTER(None)),
|
||||
('event', amdsmi_evt_notification_type_t),
|
||||
('message', ctypes.c_char * 96),
|
||||
('message', ctypes.c_char * 256),
|
||||
('PADDING_0', ctypes.c_ubyte * 4),
|
||||
]
|
||||
|
||||
@@ -2986,7 +3002,11 @@ __all__ = \
|
||||
'AMDSMI_EVNT_XGMI_LAST', 'AMDSMI_EVT_NOTIF_FIRST',
|
||||
'AMDSMI_EVT_NOTIF_GPU_POST_RESET',
|
||||
'AMDSMI_EVT_NOTIF_GPU_PRE_RESET', 'AMDSMI_EVT_NOTIF_LAST',
|
||||
'AMDSMI_EVT_NOTIF_NONE', 'AMDSMI_EVT_NOTIF_RING_HANG',
|
||||
'AMDSMI_EVT_NOTIF_NONE', 'AMDSMI_EVT_NOTIF_EVENT_MIGRATE_START',
|
||||
'AMDSMI_EVT_NOTIF_EVENT_MIGRATE_END', 'AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_START',
|
||||
'AMDSMI_EVT_NOTIF_EVENT_PAGE_FAULT_END', 'AMDSMI_EVT_NOTIF_EVENT_QUEUE_EVICTION',
|
||||
'AMDSMI_EVT_NOTIF_EVENT_QUEUE_RESTORE', 'AMDSMI_EVT_NOTIF_EVENT_UNMAP_FROM_GPU',
|
||||
'AMDSMI_EVT_NOTIF_PROCESS_START', 'AMDSMI_EVT_NOTIF_PROCESS_END'
|
||||
'AMDSMI_EVT_NOTIF_THERMAL_THROTTLE', 'AMDSMI_EVT_NOTIF_VMFAULT',
|
||||
'AMDSMI_FINE_DECODER_ACTIVITY', 'AMDSMI_FINE_GRAIN_GFX_ACTIVITY',
|
||||
'AMDSMI_FINE_GRAIN_MEM_ACTIVITY', 'AMDSMI_FREQ_IND_INVALID',
|
||||
|
||||
Reference in New Issue
Block a user