Subject: Re: [vserver] util-vserver & cpuset bug ?
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Tue, 14 Jul 2009 19:20:13 +0200

On Tue, Jul 14, 2009 at 07:07:58PM +0200, xavier de poorter wrote:
> Hi,
> 
> if i lauch a vserver with a configured cpuset :
> 
> root@vasy.jvweb.ici:/etc/vservers/test# vserver test start
> /usr/lib/util-vserver/vserver.functions: line 874: /dev/cpuset/test/cpus: Permission
denied
> /usr/lib/util-vserver/vserver.functions: line 882: echo: write error: No space left
on device
> WARNING: Failed to create or CPUSET "test" does not exist! Not using it!
>  * Starting system logging syslog-ng
>    ...done.
>  * Starting OpenBSD Secure Shell server sshd
>    ...done.
>  * Starting periodic command scheduler crond
>    ...done.
>  * Running local boot scripts (/etc/rc.local)
>    ...done.
> 
> 
> uname -r
> 2.6.29.6-0.3-grsec2.1.14-vs2.3.0.36.14

try without grsec, and make sure that you do not use
cgroups and cpusets at the same time, IIRC, they
conflict in some way

TIA,
Herbert

> dpkg -l util-vserver
> ii	util-vserver	0.30.216~r2772-6
> 
> root@vasy.jvweb.ici:/etc/vservers/test/cpuset# for i in $(ls); do echo -n "$i  ";
cat $i;done
> cpus  1
> mems  0
> name  test
> 
> 
> mkdir -p /dev/cpuset
> mount -t cgroup -ocpuset cpuset /dev/cpuset
> 
> ls -l /dev/cpuset/test/
> total 0
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.cpu_exclusive
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.cpus
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.mem_exclusive
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.mem_hardwall
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.memory_migrate
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.memory_pressure
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.memory_spread_page
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.memory_spread_slab
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.mems
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.sched_load_balance
> -rw-r--r-- 1 root root 0 Jul 14 18:27 cpuset.sched_relax_domain_level
> -rw-r--r-- 1 root root 0 Jul 14 18:27 notify_on_release
> -rw-r--r-- 1 root root 0 Jul 14 18:27 tasks
> 
> 
> it works fine if i modify /usr/lib/util-vserver/vserver.functions like this :
> 
> --- /usr/lib/util-vserver/vserver.functions.ori	2009-07-14 18:26:54.000000000 +0200
> +++ /usr/lib/util-vserver/vserver.functions	2009-07-14 18:27:35.000000000 +0200
> @@ -871,7 +871,7 @@
>         test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset" || configured=1
>         for i in cpus mems cpu_exclusive mem_exclusive virtualized; do
>             if test -e "$f"/"$i"; then
> -               cat "$f"/"$i" >/dev/cpuset/"$cpuset"/"$i" || {
> +               cat "$f"/"$i" >/dev/cpuset/"$cpuset"/cpuset."$i" || {
>                     configured=1
>                     break
>                 }
> 
> my first litle bug report :) 
> 
> best regards,
> xavier de poorter