Re: [RFC PATCH 1/3] mm/compaction: skip isolate mlocked folios when compact_unevictable_allowed=0
From: Alexander Krabler <hidden>
Date: 2026-07-08 06:24:21
Also in:
linux-mm, linux-rt-devel, lkml
On 7/08/26 03:31, Wandun wrote:
quoted hunk ↗ jump to hunk
I found there are false positives in this reproducer. I modified the program a little, the diff is as follows, the problem can still be reproduceddiff --git a/repro.c b/repro.c index b1b34d5..59cb417 100644 --- a/repro.c +++ b/repro.c@@ -15,6 +15,7 @@ static void *worker_fn(void *arg) int fd = (long)arg; size_t len = NR_PAGES * PAGE_SIZE; + mlockall(MCL_ONFAULT | MCL_FUTURE | MCL_CURRENT); while (1) { if (ftruncate(fd, 0) < 0) {} if (ftruncate(fd, len) < 0) {}@@ -24,8 +25,6 @@ static void *worker_fn(void *arg) if (p == MAP_FAILED) continue; - mlockall(MCL_ONFAULT | MCL_FUTURE); - for (int i = 0; i < NR_PAGES; i++) { for (int j = 0; j < PAGE_SIZE; j++) {
No worries, I can reproduce with that program, but I still think this is different. The reproducer passes the MCL_ONFAULT flag to mlockall(), delaying the actual memory allocation. However, this is not what I would do in realtime programs and if I do, these faults are basically memory allocations, where I can not expect realtime performance guarantees. If I remove MCL_ONFAULT, I did not manage to hit the migration_entry_wait with the reproducer. My guess is, that it only triggers when using CMA, but I'm not deep enough into that topic to proof that. -- KUKA Deutschland GmbH Board of Directors: Michael Jürgens (Chairman), Johan Naten, Hui Zhang Registered Office: Augsburg HRB 14914 This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of contents of this e-mail is strictly forbidden. Please consider the environment before printing this e-mail.