Re: linux-next: manual merge of the drm-xe tree with the mm tree
From: Alistair Popple
Date: Tue Mar 11 2025 - 02:01:26 EST
On Tue, Mar 11, 2025 at 01:12:14PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> On Fri, 7 Mar 2025 12:29:54 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Hi all,
> >
> > Today's linux-next merge of the drm-xe tree got a conflict in:
> >
> > mm/memory.c
> >
> > between commit:
> >
> > 089b22f60a0f ("mm: allow compound zone device pages")
> >
> > from the mm-unstable branch of the mm tree and commit:
> >
> > 1afaeb8293c9 ("mm/migrate: Trylock device page in do_swap_page")
> >
> > from the drm-xe tree.
I'm not sure what the process is here, but having either reviewed or authored
these patches I can add that the fix up carried below looks correct.
- Alistair
> > I fixed it up (see below) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging. You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> >
> > diff --cc mm/memory.c
> > index d21f6cded7e3,59b804f4bf3f..000000000000
> > --- a/mm/memory.c
> > +++ b/mm/memory.c
> > @@@ -4473,11 -4348,15 +4473,16 @@@ vm_fault_t do_swap_page(struct vm_faul
> > * Get a page reference while we know the page can't be
> > * freed.
> > */
> > - get_page(vmf->page);
> > - pte_unmap_unlock(vmf->pte, vmf->ptl);
> > - pgmap = page_pgmap(vmf->page);
> > - ret = pgmap->ops->migrate_to_ram(vmf);
> > - put_page(vmf->page);
> > + if (trylock_page(vmf->page)) {
> > + get_page(vmf->page);
> > + pte_unmap_unlock(vmf->pte, vmf->ptl);
> > - ret = vmf->page->pgmap->ops->migrate_to_ram(vmf);
> > ++ pgmap = page_pgmap(vmf->page);
> > ++ ret = pgmap->ops->migrate_to_ram(vmf);
> > + unlock_page(vmf->page);
> > + put_page(vmf->page);
> > + } else {
> > + pte_unmap_unlock(vmf->pte, vmf->ptl);
> > + }
> > } else if (is_hwpoison_entry(entry)) {
> > ret = VM_FAULT_HWPOISON;
> > } else if (is_pte_marker_entry(entry)) {
>
> This is now conflict between the mm tree and the drm tree.
>
> --
> Cheers,
> Stephen Rothwell