[srslte-users] Developers' Guide?
Francisco Paisana
francisco.paisana at softwareradiosystems.com
Wed Jun 24 09:43:49 UTC 2020
Hey,
We use different IDEs like QtCreator, Clion, or Netbeans. Some of us are
able to navigate the project with vim/neovim with some extra plugins. None
of these tools helps a lot with the thread analysis, and it seems our
documentation is a bit lacking in that department.
I would summarize the threads used as follows (without carrier aggregation):
- sync thread - it takes LTE frames from the RF front-end and delegates
their decoding to PHY workers. It also updates the clock of the L2/L3 on a
"tic" basis (see enb_stack_lte::tti_clock())
- workers - they receive the frames from the sync thread, perform the PHY
and MAC decoding and pass the resulting Rx PDUs to the upper layers. They
also perform the MAC scheduling and generate the frames to be transmitted
and pass them to the RF front-end. The number of workers is configurable.
- stack thread - it receives the Rx PDUs from the "lower MAC" running on
the PHY workers, and processes them in RLC, PDCP, RRC, etc. classes. It
also gets packets from S1AP+GTPU and moves them down the stack until the
MAC. Any communication between the PHY workers and stack thread should go
through a blocking multi-queue. See how "pending_tasks" variable is used in
enb_stack_lte.cc.
- rx multisocket handler - a thread that handles multiple network sockets
(e.g. S1AP, GTPU). It blocks on a select and whenever there is a new
packet, it passes the packet to the stack thread to be processed.
- prach_worker - to search for PRACHs in the received samples
There are some other threads, but they are not as important. Also notice
that our threading architecture is under active development.
Kind Regards,
Francisco
On Wed, Jun 24, 2020 at 8:58 AM Chance Tarver <tarver.chance at gmail.com>
wrote:
> Just wondering, does your team have any recommended tools for code
> development and analysis? I appreciate any insight especially in
> understanding the thread pool / threads and any interactions between
> threads.
>
> Thanks,
> Chance
>
> On Tue, Jun 23, 2020 at 7:22 AM Chance Tarver <tarver.chance at gmail.com>
> wrote:
>
>> Thanks, Andre,
>>
>> The project overall is well organized, and I'm sure I'll be able to
>> figure it all out.
>>
>> Thanks!
>> Chance
>>
>> On Tue, Jun 23, 2020 at 2:34 AM Andre Puschmann <
>> andre.puschmann at softwareradiosystems.com> wrote:
>>
>>> Hey,
>>>
>>> I am afraid but the dev guide is still not available. Its on our agenda
>>> but got delayed due to other commitments.
>>>
>>> Until that really the best documentation is the code itself. We do all
>>> our best to make it as easy as possible to navigate and understand the
>>> code.
>>>
>>> Cheers
>>> Andre
>>>
>>>
>>>
>>> On 23/6/20 4:45, Chance Tarver wrote:
>>> > Hi all,
>>> >
>>> > I am a newcomer to srsLTE and wanted to become more familiar with the
>>> > code architecture. The website
>>> > (https://docs.srslte.com/en/latest/srsenb/source/1_enb_intro.html)
>>> > mentions an srsENB Developers' Guide. However, I can't find the actual
>>> > developers' guide anywhere.
>>> >
>>> > Does a developers' guide exist anywhere?
>>> >
>>> > Thanks,
>>> > Chance Tarver
>>> >
>>> >
>>> > _______________________________________________
>>> > srslte-users mailing list
>>> > srslte-users at lists.softwareradiosystems.com
>>> > http://www.softwareradiosystems.com/mailman/listinfo/srslte-users
>>> >
>>>
>>> _______________________________________________
> srslte-users mailing list
> srslte-users at lists.softwareradiosystems.com
> http://www.softwareradiosystems.com/mailman/listinfo/srslte-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20200624/cfba7a28/attachment.htm>
More information about the srsran-users
mailing list