• Robert Schmidt's avatar
    Use spsc_q to process PRACH jobs · 03096dd4
    Robert Schmidt authored
    Use two queues for PRACH processing:
    
    - prach_ru_queue: pass jobs from TX thread (scheduler) to RU thread. For
      split 8, the RU thread itself handles PRACH processing; for split 7.2,
      it is the library that is responsible for handling PRACH messages (see
      oran_fh_if4p5_south_in())
    - prach_l1rx_queue: after jobs have been handled in RU thread, use this
      queue to pass jobs to the RX thread. There, preamble detection is
      performed, and RACH.indication FAPI messages are filled if a preamble
      has been detected.
    
    Together, these queues replace a linear search in a global array that
    has been modified by three threads at the same time. The design ensures
    that access now is thread-safe, and with less overhead.
    Signed-off-by: default avatarRobert Schmidt <robert.schmidt@openairinterface.org>
    03096dd4
nr-gnb.c 16.4 KB