]> 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)
commit9a514e73e5be7504beef2406e6e49961caeec934
treed44df6639a2431212bcb50f6117ba7b1083dc67d
parent4f67ac1093a64906df5dd754ddf62480375cf245
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 d8ceaf7484ff95f39d0a6fd6c087a6561b47d32d
(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