Regression with idle cpu cycle handling in 2.6.24 (compared to 2.6.22)

From: dAniel hAhler
Date: Sat Jan 19 2008 - 09:05:29 EST


Hello,

I have BOINC running in the background with niceness 19.
With a 2.6.22 kernel, only idle cpu cycles get assigned to this process, as
expected.

But with the 2.6.24 kernel, the BOINC process gets at least about half of
all CPU cycles, even if there's another process (owned by another user)
requesting CPU cycles (e.g. "cat /dev/urandom > /dev/null")

This happens with the Ubuntu kernel (from Hardy) and the daily builds from
http://kernel-archive.buildserver.net/debian-kernel/ (where I've just tested
rc8 now).

It appears that every user (here "boinc" and my user) get the same portion
of the overall CPU cycles, regardless of the process niceness.

Is this expected behaviour?

I'm using an AMD64 3000+ processor. Please ask for additional information, if
you need it (e.g. kernel config).


TESTCASE:
$ cat /dev/urandom > /dev/null &
$ sudo -u another_user nice -n 19 python -c 'i = 0;
while 1:
i += i
'

EXPECTED RESULT:
The niced process should get nearly no CPU cycles.

ACTUAL RESULT:
The niced process gets about half of the CPU cycles (according to "top").


The bug has been reported for Ubuntu on https://launchpad.net/bugs/177713


--
http://daniel.hahler.de/
--
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/