Re: uart_startup: GFP_KERNEL allocation with IRQs disabled

From: Jiri Slaby
Date: Fri Aug 03 2012 - 05:37:51 EST


On 08/03/2012 03:46 AM, Fengguang Wu wrote:
> Hi all,

Hi,

> The IRQ should be disabled somewhere in the path walk, which makes
> the GFP_KERNEL allocation in uart_startup() no longer valid..
>
> [ 0.499537] kworker/u:1 (29) used greatest stack depth: 7156 bytes left
> [ 0.500947] ------------[ cut here ]------------
> [ 0.501445] WARNING: at /c/kernel-tests/src/stable/kernel/lockdep.c:2739 lockdep_trace_alloc+0x86/0xb2()
> [ 0.502413] Modules linked in:
> [ 0.502766] Pid: 1, comm: init Not tainted 3.5.0-01258-g1ade992 #182
> [ 0.503419] Call Trace:
...
> [ 0.504381] [<c1079e7d>] get_zeroed_page+0xd/0xf
> [ 0.504381] [<c10f976f>] uart_startup.part.8+0x46/0x152
> [ 0.504381] [<c10f745f>] ? tty_port_tty_set+0x37/0x3c
> [ 0.504381] [<c10fa175>] uart_open+0xc9/0x10b
> [ 0.504381] [<c10fa0ac>] ? uart_suspend_port+0x229/0x229
> [ 0.504381] [<c10f1bc2>] tty_open+0x26b/0x3d3
> [ 0.504381] [<c109872a>] chrdev_open+0xf7/0x117

This does not make sense to me. I would not blame TTY/serial for this.
There is somebody who forgot to enable interrupts somewhere. Could you
enable DEBUG_ATOMIC_SLEEP? It might trigger earlier revealing us the
culprit.

thanks,
--
js
suse labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/