Atomic allocations (GFP_ATOMIC), particularly in network interrupt contexts,
are prone to failure during bursts of traffic if the pre-configured
min_free_kbytes (atomic reserve) is insufficient. These failures lead to
packet drops and performance degradation.
Static tuning of vm.min_free_kbytes is often challenging: setting it too
low risks drops, while setting it too high wastes valuable memory.
This patch series introduces a reactive mechanism that:
1. Detects critical order-0 GFP_ATOMIC allocation failures.
2. Automatically doubles vm.min_free_kbytes to reserve more memory for
future bursts.
3. Enforces a safety cap (1% of total RAM) to prevent OOM or excessive waste.
This allows the system to self-adjust to the workload's specific atomic
memory requirements without manual intervention.
wujing (1):
mm/page_alloc: auto-tune min_free_kbytes on atomic allocation failure
mm/page_alloc.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
--
2.39.5