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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
*Sent:* Friday, February 21, 2020 10:43 AM
*To:* Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Huang, Ray <Ray.Huang@xxxxxxx>; Liu, Monk <Monk.Liu@xxxxxxx> *Cc:* StDenis, Tom <Tom.StDenis@xxxxxxx>; Alex Deucher <alexdeucher@xxxxxxxxx>; amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> *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@xxxxxxxxxxxxxxxxxxxxx> <mailto:amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> on behalf of Christian König <ckoenig.leichtzumerken@xxxxxxxxx> <mailto:ckoenig.leichtzumerken@xxxxxxxxx>
*Sent:* Friday, February 21, 2020 10:27 AM
*To:* Huang, Ray <Ray.Huang@xxxxxxx> <mailto:Ray.Huang@xxxxxxx>; Liu, Monk <Monk.Liu@xxxxxxx> <mailto:Monk.Liu@xxxxxxx> *Cc:* StDenis, Tom <Tom.StDenis@xxxxxxx> <mailto:Tom.StDenis@xxxxxxx>; Alex Deucher <alexdeucher@xxxxxxxxx> <mailto:alexdeucher@xxxxxxxxx>; amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx> *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@xxxxxxxxxxxxxxxxxxxxx> <mailto:amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> 代表 Huang Rui
>> 发送时间: 2020年2月21日 22:34
>> 收件人: StDenis, Tom <Tom.StDenis@xxxxxxx> <mailto:Tom.StDenis@xxxxxxx> >> 抄送: Alex Deucher <alexdeucher@xxxxxxxxx> <mailto:alexdeucher@xxxxxxxxx>; amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >> 主题: 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@xxxxxxx> <mailto:tom.stdenis@xxxxxxx> wrote: >>>>> Signed-off-by: Tom St Denis <tom.stdenis@xxxxxxx> <mailto:tom.stdenis@xxxxxxx>
>>>> Please add a patch description.  With that fixed:
>>>> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> <mailto:alexander.deucher@xxxxxxx>
>>>>
>>>>> ---
>>>>> 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@xxxxxxxxxxxxxxxxxxxxx <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F >>>>> lists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7 >>>>> C01%7Cmonk.liu%40amd.com%7Cba45efb26c0240ed036f08d7b6db20aa%7C3dd8 >>>>> 961fe4884e608e11a82d994e183d%7C0%7C0%7C637178924605524378&amp;sdat >>>>> a=%2FyHkvYU5T%2F4iFxRexsg%2BIdm7sDzyXbjzNpHUGCO7h4k%3D&amp;reserve
>>>>> d=0
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx@xxxxxxxxxxxxxxxxxxxxx <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist >>> s.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Cmo >>> nk.liu%40amd.com%7Cba45efb26c0240ed036f08d7b6db20aa%7C3dd8961fe4884e60 >>> 8e11a82d994e183d%7C0%7C0%7C637178924605524378&amp;sdata=%2FyHkvYU5T%2F
>>> 4iFxRexsg%2BIdm7sDzyXbjzNpHUGCO7h4k%3D&amp;reserved=0
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx@xxxxxxxxxxxxxxxxxxxxx <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&amp;sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&amp;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@xxxxxxxxxxxxxxxxxxxxx <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&amp;sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&amp;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@xxxxxxxxxxxxxxxxxxxxx <mailto:amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Calexander.deucher%40amd.com%7Cf3762304925b4019bfed08d7b6e287e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637178957179179431&amp;sdata=bY7V%2BKOF3gYu4ITGCKgAiRvXUvxPcwsz2zsEJDns3jI%3D&amp;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>



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux