Whamcloud - gitweb
LU-16949 lnet: get monitor thread to update ping buffer
authorSerguei Smirnov <ssmirnov@whamcloud.com>
Tue, 11 Jul 2023 22:40:37 +0000 (15:40 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Mon, 28 Aug 2023 16:18:16 +0000 (16:18 +0000)
commite3d4371f7257339497566fa7bd28d8f53365dafc
tree792db87b9ab78349c4010c500c63cbdbd92db179
parent2838e47407078ef6ab7653daa54fc39d37921f2b
LU-16949 lnet: get monitor thread to update ping buffer

Make sure that ping buffer updates requested by o2iblnd and
socklnd are performed by the LNet monitor thread.
Having the LNDs do these updates via an LNet API directly caused a
lock-up due to spinlock acquisition while in an interrupt context
in Centos 7.9 environment.
To avoid LNet trying to update the ping buffer for an LNI which is
still initializing, check that o2iblnd net is fully initialized
(IBLND_INIT_ALL) before requesting the ping buffer update.

Lustre-change: https://review.whamcloud.com/51635/
Lustre-commit: 7ac399c5aec01186ad4c9a7153aea400777c897f

Fixes: da230373bd ("LU-16563 lnet: use discovered ni status")
Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I87ff8791937f5a0ead6096ff33e8c0a8087f8ddd
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51704
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lnet/include/lnet/lib-lnet.h
lnet/include/lnet/lib-types.h
lnet/klnds/o2iblnd/o2iblnd.c
lnet/klnds/socklnd/socklnd.c
lnet/lnet/api-ni.c
lnet/lnet/lib-move.c