]> git.baikalelectronics.ru Git - kernel.git/commit
SUNRPC: When changing the queue priority, ensure that we change the owner
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 27 Jan 2013 19:20:49 +0000 (14:20 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 30 Jan 2013 22:45:14 +0000 (17:45 -0500)
commit501f1e288631636660f621cea893f7ebff2cec6a
treed44df6639a2431212bcb50f6117ba7b1083dc67d
parent80c39f65793410afc96b414131e4184a445b210d
SUNRPC: When changing the queue priority, ensure that we change the owner

This fixes a livelock in the xprt->sending queue where we end up never
making progress on lower priority tasks because sleep_on_priority()
keeps adding new tasks with the same owner to the head of the queue,
and priority bumps mean that we keep resetting the queue->owner to
whatever task is at the head of the queue.

Regression introduced by commit 72ffc2bb964c00ea226660d4d235f080e519f0b6
(SUNRPC: Don't allow low priority tasks to pre-empt higher priority ones).

Reported-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/sched.c