[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170117102330.GB2085@mai>
Date: Tue, 17 Jan 2017 11:23:30 +0100
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: Alex Shi <alex.shi@...aro.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
vincent.guittot@...aro.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, Ulf Hansson <ulf.hansson@...aro.org>
Subject: Re: [PATCH v2 2/3] cpu: expose pm_qos_resume_latency for each cpu
On Thu, Jan 12, 2017 at 09:27:03PM +0800, Alex Shi wrote:
> The cpu-dma PM QoS constraint impacts all the cpus in the system. There
> is no way to let the user to choose a PM QoS constraint per cpu.
>
> The following patch exposes to the userspace a per cpu based sysfs file
> in order to let the userspace to change the value of the PM QoS latency
> constraint.
>
> This change is inoperative in its form and the cpuidle governors have to
> take into account the per cpu latency constraint in addition to the
> global cpu-dma latency constraint in order to operate properly.
>
> BTW
> The pm_qos_resume_latency usage defined in
> Documentation/ABI/testing/sysfs-devices-power
> The /sys/devices/.../power/pm_qos_resume_latency_us attribute
> contains the PM QoS resume latency limit for the given device,
> which is the maximum allowed time it can take to resume the
> device, after it has been suspended at run time, from a resume
> request to the moment the device will be ready to process I/O,
> in microseconds. If it is equal to 0, however, this means that
> the PM QoS resume latency may be arbitrary.
>
> Signed-off-by: Alex Shi <alex.shi@...aro.org>
> To: linux-kernel@...r.kernel.org
> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: linux-pm@...r.kernel.org
> Cc: Ulf Hansson <ulf.hansson@...aro.org>
> Cc: Daniel Lezcano <daniel.lezcano@...aro.org>
> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
> ---
> drivers/base/cpu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 4c28e1a..2c3b359 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -17,6 +17,7 @@
> #include <linux/of.h>
> #include <linux/cpufeature.h>
> #include <linux/tick.h>
> +#include <linux/pm_qos.h>
>
> #include "base.h"
>
> @@ -376,6 +377,7 @@ int register_cpu(struct cpu *cpu, int num)
>
> per_cpu(cpu_sys_devices, num) = &cpu->dev;
> register_cpu_under_node(num, cpu_to_node(num));
> + dev_pm_qos_expose_latency_limit(&cpu->dev, 0);
This patch should be submitted as the last patch in the latencies constraint
changes patchset IMO. It is pointless to provide an interface before a
feature which is still under discussion.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
Powered by blists - more mailing lists