Re: [PATCH v4] mm, compaction: Skip all non-migratable pages during scan

From: Khalid Aziz
Date: Fri Jun 09 2023 - 19:32:44 EST


On 6/9/23 16:11, Andrew Morton wrote:
On Tue, 30 May 2023 09:42:33 -0600 Khalid Aziz <khalid.aziz@xxxxxxxxxx> wrote:

I completely agree that we should be careful with such mapcount vs. pagecount checks, and if we can use something
better, let's use something *better*.

When we have a reliable folio_maybe_dma_longterm_pinned() function, it will be better to call that instead of doing
refcount vs mapcount check. Until that better function to check for pinned pages is in place, may I propose that the
current patch fixes a customer problem though not optimally and is a good enough working solution. When a better
function is in place, page_has_extra_refs() function can be updated to rely on this other function instead of refcount
vs mapcount.

We seem rather stuck with this patch. I think I'll drop it while we
ponder a way forward.

Hi Andrew,

I would still recommend that we use this patch and fix the existing problem, unless there are objections from other people. This is not an optimal solution but it works and is similar to what kernel does elsewhere. When a better function to check pinned pages is available, we start using that function instead.

Thanks,
Khalid