mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
xprtrdma: More Send completion batching
Instead of using a fixed number, allow the amount of Send completion batching to vary based on the client's maximum credit limit. - A larger default gives a small boost to IOPS throughput - Reducing it based on max_requests gives a safe result when the max credit limit is cranked down (eg. when the device has a small max_qp_wr). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
dbcc53a52d
commit
c209e49cea
@ -521,9 +521,7 @@ rpcrdma_ep_create(struct rpcrdma_ep *ep, struct rpcrdma_ia *ia,
|
||||
ep->rep_attr.cap.max_send_sge,
|
||||
ep->rep_attr.cap.max_recv_sge);
|
||||
|
||||
/* set trigger for requesting send completion */
|
||||
ep->rep_send_batch = min_t(unsigned int, RPCRDMA_MAX_SEND_BATCH,
|
||||
cdata->max_requests >> 2);
|
||||
ep->rep_send_batch = cdata->max_requests >> 3;
|
||||
ep->rep_send_count = ep->rep_send_batch;
|
||||
init_waitqueue_head(&ep->rep_connect_wait);
|
||||
ep->rep_receive_count = 0;
|
||||
|
@ -232,16 +232,6 @@ struct rpcrdma_sendctx {
|
||||
struct ib_sge sc_sges[];
|
||||
};
|
||||
|
||||
/* Limit the number of SGEs that can be unmapped during one
|
||||
* Send completion. This caps the amount of work a single
|
||||
* completion can do before returning to the provider.
|
||||
*
|
||||
* Setting this to zero disables Send completion batching.
|
||||
*/
|
||||
enum {
|
||||
RPCRDMA_MAX_SEND_BATCH = 7,
|
||||
};
|
||||
|
||||
/*
|
||||
* struct rpcrdma_mr - external memory region metadata
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user