Re: 回复: [PATCH] drm/amd/amdgpu: disable GFXOFF around debugfs access to MMIO

Christian König christian.koenig at amd.com
Fri Feb 21 16:10:19 UTC 2020


> Probably simpler just to do on/off and let userspace determine timing 
> but other than that ya sounds good.

Works for me as long as we only expose it through debugfs for root. 
Otherwise there is always the risk of userspace forgetting to turn it on 
again.

Christian.

Am 21.02.20 um 17:06 schrieb Tom St Denis:
> Probably simpler just to do on/off and let userspace determine timing 
> but other than that ya sounds good.
>
>
> For things like umr's --top which runs indefinitely having a timer 
> wouldn't work.  Similarly, --waves can take a long time depending on 
> activity and the asic.
>
>
> Tom
>
>
>
> On 2020-02-21 11:04 a.m., Christian König wrote:
>> Ok how about this:
>>
>> We add a debugfs file which when read returns the GFXOFF status and 
>> when written with a number disabled GFXOFF for N seconds with 0 
>> meaning forever.
>>
>> Umr gets a new commandline option to write to that file before 
>> reading registers.
>>
>> This way the user can still disable it if it causes any problems. 
>> Does that sounds like a plan?
>>
>> Regards,
>> Christian.
>>
>> Am 21.02.20 um 16:56 schrieb Deucher, Alexander:
>>>
>>> [AMD Public Use]
>>>
>>>
>>> Not at the moment.  But we could add a debugfs file which just wraps 
>>> amdgpu_gfx_off_ctrl(). That said, maybe we just add a delay here or 
>>> a use a timer to delay turning gfxoff back on again so that we 
>>> aren't turning it on and off so rapidly.
>>>
>>> Alex
>>>
>>> ------------------------------------------------------------------------ 
>>>
>>> *From:* Christian König <ckoenig.leichtzumerken at gmail.com>
>>> *Sent:* Friday, February 21, 2020 10:43 AM
>>> *To:* Deucher, Alexander <Alexander.Deucher at amd.com>; Huang, Ray 
>>> <Ray.Huang at amd.com>; Liu, Monk <Monk.Liu at amd.com>
>>> *Cc:* StDenis, Tom <Tom.StDenis at amd.com>; Alex Deucher 
>>> <alexdeucher at gmail.com>; amd-gfx list <amd-gfx at lists.freedesktop.org>
>>> *Subject:* Re: 回复: [PATCH] drm/amd/amdgpu: disable GFXOFF around 
>>> debugfs access to MMIO
>>> Do we have a way to disable GFXOFF on the fly?
>>>
>>> If not maybe it would be a good idea to add a separate debugfs file 
>>> to do this.
>>>
>>> Christian.
>>>
>>> Am 21.02.20 um 16:39 schrieb Deucher, Alexander:
>>>>
>>>> [AMD Public Use]
>>>>
>>>>
>>>> If we are trying to debug a reproducible hang, probably best to 
>>>> just to disable gfxoff before messing with it to remove that as a 
>>>> factor.  Otherwise, the method included in this patch is the proper 
>>>> way to disable/enable GFXOFF dynamically.
>>>>
>>>> Alex
>>>>
>>>> ------------------------------------------------------------------------ 
>>>>
>>>> *From:* amd-gfx <amd-gfx-bounces at lists.freedesktop.org> 
>>>> <mailto:amd-gfx-bounces at lists.freedesktop.org> on behalf of 
>>>> Christian König <ckoenig.leichtzumerken at gmail.com> 
>>>> <mailto:ckoenig.leichtzumerken at gmail.com>
>>>> *Sent:* Friday, February 21, 2020 10:27 AM
>>>> *To:* Huang, Ray <Ray.Huang at amd.com> <mailto:Ray.Huang at amd.com>; 
>>>> Liu, Monk <Monk.Liu at amd.com> <mailto:Monk.Liu at amd.com>
>>>> *Cc:* StDenis, Tom <Tom.StDenis at amd.com> 
>>>> <mailto:Tom.StDenis at amd.com>; Alex Deucher <alexdeucher at gmail.com> 
>>>> <mailto:alexdeucher at gmail.com>; amd-gfx list 
>>>> <amd-gfx at lists.freedesktop.org> <mailto:amd-gfx at lists.freedesktop.org>
>>>> *Subject:* Re: 回复: [PATCH] drm/amd/amdgpu: disable GFXOFF around 
>>>> debugfs access to MMIO
>>>> Am 21.02.20 um 16:23 schrieb Huang Rui:
>>>> > On Fri, Feb 21, 2020 at 11:18:07PM +0800, Liu, Monk wrote:
>>>> >> Better not use KIQ, because when you use debugfs to read 
>>>> register you usually hit a hang, and by that case KIQ probably 
>>>> already die
>>>> > If CP is busy, the gfx should be in "on" state at that time, we 
>>>> needn't use KIQ.
>>>>
>>>> Yeah, but how do you detect that? Do we have a way to wake up the CP
>>>> without asking power management to do so?
>>>>
>>>> Cause the register debug interface is meant to be used when the 
>>>> ASIC is
>>>> completed locked up. Sending messages to the SMU is not really 
>>>> going to
>>>> work in that situation.
>>>>
>>>> Regards,
>>>> Christian.
>>>>
>>>> >
>>>> > Thanks,
>>>> > Ray
>>>> >
>>>> >> -----邮件原件-----
>>>> >> 发件人: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> 
>>>> <mailto:amd-gfx-bounces at lists.freedesktop.org> 代表 Huang Rui
>>>> >> 发送时间: 2020年2月21日 22:34
>>>> >> 收件人: StDenis, Tom <Tom.StDenis at amd.com> 
>>>> <mailto:Tom.StDenis at amd.com>
>>>> >> 抄送: Alex Deucher <alexdeucher at gmail.com> 
>>>> <mailto:alexdeucher at gmail.com>; amd-gfx list 
>>>> <amd-gfx at lists.freedesktop.org> <mailto:amd-gfx at lists.freedesktop.org>
>>>> >> 主题: Re: [PATCH] drm/amd/amdgpu: disable GFXOFF around debugfs 
>>>> access to MMIO
>>>> >>
>>>> >> On Wed, Feb 19, 2020 at 10:09:46AM -0500, Tom St Denis wrote:
>>>> >>> I got some messages after a while:
>>>> >>>
>>>> >>> [  741.788564] Failed to send Message 8.
>>>> >>> [  746.671509] Failed to send Message 8.
>>>> >>> [  748.749673] Failed to send Message 2b.
>>>> >>> [  759.245414] Failed to send Message 7.
>>>> >>> [  763.216902] Failed to send Message 2a.
>>>> >>>
>>>> >>> Are there any additional locks that should be held?  Because some
>>>> >>> commands like --top or --waves can do a lot of distinct read
>>>> >>> operations (causing a lot of enable/disable calls).
>>>> >>>
>>>> >>> I'm going to sit on this a bit since I don't think the patch is 
>>>> ready
>>>> >>> for pushing out.
>>>> >>>
>>>> >> How about use RREG32_KIQ and WREG32_KIQ?
>>>> >>
>>>> >> Thanks,
>>>> >> Ray
>>>> >>
>>>> >>> Tom
>>>> >>>
>>>> >>> On 2020-02-19 10:07 a.m., Alex Deucher wrote:
>>>> >>>> On Wed, Feb 19, 2020 at 10:04 AM Tom St Denis 
>>>> <tom.stdenis at amd.com> <mailto:tom.stdenis at amd.com> wrote:
>>>> >>>>> Signed-off-by: Tom St Denis <tom.stdenis at amd.com> 
>>>> <mailto:tom.stdenis at amd.com>
>>>> >>>> Please add a patch description.  With that fixed:
>>>> >>>> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> 
>>>> <mailto:alexander.deucher at amd.com>
>>>> >>>>
>>>> >>>>> ---
>>>> >>>>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 3 +++
>>>> >>>>>    1 file changed, 3 insertions(+)
>>>> >>>>>
>>>> >>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>>>> >>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>>>> >>>>> index 7379910790c9..66f763300c96 100644
>>>> >>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>>>> >>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>>>> >>>>> @@ -169,6 +169,7 @@ static int 
>>>> amdgpu_debugfs_process_reg_op(bool read, struct file *f,
>>>> >>>>>           if (pm_pg_lock)
>>>> >>>>> mutex_lock(&adev->pm.mutex);
>>>> >>>>>
>>>> >>>>> + amdgpu_gfx_off_ctrl(adev, false);
>>>> >>>>>           while (size) {
>>>> >>>>>                   uint32_t value;
>>>> >>>>>
>>>> >>>>> @@ -192,6 +193,8 @@ static int 
>>>> amdgpu_debugfs_process_reg_op(bool read, struct file *f,
>>>> >>>>>           }
>>>> >>>>>
>>>> >>>>>    end:
>>>> >>>>> + amdgpu_gfx_off_ctrl(adev, true);
>>>> >>>>> +
>>>> >>>>>           if (use_bank) {
>>>> >>>>> amdgpu_gfx_select_se_sh(adev, 0xffffffff, 0xffffffff, 
>>>> 0xffffffff);
>>>> >>>>> mutex_unlock(&adev->grbm_idx_mutex);
>>>> >>>>> --
>>>> >>>>> 2.24.1
>>>> >>>>>
>>>> >>>>> _______________________________________________
>>>> >>>>> amd-gfx mailing list
>>>> >>>>> amd-gfx at lists.freedesktop.org 
>>>> <mailto:amd-gfx at lists.freedesktop.org>
>>>> >>>>> 
>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F
>>>> >>>>> 
>>>> lists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7
>>>> >>>>> 
>>>> C01%7Cmonk.liu%40amd.com%7Cba45efb26c0240ed036f08d7b6db20aa%7C3dd8
>>>> >>>>> 
>>>> 961fe4884e608e11a82d994e183d%7C0%7C0%7C637178924605524378&sdat
>>>> >>>>> 
>>>> a=%2FyHkvYU5T%2F4iFxRexsg%2BIdm7sDzyXbjzNpHUGCO7h4k%3D&reserve
>>>> >>>>> d=0
>>>> >>> _______________________________________________
>>>> >>> amd-gfx mailing list
>>>> >>> amd-gfx at lists.freedesktop.org 
>>>> <mailto:amd-gfx at lists.freedesktop.org>
>>>> >>> 
>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
>>>> >>> 
>>>> s.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Cmo
>>>> >>> 
>>>> nk.liu%40amd.com%7Cba45efb26c0240ed036f08d7b6db20aa%7C3dd8961fe4884e60
>>>> >>> 
>>>> 8e11a82d994e183d%7C0%7C0%7C637178924605524378&sdata=%2FyHkvYU5T%2F
>>>> >>> 4iFxRexsg%2BIdm7sDzyXbjzNpHUGCO7h4k%3D&reserved=0
>>>> >> _______________________________________________
>>>> >> amd-gfx mailing list
>>>> >> amd-gfx at lists.freedesktop.org 
>>>> <mailto:amd-gfx at lists.freedesktop.org>
>>>> >> 
>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&reserved=0 
>>>> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CTom.StDenis%40amd.com%7Ce7c6277c26884e509ce508d7b6e7aea5%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178978798816096&sdata=Nj%2BxemPqrL4VhXJDcktQBWu77KxtwyYLPUvHEPquvHw%3D&reserved=0> 
>>>>
>>>> > _______________________________________________
>>>> > amd-gfx mailing list
>>>> > amd-gfx at lists.freedesktop.org <mailto:amd-gfx at lists.freedesktop.org>
>>>> > 
>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&reserved=0 
>>>> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CTom.StDenis%40amd.com%7Ce7c6277c26884e509ce508d7b6e7aea5%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178978798826087&sdata=VQEOX1p4mWqWeamWP9OF4dpQeh8wAdJE%2B4SOThFAhSY%3D&reserved=0> 
>>>>
>>>>
>>>> _______________________________________________
>>>> amd-gfx mailing list
>>>> amd-gfx at lists.freedesktop.org <mailto:amd-gfx at lists.freedesktop.org>
>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&reserved=0 
>>>> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CTom.StDenis%40amd.com%7Ce7c6277c26884e509ce508d7b6e7aea5%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178978798836083&sdata=HOIBW4ctr61UCWxr%2FEpBYzP6kTMxx5J9ItOXBMmZUN4%3D&reserved=0> 
>>>>
>>>
>>



More information about the amd-gfx mailing list