On Thu, Jun 18, 2020 at 06:26:49PM +0200, Greg KH wrote:
On Thu, Jun 18, 2020 at 05:55:43PM +0200, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
The patch below does not apply to the 5.7-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@xxxxxxxxxxxxxxx>.
Oops, I applied things out of order, I've queued this and the 5.4
version up, but 4.19 doesn't apply as the dependant patch does not
apply.
Something like this should work?
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 7181dfe76440..b7905a075e79 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1611,11 +1611,13 @@ static int __init deferred_init_memmap(void *data)
spfn = max_t(unsigned long, first_init_pfn, PFN_UP(spa));
epfn = min_t(unsigned long, zone_end_pfn(zone), PFN_DOWN(epa));
nr_pages += deferred_init_pages(nid, zid, spfn, epfn);
+ cond_resched();
}
for_each_free_mem_range(i, nid, MEMBLOCK_NONE, &spa, &epa, NULL) {
spfn = max_t(unsigned long, first_init_pfn, PFN_UP(spa));
epfn = min_t(unsigned long, zone_end_pfn(zone), PFN_DOWN(epa));
deferred_free_pages(nid, zid, spfn, epfn);
+ cond_resched();
}
/* Sanity check that the next zone really is unpopulated */
--
Thanks,
Sasha