linux/arch
Helge Deller 36960edcc3 UPSTREAM: parisc: Switch from DISCONTIGMEM to SPARSEMEM
The commit 1c30844d2d ("mm: reclaim small amounts of memory when an
external fragmentation event occurs") breaks memory management on a
parisc c8000 workstation with this memory layout:

	0) Start 0x0000000000000000 End 0x000000003fffffff Size   1024 MB
	1) Start 0x0000000100000000 End 0x00000001bfdfffff Size   3070 MB
	2) Start 0x0000004040000000 End 0x00000040ffffffff Size   3072 MB

With the patch 1c30844d2d, the kernel will incorrectly reclaim the
first zone when it fills up, ignoring the fact that there are two
completely free zones. Basiscally, it limits cache size to 1GiB.

The parisc kernel is currently using the DISCONTIGMEM implementation,
but isn't NUMA. Avoid this issue or strange work-arounds by switching to
the more commonly used SPARSEMEM implementation.

Reported-by: Mikulas Patocka <mpatocka@redhat.com>
Fixes: 1c30844d2d ("mm: reclaim small amounts of memory when an external fragmentation event occurs")
Signed-off-by: Helge Deller <deller@gmx.de>
(cherry picked from commit dbdf076099)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Icea3d5728ab2a218c4f6aa14b2c89984bba484dd
2020-11-16 09:22:35 +01:00
..
alpha alpha: fix annotation of io{read,write}{16,32}be() 2020-08-26 10:31:02 +02:00
arc Revert "ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE" 2020-11-10 12:36:01 +01:00
arm UPSTREAM: ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS 2020-11-16 07:43:08 +01:00
arm64 UPSTREAM: arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system 2020-11-16 09:22:35 +01:00
c6x
h8300
hexagon hexagon: define ioremap_uc 2020-05-10 10:30:11 +02:00
ia64 ia64: fix build error with !COREDUMP 2020-11-05 11:08:52 +01:00
m68k m68k: q40: Fix info-leak in rtc_ioctl 2020-10-01 13:14:24 +02:00
microblaze microblaze: Prevent the overflow of the start 2020-02-24 08:34:53 +01:00
mips UPSTREAM: page flags: prioritize kasan bits over last-cpuid 2020-11-16 09:22:35 +01:00
nds32 UPSTREAM: nds32: Fix vDSO clock_getres() 2020-04-27 22:51:55 -07:00
nios2 nios2: ksyms: Add missing symbol exports 2020-01-27 14:50:30 +01:00
openrisc openrisc: Fix cache API compile issue when not inlining 2020-09-23 12:10:58 +02:00
parisc UPSTREAM: parisc: Switch from DISCONTIGMEM to SPARSEMEM 2020-11-16 09:22:35 +01:00
powerpc This is the 4.19.155 stable release 2020-11-05 14:02:27 +01:00
riscv riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO 2020-11-05 11:08:41 +01:00
s390 UPSTREAM: s390/setup: init jump labels before command line parsing 2020-11-16 07:43:08 +01:00
sh sh: landisk: Add missing initialization of sh_io_port_base 2020-08-21 11:05:39 +02:00
sparc sparc64: remove mm_cpumask clearing to fix kthread_use_mm race 2020-11-05 11:08:38 +01:00
um um: change sigio_spinlock to a mutex 2020-11-05 11:08:39 +01:00
unicore32
x86 UPSTREAM: um: Fix header inclusion 2020-11-16 07:43:08 +01:00
xtensa This is the 4.19.141 stable release 2020-08-21 13:01:46 +02:00
.gitignore
Kconfig This is the 4.19.155 stable release 2020-11-05 14:02:27 +01:00