Page allocator randomization
configname: CONFIG_SHUFFLE_PAGE_ALLOCATOR
Linux Kernel Configuration
└─>Memory Management options
└─>Page allocator randomization
In linux kernel since version 4.14.326 (release Date: 2023-09-23)
Randomization of the page allocator improves the average
utilization of a direct-mapped memory-side-cache. See section
5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI
6.2a specification for an example of how a platform advertises
the presence of a memory-side-cache. There are also incidental
security benefits as it reduces the predictability of page
allocations to compliment SLAB_FREELIST_RANDOM, but the
default granularity of shuffling on the MAX_PAGE_ORDER i.e, 10th
order of pages is selected based on cache utilization benefits
on x86.
While the randomization improves cache utilization it may
negatively impact workloads on platforms without a cache. For
this reason, by default, the randomization is not enabled even
if SHUFFLE_PAGE_ALLOCATOR=y. The randomization may be force enabled
with the 'page_alloc.shuffle' kernel command line parameter.
Say Y if unsure.
utilization of a direct-mapped memory-side-cache. See section
5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI
6.2a specification for an example of how a platform advertises
the presence of a memory-side-cache. There are also incidental
security benefits as it reduces the predictability of page
allocations to compliment SLAB_FREELIST_RANDOM, but the
default granularity of shuffling on the MAX_PAGE_ORDER i.e, 10th
order of pages is selected based on cache utilization benefits
on x86.
While the randomization improves cache utilization it may
negatively impact workloads on platforms without a cache. For
this reason, by default, the randomization is not enabled even
if SHUFFLE_PAGE_ALLOCATOR=y. The randomization may be force enabled
with the 'page_alloc.shuffle' kernel command line parameter.
Say Y if unsure.