projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f2cd9a5
)
dm writecache: add cond_resched to loop in persistent_memory_claim()
author
Mikulas Patocka
<mpatocka@redhat.com>
Fri, 19 Jun 2020 15:51:34 +0000
(11:51 -0400)
committer
Mike Snitzer
<snitzer@redhat.com>
Fri, 19 Jun 2020 16:32:24 +0000
(12:32 -0400)
Add cond_resched() to a loop that fills in the mapper memory area
because the loop can be executed many times.
Fixes:
48debafe4f2fe
("dm: add writecache target")
Cc: stable@vger.kernel.org
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-writecache.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/md/dm-writecache.c
b/drivers/md/dm-writecache.c
index 6b28990b1d84a0f2fe599d1315cf56b1bca2be50..30505d70f42386bfa963c039c4b9983152f66019 100644
(file)
--- a/
drivers/md/dm-writecache.c
+++ b/
drivers/md/dm-writecache.c
@@
-282,6
+282,8
@@
static int persistent_memory_claim(struct dm_writecache *wc)
while (daa-- && i < p) {
pages[i++] = pfn_t_to_page(pfn);
pfn.val++;
+ if (!(i & 15))
+ cond_resched();
}
} while (i < p);
wc->memory_map = vmap(pages, p, VM_MAP, PAGE_KERNEL);