Skip to content

Commit 0a5a1de

Browse files
author
sauka
committed
cleanup app units affinity config validation
1 parent 885496a commit 0a5a1de

37 files changed

+56
-217
lines changed

apps/cu/cu.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,7 @@ int main(int argc, char** argv)
239239
}
240240

241241
// Check the modified configuration.
242-
if (!validate_cu_appconfig(cu_cfg) ||
243-
!o_cu_cp_app_unit->on_configuration_validation(os_sched_affinity_bitmask::available_cpus()) ||
242+
if (!validate_cu_appconfig(cu_cfg) || !o_cu_cp_app_unit->on_configuration_validation() ||
244243
!o_cu_up_app_unit->on_configuration_validation(not cu_cfg.log_cfg.tracing_filename.empty())) {
245244
report_error("Invalid configuration detected.\n");
246245
}

apps/du/du.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,7 @@ int main(int argc, char** argv)
198198
}
199199

200200
// Check the modified configuration.
201-
if (!validate_appconfig(du_cfg) ||
202-
!o_du_app_unit->on_configuration_validation(os_sched_affinity_bitmask::available_cpus())) {
201+
if (!validate_appconfig(du_cfg) || !o_du_app_unit->on_configuration_validation()) {
203202
report_error("Invalid configuration detected.\n");
204203
}
205204

apps/du_low/du_low.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@ int main(int argc, char** argv)
172172
}
173173

174174
// Check the modified configuration.
175-
if (!validate_du_low_appconfig(du_low_cfg) ||
176-
!o_du_app_unit->on_configuration_validation(os_sched_affinity_bitmask::available_cpus())) {
175+
if (!validate_du_low_appconfig(du_low_cfg) || !o_du_app_unit->on_configuration_validation()) {
177176
report_error("Invalid configuration detected.\n");
178177
}
179178

apps/gnb/gnb.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,10 @@ int main(int argc, char** argv)
270270
fmt::println("NOTE: No JSON metrics will be generated as the remote server is disabled");
271271
}
272272

273-
auto available_cpu_mask = os_sched_affinity_bitmask::available_cpus();
274273
// Check the modified configuration.
275-
if (!validate_appconfig(gnb_cfg) || !o_cu_cp_app_unit->on_configuration_validation(available_cpu_mask) ||
274+
if (!validate_appconfig(gnb_cfg) || !o_cu_cp_app_unit->on_configuration_validation() ||
276275
!o_cu_up_app_unit->on_configuration_validation(not gnb_cfg.log_cfg.tracing_filename.empty()) ||
277-
!o_du_app_unit->on_configuration_validation(available_cpu_mask) ||
276+
!o_du_app_unit->on_configuration_validation() ||
278277
!validate_plmn_and_tacs(o_du_app_unit->get_o_du_high_unit_config().du_high_cfg.config,
279278
o_cu_cp_app_unit->get_o_cu_cp_unit_config().cucp_cfg)) {
280279
report_error("Invalid configuration detected.\n");

apps/units/flexible_o_du/flexible_o_du_application_unit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class flexible_o_du_application_unit : public application_unit
2828
virtual o_du_unit create_flexible_o_du_unit(const o_du_unit_dependencies& dependencies) = 0;
2929

3030
/// Validates the configuration of this application unit. Returns true on success, otherwise false.
31-
virtual bool on_configuration_validation(const os_sched_affinity_bitmask& available_cpus) const = 0;
31+
virtual bool on_configuration_validation() const = 0;
3232

3333
/// Returns the O-RAN DU high unit configuration of this flexible DU.
3434
virtual o_du_high_unit_config& get_o_du_high_unit_config() = 0;

apps/units/flexible_o_du/o_du_high/du_high/du_high_config_validator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1414,7 +1414,7 @@ static bool validate_qos_config(span<const du_high_unit_qos_config> config)
14141414
return true;
14151415
}
14161416

1417-
bool srsran::validate_du_high_config(const du_high_unit_config& config, const os_sched_affinity_bitmask& available_cpus)
1417+
bool srsran::validate_du_high_config(const du_high_unit_config& config)
14181418
{
14191419
if (!validate_cells_unit_config(config.cells_cfg, config.gnb_id)) {
14201420
return false;

apps/units/flexible_o_du/o_du_high/du_high/du_high_config_validator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
namespace srsran {
1616

1717
/// Validates the given DU high configuration. Returns true on success, false otherwise.
18-
bool validate_du_high_config(const du_high_unit_config& config, const os_sched_affinity_bitmask& available_cpus);
18+
bool validate_du_high_config(const du_high_unit_config& config);
1919

2020
} // namespace srsran

apps/units/flexible_o_du/o_du_high/o_du_high_unit_config_validator.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616
namespace srsran {
1717

1818
/// Validates the given O-DU high configuration. Returns true on success, false otherwise.
19-
inline bool validate_o_du_high_config(const o_du_high_unit_config& config,
20-
const os_sched_affinity_bitmask& available_cpus)
19+
inline bool validate_o_du_high_config(const o_du_high_unit_config& config)
2120
{
22-
return validate_du_high_config(config.du_high_cfg.config, available_cpus);
21+
return validate_du_high_config(config.du_high_cfg.config);
2322
}
2423

2524
} // namespace srsran

apps/units/flexible_o_du/o_du_low/du_low_config_validator.cpp

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,9 @@ static bool validate_upper_phy_threads_appconfig(const du_low_unit_expert_thread
5050
return valid;
5151
}
5252

53-
static bool validate_expert_execution_unit_config(const du_low_unit_config& config,
54-
const os_sched_affinity_bitmask& available_cpus)
53+
static bool validate_expert_execution_unit_config(const du_low_unit_config& config)
5554
{
56-
if (!validate_upper_phy_threads_appconfig(config.expert_execution_cfg.threads)) {
57-
return false;
58-
}
59-
60-
auto validate_cpu_range = [](const os_sched_affinity_bitmask& allowed_cpus_mask,
61-
const os_sched_affinity_bitmask& mask,
62-
const std::string& name) {
63-
auto invalid_cpu_ids = mask.subtract(allowed_cpus_mask);
64-
if (not invalid_cpu_ids.empty()) {
65-
fmt::print("CPU cores {} selected in '{}' option doesn't belong to available cpuset.\n", invalid_cpu_ids, name);
66-
return false;
67-
}
68-
69-
return true;
70-
};
71-
72-
for (const auto& cell : config.expert_execution_cfg.cell_affinities) {
73-
if (!validate_cpu_range(available_cpus, cell.l1_dl_cpu_cfg.mask, "l1_dl_cpus")) {
74-
return false;
75-
}
76-
}
77-
return true;
55+
return validate_upper_phy_threads_appconfig(config.expert_execution_cfg.threads);
7856
}
7957

8058
static bool validate_phy_prach_configuration(span<const du_low_prach_validation_config>& prach_cells_config)
@@ -147,14 +125,13 @@ bool srsran::validate_du_low_config(const du_low_unit_config& c
147125
return false;
148126
}
149127

128+
if (!validate_expert_execution_unit_config(config)) {
129+
return false;
130+
}
131+
150132
if (!validate_phy_prach_configuration(prach_cells_config)) {
151133
return false;
152134
}
153135

154136
return true;
155137
}
156-
157-
bool srsran::validate_du_low_cpus(const du_low_unit_config& config, const os_sched_affinity_bitmask& available_cpus)
158-
{
159-
return validate_expert_execution_unit_config(config, available_cpus);
160-
}

apps/units/flexible_o_du/o_du_low/du_low_config_validator.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,4 @@ struct du_low_prach_validation_config {
3434
bool validate_du_low_config(const du_low_unit_config& config,
3535
span<const du_low_prach_validation_config> prach_cells_config);
3636

37-
/// Validates the given DU low CPUs configuration. Returns true on success, false otherwise.
38-
bool validate_du_low_cpus(const du_low_unit_config& config, const os_sched_affinity_bitmask& available_cpus);
39-
4037
} // namespace srsran

0 commit comments

Comments
 (0)