[PATCH 0/2] perf,coresight: Reduce fragmentation with non-contiguous AUX pages for cs_etm
Yabin Cui
yabinc at google.com
Mon Apr 21 14:58:16 PDT 2025
Hi perf maintainers,
Hi coresight maintainers,
This patch set (2 patches) addresses memory fragmentation caused by
contiguous AUX buffer allocation for the cs_etm PMU on Android.
The cs_etm PMU doesn't need contiguous AUX pages, yet perf always allocates
contiguous AUX pages based on aux_watermark. So repeated use of cs_etm
with large buffers leads to memory fragmentation, negatively impacting
other processes.
This solution introduces PERF_PMU_CAP_AUX_NON_CONTIGUOUS_PAGES to allow
cs_etm to request non-contiguous AUX buffers, avoiding high-order page
allocations and reducing fragmentation.
This aims to reduce memory fragmentation for Android devices when using
cs_etm. Your review is appreciated.
Thanks,
Yabin
Yabin Cui (2):
perf: Allow non-contiguous AUX buffer pages via PMU capability
coresight: etm-perf: Add AUX_NON_CONTIGUOUS_PAGES to cs_etm PMU
drivers/hwtracing/coresight/coresight-etm-perf.c | 3 ++-
include/linux/perf_event.h | 1 +
kernel/events/ring_buffer.c | 6 ++++++
3 files changed, 9 insertions(+), 1 deletion(-)
--
2.49.0.805.g082f7c87e0-goog
More information about the linux-arm-kernel
mailing list