Commit 90f9ccea authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

thread: Separate minimum from default iobuf pool sizes



The defaults remain the same, but now the pools can be made smaller.

Change-Id: Icc59ae5f7077019114b39a7b440df56c73a9717f
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17505


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent df107f80
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -10,8 +10,10 @@
#include "spdk/thread.h"
#include "spdk/bdev.h"

#define IOBUF_MIN_SMALL_POOL_SIZE	8191
#define IOBUF_MIN_LARGE_POOL_SIZE	1023
#define IOBUF_MIN_SMALL_POOL_SIZE	64
#define IOBUF_MIN_LARGE_POOL_SIZE	8
#define IOBUF_DEFAULT_SMALL_POOL_SIZE	8192
#define IOBUF_DEFAULT_LARGE_POOL_SIZE	1024
#define IOBUF_ALIGNMENT			4096
#define IOBUF_MIN_SMALL_BUFSIZE		(SPDK_BDEV_BUF_SIZE_WITH_MD(SPDK_BDEV_SMALL_BUF_MAX_SIZE) + \
					 IOBUF_ALIGNMENT)
@@ -49,8 +51,8 @@ static struct iobuf g_iobuf = {
	.small_pool_base = NULL,
	.large_pool_base = NULL,
	.opts = {
		.small_pool_count = IOBUF_MIN_SMALL_POOL_SIZE,
		.large_pool_count = IOBUF_MIN_LARGE_POOL_SIZE,
		.small_pool_count = IOBUF_DEFAULT_SMALL_POOL_SIZE,
		.large_pool_count = IOBUF_DEFAULT_LARGE_POOL_SIZE,
		.small_bufsize = IOBUF_MIN_SMALL_BUFSIZE,
		.large_bufsize = IOBUF_MIN_LARGE_BUFSIZE,
	},
+6 −8
Original line number Diff line number Diff line
@@ -5535,21 +5535,19 @@ bdev_set_options_test(void)
	CU_ASSERT(rc == -1);

	spdk_bdev_get_opts(&bdev_opts, sizeof(bdev_opts));
	bdev_opts.bdev_io_pool_size = 4;
	bdev_opts.bdev_io_cache_size = 2;
	bdev_opts.small_buf_pool_size = 4;

	/* Case 2: Do not set valid small_buf_pool_size and large_buf_pool_size */
	/* Case 2: Invalid small_buf_pool_size */
	bdev_opts.small_buf_pool_size = 0;
	rc = spdk_bdev_set_opts(&bdev_opts);
	CU_ASSERT(rc == -1);

	/* Case 3: Do not set valid large_buf_pool_size */
	/* Case 3: Invalid large_buf_pool_size */
	bdev_opts.small_buf_pool_size = BUF_SMALL_POOL_SIZE;
	bdev_opts.large_buf_pool_size = BUF_LARGE_POOL_SIZE - 1;
	bdev_opts.large_buf_pool_size = 0;
	rc = spdk_bdev_set_opts(&bdev_opts);
	CU_ASSERT(rc == -1);

	/* Case4: set valid large buf_pool_size */
	/* Case 4: All valid */
	bdev_opts.large_buf_pool_size = BUF_LARGE_POOL_SIZE;
	rc = spdk_bdev_set_opts(&bdev_opts);
	CU_ASSERT(rc == 0);