Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"

From: Paul Gortmaker
Date: Mon Mar 07 2016 - 18:53:50 EST


[Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"] On 07/03/2016 (Mon 16:38) Toshi Kani wrote:

> On Mon, 2016-03-07 at 16:08 -0500, Paul Gortmaker wrote:
> > [dropping oe list and lkml since attaching dmesg files.]
> >

[...]

> > > Yes, please send me full dmesg files.  Since I do not know your
> > > original state, the diff does not give me the whole picture.
> >
> > Attached.
>
> Thanks for the dmesg files!  As I suspected, there is no message from
> pat_init() in both cases.  That is, you are missing the following message,
> which shows how PAT is configured to support cache attributes.
>
> # dmesg | grep PAT
> [0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- WT  

Interesting...

>
> It may have seemed working before, but you did not have WC configured to
> PAT without calling pat_init().  There was not a proper check in place to
> detect this error before.  Can you please check your code to see what
> caused this skip of pat_init()?  If you have a git tree, I can take a look
> as well. 

You already have git copies of what I'm running, since it is vanilla
mainline commits. No code changes at this end whatsoever. I did the
bisect on vanilla mainline. All I took from yocto was their ".config"

To recap, v4.1-rc5-21-g9dac62909451 works, v4.1-rc5-22-g9cd25aac1f44
fails, and v4.5-rc6 also fails. If pat_init() isn't called then this
is a bug in current mainline. I'll have a look later myself and see
if I can trace out how we expect to get to pat_init() and how that
might be skipped inadvertently unless someone beats me to it.

Paul.
--

>
> -Toshi