lockdep warning during boot with tilt-3.4

Bug #1018141 reported by Ricardo Salveti
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Ubuntu
Fix Released
Low
Ricardo Salveti
linaro-landing-team-ti
Fix Released
Low
David Long

Bug Description

[ 1.726135] ------------[ cut here ]------------
[ 1.731018] WARNING: at /build/buildd/linux-linaro-lt-omap-3.4-3.4.0/kernel/lockdep.c:2739 lockdep_trace_alloc+0x29/0x34()
[ 1.742492] Modules linked in:
[ 1.745758] [<c0011011>] (unwind_backtrace+0x1/0x90) from [<c002b409>] (warn_slowpath_common+0x39/0x50)
[ 1.755554] [<c002b409>] (warn_slowpath_common+0x39/0x50) from [<c002b435>] (warn_slowpath_null+0x15/0x16)
[ 1.765594] [<c002b435>] (warn_slowpath_null+0x15/0x16) from [<c005ce89>] (lockdep_trace_alloc+0x29/0x34)
[ 1.775573] [<c005ce89>] (lockdep_trace_alloc+0x29/0x34) from [<c00b8231>] (kmem_cache_alloc_trace+0x21/0x100)
[ 1.785980] [<c00b8231>] (kmem_cache_alloc_trace+0x21/0x100) from [<c0023011>] (omap2_dpll_round_rate+0xfd/0x138)
[ 1.796691] [<c0023011>] (omap2_dpll_round_rate+0xfd/0x138) from [<c0024417>] (omap4460_mpu_dpll_round_rate+0x17/0x22)
[ 1.807800] [<c0024417>] (omap4460_mpu_dpll_round_rate+0x17/0x22) from [<c0022bcd>] (omap2_clk_round_rate+0xf/0x14)
[ 1.818664] [<c0022bcd>] (omap2_clk_round_rate+0xf/0x14) from [<c0025877>] (clk_round_rate+0x33/0x54)
[ 1.828277] [<c0025877>] (clk_round_rate+0x33/0x54) from [<c071a0e1>] (omap_init_opp_table+0x69/0x128)
[ 1.837982] [<c071a0e1>] (omap_init_opp_table+0x69/0x128) from [<c071a21b>] (omap4_opp_init+0x37/0x74)
[ 1.847686] [<c071a21b>] (omap4_opp_init+0x37/0x74) from [<c00085f5>] (do_one_initcall+0x69/0xf4)
[ 1.856933] [<c00085f5>] (do_one_initcall+0x69/0xf4) from [<c0711683>] (do_basic_setup+0x6b/0x90)
[ 1.866180] [<c0711683>] (do_basic_setup+0x6b/0x90) from [<c07116f7>] (kernel_init+0x4f/0xb8)
[ 1.875061] [<c07116f7>] (kernel_init+0x4f/0xb8) from [<c000cbfd>] (kernel_thread_exit+0x1/0x6)
[ 1.884155] ---[ end trace 0da3e76b87a358c1 ]---

Using kernel:
linux-linaro-lt-omap-3.4 (3.4.0-1.1~120625232503) precise; urgency=low-lt-omap/ch

  * Packaged version of lt-omap kernel created from:
    Kernel:
    Repo: git://git.linaro.org/landing-teams/working/ti/kernel.git
    Branch: tilt-3.4
    Head:
        commit 61abde21bf6272908466e2d13acd479743b4f0b3
        Author: Jaswinder Singh <jaswinder.singh.org>
        Date: Fri Jun 22 11:26:22 2012 +0800

            omapdss temp hack ignore resume runtime_pm fail

            Signed-off-by: Jaswinder Singh <jaswinder.singh.org>

    Board config fragment:
    Repo: git://git.linaro.org/kernel/configs.git
    Branch: config-boards-3.4
    Head:
        commit b7274f7e11c782039d94a6662c823e339c21dd50
        Author: Ricardo Salveti de Araujo <ricardo.salveti.org>
        Date: Mon Jun 25 15:30:04 2012 -0300

            configs: omap4: disabling CPU_IDLE due bug 971091

            Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti.org>

    Ubuntu and Linaro Base config fragments:
    Repo: git://git.linaro.org/kernel/configs.git
    Branch: config-core-3.4
    Head:
        commit 072bd6cb29aa25a3fe0f6be08af48f5a58eae849
        Author: Ricardo Salveti de Araujo <ricardo.salveti.org>
        Date: Mon Jun 25 18:06:06 2012 -0300

            configs: ubuntu: disabling CGROUPS as default

            Not yet stable enough to be used as default for all boards we currently
            support at Linaro.

            Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti.org>

    Packaging template:
    Repo: git://git.linaro.org/ubuntu/linux-linaro-quantal.git
    Branch: linaro-ubuntu-packaging-3.4
    Head:
        commit 3da2b9971c9fbd9d039bf902ee8d31fdc8cc16f2
        Author: John Rigby <john.rigby.org>
        Date: Mon Jun 25 15:04:23 2012 -0600

            LINARO: template debian.linaro based on omap only version

            Signed-off-by: John Rigby <john.rigby.org>

 -- John Rigby <email address hidden> Mon, 25 Jun 2012 15:04:22 -0600

visibility: private → public
Changed in linaro-ubuntu:
status: New → Confirmed
warmcat (andy-warmcat)
Changed in linaro-landing-team-ti:
status: New → Confirmed
assignee: nobody → David Long (dave-long)
Revision history for this message
warmcat (andy-warmcat) wrote :

Dave it's complaining about the kzalloc in omap2_dpll_round_rate() which you added to generate the rate cache.

Actually I don't know what it's complaining about exactly except somehow it's a "bad time to do kzalloc()", and it's the only code that triggers the problem.

Since there are only a handful of discrete frequencies, I guess you should make a patch which adapts this code to use a static array of struct dpll_rate_list and a static "high water mark" replacing kzalloc. If it reaches the size of the array, just don't cache the result any more. Or, if you can see what the actual complaint is really about attacking it that way is also an option.

Revision history for this message
Jassi Brar (jassisinghbrar) wrote :

> Actually I don't know what it's complaining about exactly except somehow it's a "bad time to do kzalloc()",
> and it's the only code that triggers the problem.
I think if we must allocate there, we should use GFP_ATOMIC instead of GFP_KERNEL

Revision history for this message
warmcat (andy-warmcat) wrote :

Thanks Jassi, sounds like the problem... since it's 1am for Dave I'll add a little patch to do that.

Revision history for this message
warmcat (andy-warmcat) wrote :

Should be solved on tilt-3.4 >= 67d452ba33c34c9078898dddce283667ff2c1267

Changed in linaro-landing-team-ti:
status: Confirmed → Fix Committed
warmcat (andy-warmcat)
Changed in linaro-landing-team-ti:
status: Fix Committed → Fix Released
Usman Ahmad (usman-ah)
Changed in linaro-landing-team-ti:
importance: Undecided → Low
Changed in linaro-ubuntu:
status: Confirmed → Fix Committed
importance: Undecided → Low
assignee: nobody → Ricardo Salveti (rsalveti)
Fathi Boudra (fboudra)
Changed in linaro-ubuntu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.