From: Vivek Goyal <vgoyal@redhat.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>, WANG Chao <chaowang@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] x86, kdump: Retore crashkernel= to allocate low
Date: Wed, 3 Apr 2013 17:00:19 -0400 [thread overview]
Message-ID: <20130403210019.GH5939@redhat.com> (raw)
In-Reply-To: <CAE9FiQU96BjThKbOGBhc6RHBey2+bvM6J6ZYaLb=xGuwahTuLQ@mail.gmail.com>
On Wed, Apr 03, 2013 at 01:38:56PM -0700, Yinghai Lu wrote:
> On Wed, Apr 3, 2013 at 10:47 AM, Vivek Goyal <vgoyal@redhat.com> wrote:
> > So what I am saying that all our code is written assuming there is one
> > single reserved range. Now if we need to reserve two ranges, then let
> > us make it generic to suppoprt multiple ranges instead of hardcoding
> > things and assume there can be 2 ranges. That will be a more generic
> > solution.
>
> I don't think we have case that we need to support more than two ranges.
>
never say never.
One of the biggest problems is that we are trying to reserve all the
memory at system bootup time using kernel command line.
Why not reserve memory using some kernel interface after system has booted.
That will make life much simpler.
Reason being that currently we depend on one big single chunk being
available in low memory area. And after boot there is no guarantee
we will have that memory.
But what if we just reserve enough memory for kernel and initramfs
during boot and rest of the memory is reserved from user space. If
system has more memory, there are high chances that after boot we will
get memory immediately.
What if we don't get a single range of memory, but multiple ranges,
we should still be able to make use of all those ranges. And I think
that is one possible area where multiple ranges could be useful.
So yes, we don't have an immediate use case, but one can always pop
up in future as we try to extend the functionality.
> We only need to have one big range above 4G, and put second kernel and
> initrd in it.
> and another low one is only for switotlb or others that will be used by
> second kernel.
>
> >
> > So how about this.
> >
> > - In 3.9, just implement crashkernel=X;high. Don't auto reserve any low
> > memory. Support reservation of single range only. It could be either
> > high or low.
> >
> > - Those who are using iommu, they can use crashkernel=X;high. Old code
> > can continue to use crashkernel=X and get memory reserved in low
> > memory areas.
>
> That will not handle the case: big system that crashkernel=X;high
> and kdump does not work with iommu.
If we start supporting multiple ranges properly in 3.10, then it will.
And we have never supported it so it is not a regression. Delaying a
feature by a realease should be worth it in an attempt to do it
properly.
>
> >
> > - In 3.10 add a feature to support multiple crash reserved ranges.
>
> Again, we only need one high and one low range.
> We don't need to support more than two ranges for crash kernel.
For your current use case, you need one high and one low currently. But
there can always be scenarios where multiple crash ranges are required,
like reserving memory from user space.
Anyway, if you are adamant on hardcoding this stuff, please don't
use crashkernel= space. Continue to use crashkernel_high and/or
crashkernel_low options. That way it allows us to extend crashkernel=
in the form of crashkernel=X;<range-options>;<option2>;...
and support multiple range feature properly down the line and not be
bogged down with this new strange semantics.
Also docuemnt very clearly that specifying crashkernel_high ignores
any of the crashkernel= options.
Also what happens to reserve memory release interface. IIUC, there
is no way to release crashkernel_low memory from user space and
only memory reserved by crashkernel_high will be released?
Seriously, why are you rushing with this high/low hardcoding. Why
not wait for one more release and support multiple ranges properly
both in kernel and kexec-tools.
Thanks
Vivek
next prev parent reply other threads:[~2013-04-03 21:24 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-02 17:19 [PATCH 0/4] x86, kdump: Fix crashkernel high with old kexec-tools Yinghai Lu
2013-04-02 17:19 ` [PATCH 1/4] x86, kdump: Set crashkernel_low automatically Yinghai Lu
2013-04-02 17:19 ` [PATCH 2/4] kexec: use Crash kernel for Crash kernel low Yinghai Lu
2013-04-02 17:19 ` [PATCH 3/4] x86, kdump: Retore crashkernel= to allocate low Yinghai Lu
2013-04-02 18:06 ` Vivek Goyal
2013-04-02 18:42 ` Yinghai Lu
2013-04-02 18:49 ` Yinghai Lu
2013-04-02 19:11 ` Vivek Goyal
2013-04-02 20:00 ` Yinghai Lu
2013-04-02 20:11 ` Vivek Goyal
2013-04-02 20:25 ` Vivek Goyal
2013-04-02 20:36 ` Yinghai Lu
2013-04-03 13:18 ` Vivek Goyal
2013-04-03 17:12 ` Yinghai Lu
2013-04-03 17:32 ` Yinghai Lu
2013-04-03 17:47 ` Vivek Goyal
2013-04-03 20:38 ` Yinghai Lu
2013-04-03 21:00 ` Vivek Goyal [this message]
2013-04-04 0:56 ` Yinghai Lu
2013-04-04 13:41 ` Vivek Goyal
2013-04-04 13:51 ` Vivek Goyal
2013-04-03 17:36 ` Vivek Goyal
2013-04-02 19:09 ` Vivek Goyal
2013-04-02 20:04 ` Yinghai Lu
2013-04-02 17:19 ` [PATCH] x86, kdump: Change crashkernel_high/low= to crashkernel=;high/low Yinghai Lu
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=20130403210019.GH5939@redhat.com \
--to=vgoyal@redhat.com \
--cc=chaowang@redhat.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox