Alistair Popple
2022-Oct-19 12:29 UTC
[Nouveau] [PATCH] nouveau: Fix migrate_to_ram() for faulting page
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 at nvidia.com> Fixes: 16ce101db85d ("mm/memory.c: fix race when faulting a device private page") Cc: John Hubbard <jhubbard at nvidia.com> Cc: Ralph Campbell <rcampbell at nvidia.com> Cc: Lyude Paul <lyude at redhat.com> Cc: Ben Skeggs <bskeggs at redhat.com> --- 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. --- 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, }; -- 2.35.1
Lyude Paul
2022-Oct-21 19:53 UTC
[Nouveau] [PATCH] nouveau: Fix migrate_to_ram() for faulting page
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 at nvidia.com> > Fixes: 16ce101db85d ("mm/memory.c: fix race when faulting a device private page") > Cc: John Hubbard <jhubbard at nvidia.com> > Cc: Ralph Campbell <rcampbell at nvidia.com> > Cc: Lyude Paul <lyude at redhat.com> > Cc: Ben Skeggs <bskeggs at redhat.com> > > --- > > 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 at redhat.com> 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