Spdk/test
Jim Harris bd16f57472 blob: switch to bit_pool for tracking used_clusters
We still need to be able to explicitly set specific
bits in the cluster array during initialization and
loading (especially recovery), so we use a bit_array
during load, and then convert it to a bit_pool just
before calling the user's cmopletion callback.

This gives a roughly 300% improvement over baseline
on a benchmark which does continuous resize operations.
The benefit is primarily from saving the lowest free
bit rather than having to always start at bit 0.  We
may be able to further improve this by saving extents
in the bit pool as well, although after this patch,
the benchmark shows other hot spots different from the
bit search.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Idb1d75d8348bc50560b1f42d49dbe4d79d024619

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3975
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-09-15 07:12:44 +00:00
..
app test/fuzz: remove AERs from example JSON. 2020-08-17 08:21:11 +00:00
bdev scripts/setup remove flakiness from tests 2020-09-09 07:19:43 +00:00
blobfs test/blobfs: Call process_core() from rocksdb.sh test 2020-08-28 07:19:09 +00:00
blobstore build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
common test/pkgdep: move ibverbs-utils and rdmacm-utils to package list 2020-09-11 07:29:01 +00:00
compress module/compress: add new parm to RPC for create compress vol 2020-07-27 22:39:29 +00:00
config_converter test/config_converter: Declare $rootdir, $testdir paths 2020-02-20 09:54:15 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd test/dd: Lower the number of block size tests 2020-08-20 09:27:21 +00:00
dpdk_memory_utility build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
env lib/env_dpdk: replace printf() and fprintf(stderr,) usage 2020-09-07 09:28:39 +00:00
event test/event: add app_repeat test case 2020-07-24 15:25:57 +00:00
external_code test/common: consolidate test params for running with external DPDK 2020-08-17 11:56:32 +00:00
ftl test/ftl: point to absolute path to setup.sh 2020-07-06 23:22:59 +00:00
fuzz test/iscsi: remove VPP tests 2020-08-17 08:19:46 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt test/iscsi_tgt: Test login redirection 2020-08-31 15:22:44 +00:00
json_config test/vhost: workaround issue #1583 by specifying --vq-count 2020-09-04 08:13:48 +00:00
lvol build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
make test/check_so_dep: skip rdma dependency if not configured with RDMA 2020-09-01 07:51:19 +00:00
nvme scripts/setup remove flakiness from tests 2020-09-09 07:19:43 +00:00
nvmf test/nvmf: Remove duplicated code target second port. 2020-09-07 09:29:49 +00:00
ocf scripts/setup remove flakiness from tests 2020-09-09 07:19:43 +00:00
openstack test/nvmf: Handle multiple arguments in nvmfappstart() 2020-05-13 07:46:04 +00:00
pmem build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc_client lib/event: fix printing non-null-terminated strings 2020-04-06 07:48:37 +00:00
spdkcli lib/iscsi: Add MaxR2TPerConnection to iSCSI options 2020-08-18 07:27:45 +00:00
unit blob: switch to bit_pool for tracking used_clusters 2020-09-15 07:12:44 +00:00
vhost test/vhost: add option for fio gtod_reduce 2020-07-24 15:41:46 +00:00
vmd build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
Makefile build: add option to disable building unit tests 2020-03-10 09:12:21 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00