Whamcloud - gitweb
LU-2424 ptlrpc: buffer utilization of rqbd
This patch covered a few things:
- dfferent request buffer size for different MDS service
Size of MDS request/reply without LOV EA can be way smaller than
request/reply size with LOV EQ
This patch defined four different buffer size for different
MDS services: MDS_MAXREQSIZE, MDS_MAXREPSIZE, MDS_LOV_MAXREQSIZE
and MDS_LOV_MAXREPSIZE
- add extra 128K to MDS_LOV_BUFSIZE
MDS_LOV_BUFSIZE should be at least (max_reqsize + max sptlrpc
payload size which is (MDS_LOV_MAXREQSIZE + 1024)), but if
MDS_LOV_BUFSIZE is only a little larger than MDS_LOV_MAXREQSIZE,
then it can only fit in one request even there are 48K bytes
left in a rqbd, memory utilization is very low.
In the meanwhile, size of rqbd can't be too large, because rqbd
can't be reused until all requests fit in it have been processed
and released, which means one long blocked request can prevent
the rqbd bereused.
Now we give extra 128K to buffer size, so even each rqbd is unlinked
from LNet with unused 48K, buffer utilization will be above 70%.
Xyratex-bug-id: MRP-689
Signed-off-by: Liang Zhen <liang@whamcloud.com>
Change-Id: I19107918e62f9de59dd88652f3513234c30e56ce
Reviewed-on: http://review.whamcloud.com/4940
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>