]> git.baikalelectronics.ru Git - kernel.git/commit
SUNRPC: Fix a livelock problem in the xprt->backlog queue
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 14 Apr 2013 14:49:37 +0000 (10:49 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 14 Apr 2013 16:26:02 +0000 (12:26 -0400)
commit01098d7cbddbf60d060f61233845dcbb50cd5285
treeee5ebe0a500e5926cf52af808096d8c56eae8657
parent2a7ff696f8ab86a2c6f6faed070c9f148a7f1d8f
SUNRPC: Fix a livelock problem in the xprt->backlog queue

This patch ensures that we throttle new RPC requests if there are
requests already waiting in the xprt->backlog queue. The reason for
doing this is to fix livelock issues that can occur when an existing
(high priority) task is waiting in the backlog queue, gets woken up
by xprt_free_slot(), but a new task then steals the slot.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/xprt.h
net/sunrpc/clnt.c
net/sunrpc/xprt.c