On Fri, Jun 13, 2008 at 09:53:03AM -0700, David Daney wrote: > From: David Daney <ddaney@xxxxxxxxxx> > Date: Fri, 13 Jun 2008 09:53:03 -0700 > To: Thomas Horsten <thomas@xxxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx, Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Subject: Re: [BUG] R5000 failure in kmap_coherent on Lasat board, bug that > has been there for a while? > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Thomas Horsten wrote: >> Hi all, >> >> (resending w/ more info because the first one didn't make it to the >> list - I'm subscribed now so hopefully it'll go through this time): >> >> This crash happens (late) during boot with 2.6.25.6. I think this is a >> general R5k issue with the cache handling code. It only seems to >> happen when the swap is in use like someone else observed, but usually >> only after some big processes like mysql have been started. >> >> As far as I can see it's the same issue that has been reported several >> other places, but with no resolution in any of them: >> >> http://www.linux-mips.org/archives/linux-mips/2007-12/msg00128.html >> http://www.linux-mips.org/archives/linux-mips/2008-01/msg00132.html >> and also seen by someone else here: >> http://lists.debian.org/debian-mips/2007/11/msg00034.html >> >> I'm thinking some subtle difference between R4k and R5k caches which >> isn't taken into account, or an aliasing bug that only triggers on >> R5k? > > I have a mips 4KEc based system where I think it is happening too (sigma8634 based w/ 2.6.15 kernel). > > >> >> I also found what seems to be a related patch from OpenWRT but I have >> no idea what it's supposed to solve as I could only find the raw >> patch: >> >> https://dev.openwrt.org/browser/trunk/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch?rev=11155 >> >> In any case I tried to apply it to my Lasat kernel, but using the >> _atomic functions instead of _coherent just causes a much earlier >> crash. >> > > I will try said patch on my O2/R5000 and the sigma8634. The patch is total bullshit. It doesn't even try to fix the issues but rather disables the alias-avoidance mechanism. Ralf