Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
littleBu
OpenXG-RAN
Commits
f235b249
Commit
f235b249
authored
Sep 20, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove FR1 in preprocessor name
parent
912fec55
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
16 additions
and
21 deletions
+16
-21
doc/SW_archi.md
doc/SW_archi.md
+4
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+3
-3
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+4
-4
openair2/LAYER2/NR_MAC_gNB/main.c
openair2/LAYER2/NR_MAC_gNB/main.c
+2
-2
No files found.
doc/SW_archi.md
View file @
f235b249
...
...
@@ -220,14 +220,10 @@ Calls nr_schedule_ulsch(): It is divided into the "preprocessor" and the
"postprocessor": the first makes the scheduling decisions, the second fills
nFAPI structures to indicate to the PHY what it is supposed to do. To signal
which users have how many resources, the preprocessor populates the
NR_sched_pusch_t (for values changing every TTI, e.g., frequency domain
allocation) and NR_sched_pusch_save_t (for values changing less frequently, at
least in FR1 [to my understanding], e.g., DMRS fields when the time domain
allocation stays between TTIs) structures. Furthermore, the preprocessor is an
NR_sched_pusch_t structures. Furthermore, the preprocessor is an
exchangeable module that schedules differently based on a particular
use-case/deployment type, e.g., one user for phytest [in
nr_ul_preprocessor_phytest()], multiple users in FR1
[
nr_fr1_ulsch_preprocessor()], or maybe FR2 [does not exist yet
]:
use-case/deployment type, e.g., one user for phytest in
[
nr_ul_preprocessor_phytest()], multiple users in [nr_ulsch_preprocessor()
]:
*
calls preprocessor via pre_processor_ul(): the preprocessor is responsible
for allocating CCEs (using allocate_nr_CCEs()) and deciding on resource
allocation for the UEs including TB size. Note that we do not yet have
...
...
@@ -258,8 +254,7 @@ NR_UE_sched_ctrl_t structure of affected users. In particular, the field rbSize
decides whether a user is to be allocated. Furthermore, the preprocessor is an
exchangeable module that schedules differently based on a particular
use-case/deployment type, e.g., one user for phytest [in
nr_preprocessor_phytest()], multiple users in FR1
[nr_fr1_dlsch_preprocessor()], or maybe FR2 [does not exist yet].
nr_preprocessor_phytest()], multiple users [nr_dlsch_preprocessor()].
*
calls preprocessor via pre_processor_dl(): the preprocessor is responsible
for allocating CCEs and PUCCH (using allocate_nr_CCEs() and
nr_acknack_scheduling()) and deciding on the frequency/time domain
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
f235b249
...
...
@@ -861,7 +861,7 @@ static void pf_dl(module_id_t module_id,
}
}
static
void
nr_
fr1_
dlsch_preprocessor
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
)
static
void
nr_dlsch_preprocessor
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
)
{
NR_UEs_t
*
UE_info
=
&
RC
.
nrmac
[
module_id
]
->
UE_info
;
...
...
@@ -889,7 +889,7 @@ static void nr_fr1_dlsch_preprocessor(module_id_t module_id, frame_t frame, sub_
bw
);
// we set the whole BW as max number
}
nr_pp_impl_dl
nr_init_
fr1_
dlsch_preprocessor
(
int
CC_id
)
{
nr_pp_impl_dl
nr_init_dlsch_preprocessor
(
int
CC_id
)
{
/* during initialization: no mutex needed */
/* in the PF algorithm, we have to use the TBsize to compute the coefficient.
* This would include the number of DMRS symbols, which in turn depends on
...
...
@@ -914,7 +914,7 @@ nr_pp_impl_dl nr_init_fr1_dlsch_preprocessor(int CC_id) {
}
}
return
nr_
fr1_
dlsch_preprocessor
;
return
nr_dlsch_preprocessor
;
}
void
nr_schedule_ue_spec
(
module_id_t
module_id
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
f235b249
...
...
@@ -2147,7 +2147,7 @@ static void pf_ul(module_id_t module_id,
}
}
static
bool
nr_
fr1_
ulsch_preprocessor
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
)
static
bool
nr_ulsch_preprocessor
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
)
{
gNB_MAC_INST
*
nr_mac
=
RC
.
nrmac
[
module_id
];
// no UEs
...
...
@@ -2180,7 +2180,7 @@ static bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_
return
true
;
}
nr_pp_impl_ul
nr_init_
fr1_
ulsch_preprocessor
(
int
CC_id
)
nr_pp_impl_ul
nr_init_ulsch_preprocessor
(
int
CC_id
)
{
/* during initialization: no mutex needed */
/* in the PF algorithm, we have to use the TBsize to compute the coefficient.
...
...
@@ -2208,7 +2208,7 @@ nr_pp_impl_ul nr_init_fr1_ulsch_preprocessor(int CC_id)
>>
3
;
}
}
return
nr_
fr1_
ulsch_preprocessor
;
return
nr_ulsch_preprocessor
;
}
void
nr_schedule_ulsch
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
,
nfapi_nr_ul_dci_request_t
*
ul_dci_req
)
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
f235b249
...
...
@@ -82,8 +82,8 @@ void nr_schedule_ue_spec(module_id_t module_id,
nfapi_nr_dl_tti_request_t
*
DL_req
,
nfapi_nr_tx_data_request_t
*
TX_req
);
/* \brief default
FR1
DL preprocessor init routine, returns preprocessor to call */
nr_pp_impl_dl
nr_init_
fr1_
dlsch_preprocessor
(
int
CC_id
);
/* \brief default DL preprocessor init routine, returns preprocessor to call */
nr_pp_impl_dl
nr_init_dlsch_preprocessor
(
int
CC_id
);
void
schedule_nr_sib1
(
module_id_t
module_idP
,
frame_t
frameP
,
...
...
@@ -108,8 +108,8 @@ void schedule_nr_mib(module_id_t module_idP, frame_t frameP, sub_frame_t slotP,
* messages, statistics, HARQ handling, ... */
void
nr_schedule_ulsch
(
module_id_t
module_id
,
frame_t
frame
,
sub_frame_t
slot
,
nfapi_nr_ul_dci_request_t
*
ul_dci_req
);
/* \brief default
FR1
UL preprocessor init routine, returns preprocessor to call */
nr_pp_impl_ul
nr_init_
fr1_
ulsch_preprocessor
(
int
CC_id
);
/* \brief default UL preprocessor init routine, returns preprocessor to call */
nr_pp_impl_ul
nr_init_ulsch_preprocessor
(
int
CC_id
);
/////// Random Access MAC-PHY interface functions and primitives ///////
...
...
openair2/LAYER2/NR_MAC_gNB/main.c
View file @
f235b249
...
...
@@ -294,8 +294,8 @@ void mac_top_init_gNB(ngran_node_t node_type,
RC
.
nrmac
[
i
]
->
pre_processor_dl
=
nr_preprocessor_phytest
;
RC
.
nrmac
[
i
]
->
pre_processor_ul
=
nr_ul_preprocessor_phytest
;
}
else
{
RC
.
nrmac
[
i
]
->
pre_processor_dl
=
nr_init_
fr1_
dlsch_preprocessor
(
0
);
RC
.
nrmac
[
i
]
->
pre_processor_ul
=
nr_init_
fr1_
ulsch_preprocessor
(
0
);
RC
.
nrmac
[
i
]
->
pre_processor_dl
=
nr_init_dlsch_preprocessor
(
0
);
RC
.
nrmac
[
i
]
->
pre_processor_ul
=
nr_init_ulsch_preprocessor
(
0
);
}
if
(
!
IS_SOFTMODEM_NOSTATS_BIT
)
threadCreate
(
&
RC
.
nrmac
[
i
]
->
stats_thread
,
nrmac_stats_thread
,
(
void
*
)
RC
.
nrmac
[
i
],
"MAC_STATS"
,
-
1
,
sched_get_priority_min
(
SCHED_OAI
)
+
1
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment