Re: [PATCHv1, RFC 5/8] x86/mm: Fold p4d page table layer at runtime

From: Kirill A. Shutemov
Date: Sat May 27 2017 - 18:46:47 EST


On Sat, May 27, 2017 at 11:09:54AM -0400, Brian Gerst wrote:
> > static inline int pgd_none(pgd_t pgd)
> > {
> > + if (p4d_folded)
> > + return 0;
> > /*
> > * There is no need to do a workaround for the KNL stray
> > * A/D bit erratum here. PGDs only point to page tables
>
> These should use static_cpu_has(X86_FEATURE_LA57), so that it gets
> patched by alternatives.

Right, eventually we would likely need something like this. But at this
point I'm more worried about correctness than performance. Performance
will be the next step.

And I haven't tried it yet, but I would expect direct use of alternatives
wouldn't be possible. If I read code correctly, we enable paging way
before we apply alternatives. But we need to have something functional in
between.

I guess it will be fun :)

--
Kirill A. Shutemov