Memory-compaction not working on Atmel SAMA5 ARM platform, kernel v4.14 and v4.20
From: Michael Haben
Date: Fri Mar 15 2019 - 06:08:00 EST
Hello all,
Memory-compaction is not working for me on an Atmel SAMA5D2 SoC with
128Mbyte of RAM, on kernel versions 4.14.73. 4.14.88 and 4.20.0
Using "cat /proc/buddyinfo" to observe the state of memory
fragmentation, and "echo 1 > /proc/sys/vm/compact_memory" to (try to)
trigger compaction.
My kernel's /proc/config.gz includes "CONFIG_COMPACTION=y" and
"CONFIG_MIGRATION=y"
I have rebuilt v4.20 several++ times, enabling various "CONFIG_xxx"
items trying to enable tracing, but without success
(/sys/kernel/debug/tracing is not present), so I haven't been able to
observe whether the compaction-trigger is having any effect at all.
Some circumstantial evidence: memory-compaction was working on another
ARM platform (Raspberry Pi) with kernel v4.9 (Raspbian Jessie), but
stopped working when I dist-upgraded it to v4.14.98 (Raspbian Stretch).Â
The "
/proc/sys/vm/compact_memory" device-node is present, but writing to it
has no effect on the output from "cat /proc/buddyinfo".
So my questions are:
1. Are "CONFIG_COMPACTION=y" + "CONFIG_MIGRATION=y" the only settings
necessary for memory-compaction to be present and working in a kernel?Â
I have Done My Own Research, but Am Not An Expert on Linux kernel features!
2. Must I persevere with trying to get tracing working, or is there
another way I can debug this issue?
Thank you,
Mike Haben
ASH Wireless