Whamcloud - gitweb
LU-1212 ptlrpc: ptlrpc_grow_req_bufs is racy
authorLiang Zhen <liang@whamcloud.com>
Wed, 14 Mar 2012 04:41:08 +0000 (12:41 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 16 Mar 2012 21:36:10 +0000 (17:36 -0400)
commit53402f0c0280425a1390a0c13840a750eb8c0a49
tree5cf392517d1f97667f5ca00ce6a1d43184199cfe
parent11c63d251e4d121bab0e97ccd69e9fd6d5ba38e4
LU-1212 ptlrpc: ptlrpc_grow_req_bufs is racy

multiple ptlrpc service threads can enter ptlrpc_grow_req_bufs()
the same time if they found "low_water" in ptlrpc_check_rqbd_pool(),
each of these threads will allocate ptlrpc_service::srv_nbuf_per_group
request buffers and could consume all memory.

Signed-off-by: Liang Zhen <liang@whamcloud.com>
Change-Id: I83d6fe53a0f86691ae7e2afb3d75fb8677f58688
Reviewed-on: http://review.whamcloud.com/2308
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
lustre/ptlrpc/service.c