From: "Christian König" <christian.koenig@amd.com>
To: "Michel Dänzer" <michel.daenzer@mailbox.org>,
"Tatsuyuki Ishi" <ishitatsuyuki@gmail.com>,
dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Cc: daniel@ffwll.ch, bas@basnieuwenhuizen.nl
Subject: Re: [PATCH 5/6] drm/amdgpu: Add flag to disable implicit sync for GEM operations.
Date: Tue, 31 Oct 2023 15:34:20 +0100 [thread overview]
Message-ID: <02d7fe0c-cf7e-413a-a2c2-714c932062d5@amd.com> (raw)
In-Reply-To: <454e7d7f-8a23-58bd-8822-55c13beba97f@mailbox.org>
[-- Attachment #1: Type: text/plain, Size: 1400 bytes --]
Am 31.10.23 um 15:14 schrieb Michel Dänzer:
> On 10/31/23 14:40, Tatsuyuki Ishi wrote:
>> In Vulkan, it is the application's responsibility to perform adequate
>> synchronization before a sparse unmap, replace or BO destroy operation.
>> Until now, the kernel applied the same rule as implicitly-synchronized
>> APIs like OpenGL, which with per-VM BOs made page table updates stall the
>> queue completely. The newly added AMDGPU_VM_EXPLICIT_SYNC flag allows
>> drivers to opt-out of this behavior, while still ensuring adequate implicit
>> sync happens for kernel-initiated updates (e.g. BO moves).
>>
>> We record whether to use implicit sync or not for each freed mapping. To
>> avoid increasing the mapping struct's size, this is union-ized with the
>> interval tree field which is unused after the unmap.
>>
>> The reason this is done with a GEM ioctl flag, instead of being a VM /
>> context global setting, is that the current libdrm implementation shares
>> the DRM handle even between different kind of drivers (radeonsi vs radv).
> Different drivers always use separate contexts though, even with the same DRM file description, don't they?
Separate contexts don't help here since the VA space is shared between
the two.
>
> FWIW, RADV will also want explicit sync in the CS ioctl.
You can replace that with the DMA-buf IOCTLs like Faith is planning to
do for NVK. Regards, Christian.
[-- Attachment #2: Type: text/html, Size: 2093 bytes --]
next prev parent reply other threads:[~2023-10-31 14:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-31 13:40 [PATCH 0/6] drm/amdgpu: Add flag to disable implicit sync for GEM operations Tatsuyuki Ishi
2023-10-31 13:40 ` [PATCH 1/6] drm/amdgpu: Don't implicit sync PRT maps Tatsuyuki Ishi
2023-10-31 13:40 ` [PATCH 2/6] drm/amdgpu: Separate eviction from VM status Tatsuyuki Ishi
2023-10-31 13:55 ` Christian König
2023-10-31 14:39 ` Tatsuyuki Ishi
2023-10-31 14:44 ` Christian König
2023-10-31 23:52 ` kernel test robot
2023-10-31 13:40 ` [PATCH 3/6] drm/amdgpu: Flush VM updates for split bindings eagerly Tatsuyuki Ishi
2023-10-31 13:57 ` Christian König
2023-10-31 13:59 ` Bas Nieuwenhuizen
2023-10-31 14:07 ` Christian König
2023-10-31 14:17 ` Bas Nieuwenhuizen
2023-10-31 14:39 ` Tatsuyuki Ishi
2023-11-02 2:36 ` Lang Yu
2023-11-02 6:41 ` Christian König
2023-11-06 7:56 ` Tatsuyuki Ishi
2023-11-06 13:33 ` Christian König
2023-11-01 1:18 ` kernel test robot
2023-10-31 13:40 ` [PATCH 4/6] drm/amdgpu: Remove redundant state change after validation Tatsuyuki Ishi
2023-10-31 14:01 ` Christian König
2023-10-31 13:40 ` [PATCH 5/6] drm/amdgpu: Add flag to disable implicit sync for GEM operations Tatsuyuki Ishi
2023-10-31 14:14 ` Michel Dänzer
2023-10-31 14:20 ` Bas Nieuwenhuizen
2023-10-31 14:34 ` Christian König [this message]
2023-10-31 14:56 ` Michel Dänzer
2023-11-01 2:42 ` kernel test robot
2023-10-31 13:40 ` [PATCH 6/6] drm/amdgpu: Bump amdgpu driver version Tatsuyuki Ishi
2023-11-02 14:04 ` [PATCH v2 0/3] drm/amdgpu: Add flag to disable implicit sync for GEM operations Tatsuyuki Ishi
2023-11-02 14:04 ` [PATCH v2 1/3] drm/amdgpu: Don't implicit sync PRT maps Tatsuyuki Ishi
2023-11-02 14:04 ` [PATCH v2 2/3] drm/amdgpu: Add flag to disable implicit sync for GEM operations Tatsuyuki Ishi
2023-11-06 13:44 ` Christian König
2023-11-06 15:47 ` Tatsuyuki Ishi
2023-11-06 19:14 ` Christian König
2023-11-02 14:04 ` [PATCH v2 3/3] drm/amdgpu: Bump amdgpu driver version Tatsuyuki Ishi
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=02d7fe0c-cf7e-413a-a2c2-714c932062d5@amd.com \
--to=christian.koenig@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=bas@basnieuwenhuizen.nl \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=ishitatsuyuki@gmail.com \
--cc=michel.daenzer@mailbox.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