On Thu 25-08-22 11:05:48, matoro wrote:
Hello all, I know this is quite an old thread. I recently acquired some
alpha hardware and have run into this exact same problem on the latest
stable kernel (5.18 and 5.19). CONFIG_COMPACTION seems to be totally broken
and causes userspace to be extremely unstable - random segfaults, corruption
of glibc data structures, gcc ICEs etc etc - seems most noticable during
tasks with heavy I/O load.
My hardware is a DS15 (Titan), so only slightly newer than the Tsunamis
mentioned earlier. The problem is greatly exacerbated when using a
machine-optimized kernel (CONFIG_ALPHA_TITAN) over one with
CONFIG_ALPHA_GENERIC. But it still doesn't go away on a generic kernel,
just pops up less often, usually very I/O heavy tasks like checking out a
tag in the kernel repo.
However all of this seems to be dependent on CONFIG_COMPACTION. With this
toggled off all problems disappear, regardless of other options. I tried
reverting the commit 88dbcbb3a4847f5e6dfeae952d3105497700c128 mentioned
earlier in the thread (the structure has moved to a different file but was
otherwise the same), but it unfortunately did not make a difference.
Since this doesn't seem to have a known cause or an easy fix, would it be
reasonable to just add a Kconfig dep to disable it automatically on alpha?
Thanks for report. I guess this just confirms that migration of pagecache
pages is somehow broken on Alpha. Maybe we are missing to flush some cache
specific for Alpha? Or maybe the page migration code is not safe wrt the
peculiar memory ordering Alpha has... I think this will need someone with
Alpha HW and willingness to dive into MM internals to debug this. Added
Vlasta to CC mostly for awareness and in case it rings some bells :).