Re: MTRR setup failure on Fujitsu Lifebook S761

From: Suresh Siddha
Date: Fri Aug 26 2011 - 17:26:20 EST


On Fri, 2011-08-26 at 12:01 -0700, Tony Vroon wrote:
> On Fri, 2011-08-26 at 09:37 -0700, H. Peter Anvin wrote:
> > Hm, I don't see any evidence of the MTRR sanitizer running at all...
>
> It is almost as if it failed to find an optimal configuration; does that
> error path not print anything?

MTRR cleanup bails out in mtrr_need_cleanup() if it finds any entry
other than WB or UC. And the first entry you had was write-protect.

There are couple of issues.

a. mtrr_add_page() checks for the type mismatch between the new entry
and any existing entry. _ANY_ is wrong and we should have used
mtrr_type_lookup() in mtrr_add_page(). mtrr_type_lookup() will look at
all the existing MTRR entries and comeup with the right type for a given
range. We should use that instead.

b. And even after fixing 'a', your bios has already setup all the MTRR's
and there are no spare MTRR's available. So we should really sanitize to
makeup some space if we can.

BTW, before all this: you seem to be using PAT and we really shouldn't
depend on the MTRR configuration to get the write-combining behavior if
PAT is used.

And you seem to say, things were _little_ bit better by using a MTRR
script. What do you mean by _little_ ?

Do you still see the original issue of hangcheck timer elapsed and it is
just that the MTRR warning from drm driver disappeared with your MTRR
script?

thanks,
suresh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/