Whamcloud - gitweb
LU-7569 o2iblnd: avoid intensive reconnecting 92/17892/3
authorLiang Zhen <liang.zhen@intel.com>
Fri, 8 Jan 2016 15:30:47 +0000 (23:30 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 18 Jan 2016 05:58:33 +0000 (05:58 +0000)
commit9ab698e4d99103b2fecf19b0fd3f90d28723e9d1
tree6e25512e51593a3a9c3deb7f53473ec8919ad4e5
parent832772079aa9bc16ae37524e74be04ef230ec1f0
LU-7569 o2iblnd: avoid intensive reconnecting

When there is a connection race between two nodes and one side
of the connection is rejected by the other side. o2iblnd will
reconnect immediately, this is going to generate a lot of
trashes if:

- race winner is slow and can't send out connecting request
  in short time.
- remote side leaves a cmid in TIMEWAIT state, which will reject
  future connection requests

To resolve this problem, this patch changed the reconnection
behave: reconnection is submitted by connd only if a zombie
connection is being destroyed and there is a pending
reconnection request for the corresponding peer.

Also, after a few rejections, reconnection will have a time
interval between each attempt.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I45f010a27ef0b337c225a2354845db8cb6bb9969
Reviewed-on: http://review.whamcloud.com/17892
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lnet/klnds/o2iblnd/o2iblnd.c
lnet/klnds/o2iblnd/o2iblnd.h
lnet/klnds/o2iblnd/o2iblnd_cb.c