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>
Wed, 28 Mar 2012 03:52:58 +0000 (23:52 -0400)
commit67b5f9305a080885c9a2a2bc08d07e4e227308e4
tree54e422b9f76fcab50590f8a75516b46d37e00f67
parentae03fc8a48dbd2f93b8bf1dfecae10c615d5b949
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