From: "Christian König" <christian.koenig@amd.com>
To: "Yu, Lang" <Lang.Yu@amd.com>,
"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>
Subject: Re: [PATCH 1/2] drm/amdgpu: use CPU to update VM during GPU reset
Date: Tue, 2 Apr 2024 13:40:00 +0200 [thread overview]
Message-ID: <b33a7e1f-ad28-4f81-821f-be6b34bed876@amd.com> (raw)
In-Reply-To: <MW6PR12MB88985692468C5B0EC00BC55FFB3E2@MW6PR12MB8898.namprd12.prod.outlook.com>
Am 02.04.24 um 10:47 schrieb Yu, Lang:
> [AMD Official Use Only - General]
>
>> -----Original Message-----
>> From: Koenig, Christian <Christian.Koenig@amd.com>
>> Sent: Friday, March 29, 2024 7:08 PM
>> To: Yu, Lang <Lang.Yu@amd.com>; amd-gfx@lists.freedesktop.org
>> Cc: Deucher, Alexander <Alexander.Deucher@amd.com>
>> Subject: Re: [PATCH 1/2] drm/amdgpu: use CPU to update VM during GPU
>> reset
>>
>> Am 25.03.24 um 06:35 schrieb Lang Yu:
>>> drm sched is stopped and SDMA mode is not available, while CPU mode
>>> worked well in such a case.
>>>
>>> Use case,
>>> amdgpu_do_asic_reset
>>> amdgpu_device_ip_late_init
>>> umsch_mm_late_init
>>> umsch_mm_test
>>> amdgpu_vm_init
>> Well big NAK to that.
>>
>> The VM updates should just be scheduled and applied as soon as the GPU
>> reset is completed.
>>
>> The problem is rather that a GPU reset should *never* create a VM to do a
>> test. During GPU reset no memory allocation whatsoever is allowed.
> But user space can still create a VM via open("/dev/dri/card0", ...) during GPU reset,
> driver doesn't prevent user space from doing that. So is this reasonable? Thanks.
Yes the UMD can still create VMs during reset, but this is completely
unproblematic since all submissions will wait till after the reset
before they start executing.
This includes both VM updates as well as userspace submissions.
Regards,
Christian.
>
> Regards,
> Lang
>
>> That's why we only do IB and ring tests with a pre-allocated memory pool
>> during a GPU reset.
>>
>> If the umsch_mm_test abuses the VM tests like this then please remove that
>> code immediately.
>>
>> Regards,
>> Christian.
>>
>>> Signed-off-by: Lang Yu <Lang.Yu@amd.com>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> index 8af3f0fd3073..af53f9cfcc40 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> @@ -2404,8 +2404,8 @@ int amdgpu_vm_init(struct amdgpu_device
>> *adev,
>>> struct amdgpu_vm *vm,
>>>
>>> vm->is_compute_context = false;
>>>
>>> - vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode
>> &
>>> - AMDGPU_VM_USE_CPU_FOR_GFX);
>>> + vm->use_cpu_for_update = !!(amdgpu_in_reset(adev) ||
>>> + adev->vm_manager.vm_update_mode &
>> AMDGPU_VM_USE_CPU_FOR_GFX);
>>> DRM_DEBUG_DRIVER("VM update mode is %s\n",
>>> vm->use_cpu_for_update ? "CPU" : "SDMA");
prev parent reply other threads:[~2024-04-02 11:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-25 5:35 [PATCH 1/2] drm/amdgpu: use CPU to update VM during GPU reset Lang Yu
2024-03-28 3:44 ` Yu, Lang
2024-03-29 11:08 ` Christian König
2024-04-02 8:47 ` Yu, Lang
2024-04-02 11:40 ` Christian König [this message]
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=b33a7e1f-ad28-4f81-821f-be6b34bed876@amd.com \
--to=christian.koenig@amd.com \
--cc=Alexander.Deucher@amd.com \
--cc=Lang.Yu@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox