From: ard.biesheuvel@linaro.org (Ard Biesheuvel)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] arm64: defconfig: enable 48-bit VA by default
Date: Wed, 29 Jul 2015 22:58:59 +0200 [thread overview]
Message-ID: <CAKv+Gu_ipKu2+z_WF+gEFCGMagOeLNwLwoDk18SFHADpnVfGxw@mail.gmail.com> (raw)
In-Reply-To: <BY2PR0301MB074300C5F31701D9211827F0878C0@BY2PR0301MB0743.namprd03.prod.outlook.com>
On 29 July 2015 at 22:49, Stuart Yoder <stuart.yoder@freescale.com> wrote:
>
>> -----Original Message-----
>> From: Ard Biesheuvel [mailto:ard.biesheuvel at linaro.org]
>> Sent: Wednesday, July 29, 2015 2:51 PM
>> To: Yoder Stuart-B08248
>> Cc: Marc Zyngier; Catalin Marinas; Will Deacon; linux-arm-kernel at lists.infradead.org; Newton Peter-RA3823;
>> Mark Rutland
>> Subject: Re: [RFC] arm64: defconfig: enable 48-bit VA by default
>>
>> On 29 July 2015 at 21:27, Stuart Yoder <stuart.yoder@freescale.com> wrote:
>> >
>> >> -----Original Message-----
>> >> From: Marc Zyngier [mailto:marc.zyngier at arm.com]
>> >> Sent: Thursday, July 23, 2015 7:44 AM
>> >> To: Yoder Stuart-B08248; Catalin Marinas; Will Deacon
>> >> Cc: linux-arm-kernel at lists.infradead.org; Newton Peter-RA3823
>> >> Subject: Re: [RFC] arm64: defconfig: enable 48-bit VA by default
>> >>
>> >> On 22/07/15 20:49, Stuart Yoder wrote:
>> >> > Catalin/Will,
>> >> >
>> >> > This is not a patch mean to be applied, but a query about whether there
>> >> > is any reason to not enable 48-bit VA by default in the arm64 defconfig.
>> >> >
>> >> > The Freescale LS2085A physical memory map requires 48-bit VA in Linux for the
>> >> > reasons mentioned in [1].
>> >> >
>> >> > Based on the comment in [1] by Catalin, it seems that the intent
>> >> > is to turn this on by default.
>> >> >
>> >> > Is there any issues anyone sees with a patch that does this:
>> >> >
>> >> > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
>> >> > index 4e17e7e..5acf75d 100644
>> >> > @@ -47,6 +47,7 @@ CONFIG_ARCH_ZYNQMP=y
>> >> > CONFIG_PCI=y
>> >> > CONFIG_PCI_MSI=y
>> >> > CONFIG_PCI_XGENE=y
>> >> > +CONFIG_ARM64_VA_BITS_48=y
>> >> > CONFIG_SMP=y
>> >> > CONFIG_PREEMPT=y
>> >> > CONFIG_KSM=y
>> >> >
>> >> > Thanks,
>> >> > Stuart
>> >> >
>> >> > [1] https://www.marc.info/?l=linux-arm-kernel&m=140965303205473&w=1
>> >> >
>> >>
>> >> Is that still a requirement now that our idmap can use 4 levels (as part
>> >> of dd006da)?
>> >
>> > So, yes it appears still to be a requirement. The idmap support is not
>> > the issue, it's the linear mapping.
>> >
>> > Has there been discussion or thinking about enabling 48-bit VA in the
>> > default defconfig? As mentioned before, it seemed that supporting 48-bit
>> > VA was the planned default (~1 year ago), and was waiting on KVM issues to get
>> > resolved.
>> >
>> > A related question is what the thinking around enabling 64KB pages
>> > by default. Any chance of that happening?
>> >
>> > I would like to see our platform work with the default defconfig, which
>> > is the reason for the questions.
>> >
>>
>> Perhaps you should mention, for the benefit of those not following the
>> other thread, that the platform in question has 2 chunks of memory,
>> i.e., 2 GB and 14 GB, with a 508 GB hole in between.
>
> Yes, our physical memory layout for RAM looks like this:
> 2 GB at 0x8000_0000
> 510 GB at 0x80_8000_0000
>
Once you use more than 256 GB of DRAM, you are going to need 4 levels
of page tables anyway for 4 KB pages.
>>
>> To be honest, I think this is poorly designed, and I am not sure we
>> should cater for such configurations in the defconfig.
>
> Agree, if this is a one-off weird platform then we shouldn't.
>
> But, the 'Principles of ARM Memory Maps' doc proposes this:
> 2 GB at 0x8000_0000
> 30 GB at 0x8_8000_0000
> 480 GB at 0x88_0000_0000
>
> ...i.e. if you have > 32 GB then your RAM regions are split into 3
> chunks. The aarch64 kernel will support > than 32GB right? A
> basic server will have that much or more.
>
> How will we deal with systems with > 32GB of memory that follow that
> map?
>
We will use either 64 KB pages or 4 levels of page tables, obviously.
But that does not mean it should be the default for everyone.
> When do we expect the default page size for the aarch64 kernel to be
> changed to 64KB? Any workload that puts pressure on the TLBs will benefit
> from this.
>
64 K pages are fully supported, but also, it is simply not the
default, and I don't expect it to be for the foreseeable future. TLB
pressure is a very artificial argument to make, since it is highly
workload dependent how it affects performance and there are downsides
to the higher granularity as well.
next prev parent reply other threads:[~2015-07-29 20:58 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-22 19:49 [RFC] arm64: defconfig: enable 48-bit VA by default Stuart Yoder
2015-07-23 12:44 ` Marc Zyngier
2015-07-23 13:59 ` Stuart Yoder
2015-07-29 19:27 ` Stuart Yoder
2015-07-29 19:51 ` Ard Biesheuvel
2015-07-29 20:49 ` Stuart Yoder
2015-07-29 20:57 ` Arnd Bergmann
2015-07-29 20:58 ` Ard Biesheuvel [this message]
2015-07-30 10:13 ` Catalin Marinas
2015-07-30 14:52 ` Stuart Yoder
2015-07-30 16:12 ` Catalin Marinas
2015-07-30 16:32 ` Stuart Yoder
2015-07-30 16:41 ` Catalin Marinas
2015-07-30 17:45 ` Ard Biesheuvel
2015-07-30 18:10 ` Stuart Yoder
2015-08-07 19:01 ` Stuart Yoder
2015-08-08 8:20 ` Ard Biesheuvel
2015-08-13 19:24 ` Stuart Yoder
2015-08-14 12:15 ` Ard Biesheuvel
2015-08-14 13:24 ` Catalin Marinas
2015-08-14 13:55 ` Ard Biesheuvel
2015-08-14 15:37 ` Catalin Marinas
2015-07-30 19:27 ` Ard Biesheuvel
2015-07-31 12:53 ` Catalin Marinas
2015-07-31 13:10 ` Ard Biesheuvel
2015-07-31 13:22 ` Catalin Marinas
2015-07-31 13:30 ` Ard Biesheuvel
2015-08-01 21:08 ` Arnd Bergmann
2015-08-02 6:19 ` Ard Biesheuvel
2015-08-03 8:00 ` Arnd Bergmann
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=CAKv+Gu_ipKu2+z_WF+gEFCGMagOeLNwLwoDk18SFHADpnVfGxw@mail.gmail.com \
--to=ard.biesheuvel@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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).