Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 936b33f7 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Jens Axboe
Browse files

brd: add cond_resched to brd_free_pages



The loop that frees all the pages can take unbounded amount of time, so
add cond_resched() to it.

Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent cf12c672
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -152,6 +152,12 @@ static void brd_free_pages(struct brd_device *brd)

		pos++;

		/*
		 * It takes 3.4 seconds to remove 80GiB ramdisk.
		 * So, we need cond_resched to avoid stalling the CPU.
		 */
		cond_resched();

		/*
		 * This assumes radix_tree_gang_lookup always returns as
		 * many pages as possible. If the radix-tree code changes,