SWDEV-445864: SWDEV-445865: Update page migration events (#16)
* Update kfd ioctl header - Adds new event for dropped events - Mirrors kernel update by Philip Yang * Add error code for page migration events - Adds support for new error code field for page migration end events - Page migration end event is now generated for migration failure - Error code is zero for successful migration * Add dropped event SMI event - New event type indicates if events were dropped - Events are dropped if the buffer is full
This commit is contained in:
committad av
GitHub
förälder
e77db42d53
incheckning
fc2513888f
@@ -529,6 +529,7 @@ save(ArchiveT& ar, const rocprofiler_page_migration_page_migrate_end_t& data)
|
||||
ROCP_SDK_SAVE_DATA_FIELD(from_agent);
|
||||
ROCP_SDK_SAVE_DATA_FIELD(to_agent);
|
||||
ROCP_SDK_SAVE_DATA_FIELD(trigger);
|
||||
ROCP_SDK_SAVE_DATA_FIELD(error_code);
|
||||
}
|
||||
|
||||
template <typename ArchiveT>
|
||||
@@ -557,6 +558,13 @@ save(ArchiveT& ar, const rocprofiler_page_migration_unmap_from_gpu_t& data)
|
||||
ROCP_SDK_SAVE_DATA_FIELD(trigger);
|
||||
}
|
||||
|
||||
template <typename ArchiveT>
|
||||
void
|
||||
save(ArchiveT& ar, const rocprofiler_page_migration_dropped_event_t& data)
|
||||
{
|
||||
ROCP_SDK_SAVE_DATA_FIELD(dropped_events_count);
|
||||
}
|
||||
|
||||
namespace details
|
||||
{
|
||||
template <size_t Idx>
|
||||
@@ -582,6 +590,7 @@ ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(PAGE_FAULT_END, page_fault_end)
|
||||
ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(QUEUE_EVICTION, queue_eviction)
|
||||
ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(QUEUE_RESTORE, queue_restore)
|
||||
ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(UNMAP_FROM_GPU, unmap_from_gpu)
|
||||
ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(DROPPED_EVENT, dropped_event)
|
||||
|
||||
#undef ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG
|
||||
|
||||
|
||||
@@ -338,6 +338,7 @@ typedef enum // NOLINT(performance-enum-size)
|
||||
ROCPROFILER_PAGE_MIGRATION_QUEUE_EVICTION,
|
||||
ROCPROFILER_PAGE_MIGRATION_QUEUE_RESTORE,
|
||||
ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU,
|
||||
ROCPROFILER_PAGE_MIGRATION_DROPPED_EVENT,
|
||||
ROCPROFILER_PAGE_MIGRATION_LAST,
|
||||
} rocprofiler_page_migration_operation_t;
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ typedef struct rocprofiler_page_migration_page_migrate_end_t
|
||||
rocprofiler_agent_id_t from_agent;
|
||||
rocprofiler_agent_id_t to_agent;
|
||||
rocprofiler_page_migration_trigger_t trigger;
|
||||
int32_t error_code;
|
||||
} rocprofiler_page_migration_page_migrate_end_t;
|
||||
|
||||
typedef struct rocprofiler_page_migration_page_fault_start_t
|
||||
@@ -88,6 +89,11 @@ typedef struct rocprofiler_page_migration_unmap_from_gpu_t
|
||||
rocprofiler_page_migration_unmap_from_gpu_trigger_t trigger;
|
||||
} rocprofiler_page_migration_unmap_from_gpu_t;
|
||||
|
||||
typedef struct rocprofiler_page_migration_dropped_event_t
|
||||
{
|
||||
uint32_t dropped_events_count;
|
||||
} rocprofiler_page_migration_dropped_event_t;
|
||||
|
||||
typedef union
|
||||
{
|
||||
rocprofiler_page_migration_none_t none;
|
||||
@@ -98,6 +104,7 @@ typedef union
|
||||
rocprofiler_page_migration_queue_eviction_t queue_eviction;
|
||||
rocprofiler_page_migration_queue_restore_t queue_restore;
|
||||
rocprofiler_page_migration_unmap_from_gpu_t unmap_from_gpu;
|
||||
rocprofiler_page_migration_dropped_event_t dropped_event;
|
||||
uint64_t reserved[16];
|
||||
} rocprofiler_page_migration_args_t;
|
||||
|
||||
|
||||
Referens i nytt ärende
Block a user