On Tue, Mar 05, 2024 at 06:13:39PM -0500, Zi Yan wrote: > On 5 Mar 2024, at 17:32, Greg KH wrote: > > > On Tue, Mar 05, 2024 at 11:09:17PM +0100, David Hildenbrand wrote: > >> On 05.03.24 23:04, Greg KH wrote: > >>> On Tue, Mar 05, 2024 at 11:13:13AM -0500, Zi Yan wrote: > >>>> From: Zi Yan <ziy@xxxxxxxxxx> > >>>> > >>>> The tail pages in a THP can have swap entry information stored in their > >>>> private field. When migrating to a new page, all tail pages of the new > >>>> page need to update ->private to avoid future data corruption. > >>>> > >>>> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx> > >>>> --- > >>>> mm/migrate.c | 6 +++++- > >>>> 1 file changed, 5 insertions(+), 1 deletion(-) > >>> > >>> What is the git commit id of this change in Linus's tree? > >> > >> Unfortunately, we had to do stable-only versions, because the backport > >> of the "accidental" fix that removes the per-subpage "private" information > >> would be non-trivial, especially for pre-folio-converison times. > >> > >> The accidental fix is > >> > >> 07e09c483cbef2a252f75d95670755a0607288f5 > > > > None of that is obvious at all here, we need loads of documentation in > > the changelog text that says all of that please. > > How about? > > Before 07e09c483cbe ("mm/huge_memory: work on folio->swap instead of > page->private when splitting folio"), when a THP is added into swapcache, > each of its subpages has its own swapcache entry and need ->private pointing > to the right swapcache entry. THP added to swapcache function is added in > 38d8b4e6bdc87 ("mm, THP, swap: delay splitting THP during swap out"). > When THP migration was added in 616b8371539a6 ("mm: thp: enable thp migration in generic path"), it did not take care of swapcached THP's subpages, > neither updated subpage's ->private nor replaced subpage pointer in > the swapcache. Later, e71769ae5260 ("mm: enable thp migration for shmem thp") > fixed swapcache update part. Now this patch fixes the subpage ->private > update part. That's better than what is there now :) So yes, please resend all of these with the new text and then we can queue them up. thanks, greg k-h