Re: mm/thp commits: please wait a few days

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Jun 2021, Greg Kroah-Hartman wrote:
> On Thu, Jun 17, 2021 at 06:51:44AM +0200, Greg Kroah-Hartman wrote:
> > On Wed, Jun 16, 2021 at 04:02:32PM -0700, Hugh Dickins wrote:
> > > Hi Greg,
> > > 
> > > Linus has taken in a group of mm/thp commits Cc stable today:
> > > 
> > > 504e070dc08f mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split
> > > 22061a1ffabd mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
> > > 31657170deaf mm/thp: fix page_address_in_vma() on file THP tails
> > > 494334e43c16 mm/thp: fix vma_address() if virtual address below file offset
> > > 732ed55823fc mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
> > > 3b77e8c8cde5 mm/thp: make is_huge_zero_pmd() safe and quicker
> > > 99fa8a48203d mm/thp: fix __split_huge_pmd_locked() on shmem migration entry
> > > ffc90cbb2970 mm, thp: use head page in __migration_entry_wait()
> > > 
> > > and I expect some more to follow in a few days time (thanks Andrew).
> > > 
> > > No problem with the commits themselves, but I'm aware that some of them
> > > have dependencies on other commits not yet in stable, which I have to
> > > sort out for you now.
> > > 
> > > I'd prefer to avoid a deluge of "does not apply" messages, so ask you
> > > please to hold off trying to merge these into stable trees for a few days:
> > > I'll get back to you with what's needed for them to apply.
> > 
> > Not a problem, thanks for the heads up, I'll restrain from running my
> > scripts on the above patches until you say it's safe to :)
> 
> Any word on this?

I have a "matrix" of what's needed ready, but I'm still waiting on
"I expect some more to follow in a few days time (thanks Andrew)":
I believe akpm does still intend to send them in to Linus for 5.13
this week, but they've not gone yet.

So eleven don't yet have SHA1s (of SignOffs by Linus) to include.
Ten of them (I'm calling pvmw1 through pvmw10) are progressive
mods to one function page_vma_mapped_walk(), which were split off
from the previous patches to help review.  Those ones are easy:
they all apply cleanly to all releases in which they are needed,
so no special backports from me required.

But there's a final futex-pgoff one, which does not apply cleanly
to 5.4 or 4.9: so that one I do have to send you variants of, and
cannot until it's in Linus's tree.

You could proceed with just the first eight already in the tree;
but it's all (bar the last) part of the same collection of fixes.
I think better to keep them together - unless Andrew or Linus
prefers to hold the eleven back until 5.14-rc.

Here's the "matrix" and notes I assembled for your delectation
(and I verified yesterday that your latest releases do not add any
complications); but I'm not yet attaching the tarball of variants,
which I expect to update for futex-pgoff when it goes in.

5.12.12         5.10.45      5.4.127      4.19.195     4.14.237     4.9.273
                                                       4.14/0001    << chpick
                5.10/0001    << chpick    << chpick    << chpick    << chpick
                5.10/0002    << chpick    << chpick    << chpick
                5.10/0003    << chpick    << chpick    << chpick
ffc90cbb2970    << chpick    << chpick
99fa8a48203d    5.10/0005    << chpick    << chpick
3b77e8c8cde5    << chpick    << chpick    << chpick
732ed55823fc    << chpick    5.04/0007    << chpick    << chpick
494334e43c16    << chpick    5.04/0008    4.19/0007    << chpick
31657170deaf    << chpick    << chpick    << chpick    << chpick
22061a1ffabd    5.10/0010    5.04/0010    << chpick
504e070dc08f    5.10/0011    5.04/0011    4.19/0010    4.14/0008   4.09/0003
pvmw1-pvmw10    << chpick    << chpick    << chpick    << chpick
futex-pgoff     << chpick    5.04/0022    << chpick    << chpick   4.09/0004

Already in 5.13-rc7:
ffc90cbb2970 mm, thp: use head page in __migration_entry_wait()
99fa8a48203d mm/thp: fix __split_huge_pmd_locked() on shmem migration entry
3b77e8c8cde5 mm/thp: make is_huge_zero_pmd() safe and quicker
732ed55823fc mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
494334e43c16 mm/thp: fix vma_address() if virtual address below file offset
31657170deaf mm/thp: fix page_address_in_vma() on file THP tails
22061a1ffabd mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
504e070dc08f mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split

Expected in 5.13 final:
pvmw1        mm: page_vma_mapped_walk(): use page for pvmw->page
pvmw2        mm: page_vma_mapped_walk(): settle PageHuge on entry
pvmw3        mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd
pvmw4        mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block
pvmw5        mm: page_vma_mapped_walk(): crossing page table boundary
pvmw6        mm: page_vma_mapped_walk(): add a level of indentation
pvmw7        mm: page_vma_mapped_walk(): use goto instead of while (1)
pvmw8        mm: page_vma_mapped_walk(): get vma_address_end() earlier
pvmw9        mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes
pvmw10       mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk()
futex-pgoff  mm, futex: fix shared futex pgoff on shmem huge page

Antecedents which get added into some older kernels:
4.14/0001 91241681c62a include/linux/mmdebug.h: make VM_WARN* non-rvals
5.10/0001 a4055888629b (part) mm: add VM_WARN_ON_ONCE_PAGE() macro
5.10/0002 e0af87ff7afc mm/rmap: remove unneeded semicolon in page_not_mapped()
5.10/0003 b7e188ec98b1 mm/rmap: use page_not_mapped in try_to_unmap()

Nothing special for 5.12.12: all 19 can be cherry-picked cleanly.

Antecedents and fixedups for 5.10.45 and older:
5.10/0001-mm-add-VM_WARN_ON_ONCE_PAGE-macro.patch
5.10/0002-mm-rmap-remove-unneeded-semicolon-in-page_not_mapped.patch
5.10/0003-mm-rmap-use-page_not_mapped-in-try_to_unmap.patch
5.10/0005-mm-thp-fix-__split_huge_pmd_locked-on-shmem-migratio.patch
5.10/0010-mm-thp-unmap_mapping_page-to-fix-THP-truncate_cleanu.patch
5.10/0011-mm-thp-replace-DEBUG_VM-BUG-with-VM_WARN-when-unmap-.patch

Fixedups for 5.4.127 and older:
5.04/0007-mm-thp-try_to_unmap-use-TTU_SYNC-for-safe-splitting.patch
5.04/0008-mm-thp-fix-vma_address-if-virtual-address-below-file.patch
5.04/0010-mm-thp-unmap_mapping_page-to-fix-THP-truncate_cleanu.patch
5.04/0011-mm-thp-replace-DEBUG_VM-BUG-with-VM_WARN-when-unmap-.patch
5.04/0022-mm-futex-fix-shared-futex-pgoff-on-shmem-huge-page.patch

Fixedups for 4.19.195 and older:
4.19/0007-mm-thp-fix-vma_address-if-virtual-address-below-file.patch
4.19/0010-mm-thp-replace-DEBUG_VM-BUG-with-VM_WARN-when-unmap-.patch

(Why does matrix say not to port ffc90cbb2970 "use head page" to 4.19
and older?  It is correct, and would apply to them: but they do not
have put_and_wait_on_page_locked(), so it may behave worse on them.)

Antecedent and fixedup for 4.14.237 and older:
4.14/0001-include-linux-mmdebug.h-make-VM_WARN-non-rvals.patch
4.14/0008-mm-thp-replace-DEBUG_VM-BUG-with-VM_WARN-when-unmap-.patch

Fixedups for 4.9.273:
4.09/0003-mm-thp-replace-DEBUG_VM-BUG-with-VM_WARN-when-unmap-.patch
4.09/0004-mm-futex-fix-shared-futex-pgoff-on-shmem-huge-page.patch

No backports to 4.4.273: it's too old and different for these.

Does that make sense to you?

Hugh



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux