summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2017-02-13 15:20:18 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2017-02-17 07:41:07 +0100
commit549f2bf594782faa440055255831c9a51940a651 (patch)
tree0af1543196a3d1f8a3b462397f453b1be798d903
parent466178fc4e2937685edb7be005da4eb28bb81d72 (diff)
downloadlinux-549f2bf594782faa440055255831c9a51940a651.tar.bz2
s390/mm: add cond_resched call to kernel page table dumper
Walking kernel page tables within the kernel page table dumper may potentially take a lot of time. This may lead to soft lockup warning messages. To avoid this add a cond_resched call for each pgd_level iteration. This is the same as "x86/mm/ptdump: Fix soft lockup in page table walker" for x86. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/mm/dump_pagetables.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/mm/dump_pagetables.c b/arch/s390/mm/dump_pagetables.c
index 145a0ccb5845..1b553d847140 100644
--- a/arch/s390/mm/dump_pagetables.c
+++ b/arch/s390/mm/dump_pagetables.c
@@ -1,5 +1,6 @@
#include <linux/seq_file.h>
#include <linux/debugfs.h>
+#include <linux/sched.h>
#include <linux/mm.h>
#include <asm/sections.h>
#include <asm/pgtable.h>
@@ -187,6 +188,7 @@ static void walk_pgd_level(struct seq_file *m)
else
note_page(m, &st, _PAGE_INVALID, 1);
addr += PGDIR_SIZE;
+ cond_resched();
}
/* Flush out the last page */
st.current_address = max_addr;