hi, in the future if it's taking a while for a review to come back feel free to just send a poke on the thread for the patch you submitted, I do my best to keep up with all of the patches coming in. But there's a lot of email that I get so every now and then one slips through the cracks. Anyway, this patch looks good to me: Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> I will push it to the appropriate branch in a little bit On Wed, 2022-07-20 at 16:27 +1000, Alistair Popple wrote: > Users may request that pages from an OpenCL SVM allocation be migrated > to the GPU with clEnqueueSVMMigrateMem(). In Nouveau this will call into > nouveau_dmem_migrate_vma() to do the migration. If the total range to be > migrated exceeds SG_MAX_SINGLE_ALLOC the pages will be migrated in > chunks of size SG_MAX_SINGLE_ALLOC. However a typo in updating the > starting address means that only the first chunk will get migrated. > > Fix the calculation so that the entire range will get migrated if > possible. > > Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx> > Fixes: e3d8b0890469 ("drm/nouveau/svm: map pages after migration") > --- > drivers/gpu/drm/nouveau/nouveau_dmem.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c > b/drivers/gpu/drm/nouveau/nouveau_dmem.c > index 7ba66ad68a8a..16356611b5b9 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c > @@ -680,7 +680,11 @@ nouveau_dmem_migrate_vma(struct nouveau_drm *drm, > goto out_free_dma; > > for (i = 0; i < npages; i += max) { > - args.end = start + (max << PAGE_SHIFT); > + if (args.start + (max << PAGE_SHIFT) > end) > + args.end = end; > + else > + args.end = args.start + (max << PAGE_SHIFT); > + > ret = migrate_vma_setup(&args); > if (ret) > goto out_free_pfns; -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat