| To: | Dominic Sweetman <dom@mips.com> |
|---|---|
| Subject: | Re: [PATCH 8/12] cerr-printk-not-prom-printf |
| From: | Ralf Baechle <ralf@linux-mips.org> |
| Date: | Thu, 20 Oct 2005 12:17:11 +0100 |
| Cc: | Andrew Isaacson <adi@broadcom.com>, linux-mips@linux-mips.org |
| In-reply-to: | <17239.31049.107570.828550@arsenal.mips.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <20051020065320.GA23857@broadcom.com> <20051020065757.GH23899@broadcom.com> <20051020104902.GA9491@linux-mips.org> <17239.31049.107570.828550@arsenal.mips.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mutt/1.4.2.1i |
On Thu, Oct 20, 2005 at 12:02:33PM +0100, Dominic Sweetman wrote: > > 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. But in case of the code in question no eret will be executed between taking the cache error exception and printk trying to take the lock. > 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. Fine - but at that point we could have two processors messing with the same buffers. Bad Thing (TM). Ralf |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 8/12] cerr-printk-not-prom-printf, Dominic Sweetman |
|---|---|
| Next by Date: | Re: KProbes, Ralf Baechle |
| Previous by Thread: | Re: [PATCH 8/12] cerr-printk-not-prom-printf, Dominic Sweetman |
| Next by Thread: | [PATCH 9/12] sbmac-fixes, Andrew Isaacson |
| Indexes: | [Date] [Thread] [Top] [All Lists] |