All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Baoquan He <bhe@redhat.com>
Cc: tglx@linutronix.de, mingo@kernel.org, hpa@zytor.com,
	thgarnie@google.com, kirill.shutemov@linux.intel.com,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] x86/mm/KASLR: Adjust the vmemmap size according to paging mode
Date: Wed, 29 Aug 2018 15:26:47 +0300	[thread overview]
Message-ID: <20180829122647.pbe4uexc3h7azvxo@kshutemo-mobl1> (raw)
In-Reply-To: <20180829121856.GB1885@192.168.1.4>

On Wed, Aug 29, 2018 at 08:18:56PM +0800, Baoquan He wrote:
> On 08/29/18 at 03:05pm, Kirill A. Shutemov wrote:
> > On Wed, Aug 29, 2018 at 10:17:54AM +0800, Baoquan He wrote:
> > > Vmemmap area has different base and size depending on paging mode.
> > > Now we just hardcode its size as 1TB in memory KASLR, it's not
> > > right for 5-level paging mode.
> > > 
> > > Adjust it according to paging mode and use it during memory KASLR.
> > > 
> > 
> > I think 512TiB is wasteful for 5-level paging. We don't need that much.
> > 
> > 1TiB limit with 4-level paging is required to fit struct pages for all
> > 64TiB of physical memory, assuming each struct page is 64 bytes.
> > 
> > With 5-level paging the limit on physical memory is not 512-times bigger:
> > we cap at 52-bit physical address space. So it's just 64 times bigger and
> > we need only 64TiB in worst case.
> > 
> > I think we can limit it further by taking into account memory_tb. Most of
> > machines will be fine with 1TiB there and we save few more bits from
> > KASLR.
> 
> Oh, do you mean to make a calculation according to the actual size of
> system RAM? And still taking 1TB as default, then adapt later by RAM? 

Right, actual system RAM plus padding for memory hotplug.

> Then, no need to introduce VMEMMAP_SIZE_TB, this also looks good to me.

There's a tricky part that we ignore now. struct page might be larger than
64 bytes depending on debug options enabled. We may include the actual
size of struct page in calculation.

-- 
 Kirill A. Shutemov

  reply	other threads:[~2018-08-29 12:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-29  2:17 [PATCH 1/2] x86/mm/KASLR: Fix the wrong calculation of kalsr region initial size Baoquan He
2018-08-29  2:17 ` [PATCH 2/2] x86/mm/KASLR: Adjust the vmemmap size according to paging mode Baoquan He
2018-08-29 12:05   ` Kirill A. Shutemov
2018-08-29 12:16     ` Baoquan He
2018-08-29 12:18     ` Baoquan He
2018-08-29 12:26       ` Kirill A. Shutemov [this message]
2018-08-29 12:51         ` Baoquan He
2018-08-30 15:25     ` Baoquan He
2018-09-02 20:52       ` Kirill A. Shutemov
2018-09-03  7:47         ` Baoquan He
2018-09-03 10:26           ` Kirill A. Shutemov
2018-09-03 14:52             ` Baoquan He
2018-09-04  8:13               ` Kirill A. Shutemov
2018-09-05  8:15                 ` Baoquan He
2018-09-05 12:09                   ` Kirill A. Shutemov
2018-09-05 12:37                     ` Baoquan He
2018-08-29 11:49 ` [PATCH 1/2] x86/mm/KASLR: Fix the wrong calculation of kalsr region initial size Kirill A. Shutemov
2018-09-04 17:57   ` Thomas Garnier
2018-09-08 12:10 ` Thomas Gleixner
2018-09-08 13:33   ` Baoquan He

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=20180829122647.pbe4uexc3h7azvxo@kshutemo-mobl1 \
    --to=kirill@shutemov.name \
    --cc=bhe@redhat.com \
    --cc=hpa@zytor.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thgarnie@google.com \
    --cc=x86@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.