]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Support for userspace non-transparent superpages (largepages).
authorkib <kib@FreeBSD.org>
Wed, 9 Sep 2020 22:12:51 +0000 (22:12 +0000)
committerkib <kib@FreeBSD.org>
Wed, 9 Sep 2020 22:12:51 +0000 (22:12 +0000)
commit7cd478d505a21486097d41ffda5d0cecbc1d99bd
treedcc9c17a38f1081490426b2cf4ef0c0cd3d774d3
parentd43f7905e54be266927157f3c7541c663bbdf614
Support for userspace non-transparent superpages (largepages).

Created with shm_open2(SHM_LARGEPAGE) and then configured with
FIOSSHMLPGCNF ioctl, largepages posix shared memory objects guarantee
that all userspace mappings of it are served by superpage non-managed
mappings.

Only amd64 for now, both 2M and 1G superpages can be requested, the
later requires CPU feature.

Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24652
sys/kern/kern_umtx.c
sys/kern/uipc_shm.c
sys/sys/filio.h
sys/sys/mman.h
sys/vm/vm_fault.c
sys/vm/vm_mmap.c