diff options
author | Alan Cox <alc@FreeBSD.org> | 2015-09-26 07:18:05 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2015-09-26 07:18:05 +0000 |
commit | 9f86aba61c668b9e74be932b11bf094ca5563e9d (patch) | |
tree | e06c87a7b94a1a95cc57bfd99b2a6e2af5e95d7b /sys/arm | |
parent | 436ed6b50dba29dd8171f69610fc888807bb2f16 (diff) | |
download | src-9f86aba61c668b9e74be932b11bf094ca5563e9d.tar.gz src-9f86aba61c668b9e74be932b11bf094ca5563e9d.zip |
Exploit r288122 to address a cosmetic issue. Since PV chunk pages don't
belong to a vm object, they can't be paged out. Since they can't be paged
out, they are never enqueued in a paging queue. Nonetheless, passing
PQ_INACTIVE to vm_page_unwire() creates the appearance that these pages
are being enqueued in the inactive queue. As of r288122, we can avoid
this false impression by passing PQ_NONE.
Submitted by: kmacy (an earlier version)
Differential Revision: https://reviews.freebsd.org/D1674
Notes
Notes:
svn path=/head/; revision=288256
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/pmap-v6-new.c | 2 | ||||
-rw-r--r-- | sys/arm/arm/pmap-v6.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/pmap-v6-new.c b/sys/arm/arm/pmap-v6-new.c index 864e05cae8ec..d0a3f0f5421d 100644 --- a/sys/arm/arm/pmap-v6-new.c +++ b/sys/arm/arm/pmap-v6-new.c @@ -2866,7 +2866,7 @@ free_pv_chunk(struct pv_chunk *pc) /* entire chunk is free, return it */ m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); pmap_qremove((vm_offset_t)pc, 1); - vm_page_unwire(m, PQ_INACTIVE); + vm_page_unwire(m, PQ_NONE); vm_page_free(m); pmap_pte2list_free(&pv_vafree, (vm_offset_t)pc); } diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c index 50172f253f54..437891e5d0f8 100644 --- a/sys/arm/arm/pmap-v6.c +++ b/sys/arm/arm/pmap-v6.c @@ -4292,7 +4292,7 @@ pmap_free_pv_chunk(struct pv_chunk *pc) /* entire chunk is free, return it */ m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); pmap_qremove((vm_offset_t)pc, 1); - vm_page_unwire(m, PQ_INACTIVE); + vm_page_unwire(m, PQ_NONE); vm_page_free(m); pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc); |