[Intel-gfx] [RFC] drm/i915: Add a new modparam for customized ring multiplier

Yaodong Li yaodong.li at intel.com
Tue Dec 19 01:10:30 UTC 2017


On 12/18/2017 01:47 PM, Chris Wilson wrote:
> Quoting Jackie Li (2017-12-18 21:22:08)
>> From: Zhipeng Gong <zhipeng.gong at intel.com>
>>
>> SKL platforms requires a higher ring multiplier when there's massive
>> GPU load. Current driver doesn't provide a way to override the ring
>> multiplier.
>>
>> This patch adds a new module parameter to allow the overriding of
>> ring multiplier for Gen9 platforms.
> So the default ring-scaling is not good enough, the first thing we do is
> to try and ensure the defaults work for nearly all use cases. My
> impression is that you want a nonlinear scalefactor, low power workloads
> don't try and ramp up the ring frequencies as aggressively, high power
> workloads try hard for higher frequencies, and then get throttled back
> harder as well. How well can we autotune it? What events tells us if the
> ratio is too high or too low?
Thanks Chris! the background was that we found that the performance
would drop on some SKL platforms with the default ring scaling factor.
and use of a 3x ring scaler can solve this problem.

One of the trigger of this issue is when there's massive GPU workloads
while having little/negligible CPU load - currently, we have no way to 
monitor
GPU/CPU workload in our driver. This is the reason why we use a modparam.
Do you have any suggestion about this?

Zhipeng and Dmitry may add more insights on this issue and related tuning.
> Adding an untested unsafe modparam is a big no. If you want us to
> support such a parameter, we at least need it not to taint the kernel
> and come with some tests that prove it functions as intended. Better
> still might be a I915_SETPARAM (or hooking up the write func of the
> modparam) to support changing the value on the fly.
the intention of this patch was to add a way to override the
default 2x ring scaling factor so that we would be able choose
a different ring scaler for SKL platforms which were known that would
have massive GPU workload. And related changes (using a 3x scaler)
had been tested.

It would be great if we can do this on the fly.  However, we're going
to need a way to monitor the trigger events in order to change the
value dynamically.

By saying use I915_SETPARAM (or different write func), are you suggesting
to request the new ring freq directly while setting the new ring scaling 
factor?

Regards,
-Jackie
> -Chris



More information about the Intel-gfx mailing list