Thread (1 message) 1 message, 1 author, 2024-01-24

Re: 回复: [PATCH] mm/compaction: add check mechanism to avoid cma alloc fail

From: Matthew Wilcox <willy@infradead.org>
Date: 2024-01-24 18:40:10
Also in: linux-mediatek, linux-mm, lkml

On Wed, Jan 24, 2024 at 07:20:53AM +0000, Haiqiang Gong (龚海强) wrote:
quoted
I don't understand.  You say that the memory isn't movable, but then you 
say that it's migrated in.  So it was movable, but it's no longer
movable after being moved once?  
Sorry for not expressing clearly
When doing memory migration, the kernel will determine whether the current 
page can be moved based on the refcount and mapcount of the current page.
This memory can be moved during kernel compaction. At this time, refcount 
is less than or equal to mapcount.
After this memory is kcompacted and placed in the cma buffer, under 
certain special conditions, the refcount may be greater than the mapcount
(ex:the current page is being used by fs), and then migrate will fail.
But that's always true.  Any page that is currently in use might have
its refcount temporarily incremented.  There's nothing special about
pages that belong to a file.  You've basically just prevented all
filesystem memory from being migrated to the CMA area, and that's wrong.

What's special about this page?  Or were you just unlucky?

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help