Re: [PATCH] mm/huge_memory: fix swap entry values of tail pages of THP

From: David Hildenbrand
Date: Tue Feb 13 2024 - 13:36:42 EST


Closes:
https://lore.kernel.org/linux-mm/69cb784f-578d-ded1-cd9f-c6db04696336@xxxxxxxxxxx/
Fixes: 3417013e0d18 ("mm/migrate: Add folio_migrate_mapping()")
Cc: <stable@xxxxxxxxxxxxxxx> # see patch description, applicable to <=6.1
Signed-off-by: Charan Teja Kalla <quic_charante@xxxxxxxxxxx>

3417013e0d18 went into 5.16.

cfeed8ffe55b3 went into 6.6.

So only 6.1 is affected.


I tried to dig why the older kernels don't have this issue. The issue
persists on the older kernels too, AFAICS. See,
migrate_page_move_mapping().

So, The Fixes: tag too is unique for 6.1 kernel. And older LTS kernel
requires different tag it seems..

We really have to identify which commit it actually broke, and whether it was repeatedly fixed and broken again.

Because backporting this to 6.1 might be feasible. Backporting to much older kernels possibly not.



Isn't there a way to bite the bullet and backport that series to 6.1
instead?

My worry is that, because of merge conflicts, not sure If It can end up
in inducing some other issues.

I can have a look this/next week. I don't recall if there was any particular dependency.


Although we didn't test THP on older kernels, from the code walk, it
seems issue persists to me on older to 6.1 kernel, unless I am missing
something here. So back porting of this series to all those LTS kernels,
may not be a straight forward?

So, I am really not sure of what is the way forward here...

Again, if we want to fix this properly, we should first identify the commit that actually broke it.

If it predates folios, we'd need different fixes for different stable kernels most likely.

The big question are:

1) Is it broken in 5.15? Did you actually try to reproduce or is this
just a guess?

2) How did you come up with 417013e0d18 ("mm/migrate: Add
folio_migrate_mapping()")

--
Cheers,

David / dhildenb