HomeFreeBSD

Introduce vm_object_color() and use it in mmap(2) to set the color of

Description

Introduce vm_object_color() and use it in mmap(2) to set the color of
named objects to zero before the virtual address is selected. Previously,
the color setting was delayed until after the virtual address was
selected. In rtld, this delay effectively prevented the mapping of a
shared library's code section using superpages. Now, for example, we see
the first 1 MB of libc's code on armv6 mapped by a superpage after we've
gotten through the initial cold misses that bring the first 1 MB of code
into memory. (With the page clustering that we perform on read faults,
this happens quickly.)

Differential Revision: https://reviews.freebsd.org/D2013
Reviewed by: jhb, kib
Tested by: Svatopluk Kraus (armv6)
MFC after: 6 weeks

Details

Provenance
alcAuthored on
Reviewer
jhb
Differential Revision
D2013: superpages, rtld, and the 1-page mmap
Parents
rS280326: Make TARGET_ARCH=powerpc64 work without TARGET=powerpc.
Branches
Unknown
Tags
Unknown

Event Timeline