On 2014-10-08 12:43:58 (+0530), Sagar Padhye <sgr.m.pdy@gmail.com> wrote:
I am new at kernel programming. I have written a driver for a custom device, running on arm board. It works well (for last few months). I happen to look at kernel logs and I seen,
[231250.899146] WARNING: at kernel/workqueue.c:1953 process_one_work+0x398/0x52c()
You triggered a warning in the code.
The device is still working after this. No issues in operation. I am just sceptical about analyzing this issue? Do I need to check more? If yes how? with this trace?
Yes, this indicates a potential problem. You start my looking at line 1953 in kernel/workqueue.c, where you'll see which specific warning you're triggering. It's probably this one:
/* ensure we're on the correct CPU */ WARN_ON_ONCE(!(pool->flags & POOL_DISASSOCIATED) && raw_smp_processor_id() != pool->cpu);
Regards, Kristof