linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Young <dyoung@redhat.com>
To: Pingfan Liu <kernelfans@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>,
	kexec@lists.infradead.org, Baoquan He <bhe@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mike Rapoport <rppt@linux.vnet.ibm.com>,
	Yinghai Lu <yinghai@kernel.org>,
	vgoyal@redhat.com, Randy Dunlap <rdunlap@infradead.org>,
	x86@kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv7] x86/kdump: bugfix, make the behavior of crashkernel=X consistent with kaslr
Date: Thu, 31 Jan 2019 15:42:21 +0800	[thread overview]
Message-ID: <20190131074221.GA19091@dhcp-128-65.nay.redhat.com> (raw)
In-Reply-To: <CAFgQCTsuuOSSLKXOaF7jchDRevegZkzZVNiTgB6D+S4=dpc5Xg@mail.gmail.com>

On 01/29/19 at 01:25pm, Pingfan Liu wrote:
> On Fri, Jan 25, 2019 at 10:08 PM Borislav Petkov <bp@alien8.de> wrote:
> >
> > On Fri, Jan 25, 2019 at 09:45:18PM +0800, Dave Young wrote:
> > > AFAIK, some people prefer to explictly reserve crash memory at high
> > > region even if it is possible to reserve at low area.  May because
> > > <4G memory is limited on large server, they want to leave this for other
> > > use.
> > >
> > > Yinghai or Vivek should know more about the history, probably they can
> > > recall some initial reason.
> >
> Go through the git log, and I found the initial introduction of
> crashkernel_high option. Refer to
> commit 55a20ee7804ab64ac90bcdd4e2868a42829e2784
> Author: Yinghai Lu <yinghai@kernel.org>
> Date:   Mon Apr 15 22:23:47 2013 -0700
> 
>     x86, kdump: Retore crashkernel= to allocate under 896M
> 
>     Vivek found old kexec-tools does not work new kernel anymore.
> 
>     So change back crashkernel= back to old behavoir, and add crashkernel_high=
>     to let user decide if buffer could be above 4G, and also new
> kexec-tools will
>     be needed.
> 
> But kexec-tools-2.0.3, released at 2012, can run 4.20 kernel with
> crashkernel=256M@5G, so I think only very old kexec-tools requires
> memory under 896M. Due to -1.few people running latest kernel with
> very old kexec-tools to date, -2. crashkernel=X is more popular than
> crashkernel=X.high, it should be time to eliminate this limit of
> crashkernel=X parameter, otherwise we will run into this bug.
> As for crashkernel=,high, I think it is a more professional option for
> who cares about the DMA32. On high-end machine, big reserved region is
> used for crashkernel(e.g. in this case 384M), which make the crowed
> situation under under 4GB memory worse.

This seems answers the question why ,high is needed and why
crashkernel=X can not allocate from high by default.

Another reason for this question is for crashkernel=,high, a separate
region under 4G is still needed.  I searched some history bug/emails,
previously the initial commit does not reserve low memory by default if
,high is used, but later Yinghai saw a regression bug in case iommu
disabled. see below commit:
commit c729de8fcea37a1c444e81857eace12494c804a9
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Mon Apr 15 22:23:45 2013 -0700

    x86, kdump: Set crashkernel_low automatically

    Chao said that kdump does does work well on his system on 3.8
    without extra parameter, even iommu does not work with kdump.
    And now have to append crashkernel_low=Y in first kernel to make
    kdump work.
    
    We have now modified crashkernel=X to allocate memory beyong 4G (if
    available) and do not allocate low range for crashkernel if the user
    does not specify that with crashkernel_low=Y.  This causes regression
    if iommu is not enabled.  Without iommu, swiotlb needs to be setup in
    first 4G and there is no low memory available to second kernel.
[snip]



> 
> > Yes, just "prefer" is not good enough. There should be a technical
> > reason why that's there.
> >
> > Also, if the user doesn't care, then the code should be free to force
> > "high" and thus probe a different range for allocation.
> >
> Do you suggest to remove crashkernel=X,high parameter?

I do not think it can be removed,  because for ,high we also need extra
low memory, it will cause confusion, most people are just fine without
this.  People can choose to use ,high if they really need it.

Thanks
Dave

  reply	other threads:[~2019-01-31  7:42 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-21  5:16 [PATCHv7] x86/kdump: bugfix, make the behavior of crashkernel=X consistent with kaslr Pingfan Liu
2019-01-21  6:24 ` Baoquan He
2019-01-25 10:39 ` Borislav Petkov
2019-01-25 13:45   ` Dave Young
2019-01-25 14:08     ` Borislav Petkov
2019-01-28  9:58       ` Dave Young
2019-01-28 10:18         ` Borislav Petkov
2019-06-07 17:30           ` Borislav Petkov
2019-06-10  6:51             ` Dave Young
2019-01-29  5:25       ` Pingfan Liu
2019-01-31  7:42         ` Dave Young [this message]
2019-01-31  7:59       ` Dave Young
2019-01-31 10:57         ` Borislav Petkov
2019-01-31 22:27           ` Jerry Hoemann
2019-01-31 23:47             ` Borislav Petkov
2019-02-04 22:30               ` Jerry Hoemann
2019-02-05  8:15                 ` Borislav Petkov
2019-02-06 12:08                   ` Dave Young
2019-02-11 20:48                     ` Dave Young
2019-02-12  5:35                       ` Pingfan Liu
2019-02-15 10:24                       ` Borislav Petkov
2019-02-18  1:48                         ` Dave Young
2019-02-20  7:38                           ` Pingfan Liu
2019-02-20  8:32                           ` Borislav Petkov
2019-02-20  9:41                             ` Dave Young
2019-02-20 12:51                               ` Pingfan Liu
2019-02-21 17:13                               ` Borislav Petkov
2019-02-22  2:11                                 ` Dave Young
2019-02-22  8:42                                   ` Joerg Roedel
2019-02-22 13:00                                     ` Borislav Petkov
2019-02-24 13:25                                       ` Pingfan Liu
2019-02-25  1:53                                         ` Dave Young
2019-02-25  9:39                                         ` Borislav Petkov
2019-02-25 11:00                                       ` Joerg Roedel
2019-02-25 11:12                                         ` Dave Young
2019-02-25 11:30                                           ` Borislav Petkov
2019-03-01  3:04                                             ` Pingfan Liu
2019-03-01  3:19                                               ` Pingfan Liu
2019-03-22  8:22                                                 ` Dave Young
2019-01-29  5:51   ` Pingfan Liu
2019-01-31 10:50     ` Borislav Petkov
  -- strict thread matches above, loose matches on Subject: below --
2019-01-15  8:07 Pingfan Liu
2019-01-18  3:43 ` Dave Young
2019-01-19  1:25 ` Jerry Hoemann
2019-01-21  5:11   ` Pingfan Liu

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=20190131074221.GA19091@dhcp-128-65.nay.redhat.com \
    --to=dyoung@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=kernelfans@gmail.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=vgoyal@redhat.com \
    --cc=x86@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).