Whamcloud - gitweb
LU-7236 ptlrpc: idle connections can disconnect 82/16682/123
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Mon, 28 Sep 2015 13:50:15 +0000 (16:50 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 14 Jun 2018 03:54:09 +0000 (03:54 +0000)
commit5a6ceb664f07812c351786c1043da71ff5027f8c
tree78b0c4c5a9f8ea1bc07d4a42811120d16d4e430c
parent45bb717b9d80bbe95559b45b6a8a6a49ec28e071
LU-7236 ptlrpc: idle connections can disconnect

 - when new request is being allocated ptlrpc initiates
   connection if it's not connected yet
 - if the import is idle (no locks, no active RPCs, no
   non-PING reply for last osc_idle_timeout seconds),
   then pinger tries to disconnect asynchronously
 - currently only client-to-OST connections can be idle
 - lctl set_param osc.*.idle_timeout=N controls new feature:
   N=0 - disable
   N>0 - seconds to idle before disconnect
 - lctl set_param osc.*.idle_connect=N to reconnect if idle
   (N is positive number)
 - OSC module parameter osc_idle_timeout controls default
   idle timeout and set to 20 seconds by default

Change-Id: I4b90eb5209a0b0e62d85fd55ad6e9cab8c03fd14
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/16682
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
17 files changed:
lustre/include/lustre_import.h
lustre/include/lustre_net.h
lustre/lov/lov_ea.c
lustre/lov/lov_obd.c
lustre/lov/lov_request.c
lustre/osc/lproc_osc.c
lustre/osc/osc_request.c
lustre/ptlrpc/client.c
lustre/ptlrpc/events.c
lustre/ptlrpc/import.c
lustre/ptlrpc/pinger.c
lustre/tests/conf-sanity.sh
lustre/tests/runtests
lustre/tests/sanity-flr.sh
lustre/tests/sanity.sh
lustre/tests/sanityn.sh
lustre/tests/test-framework.sh