linux-mips
[Top] [All Lists]

Re: [PATCH 8/12] cerr-printk-not-prom-printf

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: [PATCH 8/12] cerr-printk-not-prom-printf
From: Dominic Sweetman <dom@mips.com>
Date: Thu, 20 Oct 2005 12:02:33 +0100
Cc: Andrew Isaacson <adi@broadcom.com>, linux-mips@linux-mips.org
In-reply-to: <20051020104902.GA9491@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20051020065320.GA23857@broadcom.com> <20051020065757.GH23899@broadcom.com> <20051020104902.GA9491@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
Ralf Baechle (ralf@linux-mips.org) writes:

> The reason for this old commit was that this code is running
> uncached, so the operation of ll/sc in the spinlocks is undefined
> according to the MIPS64 spec...

The answer is more complicated.  MIPS64 (elsewhere) requires that the
ll/sc "link" is broken on an exceptin - in fact on an 'eret'
instruction.

So ll/sc on an uncached location works just fine in a uniprocessor.  
However, it's unlikely that any cache-coherent mulitprocessor system
will snoop uncached reads and writes, so it won't work in an SMP
system.

--
Dominic


<Prev in Thread] Current Thread [Next in Thread>