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