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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.