Re: cpuidle: Add "cpuidle.use_deepest" to bypass governor and allow HW to go deep

2017-11-09 Thread Ramesh Thomas
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_

Re: [PATCH v3 1/2] PM / domains: Rework governor code to be more consistent

2017-11-07 Thread Ramesh Thomas
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

Re: [PATCH v4 2/2] PM / QoS: Fix device resume latency framework

2017-11-07 Thread Ramesh Thomas
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

Re: [PATCH v3 1/2] PM / domains: Rework governor code to be more consistent

2017-11-06 Thread Ramesh Thomas
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

Re: [PATCH v3 2/2] PM / QoS: Fix device resume latency framework

2017-11-06 Thread Ramesh Thomas
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

Re: [RFT][PATCH v2 1/2] PM / domains: Rework governor code to be more consistent

2017-11-05 Thread Ramesh Thomas
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

Re: [PATCH v2] cpuidle: ladder: Add per CPU PM QoS resume latency support

2017-11-03 Thread Ramesh Thomas
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

Re: [RFT][PATCH v2 2/2] PM / QoS: Fix device resume latency framework

2017-11-03 Thread Ramesh Thomas
>* 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

Re: [RFT][PATCH v2 1/2] PM / domains: Rework governor code to be more consistent

2017-11-03 Thread 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

Re: [RFT][PATCH v2 2/2] PM / QoS: Fix device resume latency framework

2017-11-03 Thread 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

Re: [RFT][PATCH 2/2] PM / QoS: Fix device resume latency framework

2017-11-03 Thread Ramesh Thomas
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

Re: [RFT][PATCH 1/2] PM / domains: Rework governor code to be more consistent

2017-11-03 Thread Ramesh Thomas
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

[PATCH v2] cpuidle: ladder: Add per CPU PM QoS resume latency support

2017-10-26 Thread Ramesh Thomas
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

Re: [PATCH v2] PM / QoS: Fix device resume latency PM QoS

2017-10-25 Thread Ramesh Thomas
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

Re: [PATCH] PM / QoS: Fix device resume latency PM QoS

2017-10-25 Thread Ramesh Thomas
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

Re: [PATCH] PM / QoS: Fix device resume latency PM QoS

2017-10-25 Thread Ramesh Thomas
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: > >

Re: [PATCH v2] PM / QoS: Fix device resume latency PM QoS

2017-10-25 Thread Ramesh Thomas
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) >

Re: [PATCH] PM / QoS: Fix device resume latency PM QoS

2017-10-23 Thread Ramesh Thomas
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

[PATCH] cpuidle: ladder: Add per CPU PM QoS resume latency support

2017-10-19 Thread Ramesh Thomas
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.

[PATCH] cpuidle: ladder: Add per CPU PM QoS resume latency support

2017-10-04 Thread Ramesh Thomas
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.