PERFORCE change 149896 for review
Rafal Jaworowski
raj at FreeBSD.org
Tue Sep 16 20:00:03 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=149896
Change 149896 by raj at 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) {
More information about the p4-projects
mailing list