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 09:18:43 -0400 [thread overview]
Message-ID: <20130403131842.GA5939@redhat.com> (raw)
In-Reply-To: <CAE9FiQURMNjPYYze-tPn4Ssrc4TqMqTuvwRRhoVYEnGLF4Z0cQ@mail.gmail.com>
On Tue, Apr 02, 2013 at 01:36:02PM -0700, Yinghai Lu wrote:
[..]
> > You are just describing what your code does. There is no theme or
> > justification behind this behavior. There is no uniformity. A user can
> > question that so far you used to honor last crashkernel= parameter and
> > suddenly in 3.9 that's no more the case. Out of blue crashkernel=X,high is
> > overriding crashkernel=X and it is not obivious why.
>
> Let me repeat again:
> we keep crashkernel=X old behavior with old kexec-tools.
> crashkernel=X;high is for new kexec-tools that support loading high.
>
> If the user want to use ,high but still with old kexec-tools, that is
> not going to work.
>
> Can we just keep it separated?
Kernel does not know about old kexec-tools or new kexec-tools. Neither
kernel can enforce what command line options are passed by user. So
kernel needs to define a clean interface here which is easily understood
and is extensible also in future.
[..]
> >
> > If user wants 128M in low memory, they will just specify
> > crashkernel=128M;low
>
> in the kernel-parameter.txt, already says ;low is need to used with ;high.
But why are we tying ;low to ;high. One should be easily extend
crashkernel=X to be able to reserve memory above 4G if specified amount
is not available below 4G. In that case also one might want to reserve
some low memory?
For that matter crashkernel=range1:size,range2:size syntax should be
extendible too to reserve memory above 4G if desired size of memory
is not available in low memory.
Now in those cases too, one would like to have 72M of low memory
reserved. So ;low shoud not be tied to ;high necessarily.
In fact current code does not care whetehr ;high was specified or not.
If memory is reserved above 4G, ;low code will kick in.
>
> >
> > If they want to control multiple ranges of memory, then that's the feature
> > we currently don't support. Currently we support only reserving one range
> > of memory.
> >
> > If you want to support multiple ranges of memory,then do it properly.
> > Parse all crashkernel= options, prepare a list of memory to be reserved
> > and unreserved, resolve all the conflicts between various options and
> > then reserve the memory. But that does not seem to be a requirement at
> > this point of time.
>
> No we does not support multiple ranges, as it will need more changes
> in kexec-tools.
>
> Can we stop here with those four patches?
>
> Later, we can extend it if it is really needed.
crashkernel= options are already confusing. I think we with this patchset
we will just make them even more confusing and future extensions
difficult.
We really need to stick to the notion of only one crashkernel= option
is accepted and that is last one on command line. And if need be,
we need to work on multi range reservation feature where we process
and reserve ranges as specified by all crashkernel= parameters on
command line.
Creating new combinations where some crashkernel= are preferred over
others and some crashkernel= options work with only selected crashkernel=
options, is asking for trouble, especially keeping in mind future
extensions.
I prefer following for 3.9.
- process only right most crashkernel= option.
- implement crashkernel_no_auto_low option to opt out of auto reserved
low memory
- implement crashkernel=X;high to support high memory reservations.
And now old kexec-tools user can use crashkernel=X while users needing
high memory reservation can use crashkernel=X;high.
If you really want to support user defined crashkernel=X;low along with
crashkernel=Y;high, that is really a multi range reservation feature and
need to be implemented properly instead of coming up with short cuts.
Thanks
Vivek
next prev parent reply other threads:[~2013-04-03 13:18 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 [this message]
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
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=20130403131842.GA5939@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