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/
next prev 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