Re: [RFC] drm/i915: Add a new modparam for customized ring multiplier

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

 



On 01/05/2018 02:15 AM, Sagar Arun Kamble wrote:


On 1/5/2018 3:22 AM, Yaodong Li wrote:

On 01/03/2018 10:10 PM, Sagar Arun Kamble wrote:
Since ring frequency programming needs consideration of both IA and GT frequency requests I think keeping the logic to program the ring frequency table in driver that monitors both IA/GT busyness and power budgets like intel_ips will be more appropriate. intel_ips is relying on global load derived from all CPUs. I understand that power awareness and busyness based policy might be trickier but having that as tunable will give better flexibility.

By just looking into the current code, the way intel_ips checks gpu busyness cannot reflect the actual workload of GT (e.g. gpu busy is true even if there's only one pending request), in this case, we shall not increase the ring freq if we want to use a "workload monitoring" based solution. so we need a more accurate way to monitor the current GT workload (e.g.  when the pending request count reaches a center tunable threshold??).
Yes. May be we can share the PMU data about engine busyness with intel_ips.
Thank you Sagar! Can you tell more about how we can get the gpu busyness from PMU data?

I think the solution would be to set the ring freq table to use a ring freq >= current ia freq (for all possible gpu freq) once we found gpu workload is high (need to tune the threshold), and we will decrease the ring freq (use a 2x multiplier?) once we found the GT workload is low. The benefit to use the intel_ips is it can tell both the cpu & gpu busyness. However, we do need an accurate way
to check at least the busyness of gpu for this issue.

On 1/3/2018 11:51 PM, Yaodong Li wrote:

You are thinking of plugging into intel_pstate to make it smarter for ia freq transitions?
Yep. This seems a correct step to give some automatic support instead of parameter/hardcoded multiplier.

Does this mean we should use cpufreq/intel_pstate based approach instead of the current modparam solution for Gen9?

Some concerns and questions about intel_pstate approach:
a) Currently, we cannot get the accurate pstate/target freq value from cpufreq in intel_pstate active mode since      these values won't be exported to cpufreq layer, so if we won't change intel_pstate code then we only can get
     the max cpu freq of a new policy.
b) intel_pstate policy is attached to each logic cpu, which means we will receive policy/freq transition notification     for each logic cpu freq change. One question is how we are going to decide the freq of the ring? just use the max
    cpu freq reported?
c) With the intel_pstate approach we may still run into thermal throttling, in this case, can a certain cooling device
    be triggered to lower the cpu freq?

Thanks and Regards,
-Jackie





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




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