Re: [PATCH 06/12] x86/mm: use INVLPGB for kernel TLB flushes

From: Dave Hansen
Date: Fri Jan 10 2025 - 10:14:16 EST


On 1/9/25 22:07, Nadav Amit wrote:
> This is not my reading. I think that this reading assumes that besides
> the broadcast, some new “range flush” was added to the TLB. My guess
> is that this not the case, since presumably it would require a different
> TLB structure (and who does 2 changes at once 😉 ).

Reading it again, I think you're right.

The INVLPG and INVLPGB language is too close. It would also _talk_ about
invalidating a range rather than just incrementing an address to invalidate.

I think the key thing we need to decide is whether to treat a single
INVLPGB(stride=8) more like a single INVLPGB or eight INVLPGBs.
Measuring a bunch of invalidation looks should tell us that.