Pingfan Liu
45d44c0c0a
powerpc/crashkernel: Take "mem=" option into account
...
[ Upstream commit be5470e0c285a68dc3afdea965032f5ddc8269d7 ]
'mem=" option is an easy way to put high pressure on memory during
some test. Hence after applying the memory limit, instead of total
mem, the actual usable memory should be considered when reserving mem
for crashkernel. Otherwise the boot up may experience OOM issue.
E.g. it would reserve 4G prior to the change and 512M afterward, if
passing
crashkernel="2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G",
and mem=5G on a 256G machine.
This issue is powerpc specific because it puts higher priority on
fadump and kdump reservation than on "mem=". Referring the following
code:
if (fadump_reserve_mem() == 0)
reserve_crashkernel();
...
/* Ensure that total memory size is page-aligned. */
limit = ALIGN(memory_limit ?: memblock_phys_mem_size(), PAGE_SIZE);
memblock_enforce_memory_limit(limit);
While on other arches, the effect of "mem=" takes a higher priority
and pass through memblock_phys_mem_size() before calling
reserve_crashkernel().
Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Reviewed-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1585749644-4148-1-git-send-email-kernelfans@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-30 15:38:22 -04:00
..
vdso32
powerpc: Fix vDSO clock_getres()
2019-12-21 10:42:17 +01:00
vdso64
powerpc: Fix vDSO clock_getres()
2019-12-21 10:42:17 +01:00
.gitignore
align.c
powerpc: Fix DAR reporting when alignment handler faults
2017-09-27 14:39:21 +02:00
asm-offsets.c
powerpc: Fix vDSO clock_getres()
2019-12-21 10:42:17 +01:00
audit.c
btext.c
powerpc/mm: Use a helper for finding pte bits mapping I/O area
2016-05-01 18:32:32 +10:00
cacheinfo.c
powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
2020-01-29 10:24:26 +01:00
cacheinfo.h
powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
2020-01-29 10:24:26 +01:00
compat_audit.c
cpu_setup_6xx.S
powerpc: Various typo fixes
2016-06-14 13:58:26 +10:00
cpu_setup_44x.S
cpu_setup_fsl_booke.S
powerpc/cache: add cache flush operation for various e500
2016-03-04 23:44:51 -06:00
cpu_setup_pa6t.S
cpu_setup_power.S
powerpc/64s: Clear PCR on boot
2018-06-06 16:44:32 +02:00
cpu_setup_ppc970.S
cputable.c
powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
2020-03-11 07:53:14 +01:00
crash.c
powerpc/crash: Rearrange loop condition to avoid out of bounds array access
2016-07-14 20:26:22 +10:00
crash_dump.c
powerpc: Remove superfluous bootmem includes
2014-11-10 09:59:26 +11:00
dbell.c
powerpc/powernv: Fixes for hypervisor doorbell handling
2015-03-20 14:51:53 +11:00
dma-iommu.c
dma-mapping: use unsigned long for dma_attrs
2016-08-04 08:50:07 -04:00
dma-swiotlb.c
powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask
2015-07-13 10:10:55 +10:00
dma.c
dma-mapping: use unsigned long for dma_attrs
2016-08-04 08:50:07 -04:00
eeh.c
powerpc/eeh: Handle hugepages in ioremap space
2019-08-04 09:33:41 +02:00
eeh_cache.c
powerpc/eeh: Fix pr_debug()s in eeh_cache.c
2016-07-08 22:09:50 +10:00
eeh_dev.c
powerpc/pci: Delay populating pdn
2016-06-21 15:30:56 +10:00
eeh_driver.c
powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
2020-02-28 15:42:18 +01:00
eeh_event.c
powerpc: sparse: static-ify some things
2016-04-12 21:05:18 +10:00
eeh_pe.c
powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field
2019-11-28 18:28:18 +01:00
eeh_sysfs.c
powerpc/eeh: Fix PE state format
2014-11-27 09:32:58 +11:00
entry_32.S
powerpc/fsl: Sanitize the syscall table for NXP PowerPC 32 bit platforms
2019-04-17 08:36:41 +02:00
entry_64.S
powerpc/book3s64: Fix link stack flush on context switch
2019-11-28 18:29:06 +01:00
epapr_hcalls.S
ppc: move exports to definitions
2016-08-07 23:50:09 -04:00
epapr_paravirt.c
exceptions-64e.S
powerpc/fsl: Fix the flush of branch predictor.
2019-04-17 08:36:43 +02:00
exceptions-64s.S
powerpc/64s/exception: machine check use correct cfar for late handler
2019-10-07 18:53:13 +02:00
fadump.c
powerpc/fadump: Return error when fadump registration fails
2018-10-13 09:18:57 +02:00
firmware.c
fpu.S
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
fsl_booke_entry_mapping.S
powerpc/fsl: Force coherent memory on e500mc derivatives
2015-08-07 23:00:01 -05:00
ftrace.c
ftrace: Add return address pointer to ftrace_ret_stack
2016-08-24 12:15:14 +02:00
head_8xx.S
powerpc/8xx: fix invalid register expression in head_8xx.S
2018-08-03 07:55:19 +02:00
head_32.S
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
head_40x.S
ppc: move exports to definitions
2016-08-07 23:50:09 -04:00
head_44x.S
ppc: move exports to definitions
2016-08-07 23:50:09 -04:00
head_64.S
powerpc/64e: Convert cmpi to cmpwi in head_64.S
2017-01-09 08:32:25 +01:00
head_booke.h
powerpc/fsl: Fixed warning: orphan section `__btb_flush_fixup'
2019-04-17 08:36:43 +02:00
head_fsl_booke.S
powerpc/fsl: Flush the branch predictor at each kernel entry (32 bit)
2019-04-17 08:36:43 +02:00
hw_breakpoint.c
powerpc/ptrace: Fix enforcement of DAWR constraints
2018-07-03 11:23:08 +02:00
ibmebus.c
powerpc/ibmebus: Fix device reference leaks in sysfs interface
2017-01-19 20:18:08 +01:00
idle.c
idle_6xx.S
idle_book3e.S
idle_book3s.S
powerpc/64s: Simple RFI macro conversions
2018-02-25 11:05:50 +01:00
idle_e500.S
powerpc/e500mc: Remove dead L2 flushing code in idle_e500.S
2015-06-02 21:37:19 -05:00
idle_power4.S
io-workarounds.c
powerpc/mm: Differentiate between hugetlb and THP during page walk
2015-10-12 15:30:09 +11:00
io.c
iomap.c
powerpc: add io{read,write}64 accessors
2016-05-31 16:41:52 +08:00
iommu.c
powerpc/iommu: Avoid derefence before pointer check
2019-11-25 09:52:28 +01:00
irq.c
powerpc/irq: fix stack overflow verification
2020-01-04 13:40:24 +01:00
isa-bridge.c
powerpc/mm: Use a helper for finding pte bits mapping I/O area
2016-05-01 18:32:32 +10:00
jump_label.c
jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP}
2015-08-03 11:34:12 +02:00
kgdb.c
powerpc: Fix kgdb on little endian ppc64le
2016-02-18 00:03:26 +11:00
kprobes.c
powerpc/kprobes: Pause function_graph tracing during jprobes handling
2017-06-29 13:00:29 +02:00
kvm.c
powerpc: Remove redundant breaks
2015-08-06 15:10:20 +10:00
kvm_emul.S
l2cr_6xx.S
legacy_serial.c
powerpc: Remove all usages of NO_IRQ
2016-09-20 20:57:12 +10:00
machine_kexec.c
powerpc/crashkernel: Take "mem=" option into account
2020-06-30 15:38:22 -04:00
machine_kexec_32.c
machine_kexec_64.c
powerpc/64/kexec: Remove BookE special default_machine_kexec_prepare()
2016-09-23 07:54:18 +10:00
Makefile
powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC
2019-04-17 08:36:41 +02:00
mce.c
powerpc/book3s/mce: Move add_taint() later in virtual mode
2017-05-25 15:44:43 +02:00
mce_power.c
powerpc/mm/radix: Fix CONFIG_PPC_MMU_STD_64 typo
2016-05-11 21:53:59 +10:00
misc.S
ppc: move exports to definitions
2016-08-07 23:50:09 -04:00
misc_32.S
powerpc: Fix build warning on 32-bit PPC
2017-01-15 13:42:56 +01:00
misc_64.S
powerpc/64: Fix flush_(d|i)cache_range() called from modules
2017-04-12 12:41:13 +02:00
module.c
powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC
2019-04-17 08:36:41 +02:00
module_32.c
powerpc/module: Only try to generate the ftrace_caller() stub once
2016-03-07 14:53:53 +11:00
module_64.c
powerpc/modules: Don't try to restore r2 after a sibling call
2018-03-22 09:17:57 +01:00
msi.c
powerpc/msi: Fix NULL pointer access in teardown code
2018-12-21 14:11:32 +01:00
nvram_64.c
pstore: Fix flags to enable dumps on powerpc
2017-05-20 14:28:42 +02:00
of_platform.c
powerpc/eeh: Do probe on pci_dn
2015-03-24 13:15:52 +11:00
paca.c
powerpc/mm: Convert early cpu/mmu feature check to use the new helpers
2016-08-01 11:15:01 +10:00
pci-common.c
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
pci-hotplug.c
powerpc/pci: Don't scan empty slot
2016-05-11 21:54:26 +10:00
pci_32.c
powerpc/32: Add a missing include header
2018-08-03 07:55:18 +02:00
pci_64.c
powerpc fixes for 4.7 #5
2016-07-15 14:57:47 +10:00
pci_dn.c
powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
2020-02-28 15:42:37 +01:00
pci_of_scan.c
powerpc/pci/of: Parse unassigned resources
2020-05-10 10:28:00 +02:00
pmc.c
ppc32.h
ppc_save_regs.S
proc_powerpc.c
process.c
powerpc/process: Fix flush_all_to_thread for SPE
2019-11-28 18:28:40 +01:00
prom.c
powerpc/prom: fix early DEBUG messages
2019-12-05 15:34:45 +01:00
prom_init.c
powerpc: Add missing error check to prom_find_boot_cpu()
2017-02-09 08:08:27 +01:00
prom_init_check.sh
prom_parse.c
ptrace.c
powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning
2019-03-23 13:19:52 +01:00
ptrace32.c
ptrace: Don't allow accessing an undumpable mm
2017-01-06 10:40:13 +01:00
reloc_32.S
reloc_64.S
rtas-proc.c
powerpc: Various typo fixes
2016-06-14 13:58:26 +10:00
rtas-rtc.c
rtas.c
powerpc/pseries: Disable CPU hotplug across migrations
2019-11-25 09:52:30 +01:00
rtas_flash.c
rtas_pci.c
powerpc: move find_and_init_phbs() to pSeries specific code
2015-04-11 20:49:09 +10:00
rtasd.c
powerpc/pseries: start rtasd before PCI probing
2016-07-08 19:22:15 +10:00
security.c
powerpc/security: Fix wrong message when RFI Flush is disable
2020-01-04 13:40:53 +01:00
setup-common.c
powerpc/fsl: Enable runtime patching if nospectre_v2 boot arg is used
2019-04-17 08:36:43 +02:00
setup.h
powerpc: Merge 32-bit and 64-bit setup_arch()
2016-07-21 19:17:46 +10:00
setup_32.c
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
setup_64.c
powerpc/64s: Fix section mismatch warnings from setup_rfi_flush()
2018-06-06 16:44:37 +02:00
signal.c
powerpc/signal: Properly handle return value from uprobe_deny_signal()
2017-11-30 08:39:08 +00:00
signal.h
powerpc: tm: Rename transct_(*) to ck(\1)_state
2016-10-04 20:33:16 +11:00
signal_32.c
powerpc/tm: Fix oops on sigreturn on systems without TM
2019-08-04 09:33:43 +02:00
signal_64.c
powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
2020-04-24 07:59:00 +02:00
smp-tbsync.c
smp.c
powerpc, hotplug: Avoid to touch non-existent cpumasks.
2016-08-22 11:09:33 +10:00
stacktrace.c
powerpc: Implement save_stack_trace_regs() to enable kprobe stack tracing
2016-01-11 14:27:28 +11:00
suspend.c
nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
2014-10-09 22:26:04 -04:00
swsusp.c
powerpc/mm: Abstraction for switch_mmu_context()
2016-05-01 18:33:04 +10:00
swsusp_32.S
powerpc/32s: fix suspend/resume when IBATs 4-7 are used
2019-08-04 09:33:31 +02:00
swsusp_64.c
swsusp_asm64.S
powerpc: Fix invalid use of register expressions
2019-04-17 08:36:39 +02:00
swsusp_booke.S
sys_ppc32.c
syscalls.c
powerpc/sparse: Add more assembler prototypes
2016-09-13 17:36:58 +10:00
sysfs.c
powerpc/sparse: make some things static
2016-06-16 22:23:11 +10:00
systbl.S
powerpc: Add a proper syscall for switching endianness
2015-03-28 22:03:40 +11:00
systbl_chk.c
powerpc: Standardise on NR_syscalls rather than __NR_syscalls.
2015-11-26 22:11:17 +11:00
systbl_chk.sh
powerpc: Standardise on NR_syscalls rather than __NR_syscalls.
2015-11-26 22:11:17 +11:00
tau_6xx.c
time.c
powerpc/pseries: Mark accumulate_stolen_time() as notrace
2020-01-04 13:40:42 +01:00
tm.S
powerpc/tm: Avoid possible userspace r1 corruption on reclaim
2018-10-20 09:51:31 +02:00
trace_clock.c
powerpc/ftrace: add powerpc timebase as a trace clock source
2015-08-06 16:36:23 +10:00
traps.c
powerpc/book3s/mce: Move add_taint() later in virtual mode
2017-05-25 15:44:43 +02:00
udbg.c
powerpc: Remove the celleb support
2015-04-07 17:15:13 +10:00
udbg_16550.c
powerpc: Fix bad NULL pointer check in udbg_uart_getc_poll()
2014-11-12 13:47:20 +11:00
uprobes.c
vdso.c
powerpc/vdso: Add missing include file
2016-08-09 16:52:00 +10:00
vecemu.c
vector.S
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
vio.c
dma-mapping: use unsigned long for dma_attrs
2016-08-04 08:50:07 -04:00
vmlinux.lds.S
powerpc: Include .BTF section
2020-04-02 17:20:21 +02:00