[Mesa-dev] [PATCH 2/2] i965: Context aware user space EU control through application

Lionel Landwerlin lionel.g.landwerlin at intel.com
Fri Jul 20 10:00:55 UTC 2018


On 20/07/18 09:47, Chris Wilson wrote:
> Quoting aravindan.muthukumar at intel.com (2018-07-20 09:32:57)
>> From: "Muthukumar, Aravindan" <aravindan.muthukumar at intel.com>
>>
>>   The Patch here is to give control to user/ application to really
>>   decide what's the max GPU load it would put. If that can be
>>   known in advance, rpcs can be programmed accordingly.
>>   This solution has changes across i915,
>>   drm and mesa (not limited only to kernel).
>>
>>   Here, we pass gpu_load_type = {high, medium, low} from application
>>   while context is created. Default here is 'High' and applications
>>   roughly know if they are going to eat up entire GPU. The typical
>>   usecase of 'Low' is idle screen or minor mouse movements. Users can
>>   read meaning of high/medium/low for their platform  & then program
>>   contexts accordingly. Here gpu_load_type directly translates to
>>   number of shader cores/EUs a particular GPU has.
>>
>>   Signed-off-by: Aravindan Muthukumar <aravindan.muthukumar at intel.com>
>>   Signed-off-by: Kedar J Karanje <kedar.j.karanje at intel.com>
>>   Signed-off-by: Praveen Diwakar <praveen.diwakar at intel.com>
>>   Signed-off-by: Yogesh Marathe <yogesh.marathe at intel.com>
>> +/* Dynamic Eu control */
>> +struct drm_i915_load_type {
>> +       __u32 ctx_id;
>> +       __u32 load_type;
>> +};
>> +
>> +/* DYNAMIC EU CONTROL */
>> +int
>> +brw_hw_context_load_type(struct brw_bufmgr *bufmgr,
>> +                        uint32_t ctx_id,
>> +                        int load_type)
>> +{
>> +       struct drm_i915_load_type type = {
>> +               .ctx_id = ctx_id,
>> +               .load_type = load_type,
>> +       };
>> +       int err;
>> +
>> +       err = 0;
>> +       if(drmIoctl(bufmgr->fd, DRM_IOCTL_I915_LOAD_TYPE, &type))
>> +               err = -errno;
> This went through 4 people and none noticed that there already exists a
> means to set per-context parameters. And it's even used right next to
> this function.
>
> The word hint needs to be firmly embedded around here.
> -Chris
> ______

Yep,

Looks like you want to get involved in this discussion : 
https://patchwork.freedesktop.org/series/42285/

-
Lionel


More information about the mesa-dev mailing list