On 2017-11-09 at 02:38:51 -0500, Len Brown wrote:
> From: Len Brown
>
[cut]
> +/**
> + * cpuidle_find_deepest_state_qos - Find the deepest available idle state.
> + * @drv: cpuidle driver for the given CPU.
> + * @dev: cpuidle device for the given CPU.
> + * Honors PM_QOS
> + */
> +int cpuidle_
On 2017-11-07 at 11:22:48 +0100, Rafael J. Wysocki wrote:
> On Tue, Nov 7, 2017 at 6:05 AM, Ramesh Thomas wrote:
> > On 2017-11-07 at 02:23:18 +0100, Rafael J. Wysocki wrote:
> >> From: Rafael J. Wysocki
> >>
> >> The genpd governor currently uses negative PM
t.
>*/
> return false;
> } else {
> constraint_ns -= td->suspend_latency_ns +
> td->resume_latency_ns;
> /*
> - * effective_constraint_ns is negative already and
> - * cached_suspend_ok is false, so if the computed value is not
> - * positive, return right away.
> + * effective_constraint_ns is zero already and cached_suspend_ok
> + * is false, so if the computed value is not positive, return
> + * right away.
>*/
> if (constraint_ns <= 0)
> return false;
> @@ -174,13 +169,10 @@ static bool __default_power_down_ok(stru
> td = &to_gpd_data(pdd)->td;
> constraint_ns = td->effective_constraint_ns;
> /*
> - * Negative values mean "no suspend at all" and this runs only
> - * when all devices in the domain are suspended, so it must be
> - * 0 at least.
> - *
> - * 0 means "no constraint"
> + * Zero means "no suspend at all" and this runs only when all
> + * devices in the domain are suspended, so it must be positive.
>*/
> - if (constraint_ns == 0)
> + if (constraint_ns == PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS)
> continue;
>
> if (constraint_ns <= off_on_time_ns)
>
Looks good.
Reviewed-by: Ramesh Thomas
Thanks,
Ramesh
On 2017-11-07 at 02:23:18 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
> The genpd governor currently uses negative PM QoS values to indicate
> the "no suspend" condition and 0 as "no restriction", but it doesn't
> use them consistently. Moreover, it tries to refresh QoS values fo
On 2017-11-07 at 02:27:05 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
> The special value of 0 for device resume latency PM QoS means
> "no restriction", but there are two problems with that.
>
> First, device resume latency PM QoS requests with 0 as the
> value are always put in
On 2017-11-04 at 12:24:15 +0100, Rafael J. Wysocki wrote:
> On Sat, Nov 4, 2017 at 3:34 AM, Ramesh Thomas wrote:
> > On 2017-11-03 at 12:47:20 +0100, Rafael J. Wysocki wrote:
> >> From: Rafael J. Wysocki
> >>
> >> The genpd governor currently uses negative PM
On 2017-10-27 at 09:59:38 +0200, Rafael J. Wysocki wrote:
> On Fri, Oct 27, 2017 at 4:01 AM, Ramesh Thomas
> wrote:
> > Individual CPUs may have special requirements to not enter
> > deep idle states. For example, a CPU running real time
> > applications would not want t
>* walked above are all suspended, so effective_constraint_ns
> - * cannot be negative for them.
> + * cannot be 0 for them.
> */
> constraint_ns -= td->suspend_latency_ns +
> td->resume_latency_ns;
> /*
> - * effective_constraint_ns is negative already and
> - * cached_suspend_ok is false, so if the computed value is not
> - * positive, return right away.
> + * effective_constraint_ns is 0 already and cached_suspend_ok is
> + * false, so if the computed value is not positive, return right
> + * away.
>*/
> if (constraint_ns <= 0)
> return false;
> @@ -163,10 +159,8 @@ static bool __default_power_down_ok(stru
>* Negative values mean "no suspend at all" and this runs only
>* when all devices in the domain are suspended, so it must be
>* 0 at least.
> - *
> - * 0 means "no constraint"
>*/
> - if (constraint_ns == 0)
> + if (constraint_ns == PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS)
> continue;
>
> if (constraint_ns <= off_on_time_ns)
>
Looks good to me except for the warning issue reported by Reinette, which
probably should be an easy fix.
Acked-by: Ramesh Thomas
/*
> + * Negative values mean "no suspend at all" and this runs only
> + * when all devices in the domain are suspended, so it must be
> + * 0 at least.
> + *
> + * 0 means "no constraint"
> + */
> if (constraint_ns == 0)
> continue;
>
> - /*
> - * constraint_ns cannot be negative here, because the device has
> - * been suspended.
> - */
> if (constraint_ns <= off_on_time_ns)
> return false;
>
>
Looks good to me.
Acked-by: Ramesh Thomas
On 2017-11-03 at 09:39:08 -0700, Reinette Chatre wrote:
> Hi Rafael,
>
> I started to test this but found myself triggering one of the warnings:
>
> On 11/3/2017 4:50 AM, Rafael J. Wysocki wrote:
> > --- linux-pm.orig/include/linux/pm_qos.h
> > +++ linux-pm/include/linux/pm_qos.h
> > @@ -28,16 +2
On 2017-11-02 at 00:03:54 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
> The special value of 0 for device resume latency PM QoS means
> "no restriction", but there are two problems with that.
>
> First, device resume latency PM QoS requests with 0 as the
> value are always put in
On 2017-11-02 at 00:01:50 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
> The genpd governor currently uses negative PM QoS values to indicate
> the "no suspend" condition and 0 as "no restriction", but it doesn't
> use them consistently. Moreover, it tries to refresh QoS values fo
esume
latency consideration")
commit 6dbf5cea05a7 ("cpuidle: menu: Avoid taking spinlock for
accessing QoS values")
Signed-off-by: Ramesh Thomas
---
v2:
- use PM_QOS_RESUME_LATENCY_NO_CONSTRAINT for "no constraint" value
Should be applied over https://patchwork.kernel
On 2017-10-25 at 00:16:25 -0700, Ramesh Thomas wrote:
> On 2017-10-24 at 13:35:05 +0200, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki
> >
>
> [cut]
>
> > @@ -63,10 +60,14 @@ static bool default_suspend_ok(struct de
> >
> > spin
On 2017-10-25 at 18:28:01 +0200, Rafael J. Wysocki wrote:
> On Wed, Oct 25, 2017 at 9:27 AM, Ramesh Thomas
> wrote:
> > On 2017-10-24 at 13:23:23 +0200, Rafael J. Wysocki wrote:
> >> On Tue, Oct 24, 2017 at 10:49 AM, Rafael J. Wysocki
> >> wrote:
> >> &g
On 2017-10-24 at 13:23:23 +0200, Rafael J. Wysocki wrote:
> On Tue, Oct 24, 2017 at 10:49 AM, Rafael J. Wysocki
> wrote:
> > On Tuesday, October 24, 2017 7:54:09 AM CEST Ramesh Thomas wrote:
> >> On 2017-10-20 at 13:27:34 +0200, Rafael J. Wysocki wrote:
> >
On 2017-10-24 at 13:35:05 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
[cut]
> @@ -63,10 +60,14 @@ static bool default_suspend_ok(struct de
>
> spin_unlock_irqrestore(&dev->power.lock, flags);
>
> - if (constraint_ns < 0)
> + if (constraint_ns == 0)
>
On 2017-10-20 at 13:27:34 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
>
> static ssize_t pm_qos_resume_latency_store(struct device *dev,
> @@ -228,11 +235,19 @@ static ssize_t pm_qos_resume_latency_sto
> s32 value;
> int ret;
>
> - if (kstrtos32(buf, 0, &value
esume
latency consideration")
commit 6dbf5cea05a7 ("cpuidle: menu: Avoid taking spinlock for
accessing QoS values")
Signed-off-by: Ramesh Thomas
---
drivers/cpuidle/governors/ladder.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/drivers/cpuidle/governors/ladder.
esume
latency consideration")
commit 6dbf5cea05a7 ("cpuidle: menu: Avoid taking spinlock for
accessing QoS values")
Signed-off-by: Ramesh Thomas
---
drivers/cpuidle/governors/ladder.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/drivers/cpuidle/governors/ladder.
20 matches
Mail list logo