Subject: Re: Ultra 10, anyone?
To: Andrey Petrov <petrov@netbsd.org>
From: Chuck Silvers <chuq@chuq.com>
List: port-sparc64
Date: 08/22/2002 21:42:12
--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
hi,
you're absolutely right, some of those cache flushes shouldn't
have been removed. could you try out the attached version of
this change? that's the one I'll commit.
-Chuck
On Thu, Aug 22, 2002 at 10:23:16AM -0700, Andrey Petrov wrote:
> On Thu, Aug 22, 2002 at 11:47:53AM +0200, Hubert Feyrer wrote:
> >
> > Using the latest snapshot from releng.netbsd.org, I get lots of "signal
> > 11"s during compilation. I'v replaced the machine's RAM (4*256 -> 4*64),
> > but that didn't make any differences.
> >
>
> I'm not sure if that hme or not but the following patch fixed
> 'signal 11' during NFS build for me. I have some theory about
> aliased shared pages, but it's just guess with no prove at this
> point.
>
> Andrey
--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="diff.sparc64-dcache"
Index: arch/sparc64/sparc64/pmap.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/sparc64/sparc64/pmap.c,v
retrieving revision 1.125
diff -u -r1.125 pmap.c
--- arch/sparc64/sparc64/pmap.c 2002/08/12 12:04:31 1.125
+++ arch/sparc64/sparc64/pmap.c 2002/08/23 04:40:49
@@ -2807,6 +2807,7 @@
simple_unlock(&pv->pv_pmap->pm_lock);
}
splx(s);
+ dcache_flush_page(pa);
pv_check();
#ifdef DEBUG
if (pmap_is_modified(pg)) {
@@ -2906,6 +2907,7 @@
}
}
splx(s);
+ dcache_flush_page(pa);
pv_check();
#ifdef DEBUG
if (pmap_is_referenced(pg)) {
@@ -3272,6 +3274,7 @@
}
splx(s);
}
+ dcache_flush_page(pa);
/* We should really only flush the pages we demapped. */
pv_check();
}
--k1lZvvs/B4yU6o8G--