NR MAC: save total/used PRBs aggregate
This commit is contained in:
@@ -938,6 +938,9 @@ void nr_schedule_ue_spec(module_id_t module_id,
|
|||||||
NR_UEs_t *UE_info = &gNB_mac->UE_info;
|
NR_UEs_t *UE_info = &gNB_mac->UE_info;
|
||||||
nfapi_nr_dl_tti_request_body_t *dl_req = &DL_req->dl_tti_request_body;
|
nfapi_nr_dl_tti_request_body_t *dl_req = &DL_req->dl_tti_request_body;
|
||||||
|
|
||||||
|
const NR_BWP_t *initialDL = &scc->downlinkConfigCommon->initialDownlinkBWP->genericParameters;
|
||||||
|
gNB_mac->mac_stats.total_prb_aggregate += NRRIV2BW(initialDL->locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
|
|
||||||
UE_iterator(UE_info->list, UE) {
|
UE_iterator(UE_info->list, UE) {
|
||||||
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
||||||
NR_UE_DL_BWP_t *current_BWP = &UE->current_DL_BWP;
|
NR_UE_DL_BWP_t *current_BWP = &UE->current_DL_BWP;
|
||||||
@@ -1252,6 +1255,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
|
|||||||
T(T_GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA, T_INT(module_id), T_INT(CC_id), T_INT(rnti),
|
T(T_GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA, T_INT(module_id), T_INT(CC_id), T_INT(rnti),
|
||||||
T_INT(frame), T_INT(slot), T_INT(current_harq_pid), T_INT(harq->round), T_BUFFER(harq->transportBlock, TBS));
|
T_INT(frame), T_INT(slot), T_INT(current_harq_pid), T_INT(harq->round), T_BUFFER(harq->transportBlock, TBS));
|
||||||
UE->mac_stats.dl.total_rbs_retx += sched_pdsch->rbSize;
|
UE->mac_stats.dl.total_rbs_retx += sched_pdsch->rbSize;
|
||||||
|
gNB_mac->mac_stats.used_prb_aggregate += sched_pdsch->rbSize;
|
||||||
} else { /* initial transmission */
|
} else { /* initial transmission */
|
||||||
LOG_D(NR_MAC, "Initial HARQ transmission in %d.%d\n", frame, slot);
|
LOG_D(NR_MAC, "Initial HARQ transmission in %d.%d\n", frame, slot);
|
||||||
uint8_t *buf = (uint8_t *) harq->transportBlock;
|
uint8_t *buf = (uint8_t *) harq->transportBlock;
|
||||||
@@ -1369,6 +1373,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
|
|||||||
UE->mac_stats.dl.num_mac_sdu += sdus;
|
UE->mac_stats.dl.num_mac_sdu += sdus;
|
||||||
UE->mac_stats.dl.current_rbs = sched_pdsch->rbSize;
|
UE->mac_stats.dl.current_rbs = sched_pdsch->rbSize;
|
||||||
UE->mac_stats.dl.total_sdu_bytes += dlsch_total_bytes;
|
UE->mac_stats.dl.total_sdu_bytes += dlsch_total_bytes;
|
||||||
|
gNB_mac->mac_stats.used_prb_aggregate += sched_pdsch->rbSize;
|
||||||
|
|
||||||
/* save retransmission information */
|
/* save retransmission information */
|
||||||
harq->sched_pdsch = *sched_pdsch;
|
harq->sched_pdsch = *sched_pdsch;
|
||||||
|
|||||||
@@ -807,6 +807,11 @@ typedef struct {
|
|||||||
int8_t nvipc_poll_core;
|
int8_t nvipc_poll_core;
|
||||||
} nvipc_params_t;
|
} nvipc_params_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint64_t total_prb_aggregate;
|
||||||
|
uint64_t used_prb_aggregate;
|
||||||
|
} mac_stats_t;
|
||||||
|
|
||||||
/*! \brief top level eNB MAC structure */
|
/*! \brief top level eNB MAC structure */
|
||||||
typedef struct gNB_MAC_INST_s {
|
typedef struct gNB_MAC_INST_s {
|
||||||
/// Ethernet parameters for northbound midhaul interface
|
/// Ethernet parameters for northbound midhaul interface
|
||||||
@@ -930,6 +935,8 @@ typedef struct gNB_MAC_INST_s {
|
|||||||
|
|
||||||
pthread_mutex_t sched_lock;
|
pthread_mutex_t sched_lock;
|
||||||
|
|
||||||
|
mac_stats_t mac_stats;
|
||||||
|
|
||||||
} gNB_MAC_INST;
|
} gNB_MAC_INST;
|
||||||
|
|
||||||
#endif /*__LAYER2_NR_MAC_GNB_H__ */
|
#endif /*__LAYER2_NR_MAC_GNB_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user