schedule_timeout() called with state TASK_RUNNING from fs/select.c

From: Robert P. J. Day
Date: Sat Jul 07 2007 - 15:02:44 EST



as i understand it, schedule_timeout() should always be called with
a current->state of TASK_INTERRUPTIBLE or TASK_UNINTERRUPTIBLE, no?
based on a trivial check i added to kernel/timer.c, i can read this in
/var/log/messages:

...
Jul 7 14:48:40 localhost kernel: Bad schedule_timeout state: 0 from Xorg, c015eeb9
Jul 7 14:49:05 localhost kernel: Bad schedule_timeout state: 0 from gnome-terminal, c015ea47
Jul 7 14:50:19 localhost kernel: Bad schedule_timeout state: 0 from Xorg, c015eeb9
Jul 7 14:50:50 localhost kernel: Bad schedule_timeout state: 0 from Xorg, c015eeb9
...

those last values are __builtin_return_address(0), and here's the
snippet from /proc/kallsyms:

...
c015e7f2 T do_sys_poll
c015eb19 T sys_poll
c015eb50 T do_select
c015ef10 t core_sys_select
...

i'm guessing those addresses correspond to the calls to
schedule_timeout() in do_sys_poll() and do_select(), if anyone thinks
it's worth looking at.

rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================
-
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/