]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
In pmap_advise(), when we encounter a superpage mapping, we first demote the
authorAlan Cox <alc@FreeBSD.org>
Wed, 31 Jul 2019 05:38:39 +0000 (05:38 +0000)
committerAlan Cox <alc@FreeBSD.org>
Wed, 31 Jul 2019 05:38:39 +0000 (05:38 +0000)
commit43ded0a321a765fc7ad9c68112b6e9f15adf6083
tree0cf4ffa79621f0f857a7f56fb3e7566c33e1ba04
parente843651ba08fac0c7beaf0b41e2f28f7ae84a8eb
In pmap_advise(), when we encounter a superpage mapping, we first demote the
mapping and then destroy one of the 4 KB page mappings so that there is a
potential trigger for repromotion.  Currently, we destroy the first 4 KB
page mapping that falls within the (current) superpage mapping or the
virtual address range [sva, eva).  However, I have found empirically that
destroying the last 4 KB mapping produces slightly better results,
specifically, more promotions and fewer failed promotion attempts.
Accordingly, this revision changes pmap_advise() to destroy the last 4 KB
page mapping.  It also replaces some nearby uses of boolean_t with bool.

Reviewed by: kib, markj
Differential Revision: https://reviews.freebsd.org/D21115
sys/amd64/amd64/pmap.c
sys/arm64/arm64/pmap.c
sys/i386/i386/pmap.c