Skip to content

Commit a07a02d

Browse files
committed
crimson/tools/perf_crimson_msgr: don't create client/server if not necessary
Signed-off-by: Yingxin Cheng <[email protected]>
1 parent 5c14be4 commit a07a02d

File tree

1 file changed

+30
-18
lines changed

1 file changed

+30
-18
lines changed

src/crimson/tools/perf_crimson_msgr.cc

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,24 +1070,36 @@ static seastar::future<> run(
10701070
server_needs_report = true;
10711071
}
10721072
return seastar::when_all(
1073-
create_sharded<test_state::Server>(
1074-
server_conf.core,
1075-
server_conf.block_size,
1076-
server_needs_report),
1077-
create_sharded<test_state::Client>(
1078-
client_conf.num_clients,
1079-
client_conf.num_conns,
1080-
client_conf.block_size,
1081-
client_conf.depth,
1082-
server_sid),
1083-
crimson::common::sharded_conf().start(
1084-
EntityName{}, std::string_view{"ceph"}
1085-
).then([] {
1086-
return crimson::common::local_conf().start();
1087-
}).then([crc_enabled] {
1088-
return crimson::common::local_conf().set_val(
1089-
"ms_crc_data", crc_enabled ? "true" : "false");
1090-
})
1073+
seastar::futurize_invoke([mode, server_conf, server_needs_report] {
1074+
if (mode == perf_mode_t::client) {
1075+
return seastar::make_ready_future<test_state::Server*>(nullptr);
1076+
} else {
1077+
return create_sharded<test_state::Server>(
1078+
server_conf.core,
1079+
server_conf.block_size,
1080+
server_needs_report);
1081+
}
1082+
}),
1083+
seastar::futurize_invoke([mode, client_conf, server_sid] {
1084+
if (mode == perf_mode_t::server) {
1085+
return seastar::make_ready_future<test_state::Client*>(nullptr);
1086+
} else {
1087+
return create_sharded<test_state::Client>(
1088+
client_conf.num_clients,
1089+
client_conf.num_conns,
1090+
client_conf.block_size,
1091+
client_conf.depth,
1092+
server_sid);
1093+
}
1094+
}),
1095+
crimson::common::sharded_conf().start(
1096+
EntityName{}, std::string_view{"ceph"}
1097+
).then([] {
1098+
return crimson::common::local_conf().start();
1099+
}).then([crc_enabled] {
1100+
return crimson::common::local_conf().set_val(
1101+
"ms_crc_data", crc_enabled ? "true" : "false");
1102+
})
10911103
).then([=](auto&& ret) {
10921104
auto server = std::move(std::get<0>(ret).get0());
10931105
auto client = std::move(std::get<1>(ret).get0());

0 commit comments

Comments
 (0)