[PATCH 1/2] drm/amdgpu: Unset context priority is now invalid

Luben Tuikov luben.tuikov at amd.com
Tue Oct 17 14:26:53 UTC 2023


On 2023-10-17 09:22, Alex Deucher wrote:
> On Tue, Oct 17, 2023 at 12:52 AM Luben Tuikov <luben.tuikov at amd.com> wrote:
>>
>> A context priority value of AMD_CTX_PRIORITY_UNSET is now invalid--instead of
>> carrying it around and passing it to the Direct Rendering Manager--and it
>> becomes AMD_CTX_PRIORITY_NORMAL in amdgpu_ctx_ioctl(), the gateway to context
>> creation.
>>
>> Cc: Alex Deucher <Alexander.Deucher at amd.com>
>> Cc: Christian König <christian.koenig at amd.com>
>> Signed-off-by: Luben Tuikov <luben.tuikov at amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
>> index 0dc9c655c4fbdb..092962b93064fc 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
>> @@ -47,7 +47,6 @@ const unsigned int amdgpu_ctx_num_entities[AMDGPU_HW_IP_NUM] = {
>>  bool amdgpu_ctx_priority_is_valid(int32_t ctx_prio)
>>  {
>>         switch (ctx_prio) {
>> -       case AMDGPU_CTX_PRIORITY_UNSET:
>>         case AMDGPU_CTX_PRIORITY_VERY_LOW:
>>         case AMDGPU_CTX_PRIORITY_LOW:
>>         case AMDGPU_CTX_PRIORITY_NORMAL:
>> @@ -55,6 +54,7 @@ bool amdgpu_ctx_priority_is_valid(int32_t ctx_prio)
>>         case AMDGPU_CTX_PRIORITY_VERY_HIGH:
>>                 return true;
>>         default:
>> +       case AMDGPU_CTX_PRIORITY_UNSET:
>>                 return false;
> 
> I  don't recall if any userspace uses this, but this would break
> userspace if it does.

This is shielded from user space in the following manner,
1) amdgpu_ctx_priority_is_valid() is called from amdgpu_ctx_ioctl() and
   if amdgpu_ctx_priority_is_valid() returns false, we set the priority to NORMAL.
   See the 2nd patch.
2) It is also called from amdgpu_ctx_priority_permit(), which is called
   from amdgpu_ctx_init() which is called from amdgpu_ctx_alloc() which
   is called from amdgpu_ctx_ioctl(), _after_ the call described above,
   and thus priority is now NORMAL.

Plus I'm typing this on a running system with 6.6.0 + those two patches.

User space can send us down UNSET, but we set it to NORMAL.

Can I get an R-B?

> 
> Alex
> 
>>         }
>>  }
>>
>> base-commit: dc9b2e683bcba017588b9aaad80f442ad004a48f
>> --
>> 2.42.0
>>

-- 
Regards,
Luben



More information about the amd-gfx mailing list