summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/pmap.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2012-05-26 06:10:25 +0000
committeralc <alc@FreeBSD.org>2012-05-26 06:10:25 +0000
commitf81e3f6141be848509bb1ffea865f3573c2c25eb (patch)
tree73bd3ebbcc1b8fdda45772ce71274048d984c7a4 /sys/i386/include/pmap.h
parent0f221694c3baf7bb8b75eae7cd2bf2ba07ab5479 (diff)
downloadFreeBSD-src-f81e3f6141be848509bb1ffea865f3573c2c25eb.zip
FreeBSD-src-f81e3f6141be848509bb1ffea865f3573c2c25eb.tar.gz
Rename pmap_collect() to pmap_pv_reclaim() and rewrite it such that it no
longer uses the active and inactive paging queues. Instead, the pmap now maintains an LRU-ordered list of pv entry pages, and pmap_pv_reclaim() uses this list to select pv entries for reclamation. Note: The old pmap_collect() tried to avoid reclaiming mappings for pages that have either a hold_count or a busy field that is non-zero. However, this isn't necessary for correctness, and the locking in pmap_collect() was insufficient to guarantee that such mappings weren't reclaimed. The new pmap_pv_reclaim() doesn't even try. MFC after: 5 weeks
Diffstat (limited to 'sys/i386/include/pmap.h')
-rw-r--r--sys/i386/include/pmap.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h
index 3012a00..3e0ba6f 100644
--- a/sys/i386/include/pmap.h
+++ b/sys/i386/include/pmap.h
@@ -481,7 +481,7 @@ struct pv_chunk {
pmap_t pc_pmap;
TAILQ_ENTRY(pv_chunk) pc_list;
uint32_t pc_map[_NPCM]; /* bitmap; 1 = free */
- uint32_t pc_spare[2];
+ TAILQ_ENTRY(pv_chunk) pc_lru;
struct pv_entry pc_pventry[_NPCPV];
};
OpenPOWER on IntegriCloud