Re: [PATCH 6/9] lockdep: Introduce wait-type checks

From: Sebastian Andrzej Siewior
Date: Tue Mar 31 2020 - 09:42:57 EST


On 2020-03-31 15:25:21 [+0200], Geert Uytterhoeven wrote:
> Hi all,
Hi Geert,

> On arm64 (e.g. R-Car H3 ES2.0):
>
> +=============================
> +[ BUG: Invalid wait context ]
> +5.6.0-salvator-x-09423-gb29514ba13a9c459-dirty #679 Not tainted
> +-----------------------------
> +swapper/5/0 is trying to lock:
> +ffffff86ff76f398 (&pool->lock){..-.}-{3:3}, at: __queue_work+0x134/0x430

The pool->lock is not yet converted.
â
> On arm32 (e.g SH-Mobile AG5, using Cortex-A9 TWD):
>
> +=============================
> +[ BUG: Invalid wait context ]
> +5.6.0-kzm9g-09424-g2698719b4c4f35db-dirty #253 Not tainted
> +-----------------------------
> +swapper/0/0 is trying to lock:
> +dfbc5250 (&pool->lock){..-.}-{3:3}, at: __queue_work+0x14c/0x4d0

same issue.

> I also see it on other arm32 platforms using Renesas-specific timers,
> but I'll ignore those until the issues with "standard" ARM timers have
> been resolved ;-)

There are some known culprits, like the work infrastructure. The printk
is another one. From Kconfig:

| NOTE: There are known nesting problems. So if you enable this
| option expect lockdep splats until these problems have been fully
| addressed which is work in progress. This config switch allows to
| identify and analyze these problems. It will be removed and the
| check permanentely enabled once the main issues have been fixed.


> Thanks!
>
> Gr{oetje,eeting}s,
>
> Geert
>
>

Sebastian