Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 2008 20:00:03 GMT
From:      Rafal Jaworowski <raj@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 149896 for review
Message-ID:  <200809162000.m8GK03Pn011388@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=149896

Change 149896 by raj@raj_mimi on 2008/09/16 19:59:50

	Move pmap_remove() L2 cache invalidation to a proper place.
	
	Previously it was causing a gratuitous page fault, which
	led to a nasty LOR.
	
	Obtained from:	Semihalf

Affected files ...

.. //depot/projects/arm/src/sys/arm/arm/pmap.c#42 edit

Differences ...

==== //depot/projects/arm/src/sys/arm/arm/pmap.c#42 (text+ko) ====

@@ -3874,15 +3874,17 @@
 			if (l2pte_valid(pte) && pmap_is_current(pm)) {
 				if (total < PMAP_REMOVE_CLEAN_LIST_SIZE) {
 					total++;
-        				cpu_l2cache_wbinv_range(sva,
-					    PAGE_SIZE);
 			   		if (is_exec) {
         					cpu_idcache_wbinv_range(sva,
-								 PAGE_SIZE);
+						    PAGE_SIZE);
+						cpu_l2cache_wbinv_range(sva,
+						    PAGE_SIZE);
 						cpu_tlb_flushID_SE(sva);
 			   		} else if (is_refd) {
 						cpu_dcache_wbinv_range(sva,
-								 PAGE_SIZE);
+						    PAGE_SIZE);
+						cpu_l2cache_wbinv_range(sva,
+						    PAGE_SIZE);
 						cpu_tlb_flushD_SE(sva);
 					}
 				} else if (total == PMAP_REMOVE_CLEAN_LIST_SIZE) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809162000.m8GK03Pn011388>