From 4a9209bf1db1fc02a00f683aeb3c2754fe8ef99b Mon Sep 17 00:00:00 2001 From: Xinrui Mao Date: Fri, 16 Sep 2022 05:47:56 +0000 Subject: [PATCH] lib/nbd: return nbd_poll idle or busy accordingly The previous version missed the case of return value of _nbd_poll equals to 0,and thus,when using nbd with no io,spdk_top shows high cpu utilization.Return idle when _nbd_poll return 0. Fixes #2697 Signed-off-by: Xinrui Mao Change-Id: Ifa2ca3010e10250b5320a8282dfed3d97bea5105 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14615 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Tomasz Zawadzki Community-CI: Mellanox Build Bot --- lib/nbd/nbd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nbd/nbd.c b/lib/nbd/nbd.c index bac4f8fa3..3b33c309c 100644 --- a/lib/nbd/nbd.c +++ b/lib/nbd/nbd.c @@ -835,7 +835,7 @@ nbd_poll(void *arg) spdk_nbd_stop(nbd); } - return SPDK_POLLER_BUSY; + return rc == 0 ? SPDK_POLLER_IDLE : SPDK_POLLER_BUSY; } static void *