linux/arch/powerpc/kernel
Hari Bathini 68fa6478e3 powerpc/fadump: add reschedule point while releasing memory
Around 95% of memory is reserved by fadump/capture kernel. All this
memory is freed, one page at a time, on writing '1' to the node
/sys/kernel/fadump_release_mem. On systems with large memory, this
can take a long time to complete, leading to soft lockup warning
messages. To avoid this, add reschedule points at regular intervals.

Also, while memblock_reserve() implicitly takes care of holes in the
given memory range while reserving memory, those holes need to be
taken care of while releasing memory as memory is freed one page at
a time. Add support to skip holes while releasing memory.

Suggested-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Hari Bathini <hbathini@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-06-28 13:08:11 +10:00
..
trace powerpc/ftrace/64: Split further based on -mprofile-kernel 2017-04-27 22:20:29 +10:00
vdso32 powerpc/vdso: Fix build rules to rebuild vdsos correctly 2016-08-10 23:04:12 +10:00
vdso64 powerpc/vdso64: Use double word compare on pointers 2016-09-29 15:17:57 +10:00
.gitignore
align.c powerpc: Don't try to fix up misaligned load-with-reservation instructions 2017-04-04 23:16:57 +10:00
asm-offsets.c powerpc: Fix asm offsets to point to actual FP and VMX regs 2017-06-27 12:09:08 +10: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: Fix missing L2 cache size in /sys/devices/system/cpu 2015-04-11 20:49:28 +10:00
cacheinfo.h
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: Power9 has no LPCR[VRMASD] field so don't set it 2017-05-03 20:45:55 +10:00
cpu_setup_ppc970.S
cputable.c powerpc: Add PPC_FEATURE userspace bits for SCV and DARN instructions 2017-05-25 23:07:45 +10:00
crash_dump.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
crash.c powerpc/fadump: remove dependency with CONFIG_KEXEC 2017-05-08 17:15:11 -07:00
dbell.c powerpc: Introduce msgsnd/doorbell barrier primitives 2017-04-13 23:34:33 +10:00
dma-iommu.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dma-swiotlb.c treewide: Constify most dma_map_ops structures 2017-01-24 12:23:35 -05:00
dma.c treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
dt_cpu_ftrs.c powerpc/64s: Support new device tree binding for discovering CPU features 2017-05-09 23:42:55 +10: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/eeh: Clean up and document event handling functions 2017-05-02 22:41:43 +10:00
eeh_event.c powerpc/pci: Always print PHB and PE numbers as hexadecimal 2016-11-22 11:57:07 +11:00
eeh_pe.c powerpc/pci: Always print PHB and PE numbers as hexadecimal 2016-11-22 11:57:07 +11:00
eeh_sysfs.c
eeh.c powerpc: Create asm/debugfs.h and move powerpc_debugfs_root there 2017-04-11 07:46:03 +10:00
entry_32.S powerpc: Split ftrace bits into a separate file 2017-04-27 22:20:29 +10:00
entry_64.S powerpc/64s: Avoid cpabort in context switch when possible 2017-06-15 16:34:39 +10:00
epapr_hcalls.S ppc: move exports to definitions 2016-08-07 23:50:09 -04:00
epapr_paravirt.c
exceptions-64e.S powerpc/64e: Fix hang when debugging programs with relocated kernel 2017-04-30 01:05:18 -05:00
exceptions-64s.S powerpc/64s: Invalidate ERAT on powersave wakeup for POWER9 2017-06-27 14:18:30 +10:00
fadump.c powerpc/fadump: add reschedule point while releasing memory 2017-06-28 13:08:11 +10: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
head_8xx.S powerpc/8xx: Perf events on PPC 8xx 2017-01-26 17:49:34 -06:00
head_32.S powerpc/32: Remove Mac-on-Linux/rtlinux hooks 2017-03-21 22:09:26 +11: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/64: Allow for THREAD_SIZE > 16k 2017-03-20 19:02:49 +11:00
head_booke.h
head_fsl_booke.S ppc: move exports to definitions 2016-08-07 23:50:09 -04:00
hw_breakpoint.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next 2017-02-18 21:37:14 +11:00
idle_6xx.S
idle_book3e.S
idle_book3s.S powerpc/64s: Invalidate ERAT on powersave wakeup for POWER9 2017-06-27 14:18:30 +10: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
idle.c
ima_kexec.c powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
io-workarounds.c sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
io.c
iomap.c powerpc: Move isa bridge definitions to separate include 2017-01-31 13:54:17 +11:00
iommu.c KVM: PPC: iommu: Unify TCE checking 2017-04-20 11:39:21 +10:00
irq.c powerpc/64s/idle: Process interrupts from system reset wakeup 2017-06-19 19:46:27 +10:00
isa-bridge.c powerpc: Add support for non-PCI ISA bridges 2017-01-31 13:54:17 +11: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
kexec_elf_64.c powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
kgdb.c powerpc: Fix kgdb on little endian ppc64le 2016-02-18 00:03:26 +11:00
kprobes-ftrace.c powerpc/kprobes: Add support for KPROBES_ON_FTRACE 2017-04-24 19:07:58 +10:00
kprobes.c powerpc/kprobes: Fix handling of instruction emulation on probe re-entry 2017-05-16 13:11:07 +10:00
kvm_emul.S
kvm.c powerpc: Remove redundant breaks 2015-08-06 15:10:20 +10:00
l2cr_6xx.S
legacy_serial.c powerpc/powernv: Add support for direct mapped LPC on POWER9 2017-01-31 13:54:18 +11:00
machine_kexec_32.c
machine_kexec_64.c powerpc: Add purgatory for kexec_file_load() implementation. 2016-11-30 23:15:26 +11:00
machine_kexec_file_64.c powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
machine_kexec.c powerpc: Update of_remove_property() call sites to remove null checking 2016-05-11 21:54:04 +10:00
Makefile powerpc/time: Fix tracing in time.c 2017-06-21 20:37:27 +10:00
mce_power.c powerpc/64s: Machine check handle ifetch from foreign real address for POWER9 2017-06-06 21:17:15 +10:00
mce.c powerpc/64s: Machine check handle ifetch from foreign real address for POWER9 2017-06-06 21:17:15 +10:00
misc_32.S powerpc/40x: Clear MSR_DR in one insn instead of two 2017-06-02 19:20:43 +10:00
misc_64.S powerpc/64: Fix flush_(d|i)cache_range() called from modules 2017-04-05 21:40:21 +10:00
misc.S ppc: move exports to definitions 2016-08-07 23:50:09 -04: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 modversions: treat symbol CRCs as 32 bit quantities 2017-02-03 08:28:25 -08:00
module.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
msi.c powerpc: Remove MSI-related PCI controller ops from ppc_md 2015-06-02 11:47:45 +10:00
nvram_64.c pstore: Fix flags to enable dumps on powerpc 2017-04-27 14:49:05 -07:00
of_platform.c powerpc/of_platform: Use builtin_platform_driver 2016-11-25 14:07:51 +11:00
optprobes_head.S powerpc/optprobes: Fix TOC handling in optprobes trampoline 2017-02-23 08:23:30 +11:00
optprobes.c powerpc: Introduce a new helper to obtain function entry points 2017-04-24 19:07:58 +10:00
paca.c powerpc/mm/hash: Store addr_limit in PACA 2017-04-01 21:12:27 +11:00
pci_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pci_64.c powerpc fixes for 4.7 #5 2016-07-15 14:57:47 +10:00
pci_dn.c powerpc/pci: Fix build with PCI_IOV=y and EEH=n 2016-07-07 16:33:27 +10:00
pci_of_scan.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
pci-common.c Merge branch 'pci/resource-mmap' into next 2017-04-28 10:34:34 -05:00
pci-hotplug.c powerpc/pci: Don't scan empty slot 2016-05-11 21:54:26 +10:00
pmc.c
ppc32.h
ppc_save_regs.S
proc_powerpc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
process.c powerpc/64s: Avoid cpabort in context switch when possible 2017-06-15 16:34:39 +10:00
prom_init_check.sh
prom_init.c powerpc/prom: Increase minimum RMA size to 512MB 2017-04-04 13:27:59 +10:00
prom_parse.c
prom.c powerpc: Fix booting P9 hash with CONFIG_PPC_RADIX_MMU=N 2017-05-25 23:07:44 +10:00
ptrace32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ptrace.c powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write 2017-01-20 14:55:19 +11:00
reloc_32.S
reloc_64.S
rtas_flash.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
rtas_pci.c powerpc: move find_and_init_phbs() to pSeries specific code 2015-04-11 20:49:09 +10:00
rtas-proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
rtas-rtc.c
rtas.c powerpc/kernel: Fix unbalanced refcount on RTAS device node 2017-01-25 13:34:21 +11:00
rtasd.c powerpc/pseries: Update affinity for memory and cpus specified in a PRRN event 2017-02-02 20:36:38 +11:00
setup_32.c powerpc: Move {d,i,u}cache_bsize definitions to a common place 2017-02-06 19:46:04 +11:00
setup_64.c powerpc updates for 4.12 part 2 2017-05-12 10:04:09 -07:00
setup-common.c powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 2017-06-27 12:09:07 +10:00
setup.h powerpc: Merge 32-bit and 64-bit setup_arch() 2016-07-21 19:17:46 +10:00
signal_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
signal_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
signal.c livepatch/powerpc: add TIF_PATCH_PENDING thread flag 2017-03-08 09:20:19 +01:00
signal.h powerpc: tm: Rename transct_(*) to ck(\1)_state 2016-10-04 20:33:16 +11:00
smp-tbsync.c
smp.c powerpc updates for 4.12 part 1. 2017-05-05 11:36:44 -07:00
stacktrace.c powerpc: Make /proc/self/stack always print the current stack 2017-03-28 14:43:59 +11:00
suspend.c
swsusp_32.S
swsusp_64.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/nmi.h> 2017-03-02 08:42:30 +01:00
swsusp_asm64.S
swsusp_booke.S
swsusp.c powerpc/swsusp: Include suspend.h to silence sparse warnings 2017-03-20 19:02:49 +11:00
sys_ppc32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
syscalls.c powerpc/tracing: Allow tracing of mmap syscalls 2017-04-12 22:32:43 +10:00
sysfs.c powerpc/sysfs: Move #ifdef CONFIG_HOTPLUG_CPU out of the function body 2017-05-03 14:45:38 +10: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
systbl.S
tau_6xx.c
time.c powerpc: Convert VDSO update function to use new update_vsyscall interface 2017-06-22 16:26:23 +10:00
tm.S powerpc/tm: Fix comment 2017-06-27 12:09:09 +10:00
traps.c powerpc/book3s/mce: Move add_taint() later in virtual mode 2017-05-03 14:45:39 +10:00
udbg_16550.c
udbg.c powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
uprobes.c
vdso.c powerpc/64: Clean up ppc64_caches using a struct per cache 2017-02-06 19:46:04 +11:00
vecemu.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
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
vmlinux.lds.S powerpc: Link warning for orphan sections 2017-05-30 14:59:51 +10:00