]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Chunk calls to flush_dcache_range in arch_*_memory
authorAlastair D'Silva <alastair@d-silva.org>
Mon, 4 Nov 2019 02:32:57 +0000 (13:32 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 7 Nov 2019 12:35:41 +0000 (23:35 +1100)
commit9cfaeccb99276898233f817f431ef20855d7f0c1
treedfc5b8c7526a26eecaafae61ebb4360c9686b916
parent991c6959ed2357cad46cbbb7b1f928408f5c7f11
powerpc: Chunk calls to flush_dcache_range in arch_*_memory

When presented with large amounts of memory being hotplugged
(in my test case, ~890GB), the call to flush_dcache_range takes
a while (~50 seconds), triggering RCU stalls.

This patch breaks up the call into 1GB chunks, calling
cond_resched() inbetween to allow the scheduler to run.

Fixes: 88c018958bb6 ("powerpc/mm: Flush cache on memory hot(un)plug")
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191104023305.9581-6-alastair@au1.ibm.com
arch/powerpc/mm/mem.c