[Intel-gfx] [PATCH 7/7] drm/i915: Allow user to set cache at BO creation

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Apr 5 07:45:24 UTC 2023


On 04/04/2023 19:04, Yang, Fei wrote:
>> Subject: Re: [Intel-gfx] [PATCH 7/7] drm/i915: Allow user to set cache at BO creation
>>
>> On 01/04/2023 09:38, fei.yang at intel.com wrote:
>>> From: Fei Yang <fei.yang at intel.com>
>>>
>>> To comply with the design that buffer objects shall have immutable
>>> cache setting through out its life cycle, {set, get}_caching ioctl's
>>> are no longer supported from MTL onward. With that change caching
>>> policy can only be set at object creation time. The current code
>>> applies a default (platform dependent) cache setting for all objects.
>>> However this is not optimal for performance tuning. The patch extends
>>> the existing gem_create uAPI to let user set PAT index for the object
>>> at creation time.
>>> The new extension is platform independent, so UMD's can switch to
>>> using this extension for older platforms as well, while {set,
>>> get}_caching are still supported on these legacy paltforms for compatibility reason.
>>>
>>> Cc: Chris Wilson <chris.p.wilson at linux.intel.com>
>>> Cc: Matt Roper <matthew.d.roper at intel.com>
>>> Signed-off-by: Fei Yang <fei.yang at intel.com>
>>> Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com>
>>
>> Just like the protected content uAPI, there is no way for userspace to tell
>> this feature is available other than trying using it.
>>
>> Given the issues with protected content, is it not thing we could want to add?
> Sorry I'm not aware of the issues with protected content, could you elaborate?
> There was a long discussion on teams uAPI channel, could you comment there if
> any concerns?
>
> https://teams.microsoft.com/l/message/19:f1767bda6734476ba0a9c7d147b928d1@thread.skype/1675860924675?tenantId=46c98d88-e344-4ed4-8496-4ed7712e255d&groupId=379f3ae1-d138-4205-bb65-d4c7d38cb481&parentMessageId=1675860924675&teamName=GSE%20OSGC&channelName=i915%20uAPI%20changes&createdTime=1675860924675&allowXTenantAccess=false
>
> Thanks,
> -Fei


We wanted to have a getparam to detect protected support and were told 
to detect it by trying to create a context with it.

Now it appears trying to create a protected context can block for 
several seconds.

Since we have to report capabilities to the user even before it creates 
protected contexts, any app is at risk of blocking.


-Lionel


>
>> Thanks,
>>
>> -Lionel
>>
>>
>>> ---
>>>    drivers/gpu/drm/i915/gem/i915_gem_create.c | 33 ++++++++++++++++++++
>>>    include/uapi/drm/i915_drm.h                | 36 ++++++++++++++++++++++
>>>    tools/include/uapi/drm/i915_drm.h          | 36 ++++++++++++++++++++++
>>>    3 files changed, 105 insertions(+)
>>>



More information about the dri-devel mailing list