[resend] Revert "powerpc/powernv: Increase memory block size to 1GB on radix"

Balbir Singh bsingharora at gmail.com
Wed May 2 15:57:57 AEST 2018


On Wed, 2 May 2018 15:10:33 +1000
rashmica <rashmica.g at gmail.com> wrote:

> Tested hot-unplugging dimm device on radix guest on p9 host with KVM.
> 
> 
> On 01/05/18 12:57, Balbir Singh wrote:
> > This commit was a stop-gap to prevent crashes on hotunplug, caused by
> > the mismatch between the 1G mappings used for the linear mapping and the
> > memory block size. Those issues are now resolved because we split the
> > linear mapping at hotunplug time if necessary, as implemented in commit
> > 4dd5f8a99e79 ("powerpc/mm/radix: Split linear mapping on hot-unplug").
> >
> > Signed-off-by: Balbir Singh <bsingharora at gmail.com>
> > Signed-off-by: Michael Neuling <mikey at neuling.org>  
> Tested-by: Rashmica Gupta <rashmica.g at gmail.com>

I tested the following:

a. memtrace  - enable a region smaller than 1G, which split the mappings
as expected.
b. Checked linear mapping is 1G and not impacted by the revert
c. I can hotplug sizes less than 1G via the probe method

Tested-by: Balbir Singh <bsingharora at gmail.com>

> > ---
> >
> > Resend with a newer commit message grabbed from an email sent by mpe.
> >
> >  arch/powerpc/platforms/powernv/setup.c | 10 +---------
> >  1 file changed, 1 insertion(+), 9 deletions(-)
> >
> > diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
> > index ef8c9ce53a61..fa63d3fff14c 100644
> > --- a/arch/powerpc/platforms/powernv/setup.c
> > +++ b/arch/powerpc/platforms/powernv/setup.c
> > @@ -356,15 +356,7 @@ static void pnv_kexec_cpu_down(int crash_shutdown, int secondary)
> >  #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
> >  static unsigned long pnv_memory_block_size(void)
> >  {
> > -	/*
> > -	 * We map the kernel linear region with 1GB large pages on radix. For
> > -	 * memory hot unplug to work our memory block size must be at least
> > -	 * this size.
> > -	 */
> > -	if (radix_enabled())
> > -		return 1UL * 1024 * 1024 * 1024;
> > -	else
> > -		return 256UL * 1024 * 1024;
> > +	return 256UL * 1024 * 1024;
> >  }
> >  #endif
> >    
> 



More information about the Linuxppc-dev mailing list