Whamcloud - gitweb
LU-16949 lnet: get monitor thread to update ping buffer 35/51635/6
authorSerguei Smirnov <ssmirnov@whamcloud.com>
Tue, 11 Jul 2023 22:40:37 +0000 (15:40 -0700)
committerOleg Drokin <green@whamcloud.com>
Mon, 7 Aug 2023 03:50:08 +0000 (03:50 +0000)
commit7ac399c5aec01186ad4c9a7153aea400777c897f
treedf32d9ed8957ef04452f04929ab0aa7d1f905a34
parentc6e65ef62fd6c5519e0e7c9fd7240e92a7b064f2
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.

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/fs/lustre-release/+/51635
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@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