From: Alex Ghiti <alex@ghiti.fr> To: Arnd Bergmann <arnd@arndb.de> Cc: David Hildenbrand <david@redhat.com>, Jonathan Corbet <corbet@lwn.net>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Andrey Ryabinin <aryabinin@virtuozzo.com>, Alexander Potapenko <glider@google.com>, Dmitry Vyukov <dvyukov@google.com>, "open list:DOCUMENTATION" <linux-doc@vger.kernel.org>, linux-riscv <linux-riscv@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, kasan-dev <kasan-dev@googlegroups.com>, linux-arch <linux-arch@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>, Linus Walleij <linus.walleij@linaro.org> Subject: Re: [PATCH 2/3] Documentation: riscv: Add documentation that describes the VM layout Date: Wed, 10 Mar 2021 14:12:56 -0500 [thread overview] Message-ID: <236a9788-8093-9876-a024-b0ad0d672c72@ghiti.fr> (raw) In-Reply-To: <CAK8P3a3mVDwJG6k7PZEKkteszujP06cJf8Zqhq43F0rNsU=h4g@mail.gmail.com> Hi Arnd, Le 3/10/21 à 6:42 AM, Arnd Bergmann a écrit : > On Thu, Feb 25, 2021 at 12:56 PM Alex Ghiti <alex@ghiti.fr> wrote: >> >> Le 2/25/21 à 5:34 AM, David Hildenbrand a écrit : >>> | | | |> + >>> ffffffc000000000 | -256 GB | ffffffc7ffffffff | 32 GB | kasan >>>> + ffffffcefee00000 | -196 GB | ffffffcefeffffff | 2 MB | fixmap >>>> + ffffffceff000000 | -196 GB | ffffffceffffffff | 16 MB | PCI io >>>> + ffffffcf00000000 | -196 GB | ffffffcfffffffff | 4 GB | vmemmap >>>> + ffffffd000000000 | -192 GB | ffffffdfffffffff | 64 GB | >>>> vmalloc/ioremap space >>>> + ffffffe000000000 | -128 GB | ffffffff7fffffff | 126 GB | >>>> direct mapping of all physical memory >>> >>> ^ So you could never ever have more than 126 GB, correct? >>> >>> I assume that's nothing new. >>> >> >> Before this patch, the limit was 128GB, so in my sense, there is nothing >> new. If ever we want to increase that limit, we'll just have to lower >> PAGE_OFFSET, there is still some unused virtual addresses after kasan >> for example. > > Linus Walleij is looking into changing the arm32 code to have the kernel > direct map inside of the vmalloc area, which would be another place > that you could use here. It would be nice to not have too many different > ways of doing this, but I'm not sure how hard it would be to rework your > code, or if there are any downsides of doing this. This was what my previous version did: https://lkml.org/lkml/2020/6/7/28. This approach was not welcomed very well and it fixed only the problem of the implementation of relocatable kernel. The second issue I'm trying to resolve here is to support both 3 and 4 level page tables using the same kernel without being relocatable (which would introduce performance penalty). I can't do it when the kernel mapping is in the vmalloc region since vmalloc region relies on PAGE_OFFSET which is different on both 3 and 4 level page table and that would then require the kernel to be relocatable. Alex > > Arnd > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv >
WARNING: multiple messages have this Message-ID (diff)
From: Alex Ghiti <alex@ghiti.fr> To: Arnd Bergmann <arnd@arndb.de> Cc: David Hildenbrand <david@redhat.com>, Jonathan Corbet <corbet@lwn.net>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Andrey Ryabinin <aryabinin@virtuozzo.com>, Alexander Potapenko <glider@google.com>, Dmitry Vyukov <dvyukov@google.com>, "open list:DOCUMENTATION" <linux-doc@vger.kernel.org>, linux-riscv <linux-riscv@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, kasan-dev <kasan-dev@googlegroups.com>, linux-arch <linux-arch@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>, Linus Walleij <linus.walleij@linaro.org> Subject: Re: [PATCH 2/3] Documentation: riscv: Add documentation that describes the VM layout Date: Wed, 10 Mar 2021 14:12:56 -0500 [thread overview] Message-ID: <236a9788-8093-9876-a024-b0ad0d672c72@ghiti.fr> (raw) In-Reply-To: <CAK8P3a3mVDwJG6k7PZEKkteszujP06cJf8Zqhq43F0rNsU=h4g@mail.gmail.com> Hi Arnd, Le 3/10/21 à 6:42 AM, Arnd Bergmann a écrit : > On Thu, Feb 25, 2021 at 12:56 PM Alex Ghiti <alex@ghiti.fr> wrote: >> >> Le 2/25/21 à 5:34 AM, David Hildenbrand a écrit : >>> | | | |> + >>> ffffffc000000000 | -256 GB | ffffffc7ffffffff | 32 GB | kasan >>>> + ffffffcefee00000 | -196 GB | ffffffcefeffffff | 2 MB | fixmap >>>> + ffffffceff000000 | -196 GB | ffffffceffffffff | 16 MB | PCI io >>>> + ffffffcf00000000 | -196 GB | ffffffcfffffffff | 4 GB | vmemmap >>>> + ffffffd000000000 | -192 GB | ffffffdfffffffff | 64 GB | >>>> vmalloc/ioremap space >>>> + ffffffe000000000 | -128 GB | ffffffff7fffffff | 126 GB | >>>> direct mapping of all physical memory >>> >>> ^ So you could never ever have more than 126 GB, correct? >>> >>> I assume that's nothing new. >>> >> >> Before this patch, the limit was 128GB, so in my sense, there is nothing >> new. If ever we want to increase that limit, we'll just have to lower >> PAGE_OFFSET, there is still some unused virtual addresses after kasan >> for example. > > Linus Walleij is looking into changing the arm32 code to have the kernel > direct map inside of the vmalloc area, which would be another place > that you could use here. It would be nice to not have too many different > ways of doing this, but I'm not sure how hard it would be to rework your > code, or if there are any downsides of doing this. This was what my previous version did: https://lkml.org/lkml/2020/6/7/28. This approach was not welcomed very well and it fixed only the problem of the implementation of relocatable kernel. The second issue I'm trying to resolve here is to support both 3 and 4 level page tables using the same kernel without being relocatable (which would introduce performance penalty). I can't do it when the kernel mapping is in the vmalloc region since vmalloc region relies on PAGE_OFFSET which is different on both 3 and 4 level page table and that would then require the kernel to be relocatable. Alex > > Arnd > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv > _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2021-03-10 19:13 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-25 8:04 [PATCH 0/3] Move kernel mapping outside the linear mapping Alexandre Ghiti 2021-02-25 8:04 ` Alexandre Ghiti 2021-02-25 8:04 ` [PATCH 1/3] riscv: Move kernel mapping outside of " Alexandre Ghiti 2021-02-25 8:04 ` Alexandre Ghiti 2021-02-25 8:04 ` [PATCH 2/3] Documentation: riscv: Add documentation that describes the VM layout Alexandre Ghiti 2021-02-25 8:04 ` Alexandre Ghiti 2021-02-25 10:34 ` David Hildenbrand 2021-02-25 10:34 ` David Hildenbrand 2021-02-25 11:56 ` Alex Ghiti 2021-02-25 11:56 ` Alex Ghiti 2021-03-10 11:42 ` Arnd Bergmann 2021-03-10 11:42 ` Arnd Bergmann 2021-03-10 11:42 ` Arnd Bergmann 2021-03-10 19:12 ` Alex Ghiti [this message] 2021-03-10 19:12 ` Alex Ghiti 2021-03-11 8:42 ` Arnd Bergmann 2021-03-11 8:42 ` Arnd Bergmann 2021-03-11 8:42 ` Arnd Bergmann 2021-03-13 8:23 ` Alex Ghiti 2021-03-13 8:23 ` Alex Ghiti 2021-03-13 22:34 ` Arnd Bergmann 2021-03-13 22:34 ` Arnd Bergmann 2021-03-13 22:34 ` Arnd Bergmann 2021-02-25 8:04 ` [PATCH 3/3] riscv: Prepare ptdump for vm layout dynamic addresses Alexandre Ghiti 2021-02-25 8:04 ` Alexandre Ghiti 2021-03-10 2:54 ` [PATCH 0/3] Move kernel mapping outside the linear mapping Palmer Dabbelt 2021-03-10 2:54 ` Palmer Dabbelt 2021-03-13 9:26 ` Alex Ghiti 2021-03-13 9:26 ` Alex Ghiti 2021-03-17 5:05 ` Palmer Dabbelt 2021-03-17 5:05 ` Palmer Dabbelt 2021-03-20 8:48 ` Alex Ghiti 2021-03-20 8:48 ` Alex Ghiti
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=236a9788-8093-9876-a024-b0ad0d672c72@ghiti.fr \ --to=alex@ghiti.fr \ --cc=aou@eecs.berkeley.edu \ --cc=arnd@arndb.de \ --cc=aryabinin@virtuozzo.com \ --cc=corbet@lwn.net \ --cc=david@redhat.com \ --cc=dvyukov@google.com \ --cc=glider@google.com \ --cc=kasan-dev@googlegroups.com \ --cc=linus.walleij@linaro.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-riscv@lists.infradead.org \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ /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: linkBe 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.