From 24315789903af6155a29d88418e2ba180cec2618 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Fri, 4 Sep 2020 23:06:24 +0000 Subject: [PATCH] nvme: increase size of uevent buffer to 1MB In production environments, there could be large numbers of uevents other than nvme hotplug events. We want to ensure we never lose an nvme uevent due to ENOBUFS (i.e. overflow). So allocate a bigger receive buffer for the netlink socket to ensure we never lose any events. We only allocate one netlink socket per SPDK application, so the extra memory consumption is not really a concern. Signed-off-by: Jim Harris Change-Id: I663fbb093516a01a8980a1517245f92d8c76f7aa Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4070 Reviewed-by: Changpeng Liu Reviewed-by: Tomasz Zawadzki Reviewed-by: Aleksey Marchuk Tested-by: SPDK CI Jenkins --- lib/nvme/nvme_uevent.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/nvme/nvme_uevent.c b/lib/nvme/nvme_uevent.c index a41f8bbe4..b03cefd34 100644 --- a/lib/nvme/nvme_uevent.c +++ b/lib/nvme/nvme_uevent.c @@ -43,13 +43,14 @@ #include #define SPDK_UEVENT_MSG_LEN 4096 +#define SPDK_UEVENT_RECVBUF_SIZE 1024 * 1024 int nvme_uevent_connect(void) { struct sockaddr_nl addr; int netlink_fd; - int size = 64 * 1024; + int size = SPDK_UEVENT_RECVBUF_SIZE; int flag; memset(&addr, 0, sizeof(addr));