Commit Graph

497 Commits

Author SHA1 Message Date
Francisco ed1514cf68 nr,gnb,sched: implement ConRes CE scheduling command in NR sched 2021-11-22 12:56:02 +00:00
Fabian Eckermann 74a289976a Add enb MAC procedures for PDCCH orders. 2021-11-18 14:56:31 +01:00
faluco 453a7760b3 Port misc SSN changes to dev. 2021-11-16 14:46:51 +01:00
Andre Puschmann 0967cda042 gnb,stack: move gNB components into own folder
* move RRC, MAC, NGAP, SDAP into gnb folder
* move testing code below respective layers
2021-11-05 15:26:06 +01:00
Francisco 2d6ce768c7 nr,gnb,rrc: generation of MIB/SIB1 inside rrc_nr class and test to verify the correct output 2021-11-04 18:05:14 +00:00
Francisco 8d719db43d nr,gnb,mac: implement zero-copy get_dl_sched/get_ul_sched NR scheduler interface 2021-11-03 21:21:45 +01:00
Francisco c615df9d1d nr,gnb,mac: prioritize CRNTI CE handling over remaining SDUs and CEs in gNB mac receiver 2021-11-03 13:31:16 +00:00
Francisco 885e1bcc60 nr,gnb,sched: ensure the users only get allocated if they have buffer state > 0 2021-11-02 00:41:24 +00:00
Francisco 6fb5257609 nr,gnb,sched: cleanup of checks in sched_nr_allocator and removal of unused classes 2021-11-02 00:41:24 +00:00
Francisco 7b989d9976 nr,gnb,sched: refactored slot_ue class to use pointer to ue_carrier instead of deriving all necessary parameters 2021-11-02 00:41:24 +00:00
Francisco da9c564ad4 nr,gnb,sched: remove unused sched_nr_interface types 2021-11-02 00:41:24 +00:00
Francisco 1a56629a72 nr,gnb,sched: centralized all feedback/event management (cc-specific and non-cc-specific) into a single class 2021-11-02 00:41:24 +00:00
Francisco 7c146c5198 nr,gnb,sched: refactored sched nr common event handling to use accumulated event handling logging 2021-11-02 00:41:24 +00:00
Francisco e5e047bc63 nr,gnb,sched: avoid that the nr sched handles the rach before it creates the ue object 2021-11-02 00:41:24 +00:00
Francisco 40fded7222 nr,gnb,sched: improve logging of slot events in the scheduler 2021-11-02 00:41:24 +00:00
Francisco e19a0aa281 nr,gnb,sched: refactored sched nr common event handling 2021-11-02 00:41:24 +00:00
Francisco f2409534e4 nr,gnb,sched: Simplify sched api and locking design to better reflect the mac-phy FAPI interface
- removal of condition variables from sched main calls
- addition of sched sched::slot_indication call as a point of synchronization per slot
- removal of sched_worker_manager class
- removal of serv_cell_manager class
- centralization of cc-specific functionality and components in cc_worker
2021-11-02 00:41:24 +00:00
Andre Puschmann 5f837c0c67 enb,nr: rewrite UL PDU processing to handle CEs in reverse order but SDUs in order
this makes sure that C-RNTI CE gets processed before any SDU gets processed.
but it also makes sure that all SDUs then are processed in-order to
avoid reordering at higher layers.
2021-10-27 19:50:35 +02:00
Alejandro Leal Conejos af3a2ef589 Fixes coverity 359789 2021-10-27 19:47:45 +02:00
Alejandro Leal Conejos 6cd917fca5 Fixes coverity 370816 2021-10-27 19:47:45 +02:00
Ismael Gomez d972fb368c
Some LGTM fixes (#3564)
* Fix LGTM issues

* ue: add logging to switch on function

* Fix new LGTM issues
2021-10-26 21:15:36 +02:00
Alejandro Leal Conejos 547ebf11f7 Fixes coverity 372880 2021-10-26 21:09:44 +02:00
Francisco 67a39fbb81 nr,sched: push BSRs into the scheduler when nr_phy_test is run with PUSCH enabled 2021-10-25 20:55:00 +02:00
Francisco e4247517d0 nr,sched: update sched_nr_test to support the new DL sched no-copy api 2021-10-23 21:09:26 +02:00
Andre Puschmann cf4b6d0bea sched_nr_interface: make PHY results a reference to avoid copying 2021-10-23 21:09:26 +02:00
Francisco 0663594aa1 nr,gnb,sched: add extra checks to sched to ensure the max nof grants is not exceeded 2021-10-23 09:20:28 +01:00
Francisco 327687cbc2 nr,sched: auto clear HARQs that exceeded maxretx, after the feedback has been processed 2021-10-22 18:08:43 +01:00
Francisco 3295449619 nr,gnb,sched: fix crash in debug mode due to incorrect is_lcid_valid check 2021-10-21 13:58:57 +01:00
Francisco f0a48d47b3 enb,sched: log lcid configurations in scheduler in a single log line 2021-10-21 10:33:26 +01:00
Francisco f2818d0504 enb,sched: improve sched ue buffer manager to show rnti in logs 2021-10-21 10:33:26 +01:00
Francisco 4a58c10f30 lte,enb,rlc: compute and forward to scheduler the number of bytes pending for retx and status pdu in RLC AM bearer 2021-10-21 09:31:03 +01:00
faluco b8171e493e Fix crash in mac_nr when accesing the ue_db and not checking if the rnti is valid, while there fix a potential data race.
Fix data race inside sched_nr when modifying per ue metrics.
2021-10-20 18:08:41 +02:00
Carlo Galiotto a4932564d7 stdout: remove extra value from eNB stats + ...
address PR review
- change "TO DO" into "TODO"
- remove forgotten "printf" for debug

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-20 17:47:00 +02:00
Carlo Galiotto 4e3564a8a2 mac,stdout: add PUSCH and PUCCH SINR to stdout
This commit implements the PUCCH and PUSCH metrics in the MAC,
to be displayed in the eNB console.

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-20 17:47:00 +02:00
Andre Puschmann 146f12f0c0 enb,mac_nr: fix MAC PDU packing by tyring to pack multiple SDUs when possible
the patch adds support to fully use the available space in a MAC PDU by adding
multiple SDUs.
2021-10-19 11:51:39 +02:00
Francisco d5acf73c46 nr,gnb,sched: fix logging of tbs. check if sched args are supported at sched startup. change the tti logging to be equal to tti_rx 2021-10-18 14:50:14 +01:00
Francisco 9df6c6b936 sched,nr: ensure the ue_cfg_t passed to the scheduler in NR FDD mode has the correct harq delay 2021-10-14 21:38:12 +01:00
Francisco 64ffd81cf9 nr,sched: fix recomputation of ue_bwp_cfg when sched receives new ue_cfg objects 2021-10-14 14:23:21 +01:00
Alejandro Leal Conejos 1a64c6adad Enum fixes so clang 12 can build the repo 2021-10-14 08:48:04 +02:00
Francisco 964dce575b nr,sched: fix nof_harqs in NR scheduler to 8 2021-10-13 23:24:20 +01:00
Francisco 25eb44914e nr,sched: fix sched_args_t default values 2021-10-13 11:23:10 +01:00
Francisco 04d48127bb nr,sched: enable NR fixed mcs configuration via enb.conf 2021-10-13 11:23:10 +01:00
Carlo Galiotto a57ccdabf5 mac: move and check boolean from funcion to caller
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-13 11:12:03 +02:00
Carlo Galiotto 1a52cdcdaa mac: remove unused rwlock and unused cqi counter
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-13 11:12:03 +02:00
Carlo Galiotto f53e01cfa3 mac: apply changes by PR reviewers
- reinstate write_lock on ue metrics
- change "rwlock" variable name in mac_nr.h

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-13 11:12:03 +02:00
Carlo Galiotto dc3e3a89f8 mac: update CQI in MAC with CSI reports from PHY
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-13 11:12:03 +02:00
Francisco c08bb6023c nr,sched,refactor: clear of unused typedefs and renaming of some types 2021-10-13 08:22:35 +01:00
Francisco 510e9f47a7 sched,nr: simplify metrics extraction from MAC
Allow some level of mutex contention between metrics and worker threads in accessing
internal scheduler variables.
2021-10-12 15:48:37 +01:00
Francisco 877b995a4d gnb,nr: add metrics for ack'd TBS in the gNB. 2021-10-11 11:08:37 +01:00
Francisco 7d4a5238f6 sched,nr: force R<0.9 by reducing mcs 2021-10-08 01:16:07 +01:00