Re: 2.1.120 broken on P5 SMP machines + fix

Thomas Bogendoerfer (tsbogend@alpha.franken.de)
Sun, 6 Sep 1998 10:58:30 +0200


On Sat, Sep 05, 1998 at 05:08:51PM -0700, Linus Torvalds wrote:
> On Sat, 5 Sep 1998, Thomas Bogendoerfer wrote:
> >
> > As predicted 2.1.120 is broken on P5 SMP machines, because of the
> > order change of smp_begin() and check_bugs() in init/main.c. I guess
> > it was Linus intend to break it (see my signature)
>
> Never attribute to forethought what can be sufficiently explained by
> idiocy.

:-)

> No, I didn't mean to break it, I just got the ordering confused _again_.

I'm not sure, but it looks like the F00F workaround gets only enabled for
one CPU, when we do smp_begin() before check_bugs(). So it makes sense,
when people see that the first start of a f00f trigger program gives
illegal instruction while the second one hangs the machine. When we do
smp_begin() all of the processors get started, but check_bugs() only
reload the idt for the boot processor in trap_init_f00f_bug(), right ?

> I'll just switch the check_bugs things around again and be red in the
> face. Sorry,

no problem. But it might be better to leave it the way it is in 2.1.120
and stick in my patch.

Thomas.

-- 
See, you not only have to be a good coder to create a system like Linux,
you have to be a sneaky bastard too ;-)
                   [Linus Torvalds in <4rikft$7g5@linux.cs.Helsinki.FI>]

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