From 824c504b11a46b59accf7c93407cc7986f39c64c Mon Sep 17 00:00:00 2001 From: matzakos <panagiotis.matzakos@eurecom.fr> Date: Tue, 6 Oct 2020 18:31:31 +0200 Subject: [PATCH] Fix to avoid RRC->X2AP ticking every msec when x2ap task is not enabled -Since the aim of itti RRC_SUBFRAME_PROCESS message (MAC->RRC) is to trigger an itti X2AP_SUBFRAME_PROCESS message (RRC->X2AP), avoid creating RRC_SUBFRAME_PROCESS message if x2ap task is not enabled. Not sure if this is the best solution. We could also avoid only sending the second itti X2AP_SUBFRAME_PROCESS message. --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c index 3e833db4856..2f664fb97f2 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c @@ -58,6 +58,7 @@ #include "intertask_interface.h" #include "executables/softmodem-common.h" +#include "x2ap_eNB.h" const uint8_t slots_per_frame[5] = {10, 20, 40, 80, 160}; uint16_t nr_pdcch_order_table[6] = { 31, 31, 511, 2047, 2047, 8191 }; @@ -445,7 +446,8 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, if ((slot & ((1 << *scc->ssbSubcarrierSpacing) - 1)) == 0) { void nr_rlc_tick(int frame, int subframe); nr_rlc_tick(frame, slot >> *scc->ssbSubcarrierSpacing); - nr_rrc_trigger(&ctxt, 0 /*CC_id*/, frame, slot >> *scc->ssbSubcarrierSpacing); + if (is_x2ap_enabled()) + nr_rrc_trigger(&ctxt, 0 /*CC_id*/, frame, slot >> *scc->ssbSubcarrierSpacing); } dlsch_in_slot_bitmap = &RC.nrmac[module_idP]->UE_list.UE_sched_ctrl[UE_id].dlsch_in_slot_bitmap; // static bitmap signaling which slot in a tdd period contains dlsch -- GitLab