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
alex037yang
OpenXG-RAN
Commits
26d61373
Commit
26d61373
authored
Jul 10, 2018
by
WEI-TAI CHEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gNB_scheduler in testing not complete yet
parent
2070c982
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
132 additions
and
112 deletions
+132
-112
openair2/COMMON/platform_constants.h
openair2/COMMON/platform_constants.h
+5
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+90
-107
openair2/LAYER2/NR_MAC_gNB/mac.h
openair2/LAYER2/NR_MAC_gNB/mac.h
+27
-4
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+4
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+6
-1
No files found.
openair2/COMMON/platform_constants.h
View file @
26d61373
...
@@ -70,14 +70,19 @@
...
@@ -70,14 +70,19 @@
#ifdef LARGE_SCALE
#ifdef LARGE_SCALE
# define MAX_MOBILES_PER_ENB 128
# define MAX_MOBILES_PER_ENB 128
# define MAX_MOBILES_PER_ENB_NB_IoT 128
# define MAX_MOBILES_PER_ENB_NB_IoT 128
# define MAX_MOBILES_PER_GNB 128
# define MAX_eNB 2
# define MAX_eNB 2
# define MAX_gNB 2
#else
#else
# define MAX_MOBILES_PER_ENB 16
# define MAX_MOBILES_PER_ENB 16
# define MAX_MOBILES_PER_ENB_NB_IoT 16
# define MAX_MOBILES_PER_ENB_NB_IoT 16
# define MAX_MOBILES_PER_GNB 16
# define MAX_eNB 2
# define MAX_eNB 2
# define MAX_gNB 2
#endif
#endif
#define MAX_MANAGED_ENB_PER_MOBILE 2
#define MAX_MANAGED_ENB_PER_MOBILE 2
#define MAX_MANAGED_GNB_PER_MOBILE 2
///NB-IOT
///NB-IOT
#define NB_RB_MAX_NB_IOT (maxDRB_NB_r13 + 3) //MP: NB_IoT --> 2(DRB)+3(SRBs - 2 is not used) = 5
#define NB_RB_MAX_NB_IOT (maxDRB_NB_r13 + 3) //MP: NB_IoT --> 2(DRB)+3(SRBs - 2 is not used) = 5
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
26d61373
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/mac.h
View file @
26d61373
...
@@ -107,6 +107,11 @@ typedef struct gNB_MAC_INST_s {
...
@@ -107,6 +107,11 @@ typedef struct gNB_MAC_INST_s {
sub_frame_t
subframe
;
sub_frame_t
subframe
;
/// Pointer to IF module instance for PHY
/// Pointer to IF module instance for PHY
NR_IF_Module_t
*
if_inst
;
NR_IF_Module_t
*
if_inst
;
/// Common cell resources
NR_COMMON_channels_t
common_channels
[
NFAPI_CC_MAX
];
/// current PDU index (BCH,DLSCH)
uint16_t
pdu_index
[
NFAPI_CC_MAX
];
/// NFAPI Config Request Structure
/// NFAPI Config Request Structure
nfapi_nr_config_request_t
config
[
NFAPI_CC_MAX
];
nfapi_nr_config_request_t
config
[
NFAPI_CC_MAX
];
/// NFAPI DL Config Request Structure
/// NFAPI DL Config Request Structure
...
@@ -121,12 +126,30 @@ typedef struct gNB_MAC_INST_s {
...
@@ -121,12 +126,30 @@ typedef struct gNB_MAC_INST_s {
nfapi_hi_dci0_request_t
HI_DCI0_req
[
NFAPI_CC_MAX
];
nfapi_hi_dci0_request_t
HI_DCI0_req
[
NFAPI_CC_MAX
];
/// NFAPI DL PDU structure
/// NFAPI DL PDU structure
nfapi_tx_request_t
TX_req
[
NFAPI_CC_MAX
];
nfapi_tx_request_t
TX_req
[
NFAPI_CC_MAX
];
/// Common cell resources
NR_COMMON_channels_t
common_channels
[
NFAPI_CC_MAX
];
/// current PDU index (BCH,DLSCH)
uint16_t
pdu_index
[
NFAPI_CC_MAX
];
UE_list_t
UE_list
;
UE_list_t
UE_list
;
// MAC function execution peformance profiler
/// processing time of eNB scheduler
time_stats_t
eNB_scheduler
;
/// processing time of eNB scheduler for SI
time_stats_t
schedule_si
;
/// processing time of eNB scheduler for Random access
time_stats_t
schedule_ra
;
/// processing time of eNB ULSCH scheduler
time_stats_t
schedule_ulsch
;
/// processing time of eNB DCI generation
time_stats_t
fill_DLSCH_dci
;
/// processing time of eNB MAC preprocessor
time_stats_t
schedule_dlsch_preprocessor
;
/// processing time of eNB DLSCH scheduler
time_stats_t
schedule_dlsch
;
// include rlc_data_req + MAC header + preprocessor
/// processing time of eNB MCH scheduler
time_stats_t
schedule_mch
;
/// processing time of eNB ULSCH reception
time_stats_t
rx_ulsch_sdu
;
// include rlc_data_ind
/// processing time of eNB PCH scheduler
time_stats_t
schedule_pch
;
}
gNB_MAC_INST
;
}
gNB_MAC_INST
;
#endif
/*__LAYER2_NR_MAC_DEFS_H__ */
#endif
/*__LAYER2_NR_MAC_DEFS_H__ */
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
26d61373
...
@@ -19,4 +19,8 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
...
@@ -19,4 +19,8 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
NR_ServingCellConfigCommon_t
*
servingcellconfigcommon
NR_ServingCellConfigCommon_t
*
servingcellconfigcommon
);
);
void
gNB_dlsch_ulsch_scheduler
(
module_id_t
module_idP
,
frame_t
frameP
,
sub_frame_t
subframeP
);
#endif
/*__LAYER2_NR_MAC_PROTO_H__*/
#endif
/*__LAYER2_NR_MAC_PROTO_H__*/
\ No newline at end of file
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
26d61373
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
#include "openair1/PHY/phy_extern.h"
#include "openair1/PHY/phy_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_proto.h"
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "common/ran_context.h"
#include "common/ran_context.h"
...
@@ -284,7 +285,11 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
...
@@ -284,7 +285,11 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
eNB_dlsch_ulsch_scheduler
(
module_id
,
eNB_dlsch_ulsch_scheduler
(
module_id
,
(
UL_info
->
frame
+
((
UL_info
->
subframe
>
(
9
-
sf_ahead
))
?
1
:
0
))
%
1024
,
(
UL_info
->
frame
+
((
UL_info
->
subframe
>
(
9
-
sf_ahead
))
?
1
:
0
))
%
1024
,
(
UL_info
->
subframe
+
sf_ahead
)
%
10
);
(
UL_info
->
subframe
+
sf_ahead
)
%
10
);
/*
gNB_dlsch_ulsch_scheduler(module_id,
(UL_info->frame+((UL_info->subframe>(9-sf_ahead))?1:0)) % 1024,
(UL_info->subframe+sf_ahead)%10);
*/
ifi
->
CC_mask
=
0
;
ifi
->
CC_mask
=
0
;
sched_info
->
module_id
=
module_id
;
sched_info
->
module_id
=
module_id
;
...
...
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