From 9c1d3f9606bee1f8549b95037fba04a9fab534cf Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Wed, 19 Apr 2017 17:09:50 +0200 Subject: [PATCH] measurement: Compute measurement results on measurement idication Computing the measurement results on in l1sap_info_time_ind() all at once may peak the host CPU. On smaller systems (arm based sysmobts) this might cause a noticable delay of other important tasks (e.g. passing l2 messages back and forth) It makes more sense to compute the measurement results continously when l1sap_info_meas_ind() is executed. Change-Id: Iecb9a30c0d716bfc88221cd752b1ffdc74269e30 --- src/common/l1sap.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 6c509e3cc..d79069d6b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -415,11 +415,6 @@ static int l1sap_info_time_ind(struct gsm_bts *bts, /* Update time on PCU interface */ pcu_tx_time_ind(info_time_ind->fn); - /* check if the measurement period of some lchan has ended - * and pre-compute the respective measurement */ - llist_for_each_entry(trx, &bts->trx_list, list) - trx_meas_check_compute(trx, info_time_ind->fn - 1); - /* increment number of RACH slots that have passed by since the * last time indication */ btsb->load.rach.total += @@ -478,6 +473,10 @@ static int l1sap_info_meas_ind(struct gsm_bts_trx *trx, lchan_new_ul_meas(lchan, &ulm); + /* Check measurement period end and prepare the UL measurment + * report at Meas period End*/ + lchan_meas_check_compute(lchan, info_meas_ind->fn); + return 0; }