linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/3] Introduce cpufreq minimum load QoS
@ 2020-04-24 11:40 Benjamin Gaignard
  2020-04-24 11:40 ` [RFC 1/3] PM: QoS: " Benjamin Gaignard
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Benjamin Gaignard @ 2020-04-24 11:40 UTC (permalink / raw)
  To: rjw, viresh.kumar, hugues.fruchet, mchehab, mcoquelin.stm32,
	alexandre.torgue, pavel, len.brown
  Cc: linux-pm, linux-kernel, linux-media, linux-stm32,
	linux-arm-kernel, Benjamin Gaignard

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.

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(+)

-- 
2.15.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2020-05-20  7:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 11:40 [RFC 0/3] Introduce cpufreq minimum load QoS Benjamin Gaignard
2020-04-24 11:40 ` [RFC 1/3] PM: QoS: " Benjamin Gaignard
2020-04-24 11:40 ` [RFC 2/3] cpufreq: governor: Use " Benjamin Gaignard
2020-04-24 11:40 ` [RFC 3/3] media: stm32-dcmi: Inform cpufreq governors about cpu load needs Benjamin Gaignard
2020-04-29 15:50 ` [RFC 0/3] Introduce cpufreq minimum load QoS Rafael J. Wysocki
2020-04-29 15:57   ` Benjamin GAIGNARD
2020-04-29 16:12     ` Valentin Schneider
2020-04-30  7:52       ` Benjamin GAIGNARD
2020-04-30  9:03         ` Rafael J. Wysocki
2020-04-30 13:46           ` Benjamin GAIGNARD
2020-04-30 14:33             ` Valentin Schneider
2020-04-30 15:37               ` Benjamin GAIGNARD
2020-04-30 15:50                 ` Valentin Schneider
2020-05-04  9:17                   ` Benjamin GAIGNARD
2020-05-20  7:29                     ` [Linux-stm32] " Benjamin GAIGNARD
2020-04-29 17:08   ` Vincent Guittot
2020-04-30  9:00     ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).