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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Michal Hocko <mhocko@xxxxxxxxxx>
> Sent: Monday, 17 June 2019 5:47 PM
> To: Alastair D'Silva <alastair@xxxxxxxxxxx>
> Cc: alastair@xxxxxxxxxxx; Arun KS <arunks@xxxxxxxxxxxxxx>; Mukesh Ojha
> <mojha@xxxxxxxxxxxxxx>; Logan Gunthorpe <logang@xxxxxxxxxxxx>; Wei
> Yang <richard.weiyang@xxxxxxxxx>; Peter Zijlstra <peterz@xxxxxxxxxxxxx>;
> Ingo Molnar <mingo@xxxxxxxxxx>; linux-mm@xxxxxxxxx; Qian Cai
> <cai@xxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Andrew Morton
> <akpm@xxxxxxxxxxxxxxxxxxxx>; Mike Rapoport <rppt@xxxxxxxxxxxxxxxxxx>;
> Baoquan He <bhe@xxxxxxxxxx>; David Hildenbrand <david@xxxxxxxxxx>;
> Josh Poimboeuf <jpoimboe@xxxxxxxxxx>; Pavel Tatashin
> <pasha.tatashin@xxxxxxxxxx>; Juergen Gross <jgross@xxxxxxxx>; Oscar
> Salvador <osalvador@xxxxxxxx>; Jiri Kosina <jkosina@xxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx
> 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@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))
> > +			cond_resched();
> 
> We already do have cond_resched before __remove_section. Why is an
> additional needed?

I was getting stalls when removing ~1TB of memory.


-- 
Alastair D'Silva           mob: 0423 762 819
skype: alastair_dsilva     msn: alastair@xxxxxxxxxxx
blog: http://alastair.d-silva.org    Twitter: @EvilDeece






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux