get xran stats
Get xran stats in the trx_oran_get_stats function and use trx_oran_get_stats upon stopping and ending RF. Co-authored-by: Romain Beurdouche <romain.beurdouche@eurecom.fr>
This commit is contained in:
co-authored by
Romain Beurdouche
parent
b7a6b1b7d6
commit
02bc14d8c1
@@ -97,11 +97,19 @@ void exit_function(const char *file, const char *function, const int line, const
|
||||
oai_exit = 1;
|
||||
|
||||
if (ru_m.rfdevice.trx_end_func) {
|
||||
if (ru_m.rfdevice.trx_get_stats_func) {
|
||||
ru_m.rfdevice.trx_get_stats_func(&ru_m.rfdevice);
|
||||
ru_m.rfdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
ru_m.rfdevice.trx_end_func(&ru_m.rfdevice);
|
||||
ru_m.rfdevice.trx_end_func = NULL;
|
||||
}
|
||||
|
||||
if (ru_m.ifdevice.trx_end_func) {
|
||||
if (ru_m.ifdevice.trx_get_stats_func) {
|
||||
ru_m.ifdevice.trx_get_stats_func(&ru_m.ifdevice);
|
||||
ru_m.ifdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
ru_m.ifdevice.trx_end_func(&ru_m.ifdevice);
|
||||
ru_m.ifdevice.trx_end_func = NULL;
|
||||
}
|
||||
@@ -363,11 +371,19 @@ int main ( int argc, char **argv )
|
||||
end_configmodule(uniqCfg);
|
||||
|
||||
if (ru->rfdevice.trx_end_func) {
|
||||
if (ru->rfdevice.trx_get_stats_func) {
|
||||
ru->rfdevice.trx_get_stats_func(&ru->rfdevice);
|
||||
ru->rfdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
ru->rfdevice.trx_end_func(&ru->rfdevice);
|
||||
ru->rfdevice.trx_end_func = NULL;
|
||||
}
|
||||
|
||||
if (ru->ifdevice.trx_end_func) {
|
||||
if (ru->ifdevice.trx_get_stats_func) {
|
||||
ru->ifdevice.trx_get_stats_func(&ru->ifdevice);
|
||||
ru->ifdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
ru->ifdevice.trx_end_func(&ru->ifdevice);
|
||||
ru->ifdevice.trx_end_func = NULL;
|
||||
}
|
||||
|
||||
@@ -1371,6 +1371,9 @@ int start_rf(RU_t *ru) {
|
||||
}
|
||||
|
||||
int stop_rf(RU_t *ru) {
|
||||
if (ru->rfdevice.trx_get_stats_func) {
|
||||
ru->rfdevice.trx_get_stats_func(&ru->rfdevice);
|
||||
}
|
||||
ru->rfdevice.trx_end_func(&ru->rfdevice);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -207,11 +207,19 @@ void exit_function(const char *file, const char *function, const int line, const
|
||||
|
||||
for (ru_id=0; ru_id<RC.nb_RU; ru_id++) {
|
||||
if (RC.ru[ru_id] && RC.ru[ru_id]->rfdevice.trx_end_func) {
|
||||
if (RC.ru[ru_id]->rfdevice.trx_get_stats_func) {
|
||||
RC.ru[ru_id]->rfdevice.trx_get_stats_func(&RC.ru[ru_id]->rfdevice);
|
||||
RC.ru[ru_id]->rfdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
RC.ru[ru_id]->rfdevice.trx_end_func(&RC.ru[ru_id]->rfdevice);
|
||||
RC.ru[ru_id]->rfdevice.trx_end_func = NULL;
|
||||
}
|
||||
|
||||
if (RC.ru[ru_id] && RC.ru[ru_id]->ifdevice.trx_end_func) {
|
||||
if (RC.ru[ru_id]->ifdevice.trx_get_stats_func) {
|
||||
RC.ru[ru_id]->ifdevice.trx_get_stats_func(&RC.ru[ru_id]->ifdevice);
|
||||
RC.ru[ru_id]->ifdevice.trx_get_stats_func = NULL;
|
||||
}
|
||||
RC.ru[ru_id]->ifdevice.trx_end_func(&RC.ru[ru_id]->ifdevice);
|
||||
RC.ru[ru_id]->ifdevice.trx_end_func = NULL;
|
||||
}
|
||||
@@ -423,11 +431,17 @@ int stop_L1(module_id_t gnb_id)
|
||||
stop_RU(RC.nb_RU);
|
||||
|
||||
/* stop trx devices, multiple carrier currently not supported by RU */
|
||||
if (ru->rfdevice.trx_get_stats_func) {
|
||||
ru->rfdevice.trx_get_stats_func(&ru->rfdevice);
|
||||
}
|
||||
if (ru->rfdevice.trx_stop_func) {
|
||||
ru->rfdevice.trx_stop_func(&ru->rfdevice);
|
||||
LOG_I(GNB_APP, "turned off RU rfdevice\n");
|
||||
}
|
||||
|
||||
if (ru->ifdevice.trx_get_stats_func) {
|
||||
ru->ifdevice.trx_get_stats_func(&ru->rfdevice);
|
||||
}
|
||||
if (ru->ifdevice.trx_stop_func) {
|
||||
ru->ifdevice.trx_stop_func(&ru->ifdevice);
|
||||
LOG_I(GNB_APP, "turned off RU ifdevice\n");
|
||||
|
||||
@@ -170,8 +170,12 @@ void exit_function(const char *file, const char *function, const int line, const
|
||||
|
||||
if (PHY_vars_UE_g && PHY_vars_UE_g[0]) {
|
||||
for(CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
if (PHY_vars_UE_g[0][CC_id] && PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func)
|
||||
if (PHY_vars_UE_g[0][CC_id] && PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func) {
|
||||
if (PHY_vars_UE_g[0][CC_id]->rfdevice.trx_get_stats_func) {
|
||||
PHY_vars_UE_g[0][CC_id]->rfdevice.trx_get_stats_func(&PHY_vars_UE_g[0][CC_id]->rfdevice);
|
||||
}
|
||||
PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func(&PHY_vars_UE_g[0][CC_id]->rfdevice);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -591,6 +595,8 @@ int main(int argc, char **argv)
|
||||
ret = pthread_join(phy_vars->stat_thread, NULL);
|
||||
AssertFatal(ret == 0, "pthread_join error %d, errno %d (%s)\n", ret, errno, strerror(errno));
|
||||
}
|
||||
if (phy_vars->rfdevice.trx_get_stats_func)
|
||||
phy_vars->rfdevice.trx_get_stats_func(&phy_vars->rfdevice);
|
||||
if (phy_vars->rfdevice.trx_end_func)
|
||||
phy_vars->rfdevice.trx_end_func(&phy_vars->rfdevice);
|
||||
}
|
||||
|
||||
@@ -103,6 +103,11 @@ int trx_oran_set_gains(openair0_device *device, openair0_config_t *openair0_cfg)
|
||||
|
||||
int trx_oran_get_stats(openair0_device *device)
|
||||
{
|
||||
uint64_t total_time, used_time;
|
||||
uint32_t num_core_used, core_used[64];
|
||||
uint32_t ret = xran_get_time_stats(&total_time, &used_time, &num_core_used, &core_used[0], 0);
|
||||
if (ret == 0)
|
||||
LOG_I(HW, "xran_get_time_stats(): total thread time %ld, total time essential tasks %ld, num cores used %d\n", total_time, used_time, num_core_used);
|
||||
printf("ORAN: %s\n", __FUNCTION__);
|
||||
return (0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user