Re: [PATCH 4/5] mm/hotplug: Avoid RCU stalls when removing large amounts of memory

From: Mike Rapoport
Date: Mon Jun 17 2019 - 02:59:04 EST


On Mon, Jun 17, 2019 at 02:36:30PM +1000, Alastair D'Silva wrote:
> From: Alastair D'Silva <alastair@xxxxxxxxxxx>
>
> When removing sufficiently large amounts of memory, we trigger RCU stall
> detection. By periodically calling cond_resched(), we avoid bogus stall
> warnings.
>
> Signed-off-by: Alastair D'Silva <alastair@xxxxxxxxxxx>
> ---
> mm/memory_hotplug.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index e096c987d261..382b3a0c9333 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -578,6 +578,9 @@ void __remove_pages(struct zone *zone, unsigned long phys_start_pfn,
> __remove_section(zone, __pfn_to_section(pfn), map_offset,
> altmap);
> map_offset = 0;
> +
> + if (!(i & 0x0FFF))

No magic numbers please. And a comment would be appreciated.

> + cond_resched();
> }
>
> set_zone_contiguous(zone);
> --
> 2.21.0
>

--
Sincerely yours,
Mike.