numam-spdk/lib/util
Jim Harris 0d2a5bbe17 util: add spdk_bit_pool
spdk_bit_pool is a wrapper around spdk_bit_array with the
intentions of providing much better performance for allocating
from a fragmented bit array.  The cost of searching a large bit
array for a cleared bit can become expensive so the spdk_bit_pool
will provide an ability to track extents of recently cleared
bits.

This initial commit does not adding the tracking yet - it is strictly
a wrapper around spdk_bit_array with enough functionality to replace
the use of spdk_bit_pool in SPDK blobstore with equivalent performance.
This will allow us to switch blobstore to use this minimal
wrapper first, and then iteratively improve spdk_bit_pool to provide
the better performance.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I95d0d12db47eac73e0641eb7f94fa5df43d42e45
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3974
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>
Community-CI: Broadcom CI
2020-09-15 07:12:44 +00:00
..
base64_neon.c lib/util: remove _spdk prefix from functions. 2020-06-01 13:07:30 +00:00
base64.c lib/util: remove _spdk prefix from functions. 2020-06-01 13:07:30 +00:00
bit_array.c util: add spdk_bit_pool 2020-09-15 07:12:44 +00:00
cpuset.c cpuset: fix parse_mask 2020-08-27 08:34:07 +00:00
crc16.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
crc32_ieee.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
crc32.c lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
crc32c.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
dif.c dif: Add spdk_dix_remap_ref_tag to remap ref. tag for separate metadata payload 2019-07-11 11:14:22 +00:00
fd.c util/fd: drop fallback from spdk_fd_get_blocklen() 2017-08-11 19:36:30 -04:00
file.c util: add a new file operation API 2019-05-15 18:54:27 +00:00
iov.c util: Add spdk_iovcpy, an iovec to iovec copy function. 2019-11-20 09:35:32 +00:00
Makefile util: add spdk_bit_pool 2020-09-15 07:12:44 +00:00
math.c util: Fix LTO compilation with FMV 2019-09-11 16:30:38 +00:00
pipe.c pipe: Simplify the pipe code 2020-03-31 07:59:26 +00:00
spdk_util.map util: add spdk_bit_pool 2020-09-15 07:12:44 +00:00
strerror_tls.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
string.c lib/util: fix spdk_strerror() empty string return 2019-07-10 08:29:21 +00:00
util_internal.h lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
uuid.c util/uuid: add a new uuid copy API. 2018-12-06 22:25:09 +00:00