All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Jean Pihet <jpihet@mvista.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: PM branch rebased to 2.6.29
Date: Thu, 26 Mar 2009 10:01:10 -0700	[thread overview]
Message-ID: <87prg4i5gp.fsf@deeprootsystems.com> (raw)
In-Reply-To: <200903261754.31577.jpihet@mvista.com> (Jean Pihet's message of "Thu\, 26 Mar 2009 17\:54\:31 +0100")

Jean Pihet <jpihet@mvista.com> writes:

> Hi,
>
> I am having a crash with the latest 2.6.29 pm branch with CPU_FREQ enabled. It 
> looks like clk_set_rate is called recursively, thus deadlocking on the mutex.
>
> Any idea why this worked fine on 2.6.29-rc8 pm?

One of the differences is the new clock notifier patches, which may
have changed the locking, but I haven't dug into this yet so I don't
know if it's a bug in the clock locking or in CPUfreq locking.

Kevin


> Here is the dump excerpt:
> ...
> Disabling unused clock "sys_clkout1"
> BUG: scheduling while atomic: swapper/1/0x00000002
> Modules linked in:
> [<c0032f40>] (dump_stack+0x0/0x14) from [<c0055dcc>] 
> (__schedule_bug+0x54/0x60)
> [<c0055d78>] (__schedule_bug+0x0/0x60) from [<c02e7be4>] (schedule+0x78/0x2bc)
>  r4:c781c000
> [<c02e7b6c>] (schedule+0x0/0x2bc) from [<c02e8b60>] 
> (__mutex_lock_slowpath+0x174/0x290)
> [<c02e89ec>] (__mutex_lock_slowpath+0x0/0x290) from [<c02e8ca4>] 
> (mutex_lock+0x28/0x30)
> [<c02e8c7c>] (mutex_lock+0x0/0x30) from [<c00413b4>] (clk_set_rate+0x2c/0xec)
>  r4:c03ced20
> [<c0041388>] (clk_set_rate+0x0/0xec) from [<c003fc94>] 
> (omap3_select_table_rate+0xd0/0x168)
>  r6:00000004 r5:c03fd474 r4:c03d426c
> [<c003fbc4>] (omap3_select_table_rate+0x0/0x168) from [<c0038d3c>] 
> (omap2_clk_set_rate+0x20/0x24)
>  r6:60000013 r5:20c85580 r4:c03ce41c
> [<c0038d1c>] (omap2_clk_set_rate+0x0/0x24) from [<c0041410>] 
> (clk_set_rate+0x88/0xec)
> [<c0041388>] (clk_set_rate+0x0/0xec) from [<c0013518>] 
> (omap_cpu_init+0xc8/0x108)
>  r6:c03f4b20 r5:c03fddac r4:c7be9be0
> [<c0013450>] (omap_cpu_init+0x0/0x108) from [<c022c3a0>] 
> (cpufreq_add_dev+0x120/0x300)
>  r5:c7be9be0 r4:00000000
> [<c022c280>] (cpufreq_add_dev+0x0/0x300) from [<c01dc130>] 
> (sysdev_driver_register+0xb4/0x124)
>  r8:00000000 r7:00000000 r6:c03f4b20 r5:c03ef708 r4:c03fc95c
> [<c01dc07c>] (sysdev_driver_register+0x0/0x124) from [<c022c214>] 
> (cpufreq_register_driver+0x98/0x104)
>  r6:00000000 r5:c041efac r4:c03d541c
> [<c022c17c>] (cpufreq_register_driver+0x0/0x104) from [<c0013448>] 
> (omap_cpufreq_init+0x14/0x1c)
>  r5:c00266fc r4:c03fc080
> [<c0013434>] (omap_cpufreq_init+0x0/0x1c) from [<c002e2ac>] 
> (__exception_text_end+0x54/0x188)
> [<c002e258>] (__exception_text_end+0x0/0x188) from [<c0008768>] 
> (kernel_init+0x74/0xdc)
> [<c00086f4>] (kernel_init+0x0/0xdc) from [<c005d568>] (do_exit+0x0/0x6b8)
>  r5:00000000 r4:00000000
>
> Regards,
> Jean
>
> On Wednesday 18 March 2009 06:21:09 Kevin Hilman wrote:
>> FYI...
>>
>> The PM branch has now been rebased to today's linux-omap HEAD which is
>> based on v2.6.29-rc8.  The previous PM branch has been renamed to
>> pm-2.6.28.  Depending on when you look, Tony's linux-omap tree may not
>> (yet) have the latest PM branch.  If not, you can use my PM tree[1]
>> directly.  Also, pm-2.6.28 will only be available on my tree.
>>
>> Tested on OMAP3 Beagle and RX51 and was able to hit RET and OFF in
>> suspend and in PM idle with minimal kernel.  No testing yet done for
>> CPUidle or DVFS.  Please test on your hardware and submit results to
>> the list.  Thanks.
>>
>> Kevin
>>
>> --
>>
>> Misc. conflicts/issues resolved after rebase:
>>
>> - no longer safe to use getnstimeofday() in suspend path since timekeeping
>>   subsystem is also suspended in the suspend path.  PM debug timing has
>>   been converted to use sched_clock() which is 32k sync-timer based.
>>
>> - Update board-rx51.c to use common OMAP3 OPPs
>>
>> Known issues:
>>
>> - Beagle: MMC: off-mode needs work in MMC driver, so if you hit off
>>   and have a rootfs on MMC, you're dead.
>>
>> - Beagle: MMC regulator: unbalanced disables.  This happens on boot
>>   and during suspend/resume. I don't think this is related to the PM
>>   branch, but is probably in linux-omap HEAD also, but didn't test.
>>
>> Linux version 2.6.29-rc8-omap1-arm-omap3beagle-default-05653-gd803372-dirty
>> (khilman@vence) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-66) ) #4
>> PREEMPT Tue Mar 17 21:38:09 PDT 2009 [...]
>> i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz
>> twl4030: PIH (irq 7) chaining IRQs 368..375
>> twl4030: power (irq 373) chaining IRQs 376..383
>> twl4030: gpio (irq 368) chaining IRQs 384..401
>> beagle_twl_gpio_setup:145
>> twl4030_mmc_init:303
>> twl4030_mmc_init:318
>> regulator: VMMC1: 1850 <--> 3150 mV normal standby
>> regulator: VDAC: 1800 mV normal standby
>> regulator: VUSB1V5: 1500 <--> 0 mV normal standby
>> regulator: VUSB1V8: 1800 <--> 0 mV normal standby
>> regulator: VUSB3V1: 3100 <--> 0 mV normal standby
>> regulator: VSIM: 1800 <--> 3000 mV normal standby
>> [...]
>> mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock
>> ------------[ cut here ]------------
>> WARNING: at
>> /net/home/khilman/work/kernel/omap/pm/drivers/regulator/core.c:1216
>> regulator_disable+0x64/0x90() unbalanced disables for supply
>> mmci-omap-hs.0-vmmc
>> Modules linked in:
>> [<c02a0830>] (dump_stack+0x0/0x14) from [<c0053af0>]
>> (warn_slowpath+0x6c/0x88) [<c0053a84>] (warn_slowpath+0x0/0x88) from
>> [<c01b8bdc>] (regulator_disable+0x64/0x90) r3:c79dc2a0 r2:c03390cb
>>  r7:c78e8c20 r6:c78aac38 r5:c78e8c20 r4:fffffffb
>> [<c01b8b78>] (regulator_disable+0x0/0x90) from [<c0209400>]
>> (mmc_regulator_set_ocr+0xb0/0xcc) r7:c78e8c20 r6:00000001 r5:00000000
>> r4:00000000
>> [<c0209350>] (mmc_regulator_set_ocr+0x0/0xcc) from [<c003abe8>]
>> (twl_mmc1_set_power+0xc0/0xec) r7:c784f538 r6:00000000 r5:00000000
>> r4:c039185c
>> [<c003ab28>] (twl_mmc1_set_power+0x0/0xec) from [<c0210aa8>]
>> (omap_mmc_set_ios+0x54/0x2b0) r7:c784f538 r6:c784f5c0 r5:c784f400
>> r4:c7844380
>> [<c0210a54>] (omap_mmc_set_ios+0x0/0x2b0) from [<c0208dc8>]
>> (mmc_power_off+0x54/0x58) r7:c784f400 r6:c7910400 r5:00000000 r4:c784f400
>> [<c0208d74>] (mmc_power_off+0x0/0x58) from [<c0209074>]
>> (mmc_start_host+0x14/0x24) [<c0209060>] (mmc_start_host+0x0/0x24) from
>> [<c020a2a0>] (mmc_add_host+0x58/0x64) r5:00000000 r4:c784f400
>> [<c020a248>] (mmc_add_host+0x0/0x64) from [<c001ec00>]
>> (omap_mmc_probe+0x3d0/0x548) r5:c784f5c0 r4:00000000
>> [<c001e830>] (omap_mmc_probe+0x0/0x548) from [<c01dd554>]
>> (platform_drv_probe+0x20/0x24) [<c01dd534>] (platform_drv_probe+0x0/0x24)
>> from [<c01dc740>] (driver_probe_device+0xd4/0x180) [<c01dc66c>]
>> (driver_probe_device+0x0/0x180) from [<c01dc854>]
>> (__driver_attach+0x68/0x8c) r7:c789d140 r6:c038ada4 r5:c7910490 r4:c7910408
>> [<c01dc7ec>] (__driver_attach+0x0/0x8c) from [<c01dbf8c>]
>> (bus_for_each_dev+0x4c/0x80) r7:c789d140 r6:c038ada4 r5:c01dc7ec
>> r4:00000000
>> [<c01dbf40>] (bus_for_each_dev+0x0/0x80) from [<c01dc584>]
>> (driver_attach+0x20/0x28) r6:c038ada4 r5:00000000 r4:00000000
>> [<c01dc564>] (driver_attach+0x0/0x28) from [<c01db868>]
>> (bus_add_driver+0xa8/0x210) [<c01db7c0>] (bus_add_driver+0x0/0x210) from
>> [<c01dca78>] (driver_register+0x98/0x120) r8:00000001 r7:c001e814
>> r6:c038ada4 r5:00000000 r4:c0024a44
>> [<c01dc9e0>] (driver_register+0x0/0x120) from [<c01dd9fc>]
>> (platform_driver_register+0x6c/0x88) r9:00000000 r8:00000001 r7:c001e814
>> r6:00000000 r5:00000000
>> r4:c0024a44
>> [<c01dd990>] (platform_driver_register+0x0/0x88) from [<c001e828>]
>> (omap_mmc_init+0x14/0x1c) [<c001e814>] (omap_mmc_init+0x0/0x1c) from
>> [<c00292ec>] (do_one_initcall+0x5c/0x19c) [<c0029290>]
>> (do_one_initcall+0x0/0x19c) from [<c0008404>] (kernel_init+0x84/0xf8)
>> r8:00000000 r7:00000000 r6:00000000 r5:00000000 r4:c0024a44
>> [<c0008380>] (kernel_init+0x0/0xf8) from [<c0056ea0>] (do_exit+0x0/0x764)
>>  r4:00000000
>> ---[ end trace e339700732a37a4d ]---
>> [.../
>> (none):~# echo 1 > /sys/power/clocks_off_while_idle
>> (none):~# echo mem > /sys/power/state
>> PM: Syncing filesystems ... done.
>> Freezing user space processes ... (elapsed 0.00 seconds) done.
>> Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
>> Suspending console(s) (use no_console_suspend to debug)
>> ------------[ cut here ]------------
>> WARNING: at
>> /net/home/khilman/work/kernel/omap/pm/drivers/regulator/core.c:1216
>> regulator_disable+0x64/0x90() unbalanced disables for supply
>> mmci-omap-hs.0-vmmc
>> Modules linked in:
>> [<c02a0830>] (dump_stack+0x0/0x14) from [<c0053af0>]
>> (warn_slowpath+0x6c/0x88) [<c0053a84>] (warn_slowpath+0x0/0x88) from
>> [<c01b8bdc>] (regulator_disable+0x64/0x90) r3:c79dc2a0 r2:c03390cb
>>  r7:c78e8c20 r6:c78aac38 r5:c78e8c20 r4:fffffffb
>> [<c01b8b78>] (regulator_disable+0x0/0x90) from [<c0209400>]
>> (mmc_regulator_set_ocr+0xb0/0xcc) r7:c78e8c20 r6:00000001 r5:00000000
>> r4:00000000
>> [<c0209350>] (mmc_regulator_set_ocr+0x0/0xcc) from [<c003abe8>]
>> (twl_mmc1_set_power+0xc0/0xec) r7:c784f538 r6:00000000 r5:00000000
>> r4:c039185c
>> [<c003ab28>] (twl_mmc1_set_power+0x0/0xec) from [<c0210aa8>]
>> (omap_mmc_set_ios+0x54/0x2b0) r7:c784f538 r6:c784f5c0 r5:c784f400
>> r4:c7844380
>> [<c0210a54>] (omap_mmc_set_ios+0x0/0x2b0) from [<c0208dc8>]
>> (mmc_power_off+0x54/0x58) r7:c7910490 r6:c7910400 r5:a0000013 r4:c784f400
>> [<c0208d74>] (mmc_power_off+0x0/0x58) from [<c02097e0>]
>> (mmc_suspend_host+0x14c/0x154) [<c0209694>] (mmc_suspend_host+0x0/0x154)
>> from [<c02107e0>] (omap_mmc_suspend+0x30/0xe0) r5:c0388a74 r4:c784f5c0
>> [<c02107b0>] (omap_mmc_suspend+0x0/0xe0) from [<c01dd5d4>]
>> (platform_drv_suspend+0x20/0x24) r7:c7910490 r6:c79104b8 r5:c0388a74
>> r4:c0388ba4
>> [<c01dd5b4>] (platform_drv_suspend+0x0/0x24) from [<c01dd6c4>]
>> (platform_pm_suspend+0x50/0x5c) [<c01dd674>] (platform_pm_suspend+0x0/0x5c)
>> from [<c01df9ec>] (pm_op+0x38/0x7c) [<c01df9b4>] (pm_op+0x0/0x7c) from
>> [<c01e0150>] (device_suspend+0x350/0x480) r5:c7910408 r4:c0388ba4
>> [<c01dfe00>] (device_suspend+0x0/0x480) from [<c007d4b8>]
>> (suspend_devices_and_enter+0x44/0x1c4) [<c007d474>]
>> (suspend_devices_and_enter+0x0/0x1c4) from [<c007d7a0>]
>> (enter_state+0x134/0x1b8) r7:c02a5bf4 r6:00000003 r5:c031de6b r4:000072ab
>> [<c007d66c>] (enter_state+0x0/0x1b8) from [<c007d8c0>]
>> (state_store+0x9c/0xc4) r7:c02a5bf4 r6:00000003 r5:00000003 r4:c031de6b
>> [<c007d824>] (state_store+0x0/0xc4) from [<c019329c>]
>> (kobj_attr_store+0x20/0x24) [<c019327c>] (kobj_attr_store+0x0/0x24) from
>> [<c00f7010>] (sysfs_write_file+0x110/0x144) [<c00f6f00>]
>> (sysfs_write_file+0x0/0x144) from [<c00ac7b4>] (vfs_write+0xb8/0x148)
>> [<c00ac6fc>] (vfs_write+0x0/0x148) from [<c00ac908>] (sys_write+0x44/0x70)
>> r7:00000004 r6:c78d3ae0 r5:00000000 r4:00000000
>> [<c00ac8c4>] (sys_write+0x0/0x70) from [<c0029e20>]
>> (ret_fast_syscall+0x0/0x2c) r8:c0029fc8 r7:00000004 r6:401ab5e0 r5:000c3408
>> r4:00000004
>> ---[ end trace e339700732a37a4f ]---
>> Successfully put all powerdomains to target state
>> Restarting tasks ... done.
>>
>> [1]
>> http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summa
>>ry --
>> 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

      reply	other threads:[~2009-03-26 17:01 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-18  5:21 PM branch rebased to 2.6.29 Kevin Hilman
2009-03-18  7:41 ` Artem Bityutskiy
2009-03-18 15:51   ` Kevin Hilman
2009-03-19 22:20 ` David Brownell
2009-03-20 18:59   ` Tony Lindgren
2009-03-20 19:46     ` David Brownell
2009-03-20 19:57       ` Tony Lindgren
2009-03-20 21:27         ` Tony Lindgren
2009-03-20 22:36       ` David Brownell
2009-03-24 17:10 ` Peter Barada
2009-03-24 18:08   ` Kevin Hilman
2009-03-24 20:11     ` Peter Barada
2009-03-24 20:21       ` Kevin Hilman
2009-03-24 20:37         ` Peter Barada
2009-03-27 20:50         ` Russ Dill
2009-03-30 10:08           ` Premi, Sanjeev
2009-03-30 10:42             ` Koen Kooi
2009-03-30 13:22               ` Premi, Sanjeev
2009-03-30 17:44             ` Russ Dill
2009-03-30 17:57               ` Kevin Hilman
2009-03-30 18:18                 ` Peter Barada
2009-03-30 18:43               ` Kevin Hilman
2009-03-30 23:01                 ` Russ Dill
2009-03-31  7:01                   ` Russ Dill
2009-03-31 18:25                   ` Kevin Hilman
2009-03-31 21:31                     ` Russ Dill
2009-03-31 23:33                       ` Kevin Hilman
2009-04-01  1:30                         ` Russ Dill
2009-04-01  4:11                           ` Kevin Hilman
2009-03-26 16:54 ` Jean Pihet
2009-03-26 17:01   ` Kevin Hilman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87prg4i5gp.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=jpihet@mvista.com \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.