]> git.proxmox.com Git - mirror_ubuntu-eoan-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)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 06:00:53 +0000 (01:00 -0500)
commit572886a85c6e76ed8c6aa29c579a2a6a8e0e6515
treece0ad27c5b5a496fb67e06686adf4e08bb653a32
parent0b55ada05a7da20f8caa0c576c03cb1dc7d220a1
powerpc: Chunk calls to flush_dcache_range in arch_*_memory

BugLink: https://bugs.launchpad.net/bugs/1861710
commit 076265907cf9633bbef861c7c2a1c26a8209f283 upstream.

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: fb5924fddf9e ("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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
arch/powerpc/mm/mem.c