Re: SMP processor rework help needed

Bill Davidsen (davidsen@tmr.com)
Mon, 15 Oct 2001 17:25:14 -0400 (EDT)


On 14 Oct 2001, Andi Kleen wrote:

> I used to have such an AMP machine too: a dual PII-300 with one Katmai and one
> Deschutes. It's technically a violation of the specs; the Intel SMP spec
> requires that the non boot cpus need to have a superset of the features
> of the boot CPU. One CPU died, so it is symmetric now.
>
> For most capabilities it should already work in 2.4 after hpa's cpu
> set rewrite, but FXSAVE is unfortunately a bit of a special case because
> it is used in the scheduler context switch and that is required early
> in the initialization for SMP bootup and changing it would be very
> intrusive.
>
> In the 2.2 SuSE kernel it was fixed instead by adding a new kernel
> command line option nofxsave that overrides the FXSAVE bit on the first
> CPU. That is ok because such setup is very rare and is only generated by
> people who build their own boxes; and these should also know how to pass
> kernel command line arguments.
>
> Such an option should also be easy to add to 2.4.

Given that this is an unlikely case, and init code is released after boot,
if this were going to be done at all it might be desirable to make it a
build option and check all capabilities on all CPUs. While I can't
identify a current set of CPUs with at least one feature missing from
each, given Linux running on Intel and AMD processors, and many other type
as well (still multiple SPARC vendors, I think), just checking all the
things which might be broken or missing would be the safest way.

No, I have no idea how hard it really is, one quick look at the code makes
it look less than hard and more than non-trivial for iA86.

-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

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