From 8614d3fe3ac396d5dcee831816645216369d8bea Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Mon, 21 Sep 2020 17:59:08 +0300 Subject: [PATCH] perf: Add cli option to configure default sock impl Change-Id: I165e6c9287ed576bdf7e34e02c5f27f3052a6456 Signed-off-by: Alexey Marchuk Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4329 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Ben Walker --- examples/nvme/perf/perf.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index 044bccb92..2bf4a01d1 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -1432,6 +1432,7 @@ static void usage(char *program_name) printf("\t[-Z enable zero copy send for the given sock implementation. Default for posix impl]\n"); printf("\t[-A IO buffer alignment. Must be power of 2 and not less than cache line (%u)]\n", SPDK_CACHE_LINE_SIZE); + printf("\t[-S set the default sock impl, e.g. \"posix\"]\n"); #ifdef SPDK_CONFIG_URING printf("\t[-R enable using liburing to drive kernel devices (Default: libaio)]\n"); #endif @@ -1846,7 +1847,7 @@ parse_args(int argc, char **argv) long int val; int rc; - while ((op = getopt(argc, argv, "a:c:e:i:lo:q:r:k:s:t:w:z:A:C:DGHILM:NP:RT:U:VZ:")) != -1) { + while ((op = getopt(argc, argv, "a:c:e:i:lo:q:r:k:s:t:w:z:A:C:DGHILM:NP:RS:T:U:VZ:")) != -1) { switch (op) { case 'a': case 'A': @@ -1992,6 +1993,13 @@ parse_args(int argc, char **argv) case 'Z': perf_set_sock_zcopy(optarg, true); break; + case 'S': + rc = spdk_sock_set_default_impl(optarg); + if (rc) { + fprintf(stderr, "Failed to set sock impl %s, err %d (%s)\n", optarg, errno, strerror(errno)); + return 1; + } + break; default: usage(argv[0]); return 1;