Finish basic logging impl

Change-Id: Ia3d6ac80f4832f1bfb63573c543659abd5f84341
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
This commit is contained in:
Galantsev, Dmitrii
2024-10-08 19:17:35 -05:00
zatwierdzone przez Galantsev, Dmitrii
rodzic cdf1588974
commit 9c77312c51
24 zmienionych plików z 284 dodań i 131 usunięć
+13 -2
Wyświetl plik
@@ -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
+2 -2
Wyświetl plik
@@ -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);
+2 -2
Wyświetl plik
@@ -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;
+4 -3
Wyświetl plik
@@ -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_)();
+3 -3
Wyświetl plik
@@ -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_)();
+2 -2
Wyświetl plik
@@ -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;