Re: [Linux v4.2] workqueue: llvmlinux: acpid: BUG: sleeping function called from invalid context at kernel/workqueue.c:2680

From: Sedat Dilek
Date: Sun Sep 27 2015 - 04:34:30 EST


On Sun, Sep 27, 2015 at 10:10 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> On Fri, Sep 25, 2015 at 3:13 PM, Jiri Kosina <jikos@xxxxxxxxxx> wrote:
>> On Fri, 25 Sep 2015, Sedat Dilek wrote:
>>
>>> > The sequence looks correct. So I don't really see what call sequence could
>>> > lead to calling flush_work() from __cancel_work_timer() with IRQs
>>> > disabled (which is what your stacktrace is suggesting).
>>> >
>>> > The fact that this doesn't happen with GCC-compiled kernels is really
>>> > suspicious.
>>> >
>>>
>>> Hm, and now?
>>
>> I guess one of the things to try is to generate ftrace graph trace to see
>> what exact function sequence leads to this warning.
>>
>
> Which kernel-config settings are helpful for ftrace and tracing at all?
>
> I have here...
>
> CONFIG_IRQSOFF_TRACER=n
>
> ...is that helpful to trigger why I see "irqs_disabled"...
>
> [ 23.874836] BUG: sleeping function called from invalid context at
> kernel/workqueue.c:2678
> [ 23.874902] in_atomic(): 0, irqs_disabled(): 1, pid: 1411, name: acpid
>
> Also independent of this issue I would like to set...
>
> CONFIG_LOCKDEP=y
> CONFIG_DEBUG_LOCKDEP=y <--- XXX: New setting
>
> I recall something like a trace/tracing filesystem?
> I cannot find or remember the Kconfig - do you?
>

It is CONFIG_TRACING=y (see [1] and "tracefs: Add new tracefs file
system" from [2]).

- Sedat -

[1] https://lwn.net/Articles/631798/
[2] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4282d60689d4f21b40692029080440cc58e8a17d
--
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/