Re: [Vserver] Re: Chasing kernel crashes on SMP

From: Grzegorz Nosek <grzegorz.nosek_at_gmail.com>
Date: Thu 01 Dec 2005 - 12:27:48 GMT
Message-ID: <121a28810512010427s2a85b04eh@mail.gmail.com>

2005/11/30, Grzegorz Nosek <grzegorz.nosek@gmail.com>:

Have a look into patch ver. 2.1.0-rc8. Relevant sections:

--------------8<-------snip--------8<-------------

@@ -135,7 +138,8 @@ static const char *task_state_array[] =
        "T (stopped)", /* 4 */
        "T (tracing stop)", /* 8 */
        "Z (zombie)", /* 16 */
- "X (dead)" /* 32 */
+ "X (dead)", /* 32 */
+ "H (on hold)" /* 64 */
 };

 static inline const char * get_task_state(struct task_struct *tsk)

@@ -127,6 +129,7 @@ extern unsigned long nr_iowait(void);
 #define EXIT_DEAD 32
 /* in tsk->state again */
 #define TASK_NONINTERACTIVE 64
+#define TASK_ONHOLD 128

 #define __set_task_state(tsk, state_value) \
        do { (tsk)->state = (state_value); } while (0)

--------------8<-------snip--------8<-------------

Now, spot the bug :D Took me three days. Patch below (the "N
(noninteractive)" is actually unused but it doesn't hurt to make it
informative. Feel free to replace e.g. the comment with /* 64 (unused)
*/

diff -Naur linux-2.6-orig/fs/proc/array.c linux-2.6/fs/proc/array.c
--- linux-2.6-orig/fs/proc/array.c 2005-11-28 12:09:46.000000000 +0100
+++ linux-2.6/fs/proc/array.c 2005-12-01 09:31:46.000000000 +0100
@@ -139,7 +139,8 @@
        "T (tracing stop)", /* 8 */
        "Z (zombie)", /* 16 */
        "X (dead)", /* 32 */
- "H (on hold)" /* 64 */
+ "N (noninteractive)", /* 64 */
+ "H (on hold)" /* 128 */
 };

 static inline const char * get_task_state(struct task_struct *tsk)

Best regards,
 Grzegorz Nosek
_______________________________________________
Vserver mailing list
Vserver@list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver
Received on Thu Dec 1 12:28:10 2005

[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Thu 01 Dec 2005 - 12:28:13 GMT by hypermail 2.1.8