linux-mips
[Top] [All Lists]

Re: problems on D-cache alias in 2.4.22

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: problems on D-cache alias in 2.4.22
From: Peter Horton <pdh@colonel-panic.org>
Date: Tue, 18 May 2004 22:21:53 +0100
Cc: Peter Horton <pdh@colonel-panic.org>, Jun Sun <jsun@mvista.com>, Bob Breuer <bbreuer@righthandtech.com>, linux-mips@linux-mips.org
In-reply-to: <20040518195055.GB2454@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <B482D8AA59BF244F99AFE7520D74BF9609D4B3@server1.RightHand.righthandtech.com> <20040518114519.C5390@mvista.com> <20040518191019.GA11007@skeleton-jack> <20040518195055.GB2454@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.5.1+cvs20040105i
On Tue, May 18, 2004 at 09:50:55PM +0200, Ralf Baechle wrote:
> On Tue, May 18, 2004 at 08:10:19PM +0100, Peter Horton wrote:
> 
> > The kernel maps the page cache page into user space ... BANG! possible
> > D-cache alias.
> > 
> > The kernel doesn't bother flushing the page cache page from the D-cache
> > as it's never accessed at it's page cache address.
> 
> It is - after all the driver is copying the data to there.  The same
> problem also exists in the ramdisk driver and there it has been fixed
> properly, it seems.
> 

I had a dig around but couldn't decide where the proper fix should go.

> > The current fix in the Cobalt patches (2.4 & 2.6) just flushes the read
> > data out of the D-cache after every IDE insw()/insl(). This is the least
> > intrusive fix.
> > 
> > Some Sparc machines also see this problem.
> 
> Carelessly written PIO drivers on any architecture would suffer from this
> kind of problem.
> 

Are you saying it's a driver problem ? :-)

P.

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