* Broken cpuidle on PM branch?
@ 2009-10-12 19:23 Amit Kucheria
2009-10-13 13:31 ` Eduardo Valentin
2009-10-13 14:05 ` Kevin Hilman
0 siblings, 2 replies; 7+ messages in thread
From: Amit Kucheria @ 2009-10-12 19:23 UTC (permalink / raw)
To: linux-omap
Hi,
I am testing twl4030 script optimisations on the current PM branch. But I am
seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
Is it known to work on other boards?
Regards,
Amit
--
-------------------------------------------------------------------------
Amit Kucheria, Kernel Developer, Verdurent
-------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-12 19:23 Broken cpuidle on PM branch? Amit Kucheria
@ 2009-10-13 13:31 ` Eduardo Valentin
2009-10-13 16:25 ` Kevin Hilman
2009-10-13 14:05 ` Kevin Hilman
1 sibling, 1 reply; 7+ messages in thread
From: Eduardo Valentin @ 2009-10-13 13:31 UTC (permalink / raw)
To: linux-omap
Hello Amit,
On Mon, Oct 12, 2009 at 09:23:47PM +0200, ext Amit Kucheria wrote:
> Hi,
>
> I am testing twl4030 script optimisations on the current PM branch. But I am
> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
>
> Is it known to work on other boards?
I'm actually seeing this same behavior. But the board actually does not
freeze. If you keep a key pressed of send a sysrq through serial line
then you eventually get it back.
It seams to be something related to serial driver and wakeup ?
>
> Regards,
> Amit
> --
> -------------------------------------------------------------------------
> Amit Kucheria, Kernel Developer, Verdurent
> -------------------------------------------------------------------------
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Eduardo Valentin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-12 19:23 Broken cpuidle on PM branch? Amit Kucheria
2009-10-13 13:31 ` Eduardo Valentin
@ 2009-10-13 14:05 ` Kevin Hilman
1 sibling, 0 replies; 7+ messages in thread
From: Kevin Hilman @ 2009-10-13 14:05 UTC (permalink / raw)
To: linux-omap
Amit Kucheria <amit.kucheria@verdurent.com> writes:
> Hi,
>
> I am testing twl4030 script optimisations on the current PM branch. But I am
> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
>
> Is it known to work on other boards?
Yes, and it works for me on RX51 as well, output of the maemo powertop
below.
For a known working defconfig, start from omap3_pm_defconfig and
change the low-level debug UART from UART1 to UART3.
There is a known UART bug in the current PM branch where if you don't
'echo 1 > /debug/pm_debug/sleep_while_idle', the UART eventually locks
up when the inactivity timer expires. I'm still looking into this
one.
Kevin
/ # powertop
Powertop 1.13.1
status: Unable to send message: Connection refused
Mounting debugfs...Success
Sleeping for 11 seconds before sampling
Collecting data for 30 seconds
Sample interval was 00m 30s 20569us
C# | Ratio | Avg/dura | Frequency | Ratio
--------+--------+----------+-----------+--------------
C0 | 83.4% | | 600 MHz | 0.0%
C1 | 16.6% | 832.4ms | 550 MHz | 0.0%
C2 | 0.0% | | 500 MHz | 100.0%
C3 | 0.0% | | 250 MHz | 0.0%
C4 | 0.0% | | 125 MHz | 0.0%
IRQ# | Activity | Type | Name
--------+------------+----------------+---------------------------
37 | 27 | INTC | gp
11 | 23 | INTC | prcm
12 | 4 | INTC | DMA
225 | 2 | GPIO | omap2-onenand
PID# | Activity | Name | Function Entry (Expire)
--------+------------+----------------+---------------------------
0 | 16 | <kernel core> | hrtimer_start (tick_sched_timer)
93 | 5 | bdi-default | bdi_forker_task (process_timeout)
483 | 5 |flush-ubifs_0_0 | schedule_timeout_interruptible (process)
0 | 4 | <kernel core> | arm_supers_timer (sync_supers_timer_fn)
5 | 3 | events/0 | queue_delayed_work (delayed_work_timer_)
483 | 1 |flush-ubifs_0_0 | hrtimer_start_range_ns (wbuf_timer_call)
483 | 1 |flush-ubifs_0_0 | hrtimer_start_range_ns (wbuf_timer_call)
484 | 1 | powertop | hrtimer_start_range_ns (hrtimer_wakeup)
Power domain activity breakdown
Domain | % of time spent in states
--------+---------+---------+---------+---------+----------
usbhost |OFF: 0%|RET: 100%|INA: 0%| ON: 0%| now:(RET)
sgx |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
per |OFF: 0%|RET: 83%|INA: 0%| ON: 16%| now:(ON)
dss |OFF: 0%|RET: 100%|INA: 0%| ON: 0%| now:(RET)
cam |OFF: 0%|RET: 100%|INA: 0%| ON: 0%| now:(RET)
core |OFF: 0%|RET: 83%|INA: 0%| ON: 16%| now:(ON)
neon |OFF: 0%|RET: 83%|INA: 0%| ON: 16%| now:(ON)
mpu |OFF: 0%|RET: 83%|INA: 0%| ON: 16%| now:(ON)
iva2 |OFF: 0%|RET: 100%|INA: 0%| ON: 0%| now:(RET)
Clock activity breakdown at end of period
Domain | Active clocks
--------+---------------+---------------+------------------
core | SDRC | OMAPCTRL | UART1
| UART2 |
core3 | USBTLL
wkup | GPT1 | 32KSYNC | GPIO1
|
ckgen | CORE | PERI | 96M
| 48M | 12M | 54M
| EMU_CORE |
per | UART3 | GPIO2 | GPIO3
| GPIO4 | GPIO5 | GPIO6
|
Total wakeups 92, 3.1/s | IRQ 56, 1.9/s | Timers 36, 1.2/s
HW wakeups 23, 0.8/s | Real gp_timers expired 27, 0.9/s
Dismounting debufs...Success
/ #
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-13 13:31 ` Eduardo Valentin
@ 2009-10-13 16:25 ` Kevin Hilman
2009-10-14 6:48 ` Eduardo Valentin
0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2009-10-13 16:25 UTC (permalink / raw)
To: eduardo.valentin; +Cc: linux-omap
Eduardo Valentin <eduardo.valentin@nokia.com> writes:
> Hello Amit,
>
> On Mon, Oct 12, 2009 at 09:23:47PM +0200, ext Amit Kucheria wrote:
>> Hi,
>>
>> I am testing twl4030 script optimisations on the current PM branch. But I am
>> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
>>
>> Is it known to work on other boards?
>
> I'm actually seeing this same behavior. But the board actually does not
> freeze. If you keep a key pressed of send a sysrq through serial line
> then you eventually get it back.
>
> It seams to be something related to serial driver and wakeup ?
>
Do you see this problem after doing
# echo 1 > /debug/pm_debug/sleep_while_idle
? There is a known problem with the UART inactivity timer that I'm
debugging currently.
Kevin
>>
>> Regards,
>> Amit
>> --
>> -------------------------------------------------------------------------
>> Amit Kucheria, Kernel Developer, Verdurent
>> -------------------------------------------------------------------------
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> Eduardo Valentin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" 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] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-13 16:25 ` Kevin Hilman
@ 2009-10-14 6:48 ` Eduardo Valentin
2009-10-14 13:06 ` Kevin Hilman
0 siblings, 1 reply; 7+ messages in thread
From: Eduardo Valentin @ 2009-10-14 6:48 UTC (permalink / raw)
To: ext Kevin Hilman
Cc: Valentin Eduardo (Nokia-D/Helsinki), linux-omap@vger.kernel.org
On Tue, Oct 13, 2009 at 06:25:17PM +0200, ext Kevin Hilman wrote:
> Eduardo Valentin <eduardo.valentin@nokia.com> writes:
>
> > Hello Amit,
> >
> > On Mon, Oct 12, 2009 at 09:23:47PM +0200, ext Amit Kucheria wrote:
> >> Hi,
> >>
> >> I am testing twl4030 script optimisations on the current PM branch. But I am
> >> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
> >>
> >> Is it known to work on other boards?
> >
> > I'm actually seeing this same behavior. But the board actually does not
> > freeze. If you keep a key pressed of send a sysrq through serial line
> > then you eventually get it back.
> >
> > It seams to be something related to serial driver and wakeup ?
> >
>
> Do you see this problem after doing
>
> # echo 1 > /debug/pm_debug/sleep_while_idle
>
No I don't. The problem is gone it seams.
similar effect happens if we
# echo 0 > /sys/devices/platform/serial8250.2/sleep_timeout
Of course, this would prevent device go to sleep I guess.
> ? There is a known problem with the UART inactivity timer that I'm
> debugging currently.
Ok.
>
> Kevin
>
>
> >>
> >> Regards,
> >> Amit
> >> --
> >> -------------------------------------------------------------------------
> >> Amit Kucheria, Kernel Developer, Verdurent
> >> -------------------------------------------------------------------------
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > --
> > Eduardo Valentin
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Eduardo Valentin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-14 6:48 ` Eduardo Valentin
@ 2009-10-14 13:06 ` Kevin Hilman
2009-10-14 13:11 ` Eduardo Valentin
0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2009-10-14 13:06 UTC (permalink / raw)
To: eduardo.valentin; +Cc: linux-omap@vger.kernel.org
Eduardo Valentin <eduardo.valentin@nokia.com> writes:
> On Tue, Oct 13, 2009 at 06:25:17PM +0200, ext Kevin Hilman wrote:
>> Eduardo Valentin <eduardo.valentin@nokia.com> writes:
>>
>> > Hello Amit,
>> >
>> > On Mon, Oct 12, 2009 at 09:23:47PM +0200, ext Amit Kucheria wrote:
>> >> Hi,
>> >>
>> >> I am testing twl4030 script optimisations on the current PM branch. But I am
>> >> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
>> >>
>> >> Is it known to work on other boards?
>> >
>> > I'm actually seeing this same behavior. But the board actually does not
>> > freeze. If you keep a key pressed of send a sysrq through serial line
>> > then you eventually get it back.
>> >
>> > It seams to be something related to serial driver and wakeup ?
>> >
>>
>> Do you see this problem after doing
>>
>> # echo 1 > /debug/pm_debug/sleep_while_idle
>>
>
> No I don't. The problem is gone it seams.
>
> similar effect happens if we
>
> # echo 0 > /sys/devices/platform/serial8250.2/sleep_timeout
>
> Of course, this would prevent device go to sleep I guess.
>
Yes, there is a problem with UART3 (in PER) going idle independently
of CORE/MPU that I have not yet found.
Kevin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Broken cpuidle on PM branch?
2009-10-14 13:06 ` Kevin Hilman
@ 2009-10-14 13:11 ` Eduardo Valentin
0 siblings, 0 replies; 7+ messages in thread
From: Eduardo Valentin @ 2009-10-14 13:11 UTC (permalink / raw)
To: ext Kevin Hilman
Cc: Valentin Eduardo (Nokia-D/Helsinki), linux-omap@vger.kernel.org
On Wed, Oct 14, 2009 at 03:06:41PM +0200, ext Kevin Hilman wrote:
> Eduardo Valentin <eduardo.valentin@nokia.com> writes:
>
> > On Tue, Oct 13, 2009 at 06:25:17PM +0200, ext Kevin Hilman wrote:
> >> Eduardo Valentin <eduardo.valentin@nokia.com> writes:
> >>
> >> > Hello Amit,
> >> >
> >> > On Mon, Oct 12, 2009 at 09:23:47PM +0200, ext Amit Kucheria wrote:
> >> >> Hi,
> >> >>
> >> >> I am testing twl4030 script optimisations on the current PM branch. But I am
> >> >> seeing the board (RX51) freeze when CPU_IDLE is enabled in the config.
> >> >>
> >> >> Is it known to work on other boards?
> >> >
> >> > I'm actually seeing this same behavior. But the board actually does not
> >> > freeze. If you keep a key pressed of send a sysrq through serial line
> >> > then you eventually get it back.
> >> >
> >> > It seams to be something related to serial driver and wakeup ?
> >> >
> >>
> >> Do you see this problem after doing
> >>
> >> # echo 1 > /debug/pm_debug/sleep_while_idle
> >>
> >
> > No I don't. The problem is gone it seams.
> >
> > similar effect happens if we
> >
> > # echo 0 > /sys/devices/platform/serial8250.2/sleep_timeout
> >
> > Of course, this would prevent device go to sleep I guess.
> >
>
> Yes, there is a problem with UART3 (in PER) going idle independently
> of CORE/MPU that I have not yet found.
yeah, one possible fix would be preventing it if core is going to on
@@ -514,7 +514,9 @@ void omap_sram_idle(void)
/* PER */
if (per_next_state < PWRDM_POWER_ON) {
- omap_uart_prepare_idle(2);
+ if (core_next_state != PWRDM_POWER_ON)
+ omap_uart_prepare_idle(2);
+
Needs to see what is the impact of this approach though
>
> Kevin
--
Eduardo Valentin
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-10-14 13:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-12 19:23 Broken cpuidle on PM branch? Amit Kucheria
2009-10-13 13:31 ` Eduardo Valentin
2009-10-13 16:25 ` Kevin Hilman
2009-10-14 6:48 ` Eduardo Valentin
2009-10-14 13:06 ` Kevin Hilman
2009-10-14 13:11 ` Eduardo Valentin
2009-10-13 14:05 ` Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox