Finish basic logging impl
Change-Id: Ia3d6ac80f4832f1bfb63573c543659abd5f84341 Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
This commit is contained in:
zatwierdzone przez
Galantsev, Dmitrii
rodzic
cdf1588974
commit
9c77312c51
+13
-2
@@ -556,6 +556,12 @@ typedef struct {
|
||||
rdc_diag_test_result_t diag_info[MAX_TEST_CASES];
|
||||
} rdc_diag_response_t;
|
||||
|
||||
typedef void (*rdc_callback_t)(void*, void*);
|
||||
typedef struct {
|
||||
rdc_callback_t callback; //!< Callback sends logs for running diagnostics
|
||||
void* cookie; //!< Cookie is used to identify different callbacks and supply them with data
|
||||
} rdc_diag_callback_t;
|
||||
|
||||
/**
|
||||
* @brief The policy type to support
|
||||
*/
|
||||
@@ -1087,11 +1093,13 @@ rdc_status_t rdc_field_unwatch(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group_
|
||||
*
|
||||
* @param[inout] response The detail results of the tests run.
|
||||
*
|
||||
* @param[inout] callback Callback for realtime communication
|
||||
*
|
||||
* @retval ::RDC_ST_OK is returned upon successful call.
|
||||
*/
|
||||
rdc_status_t rdc_diagnostic_run(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group_id,
|
||||
rdc_diag_level_t level, const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response);
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback);
|
||||
|
||||
/**
|
||||
* @brief Run one diagnostic test case
|
||||
@@ -1110,11 +1118,14 @@ rdc_status_t rdc_diagnostic_run(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group
|
||||
*
|
||||
* @param[inout] result The results of the test.
|
||||
*
|
||||
* @param[inout] callback Callback for realtime communication
|
||||
*
|
||||
* @retval ::RDC_ST_OK is returned upon successful call.
|
||||
*/
|
||||
rdc_status_t rdc_test_case_run(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group_id,
|
||||
rdc_diag_test_cases_t test_case, const char* config,
|
||||
size_t config_size, rdc_diag_test_result_t* result);
|
||||
size_t config_size, rdc_diag_test_result_t* result,
|
||||
rdc_diag_callback_t* callback);
|
||||
|
||||
/**
|
||||
* @brief Get a description of a provided RDC error status
|
||||
|
||||
@@ -39,12 +39,12 @@ class RdcDiagnostic {
|
||||
virtual rdc_status_t rdc_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES],
|
||||
uint32_t gpu_count, const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) = 0;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) = 0;
|
||||
|
||||
// Run multiple test cases
|
||||
virtual rdc_status_t rdc_diagnostic_run(const rdc_group_info_t& gpus, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) = 0;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) = 0;
|
||||
|
||||
virtual rdc_status_t rdc_diag_init(uint64_t flags) = 0;
|
||||
virtual rdc_status_t rdc_diag_destroy() = 0;
|
||||
|
||||
@@ -38,7 +38,7 @@ rdc_status_t rdc_diag_test_cases_query(rdc_diag_test_cases_t test_cases[MAX_TEST
|
||||
rdc_status_t rdc_diag_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES], uint32_t gpu_count,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result);
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback);
|
||||
|
||||
rdc_status_t rdc_diag_init(uint64_t flags);
|
||||
|
||||
|
||||
@@ -80,11 +80,11 @@ class RdcHandler {
|
||||
// Diagnostic API
|
||||
virtual rdc_status_t rdc_diagnostic_run(rdc_gpu_group_t group_id, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) = 0;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) = 0;
|
||||
|
||||
virtual rdc_status_t rdc_test_case_run(rdc_gpu_group_t group_id, rdc_diag_test_cases_t test_case,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) = 0;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) = 0;
|
||||
|
||||
// Control API
|
||||
virtual rdc_status_t rdc_field_update_all(uint32_t wait_for_update) = 0;
|
||||
|
||||
@@ -27,6 +27,7 @@ THE SOFTWARE.
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "rdc/rdc.h"
|
||||
#include "rdc_lib/RdcDiagnostic.h"
|
||||
#include "rdc_lib/RdcTelemetryLibInterface.h"
|
||||
|
||||
@@ -42,11 +43,11 @@ class RdcDiagnosticModule : public RdcDiagnostic {
|
||||
rdc_status_t rdc_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES], uint32_t gpu_count,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diagnostic_run(const rdc_group_info_t& gpus, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diag_init(uint64_t flags) override;
|
||||
rdc_status_t rdc_diag_destroy() override;
|
||||
|
||||
@@ -84,10 +84,10 @@ class RdcEmbeddedHandler final : public RdcHandler {
|
||||
// Diagnostic API
|
||||
rdc_status_t rdc_diagnostic_run(rdc_gpu_group_t group_id, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
rdc_status_t rdc_test_case_run(rdc_gpu_group_t group_id, rdc_diag_test_cases_t test_case,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
// Control API
|
||||
rdc_status_t rdc_field_update_all(uint32_t wait_for_update) override;
|
||||
|
||||
@@ -40,11 +40,11 @@ class RdcRVSLib : public RdcDiagnostic {
|
||||
rdc_status_t rdc_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES], uint32_t gpu_count,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diagnostic_run(const rdc_group_info_t& gpus, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diag_init(uint64_t flags) override;
|
||||
rdc_status_t rdc_diag_destroy() override;
|
||||
@@ -55,7 +55,8 @@ class RdcRVSLib : public RdcDiagnostic {
|
||||
private:
|
||||
RdcLibraryLoader lib_loader_;
|
||||
rdc_status_t (*test_case_run_)(rdc_diag_test_cases_t, uint32_t[RDC_MAX_NUM_DEVICES], uint32_t,
|
||||
const char* config, size_t config_size, rdc_diag_test_result_t*);
|
||||
const char* config, size_t config_size, rdc_diag_test_result_t*,
|
||||
rdc_diag_callback_t*);
|
||||
rdc_status_t (*diag_test_cases_query_)(rdc_diag_test_cases_t[MAX_TEST_CASES], uint32_t*);
|
||||
rdc_status_t (*diag_init_)(uint64_t);
|
||||
rdc_status_t (*diag_destroy_)();
|
||||
|
||||
@@ -40,11 +40,11 @@ class RdcRocrLib : public RdcDiagnostic {
|
||||
rdc_status_t rdc_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES], uint32_t gpu_count,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diagnostic_run(const rdc_group_info_t& gpus, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diag_init(uint64_t flags) override;
|
||||
rdc_status_t rdc_diag_destroy() override;
|
||||
@@ -56,7 +56,7 @@ class RdcRocrLib : public RdcDiagnostic {
|
||||
private:
|
||||
RdcLibraryLoader lib_loader_;
|
||||
rdc_status_t (*test_case_run_)(rdc_diag_test_cases_t, uint32_t[RDC_MAX_NUM_DEVICES], uint32_t,
|
||||
const char*, size_t, rdc_diag_test_result_t*);
|
||||
const char*, size_t, rdc_diag_test_result_t*, rdc_diag_callback_t*);
|
||||
rdc_status_t (*diag_test_cases_query_)(rdc_diag_test_cases_t[MAX_TEST_CASES], uint32_t*);
|
||||
rdc_status_t (*diag_init_)(uint64_t);
|
||||
rdc_status_t (*diag_destroy_)();
|
||||
|
||||
@@ -53,11 +53,11 @@ class RdcSmiLib : public RdcTelemetry, public RdcDiagnostic {
|
||||
rdc_status_t rdc_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
uint32_t gpu_index[RDC_MAX_NUM_DEVICES], uint32_t gpu_count,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diagnostic_run(const rdc_group_info_t& gpus, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
|
||||
rdc_status_t rdc_diag_init(uint64_t flags) override;
|
||||
rdc_status_t rdc_diag_destroy() override;
|
||||
|
||||
@@ -28,6 +28,7 @@ THE SOFTWARE.
|
||||
#include <thread>
|
||||
|
||||
#include "rdc.grpc.pb.h" // NOLINT
|
||||
#include "rdc/rdc.h"
|
||||
#include "rdc_lib/RdcHandler.h"
|
||||
|
||||
namespace amd {
|
||||
@@ -80,10 +81,10 @@ class RdcStandaloneHandler : public RdcHandler {
|
||||
// Diagnostic API
|
||||
rdc_status_t rdc_diagnostic_run(rdc_gpu_group_t group_id, rdc_diag_level_t level,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_response_t* response) override;
|
||||
rdc_diag_response_t* response, rdc_diag_callback_t* callback) override;
|
||||
rdc_status_t rdc_test_case_run(rdc_gpu_group_t group_id, rdc_diag_test_cases_t test_case,
|
||||
const char* config, size_t config_size,
|
||||
rdc_diag_test_result_t* result) override;
|
||||
rdc_diag_test_result_t* result, rdc_diag_callback_t* callback) override;
|
||||
|
||||
// Control RdcAPI
|
||||
rdc_status_t rdc_field_update_all(uint32_t wait_for_update) override;
|
||||
|
||||
Reference in New Issue
Block a user