------- Comment From [email protected] 2016-08-30 13:25 EDT-------
This actually "works as designed", and the missing block is not only block 10 
but also block 14. Both blocks contain part of the standby memory, but not 
aligned to the Linux memory block size. Block 10 also contains the crashkernel 
memory, if you try it w/o crashkernel memory (or use a more current kernel, as 
this behaviour was changed) then it should be visible but cannot be set offline.

The reason why you can only use 768 MB of your 1 GB standby memory is
because both the start and end address (in block 10 and 14) are not
aligned to the Linux memory block size of 256 MB, which leaves only 768
MB of usable standby memory (i.e. standby memory that consumes a whole
Linux memory block).

The following commit introduced this "capping" and also a message that
you should find in your dmesg output, unfortunately w/o the kmsg
description because Ubuntu has no kmsg man pages:

commit 8741ce6d114873e482b1ef298d6537d18ff393d3
Author: Michael Holzheu <[email protected]>
Date:   Wed Apr 1 18:49:11 2015 +0200

s390/mm: Fix memory hotplug for unaligned standby memory
Commit 27356f54c8c3 ("mm/hotplug: verify hotplug memory range")
introduced a check that makes add_memory() only accept section size
aligned memory.
Therefore on z/VM systems, where standby memory is not aligned, no
standby memory is registered at all.
Example:
#cp def store 3504M standby 2336M
00: CP Q V STORE
00: STORAGE = 3504M MAX = 6G INC = 8M STANDBY = 2336M RESERVED = 0

For this setup the following error message is printed:

Section-unaligned hotplug range: start 0xdb000000, size 0x92000000

So fix this and register aligned memory in "sclp_cmd.c". This means
that for the corner cases where the standby memory is not aligned we
loose some memory.

In order to inform the user about the potential loss of standby memory,
we add a new message for each added standby block and print how
much of the standby memory is usable, for example:

sclp_cmd.4336b4: Standby memory at 0x50000000 (256M of 256M usable)
sclp_cmd.4336b4: Standby memory at 0xb0000000 (256M of 256M usable)
sclp_cmd.4336b4: Standby memory at 0xdb000000 (2048M of 2336M usable)

We also ensure that a potential memory block that contains both "assigned"
and "standby" memory cannot be setup offline.

Reviewed-by: Gerald Schaefer <[email protected]>
Reviewed-by: Heiko Carstens <[email protected]>
Signed-off-by: Michael Holzheu <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1618203

Title:
  missing memory slot at /sys/bus/memory/devices when starting memory
  size is not a multiple of block size

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1618203/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to