All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Kuehling <felix.kuehling@amd.com>
To: amd-gfx@lists.freedesktop.org, "Yang, Philip" <Philip.Yang@amd.com>
Subject: Re: [PATCH 1/2] drm/amdkfd: wait migration done only if migration starts
Date: Thu, 29 Apr 2021 02:10:31 -0400	[thread overview]
Message-ID: <15106a30-9f85-f0ca-5e4c-b53c60c83474@amd.com> (raw)
In-Reply-To: <20210429015339.13047-1-Philip.Yang@amd.com>

Am 2021-04-28 um 9:53 p.m. schrieb Philip Yang:

> If migration vma setup, but failed before start sdma memory copy, e.g.
> process is killed, don't wait for sdma fence done.

I think you could describe this more generally as "Handle errors
returned by svm_migrate_copy_to_vram/ram".


>
> Signed-off-by: Philip Yang <Philip.Yang@amd.com>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> index 6b810863f6ba..19b08247ba8a 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> @@ -460,10 +460,12 @@ svm_migrate_vma_to_vram(struct amdgpu_device *adev, struct svm_range *prange,
>  	}
>  
>  	if (migrate.cpages) {
> -		svm_migrate_copy_to_vram(adev, prange, &migrate, &mfence,
> -					 scratch);
> -		migrate_vma_pages(&migrate);
> -		svm_migrate_copy_done(adev, mfence);
> +		r = svm_migrate_copy_to_vram(adev, prange, &migrate, &mfence,
> +					     scratch);
> +		if (!r) {
> +			migrate_vma_pages(&migrate);
> +			svm_migrate_copy_done(adev, mfence);

I think there are failure cases where svm_migrate_copy_to_vram
successfully copies some pages but fails somewhere in the middle. I
think in those cases you still want to call migrate_vma_pages and
svm_migrate_copy_done. If the copy never started for some reason, there
should be no mfence and svm_migrate_copy_done should be a no-op.

I probably don't understand the failure scenario you encountered. Can
you explain that in more detail?

Thanks,
  Felix


> +		}
>  		migrate_vma_finalize(&migrate);
>  	}
>  
> @@ -663,10 +665,12 @@ svm_migrate_vma_to_ram(struct amdgpu_device *adev, struct svm_range *prange,
>  	pr_debug("cpages %ld\n", migrate.cpages);
>  
>  	if (migrate.cpages) {
> -		svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
> -					scratch);
> -		migrate_vma_pages(&migrate);
> -		svm_migrate_copy_done(adev, mfence);
> +		r = svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
> +					    scratch);
> +		if (!r) {
> +			migrate_vma_pages(&migrate);
> +			svm_migrate_copy_done(adev, mfence);
> +		}
>  		migrate_vma_finalize(&migrate);
>  	} else {
>  		pr_debug("failed collect migrate device pages [0x%lx 0x%lx]\n",
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2021-04-29  6:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-29  1:53 [PATCH 1/2] drm/amdkfd: wait migration done only if migration starts Philip Yang
2021-04-29  1:53 ` [PATCH 2/2] drm/amdkfd: flush TLB after updating GPU page table Philip Yang
2021-04-29  6:11   ` Felix Kuehling
2021-04-29  6:10 ` Felix Kuehling [this message]
2021-05-05 17:54   ` [PATCH 1/2] drm/amdkfd: wait migration done only if migration starts philip yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=15106a30-9f85-f0ca-5e4c-b53c60c83474@amd.com \
    --to=felix.kuehling@amd.com \
    --cc=Philip.Yang@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.