Question about task_struct::state

From: Dhaval Giani
Date: Tue Jun 10 2008 - 11:51:51 EST


Hi Ingo, Oleg,

sched.h has a comment in task_struct

volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */

After some searching, I've not been able to figure out how state can
become -1 (or unrunnable). Can you let me know how that happens?

If it cannot reach that state, then maybe this patch is needed.

Signed-off-by: Dhaval Giani <dhaval@xxxxxxxxxxxxxxxxxx>

Index: linux-2.6/include/linux/sched.h
===================================================================
--- linux-2.6.orig/include/linux/sched.h 2008-06-10 21:13:02.000000000 +0530
+++ linux-2.6/include/linux/sched.h 2008-06-10 21:14:44.000000000 +0530
@@ -1024,7 +1024,7 @@ struct sched_rt_entity {
};

struct task_struct {
- volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
+ volatile long state; /* 0 runnable, >0 stopped */
void *stack;
atomic_t usage;
unsigned int flags; /* per process flags, defined below */

--
regards,
Dhaval
--
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/