mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-22 04:03:11 +00:00
Introduce pinned extents to contain unpurgeable pages
Some pages (e.g., hugetlb pages) cannot be purged, and should be prioritized for reuse. A custom extent_alloc hook signals this by OR'ing EXTENT_ALLOC_FLAG_PINNED into the low bits of the returned pointer; jemalloc strips the flag bits and caches pinned extents in a dedicated ecache_pinned, separate from the dirty/muzzy decay pipeline. Pinned extents do not coalesce eagerly, except for ones larger than SC_LARGE_MINCLASS. A prefer-small policy reuses the smallest fitting pinned extent, to avoid unnecessary split/fragmentation.
This commit is contained in:
@@ -2062,6 +2062,9 @@ if test "x${LG_PAGE}" != "xundefined" ; then
|
||||
else
|
||||
AC_MSG_ERROR([cannot determine value for LG_PAGE])
|
||||
fi
|
||||
if test "${LG_PAGE}" -lt 8 ; then
|
||||
AC_MSG_ERROR([LG_PAGE must be at least 8 (PAGE >= 256)])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([lg_hugepage],
|
||||
[AS_HELP_STRING([--with-lg-hugepage=<lg-hugepage>],
|
||||
|
||||
Reference in New Issue
Block a user