Re: [PATCH 1/2] x86/mm/pat: Change pat_disable() to emulate PAT table

From: Toshi Kani
Date: Tue Mar 15 2016 - 12:18:59 EST


On Tue, 2016-03-15 at 16:47 +0100, Borislav Petkov wrote:
> On Tue, Mar 15, 2016 at 09:43:15AM -0600, Toshi Kani wrote:
> > > Please use on init paths boot_cpu_has(X86_FEATURE_PAT) and on fast
> > > paths static_cpu_has(X86_FEATURE_PAT). No more of that cpu_has_XXX
> > > ugliness.
> >
> > 'cpu_has_pat' is defined as 'boot_cpu_has(X86_FEATURE_PAT)'. ÂDo you
> > mean it should explicitly use 'boot_cpu_has(X86_FEATURE_PAT)'?
>
> No, read what I said.
>
> We use boot_cpu_has(<feature_bit>) on slow paths (i.e., init, bootup,
> etc), where speed is not that important. static_cpu_has(<feature_bit>)
> is an optimized version which should be used in hot paths.

Yes, I understand that part. ÂLet me rephrase my question.

This PAT code is on init paths and speed is not that important. ÂSo, it
needs to use 'boot_cpu_has()' here. Â'cpu_has_pat' is defined
asÂboot_cpu_has(X86_FEATURE_PAT), and hence it uses boot_cpu_has() already.
Â
While cpu_has_pat is the same as boot_cpu_has(X86_FEATURE_PAT), cpu_has_XXX
should not be used. ÂSo, this code needs to be changed to use
boot_cpu_has(X86_FEATURE_PAT) directly.

Is this right?

Thanks,
-Toshi