linux/drivers/s390/char
Michael Holzheu 8741ce6d11 s390/mm: Fix memory hotplug for unaligned standby memory
Commit 27356f54c8 ("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 <gerald.schaefer@de.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-04-15 12:23:49 +02:00
..
Kconfig s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
Makefile s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
con3215.c
con3270.c
ctrlchar.c
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
diag_ftp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
fs3270.c
hmcdrv_cache.c s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_cache.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_dev.c assorted conversions to %p[dD] 2014-11-19 13:01:20 -05:00
hmcdrv_dev.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_ftp.c s390/hmcdrv: free memory on error path 2015-01-22 12:16:11 +01:00
hmcdrv_ftp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
hmcdrv_mod.c s390/hmcdrv: remove unnecessary version.h inclusion 2015-01-15 11:11:16 +01:00
keyboard.c
keyboard.h
monreader.c
monwriter.c s390: char: drop owner assignment from platform_drivers 2014-10-20 16:21:32 +02:00
raw3270.c
raw3270.h
sclp.c s390: char: drop owner assignment from platform_drivers 2014-10-20 16:21:32 +02:00
sclp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_async.c s390/sclp_async: add Kconfig option to specify the component id 2014-11-28 09:45:11 +01:00
sclp_cmd.c s390/mm: Fix memory hotplug for unaligned standby memory 2015-04-15 12:23:49 +02:00
sclp_con.c
sclp_config.c
sclp_cpi.c
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_early.c Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
sclp_ftp.c s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_ftp.h s390/hmcdrv: HMC drive CD/DVD access 2014-09-25 10:52:02 +02:00
sclp_ocf.c
sclp_quiesce.c
sclp_rw.c s390/sclp: reduce dependency on event type masks 2014-09-25 10:52:01 +02:00
sclp_rw.h
sclp_sdias.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
sclp_sdias.h
sclp_tty.c
sclp_tty.h
sclp_vt220.c s390/sclp: reduce dependency on event type masks 2014-09-25 10:52:01 +02:00
tape.h
tape_34xx.c s390/tape: remove redundant if statement 2015-01-22 12:51:49 +01:00
tape_3590.c treewide: fix typo in printk and Kconfig 2014-11-20 14:56:11 +01:00
tape_3590.h
tape_char.c s390/tape: fix MTIOCGET ioctl to report blocksize 2014-09-25 10:52:03 +02:00
tape_class.c
tape_class.h
tape_core.c
tape_proc.c
tape_std.c
tape_std.h
tty3270.c
tty3270.h
vmcp.c
vmcp.h
vmlogrdr.c [s390] remove pointless assignment of ->f_op in vmlogrdr ->open() 2014-10-09 02:39:13 -04:00
vmur.c
vmur.h
zcore.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00