aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorPrarit Bhargava <prarit@redhat.com>2007-08-22 14:34:38 -0400
committerTony Luck <tony.luck@intel.com>2007-09-01 05:50:21 -0400
commit99a19cf1c0eb22bad83fff060f08330ee9e029e2 (patch)
treea4e6726edfbcf9fcb89e9ebd8ebdcae53f26d48b /arch/ia64
parent6e9de18120988388cdae5097c09e774416d58745 (diff)
[IA64] Stop bogus NMI & softlockup warnings in ia64 show_mem
When dumping memory via sysrq-m it is possible to take a bogus NMI watchdog or softlockup watchdog because the dump can take a long time on big memory systems. Occasionally tickle the watchdog when doing the dump. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/mm/contig.c3
-rw-r--r--arch/ia64/mm/discontig.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c
index 7ac8592a35b6..d3c538be466c 100644
--- a/arch/ia64/mm/contig.c
+++ b/arch/ia64/mm/contig.c
@@ -17,6 +17,7 @@
17#include <linux/bootmem.h> 17#include <linux/bootmem.h>
18#include <linux/efi.h> 18#include <linux/efi.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/nmi.h>
20#include <linux/swap.h> 21#include <linux/swap.h>
21 22
22#include <asm/meminit.h> 23#include <asm/meminit.h>
@@ -56,6 +57,8 @@ void show_mem(void)
56 present = pgdat->node_present_pages; 57 present = pgdat->node_present_pages;
57 for(i = 0; i < pgdat->node_spanned_pages; i++) { 58 for(i = 0; i < pgdat->node_spanned_pages; i++) {
58 struct page *page; 59 struct page *page;
60 if (unlikely(i % MAX_ORDER_NR_PAGES == 0))
61 touch_nmi_watchdog();
59 if (pfn_valid(pgdat->node_start_pfn + i)) 62 if (pfn_valid(pgdat->node_start_pfn + i))
60 page = pfn_to_page(pgdat->node_start_pfn + i); 63 page = pfn_to_page(pgdat->node_start_pfn + i);
61 else { 64 else {
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
index 0dbf0e81f8c0..0d34585058c8 100644
--- a/arch/ia64/mm/discontig.c
+++ b/arch/ia64/mm/discontig.c
@@ -16,6 +16,7 @@
16 16
17#include <linux/kernel.h> 17#include <linux/kernel.h>
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/nmi.h>
19#include <linux/swap.h> 20#include <linux/swap.h>
20#include <linux/bootmem.h> 21#include <linux/bootmem.h>
21#include <linux/acpi.h> 22#include <linux/acpi.h>
@@ -533,6 +534,8 @@ void show_mem(void)
533 present = pgdat->node_present_pages; 534 present = pgdat->node_present_pages;
534 for(i = 0; i < pgdat->node_spanned_pages; i++) { 535 for(i = 0; i < pgdat->node_spanned_pages; i++) {
535 struct page *page; 536 struct page *page;
537 if (unlikely(i % MAX_ORDER_NR_PAGES == 0))
538 touch_nmi_watchdog();
536 if (pfn_valid(pgdat->node_start_pfn + i)) 539 if (pfn_valid(pgdat->node_start_pfn + i))
537 page = pfn_to_page(pgdat->node_start_pfn + i); 540 page = pfn_to_page(pgdat->node_start_pfn + i);
538 else { 541 else {