From: Tim Gardner Date: Tue, 29 Mar 2016 12:04:19 +0000 (-0600) Subject: Revert "mm: CONFIG_NR_ZONES_EXTENDED" X-Git-Tag: Ubuntu-snapdragon-4.4.0-1050.54~4351 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8c6580bce5c1c03eb66387cbae52530ce70d45a3;p=mirror_ubuntu-artful-kernel.git Revert "mm: CONFIG_NR_ZONES_EXTENDED" BugLink: http://bugs.launchpad.net/bugs/1563293 This reverts commit f671c3e6168e8b21aeb32201b3187c5d2b077349. This patch never made it upstream. Instead, commit b11a7b94100cba5ec926a181894c2897a22651b9 ('mm: exclude ZONE_DEVICE from GFP_ZONE_TABLE') replaced it. Signed-off-by: Tim Gardner --- diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9d34895380bc..03ef954bf276 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1375,10 +1375,8 @@ config NUMA_EMU config NODES_SHIFT int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP - range 1 10 if !NR_ZONES_EXTENDED - range 1 9 if NR_ZONES_EXTENDED - default "10" if MAXSMP && !NR_ZONES_EXTENDED - default "9" if MAXSMP && NR_ZONES_EXTENDED + range 1 10 + default "10" if MAXSMP default "6" if X86_64 default "3" depends on NEED_MULTIPLE_NODES diff --git a/debian.master/config/amd64/config.common.amd64 b/debian.master/config/amd64/config.common.amd64 index 13862ba71005..3f616c44e34e 100644 --- a/debian.master/config/amd64/config.common.amd64 +++ b/debian.master/config/amd64/config.common.amd64 @@ -260,7 +260,6 @@ CONFIG_NFC=m CONFIG_NODES_SHIFT=6 CONFIG_NOZOMI=m CONFIG_NR_CPUS=256 -CONFIG_NR_ZONES_EXTENDED=y CONFIG_NTB=m # CONFIG_NTFS_RW is not set CONFIG_NUMA=y diff --git a/debian.master/config/armhf/config.common.armhf b/debian.master/config/armhf/config.common.armhf index f04c2e536e1d..6c46a507a251 100644 --- a/debian.master/config/armhf/config.common.armhf +++ b/debian.master/config/armhf/config.common.armhf @@ -253,7 +253,6 @@ CONFIG_NEW_LEDS=y CONFIG_NFC=m CONFIG_NOZOMI=m CONFIG_NR_CPUS=4 -# CONFIG_NR_ZONES_EXTENDED is not set CONFIG_NTB=m # CONFIG_NTFS_RW is not set CONFIG_NVMEM=m diff --git a/debian.master/config/i386/config.common.i386 b/debian.master/config/i386/config.common.i386 index 0716b03b8828..d749ac97f1f2 100644 --- a/debian.master/config/i386/config.common.i386 +++ b/debian.master/config/i386/config.common.i386 @@ -257,7 +257,6 @@ CONFIG_NEW_LEDS=y CONFIG_NFC=m CONFIG_NOZOMI=m CONFIG_NR_CPUS=8 -# CONFIG_NR_ZONES_EXTENDED is not set CONFIG_NTB=m # CONFIG_NTFS_RW is not set CONFIG_NVMEM=m diff --git a/debian.master/config/powerpc/config.common.powerpc b/debian.master/config/powerpc/config.common.powerpc index 0dde9b5748e8..2700eb6de95a 100644 --- a/debian.master/config/powerpc/config.common.powerpc +++ b/debian.master/config/powerpc/config.common.powerpc @@ -250,7 +250,6 @@ CONFIG_NEW_LEDS=y CONFIG_NFC=m CONFIG_NODES_SHIFT=8 CONFIG_NOZOMI=m -# CONFIG_NR_ZONES_EXTENDED is not set CONFIG_NTB=m # CONFIG_NTFS_RW is not set CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y diff --git a/include/linux/gfp.h b/include/linux/gfp.h index c40c838d7248..8942af0813e3 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -322,29 +322,22 @@ static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags) * 0xe => BAD (MOVABLE+DMA32+HIGHMEM) * 0xf => BAD (MOVABLE+DMA32+HIGHMEM+DMA) * - * GFP_ZONES_SHIFT must be <= 2 on 32 bit platforms. + * ZONES_SHIFT must be <= 2 on 32 bit platforms. */ -#if defined(CONFIG_ZONE_DEVICE) && (MAX_NR_ZONES-1) <= 4 -/* ZONE_DEVICE is not a valid GFP zone specifier */ -#define GFP_ZONES_SHIFT 2 -#else -#define GFP_ZONES_SHIFT ZONES_SHIFT -#endif - -#if 16 * GFP_ZONES_SHIFT > BITS_PER_LONG -#error GFP_ZONES_SHIFT too large to create GFP_ZONE_TABLE integer +#if 16 * ZONES_SHIFT > BITS_PER_LONG +#error ZONES_SHIFT too large to create GFP_ZONE_TABLE integer #endif #define GFP_ZONE_TABLE ( \ - (ZONE_NORMAL << 0 * GFP_ZONES_SHIFT) \ - | (OPT_ZONE_DMA << ___GFP_DMA * GFP_ZONES_SHIFT) \ - | (OPT_ZONE_HIGHMEM << ___GFP_HIGHMEM * GFP_ZONES_SHIFT) \ - | (OPT_ZONE_DMA32 << ___GFP_DMA32 * GFP_ZONES_SHIFT) \ - | (ZONE_NORMAL << ___GFP_MOVABLE * GFP_ZONES_SHIFT) \ - | (OPT_ZONE_DMA << (___GFP_MOVABLE | ___GFP_DMA) * GFP_ZONES_SHIFT) \ - | (ZONE_MOVABLE << (___GFP_MOVABLE | ___GFP_HIGHMEM) * GFP_ZONES_SHIFT) \ - | (OPT_ZONE_DMA32 << (___GFP_MOVABLE | ___GFP_DMA32) * GFP_ZONES_SHIFT) \ + (ZONE_NORMAL << 0 * ZONES_SHIFT) \ + | (OPT_ZONE_DMA << ___GFP_DMA * ZONES_SHIFT) \ + | (OPT_ZONE_HIGHMEM << ___GFP_HIGHMEM * ZONES_SHIFT) \ + | (OPT_ZONE_DMA32 << ___GFP_DMA32 * ZONES_SHIFT) \ + | (ZONE_NORMAL << ___GFP_MOVABLE * ZONES_SHIFT) \ + | (OPT_ZONE_DMA << (___GFP_MOVABLE | ___GFP_DMA) * ZONES_SHIFT) \ + | (ZONE_MOVABLE << (___GFP_MOVABLE | ___GFP_HIGHMEM) * ZONES_SHIFT) \ + | (OPT_ZONE_DMA32 << (___GFP_MOVABLE | ___GFP_DMA32) * ZONES_SHIFT) \ ) /* @@ -369,8 +362,8 @@ static inline enum zone_type gfp_zone(gfp_t flags) enum zone_type z; int bit = (__force int) (flags & GFP_ZONEMASK); - z = (GFP_ZONE_TABLE >> (bit * GFP_ZONES_SHIFT)) & - ((1 << GFP_ZONES_SHIFT) - 1); + z = (GFP_ZONE_TABLE >> (bit * ZONES_SHIFT)) & + ((1 << ZONES_SHIFT) - 1); VM_BUG_ON((GFP_ZONE_BAD >> bit) & 1); return z; } diff --git a/include/linux/page-flags-layout.h b/include/linux/page-flags-layout.h index 77b078c103b2..da523661500a 100644 --- a/include/linux/page-flags-layout.h +++ b/include/linux/page-flags-layout.h @@ -17,8 +17,6 @@ #define ZONES_SHIFT 1 #elif MAX_NR_ZONES <= 4 #define ZONES_SHIFT 2 -#elif MAX_NR_ZONES <= 8 -#define ZONES_SHIFT 3 #else #error ZONES_SHIFT -- too many zones configured adjust calculation #endif diff --git a/mm/Kconfig b/mm/Kconfig index cb5377624df3..97a4e06b15c0 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -651,6 +651,8 @@ config IDLE_PAGE_TRACKING config ZONE_DEVICE bool "Device memory (pmem, etc...) hotplug support" if EXPERT + default !ZONE_DMA + depends on !ZONE_DMA depends on MEMORY_HOTPLUG depends on MEMORY_HOTREMOVE depends on X86_64 #arch_add_memory() comprehends device memory @@ -664,10 +666,5 @@ config ZONE_DEVICE If FS_DAX is enabled, then say Y. -config NR_ZONES_EXTENDED - bool - default n if !64BIT - default y if ZONE_DEVICE && ZONE_DMA && ZONE_DMA32 - config FRAME_VECTOR bool