From 414b56600a83e0030a7532181b5e24e280994597 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Wed, 16 Dec 2020 16:39:15 +0800 Subject: [PATCH] examples/nvme_reconnect: add single memory segment parameter support Add one optional parameter to enable single memory segment, which can be tested with libvfio-user NVMeoF target. Change-Id: I6d77b0c33f13500e24266ca190d2ee797708a65e Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5593 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- examples/nvme/reconnect/reconnect.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/nvme/reconnect/reconnect.c b/examples/nvme/reconnect/reconnect.c index 749b4e819..9c8abb651 100644 --- a/examples/nvme/reconnect/reconnect.c +++ b/examples/nvme/reconnect/reconnect.c @@ -115,6 +115,7 @@ static bool g_warn; static uint32_t g_keep_alive_timeout_in_ms = 0; static uint8_t g_transport_retry_count = 4; static uint8_t g_transport_ack_timeout = 0; /* disabled */ +static bool g_dpdk_mem_single_seg = false; static const char *g_core_mask; @@ -684,7 +685,7 @@ parse_args(int argc, char **argv) g_core_mask = NULL; g_max_completions = 0; - while ((op = getopt(argc, argv, "c:m:o:q:r:k:s:t:w:A:GM:R:T:")) != -1) { + while ((op = getopt(argc, argv, "c:gm:o:q:r:k:s:t:w:A:GM:R:T:")) != -1) { switch (op) { case 'm': case 'o': @@ -734,6 +735,9 @@ parse_args(int argc, char **argv) case 'c': g_core_mask = optarg; break; + case 'g': + g_dpdk_mem_single_seg = true; + break; case 'r': if (add_trid(optarg)) { usage(argv[0]); @@ -1085,6 +1089,7 @@ int main(int argc, char **argv) if (g_dpdk_mem) { opts.mem_size = g_dpdk_mem; } + opts.hugepage_single_segments = g_dpdk_mem_single_seg; if (spdk_env_init(&opts) < 0) { fprintf(stderr, "Unable to initialize SPDK env\n"); rc = 1;