[Patch v3] Add persistent memory support

Dave Young dyoung at redhat.com
Wed Aug 19 19:38:34 PDT 2015


On 08/19/15 at 06:45pm, Baoquan He wrote:
> On 08/19/15 at 05:28pm, Dave Young wrote:
> > Hi,
> > 
> > On 08/19/15 at 05:03pm, Baoquan He wrote:
>   
> > > diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
> > > index 82bf239..598a78f 100644
> > > --- a/kexec/arch/i386/crashdump-x86.c
> > > +++ b/kexec/arch/i386/crashdump-x86.c
> > > @@ -301,6 +301,10 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges,
> > >  			type = RANGE_ACPI;
> > >  		} else if(memcmp(str,"ACPI Non-volatile Storage\n",26) == 0 ) {
> > >  			type = RANGE_ACPI_NVS;
> > > +		} else if(memcmp(str,"Persistent Memory (legacy)\n",27) == 0 ) {
> > > +			type = RANGE_PRAM;
> > > +		} else if(memcmp(str,"Persistent Memory\n",18) == 0 ) {
> > > +			type = RANGE_PMEM;
> > >  		} else if(memcmp(str,"reserved\n",9) == 0 ) {
> > >  			type = RANGE_RESERVED;
> > >  		} else if (memcmp(str, "GART\n", 5) == 0) {
> > > @@ -640,6 +644,8 @@ static void cmdline_add_memmap_internal(char *cmdline, unsigned long startk,
> > >  		strcat (str_mmap, "K$");
> > >  	else if (type == RANGE_ACPI || type == RANGE_ACPI_NVS)
> > >  		strcat (str_mmap, "K#");
> > > +	else if (type == RANGE_PRAM)
> > > +		strcat (str_mmap, "K!");
> > 
> > Since we have switched to use e820 it is not necessary to supporting new things
> > in legacy memmap interface?
> 
> Well, I am not sure about this. Kexec-tools provides memmap method to
> pass the memory ranges, then either we continue supporting it or we
> delete it. Now is this OK we just keep legacy memmap code there and
> ignore it? If people check the man page and find --pass-memmap-cmdline
> and intend to try, then kexec/kdump fail, then how do we go with it?

It is a legacy interface, IMO we should deprecate it and remove it after a
period like several release cycle.

Thanks
Dave



More information about the kexec mailing list