Backgroud health check

Add the RdcSmiHealth module, which will call rocm_smi_lib.
It will support following health:
 - XGMI error detected
 - PCIE replay count detected
 - Memory check
 - InfoROM check
 - Power/Thermal check
The grpc client and server side health function is added.
The health module is added to the rdci.

At present, XGMI/PCIE and a part of Memory have been implemented.
Others will be added as soon as possible.

Change-Id: I1bd99290bdc7dea733f21a41a8c4bcefb2138112


[ROCm/rdc commit: 853d3b0cc5]
Šī revīzija ir iekļauta:
limeng12
2024-10-23 16:42:24 +08:00
revīziju iesūtīja Meng, Li (Jassmine)
vecāks 39758d913c
revīzija 71e2727a8f
26 mainīti faili ar 2260 papildinājumiem un 3 dzēšanām
@@ -153,6 +153,22 @@ class RdcAPIServiceImpl final : public ::rdc::RdcAPI::Service {
const ::rdc::UnRegisterPolicyRequest* request,
::rdc::UnRegisterPolicyResponse* reply) override;
::grpc::Status SetHealth(::grpc::ServerContext* context,
const ::rdc::SetHealthRequest* request,
::rdc::SetHealthResponse* reply) override;
::grpc::Status GetHealth(::grpc::ServerContext* context,
const ::rdc::GetHealthRequest* request,
::rdc::GetHealthResponse* reply) override;
::grpc::Status CheckHealth(::grpc::ServerContext* context,
const ::rdc::CheckHealthRequest* request,
::rdc::CheckHealthResponse* reply) override;
::grpc::Status ClearHealth(::grpc::ServerContext* context,
const ::rdc::ClearHealthRequest* request,
::rdc::ClearHealthResponse* reply) override;
private:
bool copy_gpu_usage_info(const rdc_gpu_usage_info_t& src, ::rdc::GpuUsageInfo* target);
rdc_handle_t rdc_handle_;