[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190617074715.GE30420@dhcp22.suse.cz>
Date: Mon, 17 Jun 2019 09:47:15 +0200
From: Michal Hocko <mhocko@...nel.org>
To: Alastair D'Silva <alastair@....ibm.com>
Cc: alastair@...ilva.org, Arun KS <arunks@...eaurora.org>,
Mukesh Ojha <mojha@...eaurora.org>,
Logan Gunthorpe <logang@...tatee.com>,
Wei Yang <richard.weiyang@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>, linux-mm@...ck.org,
Qian Cai <cai@....pw>, Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Rapoport <rppt@...ux.vnet.ibm.com>,
Baoquan He <bhe@...hat.com>,
David Hildenbrand <david@...hat.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Pavel Tatashin <pasha.tatashin@...een.com>,
Juergen Gross <jgross@...e.com>,
Oscar Salvador <osalvador@...e.com>,
Jiri Kosina <jkosina@...e.cz>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] mm/hotplug: Avoid RCU stalls when removing large
amounts of memory
On Mon 17-06-19 14:36:30, Alastair D'Silva wrote:
> From: Alastair D'Silva <alastair@...ilva.org>
>
> 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@...ilva.org>
> ---
> 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))
> + cond_resched();
We already do have cond_resched before __remove_section. Why is an
additional needed?
> }
>
> set_zone_contiguous(zone);
> --
> 2.21.0
>
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists