Re: [RFC RESEND 0/3] Introduce cpufreq minimum load QoS
From: Valentin Schneider
Date: Wed May 27 2020 - 06:09:17 EST
On 26/05/20 16:16, Benjamin Gaignard wrote:
> A first round  of discussions and suggestions have already be done on
> this series but without found a solution to the problem. I resend it to
> progress on this topic.
Apologies for sleeping on that previous thread.
So what had been suggested over there was to use uclamp to boost the
frequency of the handling thread; however if you use threaded IRQs you
get RT threads, which already get the max frequency by default (at least
Does that not work for you, and if so, why?
> When start streaming from the sensor the CPU load could remain very low
> because almost all the capture pipeline is done in hardware (i.e. without
> using the CPU) and let believe to cpufreq governor that it could use lower
> frequencies. If the governor decides to use a too low frequency that
> becomes a problem when we need to acknowledge the interrupt during the
> blanking time.
> The delay to ack the interrupt and perform all the other actions before
> the next frame is very short and doesn't allow to the cpufreq governor to
> provide the required burst of power. That led to drop the half of the frames.
> To avoid this problem, DCMI driver informs the cpufreq governors by adding
> a cpufreq minimum load QoS resquest.
>  https://lkml.org/lkml/2020/4/24/360
> Benjamin Gaignard (3):
> PM: QoS: Introduce cpufreq minimum load QoS
> cpufreq: governor: Use minimum load QoS
> media: stm32-dcmi: Inform cpufreq governors about cpu load needs
> drivers/cpufreq/cpufreq_governor.c | 5 +
> drivers/media/platform/stm32/stm32-dcmi.c | 8 ++
> include/linux/pm_qos.h | 12 ++
> kernel/power/qos.c | 213 ++++++++++++++++++++++++++++++
> 4 files changed, 238 insertions(+)