Whamcloud - gitweb
LU-18878 ptlrpc: improve ping evictor and recovery timeout 20/58620/3
authorVitaly Fertman <c17818@cray.com>
Mon, 31 Mar 2025 17:51:28 +0000 (20:51 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 16 Apr 2025 20:41:28 +0000 (20:41 +0000)
commit4cb897ca4a970a35ef239de6148f487a9683ba2f
tree5b2b4805c06bf1145b40fb721b91601db0732970
parent6bf756614fc70780006b0d2d48b6572849f78147
LU-18878 ptlrpc: improve ping evictor and recovery timeout

Let's re-use the logic used for extending the ldlm prolong timeout for
the ping evictor timeout and for recovery timer timeout - use the AT
instead of hard-coded values.

As the AT-based ping timeout is extended on different value each time,
moving an updated export to the end of the timed list is able to make
it not well sorted. Change the list of timed exports, to the rbtree.

Partially revert LUS-11054, tunable ping_evict_timeout_multiplier is
not needed anymore

A minor cleanup of exp_timed flag on connect/reconnect.

Fixes: 8e66f061c ("LU-16002 ptlrpc: adds configurable ping interval”)
HPE-bug-id: LUS-11723
Signed-off-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Change-Id: I97b9795746ccd4242f9798c8192abd4d7a57bbac
Reviewed-on: https://es-gerrit.hpc.amslabs.hpecorp.net/162935
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58620
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
19 files changed:
lustre/include/lustre_dlm.h
lustre/include/lustre_export.h
lustre/include/lustre_net.h
lustre/include/obd.h
lustre/include/obd_class.h
lustre/include/obd_support.h
lustre/ldlm/ldlm_extent.c
lustre/ldlm/ldlm_lib.c
lustre/ldlm/ldlm_lockd.c
lustre/mdt/mdt_handler.c
lustre/obdclass/class_obd.c
lustre/obdclass/genops.c
lustre/obdclass/obd_config.c
lustre/obdclass/obd_sysfs.c
lustre/obdecho/echo_client.c
lustre/ofd/ofd_obd.c
lustre/ptlrpc/pinger.c
lustre/ptlrpc/service.c
lustre/tests/recovery-small.sh