From d0672d03fbbacd6231d5bc975bfaac632ef1abe4 Mon Sep 17 00:00:00 2001 From: Francisco Date: Mon, 15 Mar 2021 19:04:32 +0000 Subject: [PATCH] bugfix - mac logger was being fetched before a sink was assigned, leading to it printing to the console --- srsenb/src/stack/mac/sched_grid.cc | 2 +- srsenb/src/stack/mac/sched_helpers.cc | 2 +- .../src/stack/mac/sched_phy_ch/sched_dci.cc | 70 ++++++++++--------- 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/srsenb/src/stack/mac/sched_grid.cc b/srsenb/src/stack/mac/sched_grid.cc index 78bf9796e..925578861 100644 --- a/srsenb/src/stack/mac/sched_grid.cc +++ b/srsenb/src/stack/mac/sched_grid.cc @@ -732,7 +732,7 @@ void sf_sched::set_dl_data_sched_result(const sf_cch_allocator::alloc_result_t& // Print Resulting DL Allocation fmt::memory_buffer str_buffer; fmt::format_to(str_buffer, - "SCHED: DL {} rnti=0x{:x}, cc={}, pid={}, mask={:x}, dci=({}, {}), n_rtx={}, tbs={}, buffer={}/{}", + "SCHED: DL {} rnti=0x{:x}, cc={}, pid={}, mask=0x{:x}, dci=({}, {}), n_rtx={}, tbs={}, buffer={}/{}", is_newtx ? "tx" : "retx", user->get_rnti(), cc_cfg->enb_cc_idx, diff --git a/srsenb/src/stack/mac/sched_helpers.cc b/srsenb/src/stack/mac/sched_helpers.cc index 6f9cb4b12..b1ce375ce 100644 --- a/srsenb/src/stack/mac/sched_helpers.cc +++ b/srsenb/src/stack/mac/sched_helpers.cc @@ -28,7 +28,7 @@ using dl_sched_res_t = sched_interface::dl_sched_res_t; using dl_sched_data_t = sched_interface::dl_sched_data_t; using custom_mem_buffer = fmt::basic_memory_buffer; -srslog::basic_logger& get_mac_logger() +static srslog::basic_logger& get_mac_logger() { static srslog::basic_logger& mac_logger = srslog::fetch_basic_logger("MAC"); return mac_logger; diff --git a/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc b/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc index 410cce896..a24c27fb3 100644 --- a/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc +++ b/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc @@ -20,7 +20,11 @@ namespace srsenb { -static srslog::basic_logger& logger = srslog::fetch_basic_logger("MAC"); +static srslog::basic_logger& get_mac_logger() +{ + static srslog::basic_logger& logger = srslog::fetch_basic_logger("MAC"); + return logger; +} /// Compute max TBS based on max coderate int coderate_to_tbs(float max_coderate, uint32_t nof_re) @@ -217,12 +221,12 @@ int generate_ra_bc_dci_format1a_common(srslte_dci_dl_t& dci, return -1; } - logger.debug("ra_tbs=%d/%d, tbs_bytes=%d, tbs=%d, mcs=%d", - srslte_ra_tbs_from_idx(mcs, 2), - srslte_ra_tbs_from_idx(mcs, 3), - req_bytes, - tbs, - mcs); + get_mac_logger().debug("ra_tbs=%d/%d, tbs_bytes=%d, tbs=%d, mcs=%d", + srslte_ra_tbs_from_idx(mcs, 2), + srslte_ra_tbs_from_idx(mcs, 3), + req_bytes, + tbs, + mcs); return tbs; } @@ -311,7 +315,7 @@ void log_broadcast_allocation(const sched_interface::dl_sched_bc_t& bc, rbg_interval rbg_range, const sched_cell_params_t& cell_params) { - if (not logger.info.enabled()) { + if (not get_mac_logger().info.enabled()) { return; } @@ -319,31 +323,31 @@ void log_broadcast_allocation(const sched_interface::dl_sched_bc_t& bc, fmt::format_to(str_buffer, "{}", rbg_range); if (bc.type == sched_interface::dl_sched_bc_t::bc_type::BCCH) { - logger.debug("SCHED: SIB%d, cc=%d, rbgs=(%d,%d), dci=(%d,%d), rv=%d, len=%d, period=%d, mcs=%d", - bc.index + 1, - cell_params.enb_cc_idx, - rbg_range.start(), - rbg_range.stop(), - bc.dci.location.L, - bc.dci.location.ncce, - bc.dci.tb[0].rv, - cell_params.cfg.sibs[bc.index].len, - cell_params.cfg.sibs[bc.index].period_rf, - bc.dci.tb[0].mcs_idx); + get_mac_logger().debug("SCHED: SIB%d, cc=%d, rbgs=(%d,%d), dci=(%d,%d), rv=%d, len=%d, period=%d, mcs=%d", + bc.index + 1, + cell_params.enb_cc_idx, + rbg_range.start(), + rbg_range.stop(), + bc.dci.location.L, + bc.dci.location.ncce, + bc.dci.tb[0].rv, + cell_params.cfg.sibs[bc.index].len, + cell_params.cfg.sibs[bc.index].period_rf, + bc.dci.tb[0].mcs_idx); } else { - logger.info("SCHED: PCH, cc=%d, rbgs=%s, dci=(%d,%d), tbs=%d, mcs=%d", - srslte::to_c_str(str_buffer), - cell_params.enb_cc_idx, - bc.dci.location.L, - bc.dci.location.ncce, - bc.tbs, - bc.dci.tb[0].mcs_idx); + get_mac_logger().info("SCHED: PCH, cc=%d, rbgs=%s, dci=(%d,%d), tbs=%d, mcs=%d", + srslte::to_c_str(str_buffer), + cell_params.enb_cc_idx, + bc.dci.location.L, + bc.dci.location.ncce, + bc.tbs, + bc.dci.tb[0].mcs_idx); } } void log_rar_allocation(const sched_interface::dl_sched_rar_t& rar, rbg_interval rbg_range) { - if (not logger.info.enabled()) { + if (not get_mac_logger().info.enabled()) { return; } @@ -360,12 +364,12 @@ void log_rar_allocation(const sched_interface::dl_sched_rar_t& rar, rbg_interval rar.msg3_grant[i].grant.trunc_mcs); } - logger.info("SCHED: RAR, ra-rnti=%d, rbgs=%s, dci=(%d,%d), msg3 grants=[%s]", - rar.dci.rnti, - srslte::to_c_str(str_buffer), - rar.dci.location.L, - rar.dci.location.ncce, - srslte::to_c_str(str_buffer2)); + get_mac_logger().info("SCHED: RAR, ra-rnti=%d, rbgs=%s, dci=(%d,%d), msg3 grants=[%s]", + rar.dci.rnti, + srslte::to_c_str(str_buffer), + rar.dci.location.L, + rar.dci.location.ncce, + srslte::to_c_str(str_buffer2)); } } // namespace srsenb