New features:
* --jobs: start multiple client messengers from core #1 ~ #jobs;
* --core: can assign server core to get away from busy client cores;
* --rounds: a client will send <rounds>/<jobs> messages;
Improved:
* Better configuration report;
* Report individual client results plus a summary;
* Validate if CPU number is sufficient before running;
* Sleep 1 second while connecting, so it won't hurt performance;
* Simplify client logic and bug fixes;
Removed unecessary features:
* finish_decode() for MOSDOp;
* keepalive ratio;
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
sharded data structures should only be allocated in core#0, or the
program will hang during exit.
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
Instead of chaining writes with send_ready, connection will batch
messages in out_q, and will reap them by write_events() in the open
state.
The performance of pingpong is 3.7 times better from observation.
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
* introduce write_state_t to decouple write behaviors from states.
* replace `h.promise` with `state_changed`, with a more general way to
change write behaviors according to state switches.
* centralize write_event() to dispatch writes in the open state.
* friendly interface for v1/v2 protocol abstraction.
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
mgr/orchestrator: Add error handling to interface
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
when building seastar with a recent fmt, fmt complains:
src/fmt/include/fmt/time.h:13:2: error: #warning fmt/time.h is
deprecated, use fmt/chrono.h instead [-Werror=cpp]
#warning fmt/time.h is deprecated, use fmt/chrono.h instead
^~~~~~~
Signed-off-by: Kefu Chai <kchai@redhat.com>
Seastar::seastar does pull in libfmt library as a PUBLIC linkage. but we
should not depend on this. if we use fmt directly, we should link against it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
we should not rely on seastar or other headers to do this. if we use
fmt or std functions, we should include corresponding header(s).
Signed-off-by: Kefu Chai <kchai@redhat.com>
* modules/BuildDPDK.cmake: always use "make"
* modules/BuildSPDK.cmake: always use "make"
DPDK only support "make". if user wants to use other generator than
"make", we will fail to build DPDK support. so we should always use
"make" here. and before using "make", we need to detect it.
* cmake/modules/BuildRocksDB.cmake: use cmake for build
* src/compressor/zstd/CMakeLists.txt: use cmake for build
just use whatever generator use specifies, and use ${CMAKE_COMMAND}
for building the specified target, no need to repeat
${CMAKE_GENERATOR} for building the target.
Signed-off-by: Kefu Chai <kchai@redhat.com>
mgr/dashboard: Added breadcrumb tests to Manager modules and Alerts menu
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
all of these civetweb options have to be on the same line as rgw_frontends
Fixes: https://tracker.ceph.com/issues/37770
Signed-off-by: Casey Bodley <cbodley@redhat.com>