I have noticed this task scheduling incorrect behavior
(running linux kernel in a 2-way SMP box):
(values in parenthesis are the PID of the processes I am referring to)
------------------------------------------------------------------------------
Three processes ("niced" to 19)
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
328 rsousa 20 19 16116 14M 420 R N 0 78.7 11.5 58:15 cpw_md5.exe
322 rsousa 20 19 16208 15M 520 R N 0 64.2 12.5 38:37 cpw_md3.exe
325 rsousa 20 19 45112 42M 516 R N 0 54.2 34.2 57:41 cpw_md3.exe
difference in cpu time (328-325) 00:34
difference in cpu time (328-322) 19:38
after some minutes:
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
325 rsousa 19 19 45112 42M 516 R N 0 85.8 34.2 64:04 cpw_md3.exe
322 rsousa 20 19 16208 15M 520 R N 0 61.0 12.5 45:17 cpw_md3.exe
328 rsousa 19 19 16116 14M 420 R N 0 52.2 11.5 64:04 cpw_md5.exe
difference (328-325) 00:00
difference (328-322) 18:47
time elapsed (328) 05:49
The processes are definitely not getting the same amount of cpu. They
are almost identical programs (number crunching) with just different
inputs.
------------------------------------------------------------------------------
Three processes ("niced" to -5)
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
328 rsousa 20 -5 16164 15M 568 R < 0 68.7 12.4 92:52 cpw_md5.exe
325 rsousa 18 -5 63844 62M 560 R < 0 66.3 49.6 93:11 cpw_md3.exe
322 rsousa 12 -5 16160 15M 472 R < 0 63.0 12.4 74:35 cpw_md3.exe
difference (328-325) -00:19
difference (328-322) 18:17
after some minutes:
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
322 rsousa 17 -5 16160 15M 472 R < 0 68.6 12.4 80:50 cpw_md3.exe
325 rsousa 15 -5 64776 63M 560 R < 0 65.7 50.3 99:18 cpw_md3.exe
328 rsousa 19 -5 16164 15M 568 R < 0 62.8 12.4 99:02 cpw_md5.exe
difference (328-325) -00:16
difference (328-322) 18:12
time elapsed (328) 06:10
At least it is consistent, the processes getting more cpu, previously,
now get less.
This doesn't happen with four processes running, so I think it's
a problem when running a odd number of processes (greater than the
number of cpu's). Also I don't think it affects UP machines.
Rui Sousa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/