Re: [PATCH] nouveau: Fix migrate_to_ram() for faulting page

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

 



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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux