public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Horms <horms@verge.net.au>
To: linux-ia64@vger.kernel.org
Subject: Re: 05e0caad3b7bd0d0fbeff980bca22f186241a501 breaks ia64 kdump
Date: Thu, 16 Nov 2006 06:26:00 +0000	[thread overview]
Message-ID: <20061116062559.GD23146@verge.net.au> (raw)
In-Reply-To: <20061026075951.GA30910@verge.net.au>

On Wed, Nov 15, 2006 at 04:26:59PM +0000, Mel Gorman wrote:
> On Wed, 15 Nov 2006, Zou, Nanhai wrote:
> >>>>>>Zou Nan hai
> >>>>>>--- a/arch/ia64/mm/discontig.c	2006-11-02 20:09:47.000000000 -0500
> >>>>>>+++ b/arch/ia64/mm/discontig.c	2006-11-02 19:57:27.000000000 -0500
> >>>>>>@@ -21,6 +21,7 @@
> >>>>>> #include <linux/acpi.h>
> >>>>>> #include <linux/efi.h>
> >>>>>> #include <linux/nodemask.h>
> >>>>>>+#include <linux/kexec.h>
> >>>>>> #include <asm/pgalloc.h>
> >>>>>> #include <asm/tlb.h>
> >>>>>> #include <asm/meminit.h>
> >>>>>>@@ -653,8 +654,6 @@ void call_pernode_memory(unsigned long s
> >>>>>> static __init int count_node_pages(unsigned long start, unsigned long
> >>len,
> >>>>>>int node)
> >>>>>> {
> >>>>>> 	unsigned long end = start + len;
> >>>>>>-
> >>>>>>-	add_active_range(node, start >> PAGE_SHIFT, end >> PAGE_SHIFT);
> >>>>>> 	mem_data[node].num_physpages += len >> PAGE_SHIFT;
> >>>>>> 	if (start <= __pa(MAX_DMA_ADDRESS))
> >>>>>> 		mem_data[node].num_dma_physpages +> >>>>>>@@ -669,7 +668,31 @@ static __init int count_node_pages(unsig
> >>>>>>
> >>>>>> 	return 0;
> >>>>>> }
> >>>>>>+static __init int add_active_range_wrapper(unsigned long start,
> >>>>>>+		unsigned long len, int node)
> >>>>>>+{
> >>>>>>+	unsigned long end = start + len;
> >>>>>>+	add_active_range(node, start >> PAGE_SHIFT, end >> PAGE_SHIFT);
> >>>>>>+	return 0;
> >>>>>>+}
> >>>>>>
> >>>>
> >>>>The function name doesn't really tell the reader what it's meant to be
> >>>>doing. Something like register_active_ranges() might be a bit better.
> >>>>
> >>>Ok.
> >>>>>>+static int __init
> >>>>>>+filter_pernode_memory (unsigned long start, unsigned long end, void
> >>*arg)
> >>>>>>+{
> >>>>>>+	void (*func)(unsigned long, unsigned long, int);
> >>>>>>+	func = arg;
> >>>>>>+
> >>>>>>+#ifdef CONFIG_KEXEC
> >>>>>>+	if (start > crashk_res.start && start < crashk_res.end)
> >>>>>>+		start = max(start, crashk_res.end);
> >>>>>>+	if (end > crashk_res.start && end < crashk_res.end)
> >>>>>>+		end = min(end, crashk_res.start);

[snip]

> As you say, it's not clear why the normal discontig kernel boots because the 
> regions should have been skipped by add_active_range().
> 
> Try your patch and see does it work for kdump. It should work fine in the 
> normal case because at very worst, slightly more memmap is allocated than is 
> strictly required.

I tried the above patch and kdump does indeed work, whereas without it
it does not. The pfn ranges also look correct on my setup with the above
patch.


-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


  parent reply	other threads:[~2006-11-16  6:26 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-26  7:59 05e0caad3b7bd0d0fbeff980bca22f186241a501 breaks ia64 kdump Horms
2006-10-26 13:27 ` Mel Gorman
2006-10-27  1:40 ` Zou, Nanhai
2006-10-27  2:30 ` Zou, Nanhai
2006-10-27  9:15 ` Andy Whitcroft
2006-10-30  0:55 ` Horms
2006-10-30  8:37 ` Horms
2006-10-30  9:11 ` Horms
2006-10-30  9:15 ` Horms
2006-10-30  9:25 ` Horms
2006-10-30 11:49 ` Mel Gorman
2006-10-31  3:29 ` Horms
2006-10-31  9:42 ` Mel Gorman
2006-11-02  8:24 ` Horms
2006-11-02  8:29 ` Horms
2006-11-02  9:32 ` Horms
2006-11-02 10:38 ` Zou, Nanhai
2006-11-02 16:26 ` Mel Gorman
2006-11-03  0:28 ` Zou, Nanhai
2006-11-03  1:19 ` Zou, Nanhai
2006-11-03  9:27 ` Mel Gorman
2006-11-03 10:06 ` Zou Nan hai
2006-11-03 10:23 ` Andy Whitcroft
2006-11-06  3:18 ` Horms
2006-11-06  3:26 ` Horms
2006-11-10  8:16 ` Zou, Nanhai
2006-11-10 11:47 ` Mel Gorman
2006-11-14  1:38 ` Zou, Nanhai
2006-11-14 23:42 ` Mel Gorman
2006-11-15 16:26 ` Mel Gorman
2006-11-16  6:26 ` Horms [this message]
2006-11-16 16:05 ` Mel Gorman
2006-11-20  1:40 ` Zou, Nanhai
2006-12-05  9:58 ` Christian Cotte-Barrot
2006-12-18 14:52 ` Mel Gorman
2006-12-19  0:28 ` Horms
2006-12-19  3:35 ` Horms

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061116062559.GD23146@verge.net.au \
    --to=horms@verge.net.au \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox