aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/mm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-03-16 14:51:08 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-03-16 14:51:08 -0400
commit271ecc5253e2b317d729d366560789cd7f93836c (patch)
treed3a60bc4dfa8245ff934f357f2367db76b59e7cf /arch/s390/mm
parentaa6865d836418eb2ba888a4cb1318a28e9aa2e0c (diff)
parent63c06227a22b098a3849c5c99e836aea161ca0d7 (diff)
Merge branch 'akpm' (patches from Andrew)
Merge first patch-bomb from Andrew Morton: - some misc things - ofs2 updates - about half of MM - checkpatch updates - autofs4 update * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (120 commits) autofs4: fix string.h include in auto_dev-ioctl.h autofs4: use pr_xxx() macros directly for logging autofs4: change log print macros to not insert newline autofs4: make autofs log prints consistent autofs4: fix some white space errors autofs4: fix invalid ioctl return in autofs4_root_ioctl_unlocked() autofs4: fix coding style line length in autofs4_wait() autofs4: fix coding style problem in autofs4_get_set_timeout() autofs4: coding style fixes autofs: show pipe inode in mount options kallsyms: add support for relative offsets in kallsyms address table kallsyms: don't overload absolute symbol type for percpu symbols x86: kallsyms: disable absolute percpu symbols on !SMP checkpatch: fix another left brace warning checkpatch: improve UNSPECIFIED_INT test for bare signed/unsigned uses checkpatch: warn on bare unsigned or signed declarations without int checkpatch: exclude asm volatile from complex macro check mm: memcontrol: drop unnecessary lru locking from mem_cgroup_migrate() mm: migrate: consolidate mem_cgroup_migrate() calls mm/compaction: speed up pageblock_pfn_to_page() when zone is contiguous ...
Diffstat (limited to 'arch/s390/mm')
-rw-r--r--arch/s390/mm/vmem.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
index ef7d6c8fea66..d27fccbad7c1 100644
--- a/arch/s390/mm/vmem.c
+++ b/arch/s390/mm/vmem.c
@@ -94,16 +94,15 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
94 pgd_populate(&init_mm, pg_dir, pu_dir); 94 pgd_populate(&init_mm, pg_dir, pu_dir);
95 } 95 }
96 pu_dir = pud_offset(pg_dir, address); 96 pu_dir = pud_offset(pg_dir, address);
97#ifndef CONFIG_DEBUG_PAGEALLOC
98 if (MACHINE_HAS_EDAT2 && pud_none(*pu_dir) && address && 97 if (MACHINE_HAS_EDAT2 && pud_none(*pu_dir) && address &&
99 !(address & ~PUD_MASK) && (address + PUD_SIZE <= end)) { 98 !(address & ~PUD_MASK) && (address + PUD_SIZE <= end) &&
99 !debug_pagealloc_enabled()) {
100 pud_val(*pu_dir) = __pa(address) | 100 pud_val(*pu_dir) = __pa(address) |
101 _REGION_ENTRY_TYPE_R3 | _REGION3_ENTRY_LARGE | 101 _REGION_ENTRY_TYPE_R3 | _REGION3_ENTRY_LARGE |
102 (ro ? _REGION_ENTRY_PROTECT : 0); 102 (ro ? _REGION_ENTRY_PROTECT : 0);
103 address += PUD_SIZE; 103 address += PUD_SIZE;
104 continue; 104 continue;
105 } 105 }
106#endif
107 if (pud_none(*pu_dir)) { 106 if (pud_none(*pu_dir)) {
108 pm_dir = vmem_pmd_alloc(); 107 pm_dir = vmem_pmd_alloc();
109 if (!pm_dir) 108 if (!pm_dir)
@@ -111,9 +110,9 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
111 pud_populate(&init_mm, pu_dir, pm_dir); 110 pud_populate(&init_mm, pu_dir, pm_dir);
112 } 111 }
113 pm_dir = pmd_offset(pu_dir, address); 112 pm_dir = pmd_offset(pu_dir, address);
114#ifndef CONFIG_DEBUG_PAGEALLOC
115 if (MACHINE_HAS_EDAT1 && pmd_none(*pm_dir) && address && 113 if (MACHINE_HAS_EDAT1 && pmd_none(*pm_dir) && address &&
116 !(address & ~PMD_MASK) && (address + PMD_SIZE <= end)) { 114 !(address & ~PMD_MASK) && (address + PMD_SIZE <= end) &&
115 !debug_pagealloc_enabled()) {
117 pmd_val(*pm_dir) = __pa(address) | 116 pmd_val(*pm_dir) = __pa(address) |
118 _SEGMENT_ENTRY | _SEGMENT_ENTRY_LARGE | 117 _SEGMENT_ENTRY | _SEGMENT_ENTRY_LARGE |
119 _SEGMENT_ENTRY_YOUNG | 118 _SEGMENT_ENTRY_YOUNG |
@@ -121,7 +120,6 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
121 address += PMD_SIZE; 120 address += PMD_SIZE;
122 continue; 121 continue;
123 } 122 }
124#endif
125 if (pmd_none(*pm_dir)) { 123 if (pmd_none(*pm_dir)) {
126 pt_dir = vmem_pte_alloc(address); 124 pt_dir = vmem_pte_alloc(address);
127 if (!pt_dir) 125 if (!pt_dir)