Spdk/examples/bdev
Shuhei Matsumoto 8e373044bf bdevperf: Create and use per lcore thread pool
If bdevperf runs with -C option and two or more NVMe bdevs,
two or more poll groups are created on each CPU core because bdevperf
creates one SPDK thread per job per CPU core in this case.

However, generally SPDK application creates one SPDK thread per CPU
core. We want bdevperf to immitate closely generic SPDK application
pattern.

For this requirement, create a thread poll made of per core threads.
Then, each job gets one of the threads whose lcore matches instead of
creating a new thread.

This feature is available only if bdevperf's config file is not used
because bdevperf's config file can specify cpumap per job.

Fixes issue #2933

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I0bd5a72f9ee8deade6c4e8ca0cdea3c89ff2541f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16994
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2023-03-08 08:46:29 +00:00
..
bdevperf bdevperf: Create and use per lcore thread pool 2023-03-08 08:46:29 +00:00
fio_plugin bdev_fio_plugin: Replace spdk_bdev_first/next_leaf() by spdk_for_each_bdev_leaf() 2023-01-31 10:30:52 +00:00
hello_world add Intel copyright notices (and/or SPDX lic) where missing 2022-11-10 08:28:53 +00:00
Makefile bdevperf: promote bdevperf from test to example application 2022-11-16 09:52:41 +00:00