On Tue, Apr 16, 2024 at 05:31:51PM +0100, Matthew Wilcox wrote: > On Tue, Apr 16, 2024 at 07:19:27PM +0300, Mike Rapoport wrote: > > > "last page of the first gigabyte" - why first gigabyte? Do you mean > > > last page of *last* gigabyte? > > > > With 3G-1G split linear map can map only 1G from 0xc0000000 to 0xffffffff > > (or 0x00000000 with 32-bit overflow): > > > > [ 0.000000] lowmem : 0xc0000000 - 0x00000000 (1024 MB) > > ... but you can't map that much. You need to reserve space for (may not > be exhaustive): > > - PCI BARs (or other MMIO) > - vmap > - kmap > - percpu > - ioremap > - modules > - fixmap > - Maybe EFI runtime services? > > You'll be lucky to get 800MB of ZONE_NORMAL. But that does not mean that the last page won't get to the buddy -- Sincerely yours, Mike.