On Thu, Feb 25, 2021 at 12:56 PM Alex Ghiti <alex@xxxxxxxx> 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. Arnd