Re: [GIT PULL] x86/mm changes for v4.21

From: Andy Lutomirski
Date: Thu Feb 07 2019 - 18:06:00 EST




> On Feb 7, 2019, at 2:53 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
>> On Thu, Feb 7, 2019 at 1:24 PM Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>>
>> How bad would it be to set CR0.CD while fiddling with the page tables rather than masking the address?
>
> I would suggest against it. When you disable caching, things don't
> just go "slightly slower". Everything comes to a screeching halt, with
> instruction fetch etc becoming a serious problem.
>
> So disabling caching for a few instructions in a very simple asm
> snippet might be reasonable (particularly since you could pre-fetch
> the cache and just rely on CR0.CD not fetching *new* lines). But doing
> it in C code that might have things like tracing enabled etc? I'd be
> very very leery.
>
>

In principle, itâs just the code that walks the page tables and changes the mode. But we could get a perf NMI and take who knows how long to process it if caching is off.