Whamcloud - gitweb
LU-1373 ptlrpc: add flow control extension to ptlrpc req set
authorJohann Lombardi <johann@whamcloud.com>
Fri, 4 May 2012 15:53:44 +0000 (17:53 +0200)
committerOleg Drokin <green@whamcloud.com>
Mon, 11 Jun 2012 13:34:08 +0000 (09:34 -0400)
commit020924966d4acd98e96ede094d72a49b762233db
tree0e8d0568964ab9e1ea6a53ba0e3c8ebd211d2fa8
parent50d7f5355573f00154cdb145e4392f8b7c89785b
LU-1373 ptlrpc: add flow control extension to ptlrpc req set

This patch allows new requests to be added to a request set while
this latter has already requests in flight. This is done by adding a
callback function invoked by the request set to generate RPCs.
The request set will fire a new RPC each time one completes, keeping
the number of RPCs in flight equals to set->set_max_inflight.

Lock callbacks can thus be sent by the service thread again. This
avoids doing disk I/O from the ptlrpcd context.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: If95922fa8da1dfa7ce7c98d6bfe35e9a5f5bb34f
Reviewed-on: http://review.whamcloud.com/2650
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_net.h
lustre/ldlm/ldlm_internal.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ptlrpc/client.c