On Fri, Nov 08, 2024 at 12:29:15PM +0000, Lorenzo Stoakes wrote: > On Fri, Nov 08, 2024 at 07:25:38PM +0700, Bagas Sanjaya wrote: > > On Thu, Nov 07, 2024 at 07:01:37PM +0000, Lorenzo Stoakes wrote: > > > +.. note:: In instances where the architecture supports fewer page tables than > > > + five the kernel cleverly 'folds' page table levels, that is skips them within > > > + the logic, regardless we can act as if there were always five. > > > > What are being skipped if e.g. we only have 3 or 4 page tables? > > > > Confused... > > Page table levels, see [0]. > > Typically achieved through stubbing functions out, etc. So in the code you > actually write and _conceptually_ there are five levels, only in the final > compile you might have things like p4d_present(), p4d_clear() etc. squashed by > the compiler into nothing. I have updated this note to be a little clearer and to explicitly state this. Thanks! > > I don't want to get too bogged down into the details of this in the doc, more of > an aside! > > [0]: https://elixir.bootlin.com/linux/v6.11.6/source/include/asm-generic/pgtable-nopud.h#L9 > > > > > -- > > An old man doll... just what I always wanted! - Clara