Port-mips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: SGI MIPS, Speculative Execution issue



On Sun, 27 Oct 2024, DiTBho Down in The Bunny hole wrote:

> >  In a cache-coherent system this is resolved transparently by hardware and
> > such synchronisation happens automatically.
> 
> Thanks for the clarification =)

 You are welcome.

> I wonder why the linux kernel perfectly runs on an O2/R5K, while it
> crashes in less than 10 seconds from boot on an O2/R10K?

 I think MIPS/Linux matters will best be discussed at 
<linux-mips%vger.kernel.org@localhost>.  There are people there who have experience 
with running Linux on SGI hardware there (I don't).

> If we assume that it is the CPU that does not implement any
> cache-coherency mechanism, then why does Linux kernel run perfectly on
> an Octane/R10K?

 A hardware workaround may have been implemented in a later system, or a 
later stepping of the CPU may have the erratum fixed.  Also the crash may 
be unrelated.  You may have to debug it yourself.

> Do NetBSD and OpenBSD work on O2/R10K?

 I'll leave answers to this question to the others; I don't know.

> I think (my speculation) the hw-mechanism, it implemented, is external
> to the CPU, but there is more that is not yet clear to me.

 In the R4k and R10k architecture coherency logic is on-chip of all the 
participating agents, both CPU(s) and DMA masters.  See the diagrams in 
the respective processor manuals for an overview.

> The post(1) on the mailing list talks about a problem specifically
> related to the speculatively execution of loads and stores on a
> superscalar MIPS4 CPU { R10K, R12K, R14K, R16K }.

 There is a section on this erratum in the R10k manual, section 1.7, pp. 
21-25.  I suggest that you read it, it may help debugging the problem.

> R5K belongs to the MIPS3 class, and it's not superscalar.

 The R5k is actually a MIPS IV CPU.  And it's dual-issue (between CPU and 
FPU instructions).  It doesn't implement speculative execution or coherent 
operation though.

  Maciej


Home | Main Index | Thread Index | Old Index