linux-mips
[Top] [All Lists]

Re: The impact to change page size to 16k for cache alias

To: 林建安 <colin@realtek.com.tw>, linux-mips@linux-mips.org
Subject: Re: The impact to change page size to 16k for cache alias
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 31 Mar 2009 19:12:25 +0200
In-reply-to: <20090331165412.GA4918@adriano.hkcable.com.hk>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <9BDA961341E843F29C1C1ECDB54FD0CF@realtek.com.tw> <20090330082414.GA4797@adriano.hkcable.com.hk> <20090331081113.GA17934@linux-mips.org> <20090331165412.GA4918@adriano.hkcable.com.hk>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Apr 01, 2009 at 12:54:12AM +0800, Zhang Le wrote:

> > > Linux on Loongson 2E and 2F uses 16k page size to avoid cache alias 
> > > problem, too.
> > > However, I haven't encountered any problem on Linux kernel itself due to 
> > > 16k page
> > > size.
> > > 
> > > Anyway, I am not 100% familiar with Loongson patches, so I am not sure 
> > > whether
> > > the page size problem is already been taken care of in the patch. If you 
> > > are
> > > interested to find out yourself, you can get the whole source here:
> > > http://repo.or.cz/w/linux-2.6/linux-loongson.git
> > 
> > I've got a report that Fulong is currently only working with 16k pages.  So
> > 4k is no longer the bullet proof choice for all cases :)
> 
> Yes, at least from what I can tell.
> I have tried 4k before, because I heard someone told me the aliasing problem
> already can be taken care by software, namely Linux. But as it turned out, 16k
> is still necessary for the Loongson boxes to function properly.

Linux knows how to handle aliasing caches - the vast majority of MIPS
systems have aliasing caches and are running at 4k page size.  So the
issue is Loongson-specific.  This might be due to processor detection
not detecting the cache size, cache line size, number of ways correctly
or because loongson's caches has some unusual cache properties which the
Linux kernel is not designed to handle yet.

Btw, I just noticed that there is no
arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h which is going
to impact code size and performance.

  Ralf

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