Re: [PATCH 5/6] x86: move mtrr cpu cap setting early inearly_init_xxxx

From: Krzysztof Helt
Date: Thu Sep 04 2008 - 16:07:46 EST


On Thu, 4 Sep 2008 12:17:14 -0700
"Yinghai Lu" <yhlu.kernel@xxxxxxxxx> wrote:

> On Thu, Sep 4, 2008 at 12:13 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > * Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
> >
> >> Krzysztof Helt <krzysztof.h1@xxxxx> found mtrr is not detected on k6-2
> >>
> >> root case:
> >> we move mtrr_bp_init early for mtrr trimming.
> >> and in early_detect, only read cap from cpuid, so some cpu doesn't have
> >> that bit in cpuid and need to set workaround bit will have problem.
> >>
> >> need to add early_init_xxxx to preset those bit before mtrr_bp_init
> >> for those earlier cpus.
> >>
> >> this patch is for 2.6.27
> >
> > hm, not sure we can do it in v2.6.27 as it depends on the other CPU init
> > patches and that is a rather sensitive codepath. This problem should be
> > present in v2.6.26 too, right?
>
> Yes. old cpus without cpuid bit for mtrr need this patch...
> Krzysztof Helt tested it and it works with 2.6.27-rc5 (?)
>
>

Yes, I tested the patches with 2.6.27-rc5.

I was too lazy to find the case of this breakage as the mtrr register
detection was "always" displayed during boot on this machine.
I found the source of the breakage now:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03ae5768b6110ebaa97dc3e7abf1c3d8bec5f874

The early_cpu_init() called directly amd_init_cpu() which set up mtrr flags on K6 cpus.
This got removed by this patch with no replacement. This is dated as 2008-04-17.

As the K6 machine is my secondary computer (to test older stuff, ISA, etc) I do not
boot it every day. Add holidays and it could be that it went unnoticed since April.

I hope this is answer your question. If you want I can retest the 2.6.26 kernel version.

Kind regards,
Krzysztof

----------------------------------------------------------------------
Mobilne aplikacje na Twoj telefon!
Sprawdz >> http://link.interia.pl/f1eff

--
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/