linux-mips
[Top] [All Lists]

Re: Cache code changes

To: Fuxin Zhang <fxzhang@ict.ac.cn>
Subject: Re: Cache code changes
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 20 Mar 2003 13:05:29 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <3E79A121.6000409@ict.ac.cn>; from fxzhang@ict.ac.cn on Thu, Mar 20, 2003 at 07:08:17PM +0800
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030320111625.A13219@linux-mips.org> <3E79A121.6000409@ict.ac.cn>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5.1i
On Thu, Mar 20, 2003 at 07:08:17PM +0800, Fuxin Zhang wrote:

> I am very glad to see this happens:)


> Currently linux/mips is really far from efficient,I've some data for 
> this declaration:
>    For most SPEC CPU 2000 programs we run on a 4-way superscalar CPU 
> simulator
> ,we get <0.20 IPC in kernel mode,while the IPCs for the whole execution 
> are often much
> higher(0.5-1.5). We believe this has something to do with the overly 
> used cache flushes.

What type of cache are you using in this simulation?  Virtual/physical
indexing/tagging, what associativity?

Linux/MIPS's handling of virtually indexed data caches isn't as good as
it should be but that's what I'm working on.

> BTW, for 2.4.17,it seems this path is still not safe for cache aliases:
>     copy_cow_page for newly forked process, we use kernel virtual address
> to do the copy,but without flush first.
> add a flush_page_to_ram before the copy fix the errors.
> 
> but i am not sure whether i am missing something

The functions clear_user_page and copy_user_page are supposed to take care
of aliases in this case.  That's what the little patch did in my previous
mail did, just in a rather inefficient way.

  Ralf

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