linux-mips
[Top] [All Lists]

Re: problems on D-cache alias in 2.4.22

To: Peter Horton <pdh@colonel-panic.org>
Subject: Re: problems on D-cache alias in 2.4.22
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 18 May 2004 21:50:55 +0200
Cc: Jun Sun <jsun@mvista.com>, Bob Breuer <bbreuer@righthandtech.com>, linux-mips@linux-mips.org
In-reply-to: <20040518191019.GA11007@skeleton-jack>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <B482D8AA59BF244F99AFE7520D74BF9609D4B3@server1.RightHand.righthandtech.com> <20040518114519.C5390@mvista.com> <20040518191019.GA11007@skeleton-jack>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
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.

> 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.

  Ralf

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