dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 01/14] drm/amdgpu: fix wrong release of vmid owner
Date: Mon, 9 May 2016 10:17:33 +0200	[thread overview]
Message-ID: <20160509081733.GV27098@phenom.ffwll.local> (raw)
In-Reply-To: <1462386415-25600-1-git-send-email-alexander.deucher@amd.com>

On Wed, May 04, 2016 at 02:26:42PM -0400, Alex Deucher wrote:
> From: Chunming Zhou <David1.Zhou@amd.com>
> 
> The release of the vmid owner was not handled
> correctly.  We need to take the lock and walk
> the lru list.
> 
> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Reviewed-by: Monk Liu <monk.liu@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

I know that it's super hard to get former proprietary driver teams to
stick their heads out on a public mailing lists. But imo being steward for
them is totally the worst case option you can pick long term. It means you
keep all the frustration of them not being fully in control (because
sometimes other people from outside the company jump in), never learning
how to driver the process themselves. And from the community pov it just
looks like code-drop over the wall. In my experience (I've been trying to
pull this off in public for almost 4 years now) trying to make exceptions
to get folks started just doesn't help anyone.

Imo contributors need to fence for their patches themselves (with you
helping behind the scenes ofc) from the start.

Cheers, Daniel

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 856116a..e06d066 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1454,6 +1454,7 @@ error_free_sched_entity:
>  void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>  {
>  	struct amdgpu_bo_va_mapping *mapping, *tmp;
> +	struct amdgpu_vm_id *id, *id_tmp;
>  	int i;
>  
>  	amd_sched_entity_fini(vm->entity.sched, &vm->entity);
> @@ -1478,14 +1479,17 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>  	amdgpu_bo_unref(&vm->page_directory);
>  	fence_put(vm->page_directory_fence);
>  
> -	for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
> -		struct amdgpu_vm_id *id = vm->ids[i];
> -
> +	mutex_lock(&adev->vm_manager.lock);
> +	list_for_each_entry_safe(id, id_tmp, &adev->vm_manager.ids_lru,
> +				 list) {
>  		if (!id)
>  			continue;
> -
> -		atomic_long_cmpxchg(&id->owner, (long)vm, 0);
> +		if (atomic_long_read(&id->owner) == (long)vm) {
> +			atomic_long_set(&id->owner, 0);
> +			id->pd_gpu_addr = 0;
> +		}
>  	}
> +	mutex_unlock(&adev->vm_manager.lock);
>  }
>  
>  /**
> -- 
> 2.5.5
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2016-05-09  8:17 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-04 18:26 [PATCH 01/14] drm/amdgpu: fix wrong release of vmid owner Alex Deucher
2016-05-04 18:26 ` [PATCH 02/14] drm/amdgpu: add client id for every vm Alex Deucher
2016-05-04 18:26 ` [PATCH 03/14] drm/amdgpu: make vmid owner be client_id Alex Deucher
2016-05-04 18:26 ` [PATCH 04/14] drm/amdgpu: keep vm in job instead of ib (v2) Alex Deucher
2016-05-04 18:26 ` [PATCH 05/14] drm/amdgpu: use fence_context to judge ctx switch Alex Deucher
2016-05-04 18:26 ` [PATCH 06/14] drm/amdgpu: add pipeline sync for compute job Alex Deucher
2016-05-04 18:26 ` [PATCH 07/14] drm/amd/amdgpu: Enable CG for UVD6 on Carrizo Alex Deucher
2016-05-04 18:26 ` [PATCH 08/14] drm/amdgpu: hdp flush&inval should always do Alex Deucher
2016-05-04 18:26 ` [PATCH 09/14] drm/amdgpu: two minor 80 char fixes Alex Deucher
2016-05-04 18:26 ` [PATCH 10/14] drm/amdgpu: make the VMID owner always 64bit Alex Deucher
2016-05-04 18:26 ` [PATCH 11/14] drm/amdgpu: remove owner cleanup v2 Alex Deucher
2016-05-04 18:26 ` [PATCH 12/14] drm/amdgpu: remove define for reserved client ID Alex Deucher
2016-05-04 18:26 ` [PATCH 13/14] drm/amd: cleanup remaining spaces and tabs v2 Alex Deucher
2016-05-04 18:26 ` [PATCH 14/14] drm/amdgpu: fetch cu_info once at init Alex Deucher
2016-05-09  8:17 ` Daniel Vetter [this message]
2016-05-10  5:05   ` [PATCH 01/14] drm/amdgpu: fix wrong release of vmid owner Dave Airlie
2016-05-10  8:21     ` Christian König
2016-05-11  7:46       ` Daniel Vetter
2016-05-11  7:48         ` Dave Airlie

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=20160509081733.GV27098@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=alexander.deucher@amd.com \
    --cc=alexdeucher@gmail.com \
    --cc=dri-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox