75 Commits (e5e047bc6368f7b458ad24bda7078555cdf24e53)

Author SHA1 Message Date
Francisco ea324e8cbe nr,sched,test: update sched nr test to better reflect MAC-PHY FAPI 3 years ago
Francisco Paisana cbb709d4e3 sched,nr: function to log UEs buffer status before scheduling decision, fix const_iterator of circular_map 3 years ago
faluco fa351cd285 Rename functions that contain the unsafe word to nolock.
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
3 years ago
faluco cf20b143c0 Fix the default constructor of the optional class to avoid a spurious uninitialized value warning in older GCC versions (seen for ARM32 and GCC 8.3).
Use a union of a byte and the real storage, and init the char by default.
3 years ago
Francisco Paisana 55d83a1279 fix compilation issue due to wrong include path for srsran_assert.h file 3 years ago
Francisco Paisana f518861ebc fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ 3 years ago
Francisco Paisana 599fc978a5 improvement of srsran_assert design, with specializations to enable/disable assertions based on compile flags other than ASSERTS_ENABLED. Creation of the support/ folder 3 years ago
Francisco Paisana e896ac49e8 adt: create split optional span view to be used for C-array types 3 years ago
Francisco Paisana d616e46936 adt: allow choice between static and dynamic optional vector types 3 years ago
Francisco Paisana 1596fcf349 adt: rename optional table to optional array 3 years ago
Francisco Paisana 8c24cfebd3 adt: create data structure type to represent an array of optional fields 3 years ago
Francisco 78acf81cf0 bugfix,sched: avoid instability in TPCs around PHR~0 3 years ago
Pedro Alvarez 997f7db23a Small fixes for observer.h missing std::size_t 4 years ago
Francisco 8df6ed07c6 sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes 4 years ago
Francisco 31936c9754 bugfix - printf formatting incorrect in bounded_bitset method 4 years ago
Francisco b093576634 avoid sending UEContextReleaseRequest from Source eNB during S1 Handover. 4 years ago
Francisco fa34aaa16e ensure the DL mask count is reduced enough to fit required bytes 4 years ago
Francisco b54bb35343 use rnti_map_t in scheduler 4 years ago
Francisco cd51537234 add comment explaining the use case of cached_alloc 4 years ago
Francisco 28847badcf implementation of custom allocator for memory caching. This allocator may be used for unbounded queues 4 years ago
Francisco 3c4512cdd2 demote assert to expect check in circular stack pool destruction, when a leak is detected 4 years ago
Andre Puschmann 92d4e6e746 adt/common: remove const from return type
reported by LGTM https://lgtm.com/projects/g/srsLTE/srsLTE/rev/pr-9ae46cae260b6b8137b34b9423bf1477bd6b5c42
4 years ago
faluco 7df308c756 Remove two mallocs in the stack:
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
4 years ago
Francisco 63913ff2b2 remove uneeded assert condition. change pdcp log when notified pdcp pdu doesnt exist to info. 4 years ago
Francisco 9efb959471 bugfix, scheduler - fix bit counter specializations for 32 and 64 bits. 4 years ago
Francisco ac375f07d9 add precompiler guards to restrict builtin use to gcc and clang 4 years ago
Francisco 22024ac35d implemented bounded_bitset::find_lowest(...) for both reverse and non-reverse bit ordering. Applied this method to UL scheduling search for PRB intervals 4 years ago
Francisco 3f15fc2811 implemented bounded_bitset::find_first(...) 4 years ago
Francisco c3ec28002b refactor - integration of segment list in rlc_amd_tx_pdu and pdcp_pdu_info classes 4 years ago
Francisco 1f1233782f timers - fix old gcc compilation issue. Changed free list to intrusive list. 4 years ago
Francisco e37968410e simplification of timers handler design, relying solely on one time wheel. 4 years ago
Francisco 60896e30b5 implementation of time wheel-based timer handler, using a circular array and intrusive list 4 years ago
Francisco 49bd895e29 s1ap - handle invalid or repeated erab ids in s1ap erab release command 4 years ago
Francisco 437db3af03 forbid allocations when dispatching task to thread pool 4 years ago
Francisco f1c67f5b2b pool - avoid concurrent batch allocations in background threads 4 years ago
Francisco 71f1f1b556 enb - log warning when rnti-specific memory block is full 4 years ago
Francisco a890a22ccd enb - rnti memory pool now fallbacks to new/delete if rnti-specific memory block is full 4 years ago
Francisco a780a6a7b6 fix obj pool interface 4 years ago
Francisco 60d5c6df7b implementation of memory pool with individual memory blocks per UE that get accessed via their rnti 4 years ago
Francisco ebbb74e639 rlc am - use of circular_map container in RLC AM window
The window elements are not being correctly cleaned up when clear() is called
or when overwritten by newer SN. Furthermore, the window count member is not being
correctly updated when the insertion of a newer SN overwrites the previous one.

I used the circular_map container to avoid this sort of bugs
4 years ago
Francisco b7d4a72ea1 adt - fix circular map clear() and erase(it) functions 4 years ago
Francisco cdf72248f3 Reimplement batch-based background object/memory pool
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
  The object pool cannot use intrusive free list because it would overwrite the object
  memory
4 years ago
Francisco 62a6d9a8dc fix background memory pool destruction 4 years ago
Francisco b004c2024d integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class 4 years ago
Francisco 460d7a8f4f fix memory pool test - placed the pool state into a shared_ptr so that the callbacks still have a valid handle when the pool is destroyed 4 years ago
Francisco 9bec13731a adt unit test - fix memory pool test 4 years ago
Francisco ec3cd9ffea adt - added background object pool test, and fix existing bugs related to the creation of pools with objects that are too small to be used in free lists 4 years ago
Francisco d1c5b000dc adt - creation of pre-initialized object pool, that leverages the background memory pool allocator 4 years ago
Francisco 2fc2280c3b adt pool - replace uint8_t* for void* to represent memory blocks 4 years ago
Francisco a79ca92020 refactor type storage and pool tests 4 years ago