From 28b3889c8e7001d2a08f10c1316113b3d5456e21 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Mon, 29 Mar 2021 12:34:51 -0700 Subject: [PATCH] sock: Use an enum for placement modes Easier to read than integers. Signed-off-by: Ben Walker Change-Id: Ie9b8b16e1916b393a257e9ed0180ef9837f20cd2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7205 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk Reviewed-by: Shuhei Matsumoto Community-CI: Mellanox Build Bot --- include/spdk/sock.h | 7 +++++++ lib/sock/sock.c | 6 +++--- module/sock/posix/posix.c | 8 ++++---- module/sock/uring/uring.c | 8 ++++---- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/include/spdk/sock.h b/include/spdk/sock.h index 3f40fbf97..249020d55 100644 --- a/include/spdk/sock.h +++ b/include/spdk/sock.h @@ -80,6 +80,12 @@ struct spdk_sock_request { #define SPDK_SOCK_REQUEST_IOV(req, i) ((struct iovec *)(((uint8_t *)req + sizeof(struct spdk_sock_request)) + (sizeof(struct iovec) * i))) +enum spdk_placement_mode { + PLACEMENT_NONE, + PLACEMENT_NAPI, + PLACEMENT_CPU, +}; + /** * SPDK socket implementation options. * @@ -115,6 +121,7 @@ struct spdk_sock_impl_opts { /** * Enable or disable placement_id. Used by posix and uring socket modules. + * Valid values in the enum spdk_placement_mode. */ uint32_t enable_placement_id; diff --git a/lib/sock/sock.c b/lib/sock/sock.c index 5c6d5732b..74cc68660 100644 --- a/lib/sock/sock.c +++ b/lib/sock/sock.c @@ -489,7 +489,7 @@ spdk_sock_group_create(void *ctx) struct spdk_sock_group_impl *group_impl; struct spdk_sock_impl_opts sock_opts = {}; size_t sock_len; - bool enable_incoming_cpu = 0; + bool enable_incoming_cpu = false; group = calloc(1, sizeof(*group)); if (group == NULL) { @@ -507,8 +507,8 @@ spdk_sock_group_create(void *ctx) sock_len = sizeof(sock_opts); spdk_sock_impl_get_opts(impl->name, &sock_opts, &sock_len); - if (sock_opts.enable_placement_id == 2) { - enable_incoming_cpu = 1; + if (sock_opts.enable_placement_id == PLACEMENT_CPU) { + enable_incoming_cpu = true; } } } diff --git a/module/sock/posix/posix.c b/module/sock/posix/posix.c index 0533a88a4..4370af257 100644 --- a/module/sock/posix/posix.c +++ b/module/sock/posix/posix.c @@ -86,7 +86,7 @@ static struct spdk_sock_impl_opts g_spdk_posix_sock_impl_opts = { .enable_recv_pipe = true, .enable_zerocopy_send = true, .enable_quickack = false, - .enable_placement_id = 0, + .enable_placement_id = PLACEMENT_NONE, }; static int @@ -1115,9 +1115,9 @@ posix_sock_get_placement_id(struct spdk_sock *_sock, int *placement_id) return rc; } - if (g_spdk_posix_sock_impl_opts.enable_placement_id != 0) { + if (g_spdk_posix_sock_impl_opts.enable_placement_id != PLACEMENT_NONE) { switch (g_spdk_posix_sock_impl_opts.enable_placement_id) { - case 1: { + case PLACEMENT_NAPI: { #if defined(SO_INCOMING_NAPI_ID) struct spdk_posix_sock *sock = __posix_sock(_sock); socklen_t len = sizeof(int); @@ -1126,7 +1126,7 @@ posix_sock_get_placement_id(struct spdk_sock *_sock, int *placement_id) #endif break; } - case 2: { + case PLACEMENT_CPU: { #if defined(SO_INCOMING_CPU) struct spdk_posix_sock *sock = __posix_sock(_sock); socklen_t len = sizeof(int); diff --git a/module/sock/uring/uring.c b/module/sock/uring/uring.c index c55a5f0fc..87175a683 100644 --- a/module/sock/uring/uring.c +++ b/module/sock/uring/uring.c @@ -102,7 +102,7 @@ static struct spdk_sock_impl_opts g_spdk_uring_sock_impl_opts = { .send_buf_size = MIN_SO_SNDBUF_SIZE, .enable_recv_pipe = true, .enable_quickack = false, - .enable_placement_id = 0, + .enable_placement_id = PLACEMENT_NONE, }; #define SPDK_URING_SOCK_REQUEST_IOV(req) ((struct iovec *)((uint8_t *)req + sizeof(struct spdk_sock_request))) @@ -1098,9 +1098,9 @@ uring_sock_get_placement_id(struct spdk_sock *_sock, int *placement_id) return rc; } - if (g_spdk_uring_sock_impl_opts.enable_placement_id != 0) { + if (g_spdk_uring_sock_impl_opts.enable_placement_id != PLACEMENT_NONE) { switch (g_spdk_uring_sock_impl_opts.enable_placement_id) { - case 1: { + case PLACEMENT_NAPI: { #if defined(SO_INCOMING_NAPI_ID) struct spdk_uring_sock *sock = __uring_sock(_sock); socklen_t len = sizeof(int); @@ -1109,7 +1109,7 @@ uring_sock_get_placement_id(struct spdk_sock *_sock, int *placement_id) #endif break; } - case 2: { + case PLACEMENT_CPU: { #if defined(SO_INCOMING_CPU) struct spdk_uring_sock *sock = __uring_sock(_sock); socklen_t len = sizeof(int);