* Re: Questions about Runtime PM
[not found] <EMEW3|116e69362a474a99eb7966986654fb49p9RFXO07lm15g10|ecs.soton.ac.uk|526E83A9.8000703@ecs.soton.ac.uk>
@ 2013-10-28 19:16 ` Alan Stern
2013-10-28 20:19 ` David C Niemi
0 siblings, 1 reply; 5+ messages in thread
From: Alan Stern @ 2013-10-28 19:16 UTC (permalink / raw)
To: Luis Alfonso Maeda-Nunez; +Cc: cpufreq, rjw
On Mon, 28 Oct 2013, Luis Alfonso Maeda-Nunez wrote:
> Hi,
>
> I am a PhD student at University of Southampton, and I am doing research
> regarding Power Management working with the BeagleBoard-xM, specifically
> using DVFS (or the CPUFREQ Governors). I am having a problem using Power
> Management, and would like to ask if you could help me with it.
>
> I am using Ubuntu 12.04 and a Linux Kernel 3.7.10-x10.
>
> The CPU Frequency governor seems to work fine on its own (performance,
> ondemand, conservative, etc.), but the Runtime PM driver sends the CPU
> to sleep arbitrarily.
Runtime PM does not affect CPUs; it only affects devices.
> Reading through the documentation of Runtime PM it
> sends the processor (or any device) to sleep after a period of idleness.
> In my system, however, as I am running a benchmark (fft from MiBench) in
> a loop, suddenly the processor is sent to a low power mode (without
> being idle). I looked at the traces (attached to this email) and it just
> goes to C1 (I believe it's for ACPI).
I don't understand how a CPU can go into a low-power mode like C1
without being idle. By definition, when the CPU isn't in C0, it isn't
doing any work.
> After reading on Runtime PM I modified the following parameters from
> "auto" to "on", which meant that it would be disabled.
>
> /sys/devices/system/cpu/cpu0/power/control
> /sys/devices/system/cpu/power/control
> /sys/devices/platform/mpu.0/power/control
> /sys/devices/ARMv7\ Cortex-A8/power/control
> /sys/devices/software/power/control
> /sys/devices/platform/power/control
> /sys/devices/platform/arm-pmu/power/control
None of those settings actually affect anything.
> Is there a way to disable Runtime PM on the kernel? Using
> menuconfig/gconfig there is an option:
> "Run-time PM core functionality: CONFIG_PM_RUNTIME."
> but it cannot be disabled (not at least with the configuration for using
> the BeagleBoard).
>
> I went to pm_debug fs and changed:
> echo 0 > mpu_pwrdm/suspend
> echo 0 > iva2_pwrdm/suspend
> echo 0 > neon_pwrdm/suspend
>
> with no luck.
>
> Is there a way to stop Runtime PM from putting the processor to sleep?
Runtime PM never puts processors to sleep. Other things do affect
processors, however. In addition to cpufreq, you should take a look at
cpuidle.
Alan Stern
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Questions about Runtime PM
2013-10-28 19:16 ` Questions about Runtime PM Alan Stern
@ 2013-10-28 20:19 ` David C Niemi
0 siblings, 0 replies; 5+ messages in thread
From: David C Niemi @ 2013-10-28 20:19 UTC (permalink / raw)
To: Alan Stern; +Cc: Luis Alfonso Maeda-Nunez, cpufreq, rjw
On 10/28/13 15:16, Alan Stern wrote:
> On Mon, 28 Oct 2013, Luis Alfonso Maeda-Nunez wrote:
...
> Reading through the documentation of Runtime PM it
> sends the processor (or any device) to sleep after a period of idleness.
> In my system, however, as I am running a benchmark (fft from MiBench) in
> a loop, suddenly the processor is sent to a low power mode (without
> being idle). I looked at the traces (attached to this email) and it just
> goes to C1 (I believe it's for ACPI).
> I don't understand how a CPU can go into a low-power mode like C1
> without being idle. By definition, when the CPU isn't in C0, it isn't
> doing any work.
Depends on how you define "CPU" and "idle".
A busy CPU will have a number of cores idle at least for short periods of time while others are busy.
And a busy core typically spend time in C1 while it waits for I/O (unless it is 100% compute-bound for the long haul and there is zero I/O going on, which is kind of unusual).
I expect fft to be pretty compute-bound, but it's hard to keep all cores 100% busy 100% of the time for long. Or there may just be a bad idle config. Is this with intel-idle or acpi-idle?
Also, normally a core hops between C0 and C1 extremely rapidly. It is more meaningful to talk about what percentage of time it spends in each, it is almost impossible to stay in either one continuously.
DCN
^ permalink raw reply [flat|nested] 5+ messages in thread
* questions about runtime pm
@ 2015-12-22 13:24 Ludovic Desroches
2016-01-15 15:01 ` Ludovic Desroches
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Desroches @ 2015-12-22 13:24 UTC (permalink / raw)
To: linux-mmc, ulf.hansson; +Cc: Ludovic Desroches
Hi guys,
I have recently added PM support for my driver but I don't have the
behavior I was expecting. I am wondering if I didn't do something wrong.
I have implemented runtime_suspend in a very simple way, I call
sdhci_runtime_suspend_host() and I disable the clocks. It works pretty
well with the eMMC which is non removable but with a SD card... If I
have my SD card present on boot time, it is detected but
insertion/removal is not detected.
Having a look to sdhci_runtime_suspend_host() internal, all the
interruptions are disabled expecting the card interrupt if it has been
set earlier.
>From my understanding, it means that if there is no activity on sdhci,
we will go to suspend and then we could wake up only on a software event
(or a sdio interrupt). How to manage card insertion/removal in this
case? My problem is so huge, I have probably missed something...
Moreover, to avoid system PM, I have used pm_runtime_force_suspend but I
could not wake up on card insertion/removal too. Do I have to use system
PM if I want to manage this case?
Thanks for your advices.
Regards
Ludovic
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: questions about runtime pm
2015-12-22 13:24 questions about runtime pm Ludovic Desroches
@ 2016-01-15 15:01 ` Ludovic Desroches
2016-01-18 2:35 ` Jaehoon Chung
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Desroches @ 2016-01-15 15:01 UTC (permalink / raw)
To: linux-mmc, ulf.hansson
On Tue, Dec 22, 2015 at 02:24:53PM +0100, Ludovic Desroches wrote:
> Hi guys,
>
> I have recently added PM support for my driver but I don't have the
> behavior I was expecting. I am wondering if I didn't do something wrong.
>
> I have implemented runtime_suspend in a very simple way, I call
> sdhci_runtime_suspend_host() and I disable the clocks. It works pretty
> well with the eMMC which is non removable but with a SD card... If I
> have my SD card present on boot time, it is detected but
> insertion/removal is not detected.
>
> Having a look to sdhci_runtime_suspend_host() internal, all the
> interruptions are disabled expecting the card interrupt if it has been
> set earlier.
>
> From my understanding, it means that if there is no activity on sdhci,
> we will go to suspend and then we could wake up only on a software event
> (or a sdio interrupt). How to manage card insertion/removal in this
> case? My problem is so huge, I have probably missed something...
>
> Moreover, to avoid system PM, I have used pm_runtime_force_suspend but I
> could not wake up on card insertion/removal too. Do I have to use system
> PM if I want to manage this case?
>
> Thanks for your advices.
>
> Regards
>
> Ludovic
Any feedback?
Ludovic
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: questions about runtime pm
2016-01-15 15:01 ` Ludovic Desroches
@ 2016-01-18 2:35 ` Jaehoon Chung
0 siblings, 0 replies; 5+ messages in thread
From: Jaehoon Chung @ 2016-01-18 2:35 UTC (permalink / raw)
To: linux-mmc, ulf.hansson
Hi,
On 01/16/2016 12:01 AM, Ludovic Desroches wrote:
> On Tue, Dec 22, 2015 at 02:24:53PM +0100, Ludovic Desroches wrote:
>> Hi guys,
>>
>> I have recently added PM support for my driver but I don't have the
>> behavior I was expecting. I am wondering if I didn't do something wrong.
>>
>> I have implemented runtime_suspend in a very simple way, I call
>> sdhci_runtime_suspend_host() and I disable the clocks. It works pretty
>> well with the eMMC which is non removable but with a SD card... If I
>> have my SD card present on boot time, it is detected but
>> insertion/removal is not detected.
>>
>> Having a look to sdhci_runtime_suspend_host() internal, all the
>> interruptions are disabled expecting the card interrupt if it has been
>> set earlier.
>>
>> From my understanding, it means that if there is no activity on sdhci,
>> we will go to suspend and then we could wake up only on a software event
>> (or a sdio interrupt). How to manage card insertion/removal in this
>> case? My problem is so huge, I have probably missed something...
Is there any detection method for SD-card(removable card)?
Doesn't use Card-detect pin or Polling..?
Best Regards,
Jaehoon Chung
>>
>> Moreover, to avoid system PM, I have used pm_runtime_force_suspend but I
>> could not wake up on card insertion/removal too. Do I have to use system
>> PM if I want to manage this case?
>>
>> Thanks for your advices.
>>
>> Regards
>>
>> Ludovic
>
>
> Any feedback?
>
>
> Ludovic
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-01-18 2:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-22 13:24 questions about runtime pm Ludovic Desroches
2016-01-15 15:01 ` Ludovic Desroches
2016-01-18 2:35 ` Jaehoon Chung
[not found] <EMEW3|116e69362a474a99eb7966986654fb49p9RFXO07lm15g10|ecs.soton.ac.uk|526E83A9.8000703@ecs.soton.ac.uk>
2013-10-28 19:16 ` Questions about Runtime PM Alan Stern
2013-10-28 20:19 ` David C Niemi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.