kdump: A memory hotplug issue on s390

Vivek Goyal vgoyal at redhat.com
Thu Oct 27 13:28:22 EDT 2011


On Thu, Oct 27, 2011 at 07:31:26AM +0900, Simon Horman wrote:
> On Tue, Oct 25, 2011 at 07:17:17PM +0200, Michael Holzheu wrote:
> > Hello Simon and Vivek,
> > 
> > For s390 we currently use /proc/iomem for defining the memory layout in
> > the kexec elfcore header. Unfortunately this is not correct, when using
> > memory hotplug. When a memory chunk is set offline (e.g. with "echo
> > offline > /sys/devices/system/memory/memoryX/state") this is not
> > reflected in /proc/iomem.
> > 
> > To fix this I could parse /sys/devices/system/memory and exclude each
> > memory chunk that in not online from the /proc/iomem info. Do you think
> > that this approach is fine or is there a better solution?
> 
> Hi Michael,
> 
> that sounds like a reasonable approach to me.
> IIRC, kexec xen on ia64 makes use of an alternate iomem file,
> and this seems to be another example of /proc/iomem not being
> the right source of information.

Agree that it sounds reasonable. I have never used /sys/devices/memory/
interface. So does it work realiably and how long has it been working
reliably?

Secondly we should do this only for kdump and not for kexec. If some
memory is offlined, then we still want to use it in case of kexec.

What's the meaning of various entries. I see lots of memory[1-n] entries
in my system and under memory0/ dir I see following.

[memory0]# grep ".*" *
end_phys_index:00000000
phys_device:0
phys_index:00000000
removable:0
state:online

What does it mean. Is memory0 representing a chunk of physical memory? If
yes, then where does the segment start and where does it end. Everything
seems to be zero.

So is it representing chunk0 of memory. So both starting and end index
are 0. But where is the chunk size mentioned?

Thanks
Vivek



More information about the kexec mailing list