svn commit: r292276 - in head/sys/arm: arm include
Svatopluk Kraus
skra at FreeBSD.org
Tue Dec 15 16:04:47 UTC 2015
Author: skra
Date: Tue Dec 15 16:04:45 2015
New Revision: 292276
URL: https://svnweb.freebsd.org/changeset/base/292276
Log:
Local TLB flush is sufficient in pmap_remove_pages().
(1) The pmap argument passed to the function must be current pmap only.
(2) The process must be single threaded as the function is called either
when a process is exiting or from exec_new_vmspace().
Remove pmap_tlb_flush_ng() which is not used anywhere now.
Approved by: kib (mentor)
Modified:
head/sys/arm/arm/pmap-v6-new.c
head/sys/arm/include/pmap-v6.h
Modified: head/sys/arm/arm/pmap-v6-new.c
==============================================================================
--- head/sys/arm/arm/pmap-v6-new.c Tue Dec 15 16:02:11 2015 (r292275)
+++ head/sys/arm/arm/pmap-v6-new.c Tue Dec 15 16:04:45 2015 (r292276)
@@ -1380,14 +1380,6 @@ pmap_tlb_flush_range(pmap_t pmap, vm_off
tlb_flush_range(sva, size);
}
-PMAP_INLINE void
-pmap_tlb_flush_ng(pmap_t pmap)
-{
-
- if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active))
- tlb_flush_all_ng();
-}
-
/*
* Abuse the pte2 nodes for unmapped kva to thread a kva freelist through.
* Requirements:
@@ -4233,8 +4225,8 @@ pmap_remove_pages(pmap_t pmap)
free_pv_chunk(pc);
}
}
+ tlb_flush_all_ng_local();
sched_unpin();
- pmap_tlb_flush_ng(pmap);
rw_wunlock(&pvh_global_lock);
PMAP_UNLOCK(pmap);
pmap_free_zero_pages(&free);
Modified: head/sys/arm/include/pmap-v6.h
==============================================================================
--- head/sys/arm/include/pmap-v6.h Tue Dec 15 16:02:11 2015 (r292275)
+++ head/sys/arm/include/pmap-v6.h Tue Dec 15 16:04:45 2015 (r292276)
@@ -196,7 +196,6 @@ void pmap_set_pcb_pagedir(pmap_t , struc
void pmap_tlb_flush(pmap_t , vm_offset_t );
void pmap_tlb_flush_range(pmap_t , vm_offset_t , vm_size_t );
-void pmap_tlb_flush_ng(pmap_t );
void pmap_dcache_wb_range(vm_paddr_t , vm_size_t , vm_memattr_t );
More information about the svn-src-head
mailing list