[PATCH] crash: s390x: Auto-detect the correct MAX_PHYSMEM_BITS used in vmcore being analyzed

Michael Holzheu holzheu at linux.vnet.ibm.com
Thu Dec 22 09:15:05 EST 2011


Hi Dave,

On Thu, 2011-12-22 at 08:47 -0500, Dave Anderson wrote:
> 
> ----- Original Message -----
> > Hello Dave and Mahesh,
> > 
> > We also tried to solve the problem and came up with an alternative
> > solution.
> > 
> > The function s390x_max_physmem_bits() solves the following equation:
> > 
> > array_len == NR_MEM_SECTIONS / SECTIONS_PER_ROOT
> >           
> >                  2^(MAX_PYSMEM_BITS - SECTION_SIZE_BITS)
> >                  ---------------------------------------
> >           ==                    PAGE_SIZE
> >                         -------------------------
> >                         sizeof(struct mem_section)
> > 
> > This leads to the following:
> > 
> > MAX_PYSMEM_BITS  == SECTION_SIZE_BITS + log2(array_len) +
> > log2(PAGE_SIZE)
> >                          - log2(sizeof(struct mem_section));
> > 
> > I tested the patch with 42 and 46 bits and for both it seems to work.
> > I will leave now for vacation and will return January the 9th 2012.
> > 
> > I leave it to you which solution to take.
> 
> No -- I leave to you guys to decide.  I appreciate the simplicity of
> your solution, but Mahesh's patch is easier to understand.
> 
> So please decide before you go home -- I was hoping to get a release
> out today!

Unfortunately Mahesh is currently not online. We still have some time
because Martin's kernel patch that introduces the change will go into
Linux version 3.3.

So perhaps you make your crash release without this patch.

Michael






More information about the kexec mailing list