Yes, something is wrong with the CPU scheduler. Simple test case:
./tbench_srv &
while true
do
./tbench 4
done &
cd /usr/src/util-linux
time make -j4
The tbench activity takes the time to compile util-linux from 13 second to
133 seconds.
But that is not the whole story. The compilation appeared to make no
progress at all while tbench was running - it was only in the gaps between
ending one tbench run and starting another that the compilation did anything.
When I changed the load to one instance of
while true
do
./tbench 2
done
and one instance of
while true
do
./tbench 3
done
the compilation made no progress except for those rare instances when the two
shell scripts were restarting the tbench run at the same time. After a while
the scripts fell itno synchronism, and the compilation took 260 seconds.
Conclusion: tbench completely starves the `make'.
It mainly seems to affect uniprocessor builds. SMP was much better behaved.
Adding the sched-f3 patch basicaly fixed it all up. The 133 second build
came down to 55 seconds, and the compilation was visibly making progress
during the tbench runs.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/