All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhoucm1 <david1.zhou-5C7GfCeVMHo@public.gmane.org>
To: "Christian König"
	<deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: David.Mao-5C7GfCeVMHo@public.gmane.org
Subject: Re: [PATCH 0/6] make ctx mgr global
Date: Wed, 24 Aug 2016 18:01:06 +0800	[thread overview]
Message-ID: <57BD7062.60408@amd.com> (raw)
In-Reply-To: <ca1f322f-4c1e-c3cc-3a6d-7bab42d1fe41-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>



On 2016年08月24日 17:39, Christian König wrote:
> Am 24.08.2016 um 11:33 schrieb zhoucm1:
>>
>>
>> On 2016年08月18日 16:15, Christian König wrote:
>>> NAK to the whole approach.
>>>
>>> If we want to share dependencies in the form of fences between 
>>> devices and especially processes we must use android fences and the 
>>> sync file framework.
>> Then if we want to share semaphore between devices and processes, we 
>> must re-implement semaphore and move it to kernel side from libdrm, 
>> right?
>> then bind unused fd to semaphore object, and then export/import fd.
>> What do you think of it?
>
> That is basically what sync_file does. It just doesn't call it 
> semaphore and doesn't use the signal/wait semantic.
>
> Instead fences can be added to a sync_file and waited for completion 
> before a command submission is made.
I understand your mean, UMD don't want to touch command  submission to 
semaphore, which isn't what semaphore want to do.
semaphore does:
1. create a semaphore
2. signal semahore----append the last fence of that ctx to semaphore in 
lidrm
3. wait semaphore----add semaphore to ctx->semaphore_list in libdrm, 
when next submission is comming, then semaphore will be dependency of it.
4. destroy semaphore.
the umd totally doesn't know what semaphore does, they just know the 
synchronization is completed after semaphore, then they can continue to 
do cs.

sync_file seems cannot provide what semaphore does. So with thinking 
more, we seems have to move semaphore implementation to kernel, use 
unused fd and install it to fd like sync file mechanism to share 
semaphore between devices and  processes, right?


Regards,
David Zhou
>
> Regards,
> Christian.
>
>>
>> Regards,
>> David Zhou
>>>
>>> Sharing numbers in the form of the IDR is a security nightmare we 
>>> already ran into with the GEM flink design.
>>>
>>> Regards,
>>> Christian.
>>>
>>> Am 18.08.2016 um 09:50 schrieb Chunming Zhou:
>>>> If we want to share semaphore/dependency across process across 
>>>> device, we
>>>> must make ctx id be global, so that we can index it everywhere.
>>>>
>>>> Chunming Zhou (6):
>>>>    drm/amdgpu: use global ctx mgr instead of vm specified
>>>>    drm/amdgpu: clean up for amdgpu ctx
>>>>    drm/amdgpu: allocate progressively higher ids for ctx until idr
>>>>      counter wraps
>>>>    drm/amdgpu: ctx id should be removed when ctx is freed
>>>>    drm/amdgpu: use fence-array for ctx release
>>>>    drm/amdgpu: dependency is already signaled if ctx has been freed
>>>>
>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h     |  17 ++--
>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |   9 +-
>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 142 
>>>> ++++++++++++++++++--------------
>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c |   3 +
>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |   4 -
>>>>   5 files changed, 92 insertions(+), 83 deletions(-)
>>>>
>>>
>>
>

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2016-08-24 10:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18  7:50 [PATCH 0/6] make ctx mgr global Chunming Zhou
     [not found] ` <1471506618-29849-1-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org>
2016-08-18  7:50   ` [PATCH 1/6] drm/amdgpu: use global ctx mgr instead of vm specified Chunming Zhou
2016-08-18  7:50   ` [PATCH 2/6] drm/amdgpu: clean up for amdgpu ctx Chunming Zhou
2016-08-18  7:50   ` [PATCH 3/6] drm/amdgpu: allocate progressively higher ids for ctx until idr counter wraps Chunming Zhou
2016-08-18  7:50   ` [PATCH 4/6] drm/amdgpu: ctx id should be removed when ctx is freed Chunming Zhou
2016-08-18  7:50   ` [PATCH 5/6] drm/amdgpu: use fence-array for ctx release Chunming Zhou
     [not found]     ` <1471506618-29849-6-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org>
2016-08-21  6:42       ` Edward O'Callaghan
     [not found]         ` <56580e14-9d77-f85c-20ce-a32971d9bce2-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
2016-08-22  2:24           ` zhoucm1
2016-08-18  7:50   ` [PATCH 6/6] drm/amdgpu: dependency is already signaled if ctx has been freed Chunming Zhou
2016-08-18  8:15   ` [PATCH 0/6] make ctx mgr global Christian König
     [not found]     ` <3e0bb599-e8e3-2e66-909f-ed75ac87ab56-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-24  9:33       ` zhoucm1
     [not found]         ` <57BD69E4.9000609-5C7GfCeVMHo@public.gmane.org>
2016-08-24  9:39           ` Christian König
     [not found]             ` <ca1f322f-4c1e-c3cc-3a6d-7bab42d1fe41-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-24 10:01               ` zhoucm1 [this message]
     [not found]                 ` <57BD7062.60408-5C7GfCeVMHo@public.gmane.org>
2016-08-24 10:06                   ` Christian König
2016-08-24 10:45   ` Liu, Monk
     [not found]     ` <MWHPR12MB11825F3995323EB96C7E867984EA0-Gy0DoCVfaSVhjnLHdLm0OQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-24 12:20       ` Christian König
     [not found]         ` <df5ad8b0-a4b7-002d-732b-4cda97698199-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-25  3:38           ` Liu, Monk
     [not found]             ` <DM5PR12MB1178059E79C688636B77BD5584ED0-2J9CzHegvk8I8PWcjD5QtQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-25  8:08               ` Christian König
     [not found]                 ` <41c5e1d7-3903-0184-155b-2b3953f5cfa6-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-25  8:21                   ` Liu, Monk

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=57BD7062.60408@amd.com \
    --to=david1.zhou-5c7gfcevmho@public.gmane.org \
    --cc=David.Mao-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.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.