From 1653f837e3be32d94eeaabf29ae89fdf1dc66bac Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Tue, 30 Jun 2015 14:48:13 +0200 Subject: alloc: Disable inner loop debugging by default The current logging statements within the inner loop of find_multi_slots drain quite a lot of CPU resources even if LOGL_DEBUG is not enabled. This might cause issues on the target hardware. This commit disables these LOGP calls unless the ENABLE_TS_ALLOC_DEBUG macro has been set explicitly. This results in a reduction in the CPU usage reported by callgrind for find_multi_slots from 42% to 25% when executing AllocTest. Sponsored-by: On-Waves ehf --- src/gprs_rlcmac_ts_alloc.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src/gprs_rlcmac_ts_alloc.cpp') diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 5edf9ffa..8c42bb19 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -501,12 +501,14 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, #endif if (!rx_good) { +#ifdef ENABLE_TS_ALLOC_DEBUG LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), " "no DL slots available\n", set_flag_chars(set_flag_chars(slot_info, rx_bad, 'x', '.'), tx_window, 'U')); +#endif continue; } @@ -520,16 +522,18 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, req_common_slots = OSMO_MIN(req_common_slots, 2); if (req_common_slots != common_slot_count) { - LOGP(DRLCMAC, LOGL_DEBUG, - "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), " - "invalid number of common TS: %d (expected %d)\n", - set_flag_chars(set_flag_chars(set_flag_chars( - slot_info, - rx_bad, 'x', '.'), - rx_window, 'D'), +#ifdef ENABLE_TS_ALLOC_DEBUG + LOGP(DRLCMAC, LOGL_DEBUG, + "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), " + "invalid number of common TS: %d (expected %d)\n", + set_flag_chars(set_flag_chars(set_flag_chars( + slot_info, + rx_bad, 'x', '.'), + rx_window, 'D'), tx_window, 'U'), - common_slot_count, - req_common_slots); + common_slot_count, + req_common_slots); +#endif continue; } @@ -554,6 +558,7 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, } } +#ifdef ENABLE_TS_ALLOC_DEBUG LOGP(DRLCMAC, LOGL_DEBUG, "- Considering DL/UL slots: (TS=0)\"%s\"(TS=7), " "capacity = %d\n", @@ -564,6 +569,7 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, tx_window, 'U'), rx_window & tx_window, 'C'), capacity); +#endif if (capacity <= max_capacity) continue; -- cgit v1.2.3