dm thin: add cond_resched() to various workqueue loops

[ Upstream commit e4f80303c2353952e6e980b23914e4214487f2a6 ]

Otherwise on resource constrained systems these workqueues may be too
greedy.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Mike Snitzer 2023-02-16 15:29:44 -05:00 committed by Greg Kroah-Hartman
parent 2c055b6a07
commit 3b46b2cb91

View File

@ -2224,6 +2224,7 @@ static void process_thin_deferred_bios(struct thin_c *tc)
throttle_work_update(&pool->throttle); throttle_work_update(&pool->throttle);
dm_pool_issue_prefetches(pool->pmd); dm_pool_issue_prefetches(pool->pmd);
} }
cond_resched();
} }
blk_finish_plug(&plug); blk_finish_plug(&plug);
} }
@ -2307,6 +2308,7 @@ static void process_thin_deferred_cells(struct thin_c *tc)
else else
pool->process_cell(tc, cell); pool->process_cell(tc, cell);
} }
cond_resched();
} while (!list_empty(&cells)); } while (!list_empty(&cells));
} }