From: "H. Peter Anvin" <hpa@zytor.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>,
Stanislaw Gruszka <sgruszka@redhat.com>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Maxim Uvarov <muvarov@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Neil Horman <nhorman@redhat.com>
Subject: Re: kdump broken on 2.6.37-rc4
Date: Fri, 17 Dec 2010 11:56:23 -0800 [thread overview]
Message-ID: <4D0BC067.90507@zytor.com> (raw)
In-Reply-To: <20101217195035.GE14502@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 999 bytes --]
On 12/17/2010 11:50 AM, Vivek Goyal wrote:
> On Fri, Dec 17, 2010 at 11:46:08AM -0800, Yinghai Lu wrote:
>> On 12/17/2010 11:39 AM, H. Peter Anvin wrote:
>>> On 12/17/2010 10:21 AM, Yinghai Lu wrote:
>>>>>>
>>>>>> Do we have actual testing for how high the 64-bit kernel will load?
>>>>>
>>>>> I will do some experiments on my box today and let you know.
>>>>
>>>> if bzImage is used, it is 896M.
>>>>
>>>
>>> Why? 896 MiB is a 32-bit kernel limitation which doesn't have anything
>>> to do with the bzImage format.
>>>
>>> So unless there is something going on here, I suspect you're just plain
>>> flat wrong.
>>
>> kexec-tools have some checking when it loads bzImage.
>>
>
> Yinghai,
>
> I think x86_64 might have just inherited the settings of 32bit without
> giving it too much of thought. At that point of time nobody bothered
> to load the kernel from high addresses. So these might be artificial
> limits.
>
Can we do this in the meantime, just so we fix the immediate problem?
-hpa
[-- Attachment #2: 0001-x86-kexec-Limit-the-crashkernel-address-to-768-MiB.patch --]
[-- Type: text/x-patch, Size: 2014 bytes --]
>From 1ec83ca8dcc85bc5810bf7407d470a7261be1372 Mon Sep 17 00:00:00 2001
From: H. Peter Anvin <hpa@linux.intel.com>
Date: Thu, 16 Dec 2010 19:20:41 -0800
Subject: [PATCH] x86, kexec: Limit the crashkernel address to 768 MiB
Keep the crash kernel address below 768 MiB. This makes it work on
32 bits even if the vmalloc= setting is adjusted slightly.
For 64 bits, we should be able to increase this substantially once a
hard-coded 896 MiB limit in kexec-tools is fixed.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <20101217195035.GE14502@redhat.com>
---
arch/x86/kernel/setup.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 21c6746..2b7f5ab 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -501,7 +501,14 @@ static inline unsigned long long get_total_mem(void)
return total << PAGE_SHIFT;
}
-#define DEFAULT_BZIMAGE_ADDR_MAX 0x37FFFFFF
+/*
+ * Keep the crash kernel below this limit. This should be sufficient
+ * to load a 32-bit kernel even if the vmalloc limit is modified
+ * (within reason.) This can be increased on 64 bits once kexec-tools
+ * is fixed.
+ */
+#define CRASH_KERNEL_ADDR_MAX (768 << 20)
+
static void __init reserve_crashkernel(void)
{
unsigned long long total_mem;
@@ -520,10 +527,10 @@ static void __init reserve_crashkernel(void)
const unsigned long long alignment = 16<<20; /* 16M */
/*
- * kexec want bzImage is below DEFAULT_BZIMAGE_ADDR_MAX
+ * kexec want bzImage is below CRASH_KERNEL_ADDR_MAX
*/
crash_base = memblock_find_in_range(alignment,
- DEFAULT_BZIMAGE_ADDR_MAX, crash_size, alignment);
+ CRASH_KERNEL_ADDR_MAX, crash_size, alignment);
if (crash_base == MEMBLOCK_ERROR) {
pr_info("crashkernel reservation failed - No suitable area found.\n");
--
1.7.2.3
next prev parent reply other threads:[~2010-12-17 19:57 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 11:16 kdump broken on 2.6.37-rc4 Stanislaw Gruszka
2010-12-03 11:16 ` Stanislaw Gruszka
2010-12-03 15:46 ` Maxim Uvarov
2010-12-03 15:46 ` Maxim Uvarov
2010-12-03 17:11 ` Stanislaw Gruszka
2010-12-03 17:11 ` Stanislaw Gruszka
2010-12-03 17:54 ` Neil Horman
2010-12-03 17:54 ` Neil Horman
2010-12-07 10:50 ` Stanislaw Gruszka
2010-12-07 10:50 ` Stanislaw Gruszka
2010-12-07 19:24 ` Yinghai Lu
2010-12-07 19:24 ` Yinghai Lu
2010-12-08 14:19 ` Stanislaw Gruszka
2010-12-08 14:19 ` Stanislaw Gruszka
2010-12-09 7:16 ` Yinghai Lu
2010-12-09 7:16 ` Yinghai Lu
2010-12-09 12:41 ` Stanislaw Gruszka
2010-12-09 12:41 ` Stanislaw Gruszka
2010-12-09 20:09 ` Yinghai Lu
2010-12-09 20:09 ` Yinghai Lu
2010-12-13 10:08 ` Stanislaw Gruszka
2010-12-13 10:08 ` Stanislaw Gruszka
2010-12-13 18:20 ` Yinghai Lu
2010-12-13 19:47 ` H. Peter Anvin
2010-12-14 22:41 ` Vivek Goyal
2010-12-15 10:39 ` Stanislaw Gruszka
2010-12-15 22:41 ` Yinghai Lu
2010-12-16 4:29 ` Yinghai Lu
2010-12-16 10:00 ` Stanislaw Gruszka
2010-12-16 16:16 ` H. Peter Anvin
2010-12-16 16:22 ` Vivek Goyal
2010-12-16 16:53 ` H. Peter Anvin
2010-12-18 21:50 ` Yinghai Lu
2010-12-16 14:39 ` Vivek Goyal
2010-12-16 16:28 ` H. Peter Anvin
2010-12-16 17:28 ` Yinghai Lu
2010-12-16 19:58 ` H. Peter Anvin
2010-12-16 22:57 ` Yinghai Lu
2010-12-16 23:30 ` Yinghai Lu
2010-12-16 23:49 ` Yinghai Lu
2010-12-17 0:39 ` Yinghai Lu
2010-12-17 1:06 ` H. Peter Anvin
2010-12-17 1:21 ` H. Peter Anvin
2010-12-17 1:51 ` H. Peter Anvin
2010-12-17 3:05 ` Yinghai Lu
2010-12-17 3:07 ` Yinghai Lu
2010-12-17 3:19 ` [tip:x86/urgent] x86-32: Make sure we can map all of lowmem if we need to tip-bot for H. Peter Anvin
2010-12-17 14:33 ` Stanislaw Gruszka
2010-12-16 22:01 ` kdump broken on 2.6.37-rc4 Vivek Goyal
2010-12-16 22:58 ` Yinghai Lu
2010-12-17 16:15 ` Vivek Goyal
2010-12-17 1:15 ` H. Peter Anvin
2010-12-17 3:31 ` H. Peter Anvin
2010-12-17 3:58 ` Yinghai
2010-12-17 4:08 ` H. Peter Anvin
2010-12-17 4:46 ` Yinghai Lu
2010-12-17 5:16 ` H. Peter Anvin
2010-12-17 17:01 ` Vivek Goyal
2010-12-17 17:56 ` H. Peter Anvin
2010-12-17 18:02 ` Vivek Goyal
2010-12-17 18:21 ` Yinghai Lu
2010-12-17 18:35 ` Vivek Goyal
2010-12-17 19:39 ` H. Peter Anvin
2010-12-17 19:46 ` Yinghai Lu
2010-12-17 19:50 ` Vivek Goyal
2010-12-17 19:52 ` Yinghai Lu
2010-12-17 20:01 ` Vivek Goyal
2010-12-17 20:06 ` Yinghai Lu
2010-12-17 20:34 ` Vivek Goyal
2010-12-17 23:51 ` Vivek Goyal
2010-12-17 19:56 ` H. Peter Anvin [this message]
2010-12-17 20:11 ` Vivek Goyal
2010-12-17 20:59 ` H. Peter Anvin
2010-12-17 21:13 ` Vivek Goyal
2010-12-20 16:31 ` Stanislaw Gruszka
2010-12-18 4:34 ` [tip:x86/urgent] x86, kexec: Limit the crashkernel address appropriately tip-bot for H. Peter Anvin
2010-12-17 19:50 ` kdump broken on 2.6.37-rc4 H. Peter Anvin
2010-12-13 10:25 ` Américo Wang
2010-12-13 10:25 ` Américo Wang
2010-12-05 14:35 ` Maciej Rutecki
2010-12-05 14:35 ` Maciej Rutecki
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=4D0BC067.90507@zytor.com \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=muvarov@gmail.com \
--cc=nhorman@redhat.com \
--cc=sgruszka@redhat.com \
--cc=tglx@linutronix.de \
--cc=vgoyal@redhat.com \
--cc=yinghai@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.