On Wed, 2022-10-19 at 23:29 +1100, Alistair Popple wrote: > Commit 16ce101db85d ("mm/memory.c: fix race when faulting a device private > page") changed the migrate_to_ram() callback to take a reference on the > device page to ensure it can't be freed while handling the fault. > Unfortunately the corresponding update to Nouveau to accommodate this > change was inadvertently dropped from that patch causing GPU to CPU > migration to fail so add it here. > > Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx> > Fixes: 16ce101db85d ("mm/memory.c: fix race when faulting a device private page") > Cc: John Hubbard <jhubbard@xxxxxxxxxx> > Cc: Ralph Campbell <rcampbell@xxxxxxxxxx> > Cc: Lyude Paul <lyude@xxxxxxxxxx> > Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> > > --- > > Hi Andrew/Ben, apologies I must have accidentally dropped this small hunk > when rebasing prior to sending v2 of the original series. Without this > migration from GPU to CPU won't work in Nouveau so hopefully one of you can > take this for v6.1-rcX. Thanks. Hi! Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> I will push this to drm-misc-next in just a moment, thanks for the patch! > --- > drivers/gpu/drm/nouveau/nouveau_dmem.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c > index 5fe209107246..20fe53815b20 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c > @@ -176,6 +176,7 @@ static vm_fault_t nouveau_dmem_migrate_to_ram(struct vm_fault *vmf) > .src = &src, > .dst = &dst, > .pgmap_owner = drm->dev, > + .fault_page = vmf->page, > .flags = MIGRATE_VMA_SELECT_DEVICE_PRIVATE, > }; > -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat