bcache: Fix a dumb CPU spinning bug in writeback
schedule_timeout() != schedule_timeout_uninterruptible() Signed-off-by: Kent Overstreet <kmo@daterainc.com> Cc: linux-stable <stable@vger.kernel.org> # >= v3.10 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
1394d6761b
commit
79e3dab90d
@@ -397,8 +397,7 @@ static void read_dirty(struct closure *cl)
|
|||||||
if (delay > 0 &&
|
if (delay > 0 &&
|
||||||
(KEY_START(&w->key) != dc->last_read ||
|
(KEY_START(&w->key) != dc->last_read ||
|
||||||
jiffies_to_msecs(delay) > 50))
|
jiffies_to_msecs(delay) > 50))
|
||||||
while (delay)
|
delay = schedule_timeout_uninterruptible(delay);
|
||||||
delay = schedule_timeout(delay);
|
|
||||||
|
|
||||||
dc->last_read = KEY_OFFSET(&w->key);
|
dc->last_read = KEY_OFFSET(&w->key);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user