[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#489223: kernel: niced processes get half of the CPU (problem with group fair scheduling)



Package: kernel
Severity: normal


Hi,

here is a scenario to illustrate the problem:

 - run low priority processes with a 19 nice value (for example
distributed-net aka dnetc) under the identity of a specific user
(daemon)
 - run a normal priority process under the identity of a another user
(for example burnP6 from the cpuburn package)

Traditional and expected Unix behavior is to give dnetc a small share of
the CPU and burnP6 should have a large share of the CPU.  However here
is the CPU distribution according to "top" on a dual core system:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
27870 daemon    39  19   704  428  336 R  100  0.0   1:01.24 dnetc
28653 daemon    39  19   704  204  112 R   50  0.0   0:56.02 dnetc
29615 bonnaud   20   0    96   16    8 R   50  0.0   0:08.64 burnP6
[...]

According to 

  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188226

this can be fixed by changing the kernel configuration.  Here is what is
used in Debian:

$ grep GROUP_SCHED /boot/config-2.6.25-2-686
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_CGROUP_SCHED is not set

and here is what is used in Ubuntu:

$ grep GROUP_SCHED /boot/config-2.6.24-19-generic
CONFIG_FAIR_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.25-2-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

-- 
Laurent Bonnaud.
http://www.lis.inpg.fr/pages_perso/bonnaud/





Reply to: