At startup, use number of created io_target groups to detect completion and move to the next step. By returning completion message to the master thread, we can avoid using any atomic operation. At shutdown, we can use spdk_for_each_channel() conveniently. Put voluntary spdk_thread_exit() calls into the callback to spdk_put_io_channel(). To maintain the original behavior, number of threads created is equal to the number of cores that SPDK app uses. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I92ca4b1c1e8da0f45b47367bc2387701f4a9742f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/890 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> |
||
---|---|---|
.. | ||
.gitignore | ||
bdevperf.c | ||
bdevperf.py | ||
Makefile |