Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp811245ybm; Wed, 27 May 2020 08:34:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHlpTStwGGHl57cWtzuyk+B2SE8yXnN1hDc4wwa8pvrXnFybMgJjLjVFpGslRZINYk+teQ X-Received: by 2002:a17:906:653:: with SMTP id t19mr6449655ejb.346.1590593661328; Wed, 27 May 2020 08:34:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590593661; cv=none; d=google.com; s=arc-20160816; b=039ZHyqRfxKkhmYwIztK11dRgRFblt+NQbysdh8E1MIcUCPtCLbat/fF28MrcVA8jI WU7s0kSO8q7lt3SMTEbQrE0fmdF+K8iX+rl7q/EV6Fv6Nrad+6KsBSWNwqWHijECFkR1 XRPo0EWEIrIN4HPywKyWZv7yELHWuFeXunudeyEyVtR2caEvBbBCZdKbVE95V7agzyA5 zhmKjL2ygurnyoYV9+hd7O5NYoMc4plykn+opnfDgcaPPbZw1LMQ0ywACRb8agnlZDSU nFNImSe116FbVtUJGioF/etYuWtF8mjOmf6SmLfxmzZnua0WXqUupig2eWcT2JOyhPOw NOvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:in-reply-to :subject:cc:to:from:user-agent:references; bh=OttLazjIUnVYIUmWU45bSaIU44TV84WCngCCoScbwsg=; b=S73nSakUv4tpxCrfDs03Kt/ZmhtKeEi9j/OFODPqBEgfUrIjkq/stLwXRggs13nQO7 yU9YyZpc2lJ0EsILr6wdqxY6yKO8XH7p1ERi8Q6Pt6P7Ocs5Nhkv2MRAxwG+ZNTq47+t 0y+DIwsF08C1xYAc04ymnwee7uPjSxVsBScO/MbCQjeFDsGlztIZBMUHMpcoSjUiOo+W RVpa1BCHwROuW+E1r74gynjb8ZOZHNxfknmnHyKHoXGt2kojmGfFK8uV1B0w/6yuqtWC IBzFd9lY68Bg1bQyZryuizpEfkBS4q+s0Wi/s7pnhP7Y/Xiq8UUoCGuM7m5JvCMr9MpH 4w/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gg10si1464679ejb.413.2020.05.27.08.33.57; Wed, 27 May 2020 08:34:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729764AbgE0KJP (ORCPT + 99 others); Wed, 27 May 2020 06:09:15 -0400 Received: from foss.arm.com ([217.140.110.172]:35584 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729678AbgE0KJN (ORCPT ); Wed, 27 May 2020 06:09:13 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D58AB55D; Wed, 27 May 2020 03:09:12 -0700 (PDT) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BEC213F6C4; Wed, 27 May 2020 03:09:10 -0700 (PDT) References: <20200526151619.8779-1-benjamin.gaignard@st.com> User-agent: mu4e 0.9.17; emacs 26.3 From: Valentin Schneider To: Benjamin Gaignard Cc: rjw@rjwysocki.net, viresh.kumar@linaro.org, hugues.fruchet@st.com, mchehab@kernel.org, mcoquelin.stm32@gmail.com, alexandre.torgue@st.com, pavel@ucw.cz, len.brown@intel.com, vincent.guittot@linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC RESEND 0/3] Introduce cpufreq minimum load QoS In-reply-to: <20200526151619.8779-1-benjamin.gaignard@st.com> Date: Wed, 27 May 2020 11:09:05 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Benjamin, On 26/05/20 16:16, Benjamin Gaignard wrote: > A first round [1] 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 with schedutil). 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. > > Benjamin > > [1] 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(+)