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 <s...@canb.auug.org.au> 
> 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


Reply via email to