linux/arch/s390/kernel
Vasily Gorbik 5db28ea9f1 s390/setup: avoid using memblock_enforce_memory_limit
[ Upstream commit 5dbc4cb4667457b0c53bcd7bff11500b3c362975 ]

There is a difference in how architectures treat "mem=" option. For some
that is an amount of online memory, for s390 and x86 this is the limiting
max address. Some memblock api like memblock_enforce_memory_limit()
take limit argument and explicitly treat it as the size of online memory,
and use __find_max_addr to convert it to an actual max address. Current
s390 usage:

memblock_enforce_memory_limit(memblock_end_of_DRAM());

yields different results depending on presence of memory holes (offline
memory blocks in between online memory). If there are no memory holes
limit == max_addr in memblock_enforce_memory_limit() and it does trim
online memory and reserved memory regions. With memory holes present it
actually does nothing.

Since we already use memblock_remove() explicitly to trim online memory
regions to potential limit (think mem=, kdump, addressing limits, etc.)
drop the usage of memblock_enforce_memory_limit() altogether. Trimming
reserved regions should not be required, since we now use
memblock_set_current_limit() to limit allocations and any explicit memory
reservations above the limit is an actual problem we should not hide.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-12-08 09:01:09 +01:00
..
syscalls s390: wire up clone3 system call 2019-07-23 10:45:53 +02:00
vdso32 s390/vdso: drop unnecessary cc-ldoption 2019-05-03 17:17:58 +02:00
vdso64 s390/vdso: fix vDSO clock_getres() 2020-06-30 15:37:05 -04:00
.gitignore
Makefile s390: clean .bss before running uncompressed kernel 2019-08-21 12:58:52 +02:00
alternative.c
asm-offsets.c s390/vdso: fix vDSO clock_getres() 2020-06-30 15:37:05 -04:00
audit.c
audit.h
base.S s390/base: remove unused s390_base_mcck_handler 2019-09-03 13:53:56 +02:00
cache.c
compat_audit.c
compat_linux.c
compat_linux.h
compat_ptrace.h
compat_signal.c signal: Remove task parameter from force_sig 2019-05-27 09:36:28 -05:00
cpcmd.c s390/cpcmd: fix inline assembly register clobbering 2021-04-14 08:24:17 +02:00
crash_dump.c memblock: memblock_phys_alloc(): don't panic 2019-03-12 10:04:01 -07:00
debug.c s390/debug: fix debug area life cycle 2021-09-15 09:47:28 +02:00
diag.c s390/ftrace: fix potential crashes when switching tracers 2020-05-02 08:48:44 +02:00
dis.c s390/disassembler: increase ebpf disasm buffer size 2021-05-11 14:04:01 +02:00
dumpstack.c s390/unwind: remove stack recursion warning 2019-08-06 13:58:35 +02:00
early.c s390: make PCI mio support a machine flag 2021-09-22 12:26:29 +02:00
early_printk.c s390/sclp: avoid using strncmp with hardcoded length 2019-08-29 15:34:58 +02:00
ebcdic.c
entry.S s390/entry: save the caller of psw_idle 2021-04-28 13:19:15 +02:00
entry.h PM: hibernate: powerpc: Expose pfn_is_nosave() prototype 2019-06-14 10:48:56 +02:00
fpu.c s390: correct some inline assembly constraints 2019-04-17 10:40:57 +02:00
ftrace.c s390/ftrace: fix ftrace_update_ftrace_func implementation 2021-07-28 13:30:58 +02:00
guarded_storage.c
head64.S s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
idle.c s390/idle: fix cpu idle time calculation 2019-10-31 17:26:48 +01:00
ima_arch.c s390/kexec_file: Disable kexec_load when IPLed secure 2019-04-29 10:44:03 +02:00
ipl.c s390/kexec: fix return code handling 2021-11-26 10:47:21 +01:00
ipl_vmparm.c s390/ipl: provide uapi header for list directed IPL 2019-04-26 12:34:05 +02:00
irq.c s390/irq: replace setup_irq() by request_irq() 2020-10-01 13:17:40 +02:00
jump_label.c s390/jump_label: print real address in a case of a jump label bug 2021-09-22 12:26:29 +02:00
kdebugfs.c
kexec_elf.c kexec: Fix file verification on S390 2019-09-10 13:27:51 +01:00
kexec_image.c kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE 2019-08-19 21:54:15 -07:00
kprobes.c s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
lgr.c
machine_kexec.c s390: disable preemption when switching to nodat stack with CALL_ON_STACK 2020-01-04 19:18:31 +01:00
machine_kexec_file.c s390/kexec: fix memory leak of ipl report buffer 2021-11-26 10:47:21 +01:00
machine_kexec_reloc.c s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-27 17:46:47 +02:00
mcount.S s390/ftrace: fix ftrace_update_ftrace_func implementation 2021-07-28 13:30:58 +02:00
module.c s390/module: avoid using strncmp with hardcoded length 2019-08-29 15:34:57 +02:00
nmi.c s390: simplify disabled_wait 2019-05-02 13:54:11 +02:00
nospec-branch.c s390 updates for the 5.2 merge window 2019-05-06 16:42:54 -07:00
nospec-sysfs.c s390: Convert IS_ENABLED uses to __is_defined 2019-04-11 13:36:53 +02:00
os_info.c
perf_cpum_cf.c s390/cpumf: Adjust registration of s390 PMU device drivers 2019-12-31 16:45:43 +01:00
perf_cpum_cf_common.c s390/cpum_cf: move common functions into a separate file 2019-02-22 09:19:55 +01:00
perf_cpum_cf_diag.c s390/cpumf: Adjust registration of s390 PMU device drivers 2019-12-31 16:45:43 +01:00
perf_cpum_cf_events.c s390/cpumf: Add extended counter set definitions for model 8561 and 8562 2019-07-11 20:40:01 +02:00
perf_cpum_sf.c s390/cpum_sf.c: fix file permission for cpum_sfb_size 2020-11-24 13:29:23 +01:00
perf_event.c s390: add error handling to perf_callchain_kernel 2019-12-31 16:44:30 +01:00
perf_regs.c
pgm_check.S s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad 2019-04-29 10:47:10 +02:00
process.c s390: prevent leaking kernel address in BEAR 2020-04-13 10:48:06 +02:00
processor.c s390/cpuinfo: fix wrong output when CPU0 is offline 2020-04-23 10:36:33 +02:00
ptrace.c s390/ptrace: return -ENOSYS when invalid syscall is supplied 2021-04-28 13:19:14 +02:00
reipl.S s390: add missing ENDPROC statements to assembler functions 2019-05-02 13:54:11 +02:00
relocate_kernel.S s390: add missing ENDPROC statements to assembler functions 2019-05-02 13:54:11 +02:00
runtime_instr.c s390/runtime_instrumentation: fix storage key handling 2020-08-26 10:41:02 +02:00
setup.c s390/setup: avoid using memblock_enforce_memory_limit 2021-12-08 09:01:09 +01:00
signal.c signal: Remove task parameter from force_sig 2019-05-27 09:36:28 -05:00
smp.c s390/smp: __smp_rescan_cpus() - move cpumask away from stack 2021-03-17 17:03:45 +01:00
stacktrace.c s390/stacktrace: use common arch_stack_walk infrastructure 2019-08-21 12:58:53 +02:00
sthyi.c
suspend.c
swsusp.S s390: enforce CONFIG_SMP 2019-06-07 10:09:37 +02:00
sys_s390.c
sysinfo.c
time.c s390/stp: add locking to sysfs functions 2020-11-05 11:43:30 +01:00
topology.c s390/topology: avoid firing events before kobjs are created 2019-09-23 23:27:52 +02:00
trace.c s390/ftrace: fix potential crashes when switching tracers 2020-05-02 08:48:44 +02:00
traps.c Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2019-07-08 21:48:15 -07:00
unwind_bc.c s390/unwind: filter out unreliable bogus %r14 2020-01-04 19:18:29 +01:00
uprobes.c
vdso.c s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
vmlinux.lds.S s390: put _stext and _etext into .text section 2019-08-06 13:58:35 +02:00
vtime.c s390/vtime: fix increased steal time accounting 2021-03-24 11:26:35 +01:00