]> git.pld-linux.org Git - packages/util-vserver.git/blobdiff - util-vserver-cpuset.patch
- sorted BRs
[packages/util-vserver.git] / util-vserver-cpuset.patch
index a189ad958c2498fb260c81a6a5410634759cc5c9..d4a6cf07866976aec4b763f7a0f29ca421175aff 100644 (file)
@@ -1,23 +1,24 @@
 diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30.209.cpuset/scripts/vserver-setup.functions
 --- util-vserver-0.30.209/scripts/vserver-setup.functions      2005-02-26 00:32:02.000000000 +0100
 +++ util-vserver-0.30.209.cpuset/scripts/vserver-setup.functions       2005-11-25 15:11:30.224131360 +0100
-@@ -24,11 +24,14 @@
+@@ -24,11 +24,15 @@
  SETUP_CONFDIR=
  SETUP_CONTEXT=
  SETUP_INITSTYLE=
 +SETUP_CPUSET=
 +SETUP_CPUSETCPUS=
 +SETUP_CPUSETMEMS=
++SETUP_CPUSETVIRT=
  
  declare -a SETUP_INTERFACES=()
  declare -a SETUP_FLAGS=()
  
 -declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:"
-+declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset,cpusetcpus,cpusetmems:"
++declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset:,cpusetcpus:,cpusetmems:,cpusetvirt"
  declare -r SETUP_HELPMSG=$"
      --context   ...  the static context of the vserver [default: none; a dynamic
                       context will be assumed]
-@@ -55,6 +58,16 @@
+@@ -55,6 +58,19 @@
                            this becomes a per vserver limit)
                     private: No other process can join this security context.
                            Even root
@@ -31,10 +32,13 @@ diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30
 +              ...  sets which memory pools belong to the CPUSET,
 +                   exclusive is a flag (0|1) prohibiting any other cpuset from
 +                   using those memory pools
++    --cpusetvirt
++              ...  virtualize cpuset (guest will see only CPUs defined in cpuset)
++                   Requires kernel patch from http://www.bullopensource.org/cpuset/
      --initstyle <style>
                  ...  configures the initstyle (e.g. minit,sysv,plain)
  "
-@@ -72,6 +85,19 @@
+@@ -72,6 +85,22 @@
        (--netbcast)    SETUP_NETBCAST=$2;;
        (--interface)   SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );;
        (--initstyle)   SETUP_INITSTYLE=$2;;
@@ -49,8 +53,11 @@ diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30
 +      (--cpusetmems)  old_IFS=$IFS
 +                      IFS=:
 +                      set -- $2
-+                      SETUP_CPUSETMEMS=$1;;
-+                      SETUP_CPUSETMEMSEXCL=$1;;
++                      SETUP_CPUSETMEMS=$1
++                      SETUP_CPUSETMEMSEXCL=$2
++                      IFS=$old_IFS
++                      ;;
++      (--cpusetvirt)  SETUP_CPUSETVIRT=1;;
        (--flags)       old_IFS=$IFS
                        IFS=,
                        set -- $2
@@ -63,7 +70,7 @@ diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30
  
      _setup_writeSingleOption "$name"            "$cfgdir"/name
      _setup_writeSingleOption "$SETUP_CONTEXT"   "$cfgdir"/context
-@@ -150,6 +176,11 @@
+@@ -150,6 +176,12 @@
      _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix
      _setup_writeSingleOption "$SETUP_NETBCAST"  "$cfgdir"/interfaces/bcast
      _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style
@@ -72,13 +79,14 @@ diff -ur util-vserver-0.30.209/scripts/vserver-setup.functions util-vserver-0.30
 +    _setup_writeSingleOption "$SETUP_CPUSETCPUSEXCL" "$cfgdir"/cpuset/cpus_exclusive
 +    _setup_writeSingleOption "$SETUP_CPUSETMEMS"     "$cfgdir"/cpuset/mems
 +    _setup_writeSingleOption "$SETUP_CPUSETMEMSEXCL" "$cfgdir"/cpuset/mem_exclusive
++    _setup_writeSingleOption "$SETUP_CPUSETVIRT"     "$cfgdir"/cpuset/virtualize
  
      local idx=0
      for i in "${SETUP_INTERFACES[@]}"; do
 diff -ur util-vserver-0.30.209/scripts/vserver.functions util-vserver-0.30.209.cpuset/scripts/vserver.functions
 --- util-vserver-0.30.209/scripts/vserver.functions    2005-11-25 14:30:27.665999880 +0100
 +++ util-vserver-0.30.209.cpuset/scripts/vserver.functions     2005-11-25 15:11:04.593027880 +0100
-@@ -687,6 +687,48 @@
+@@ -687,6 +687,54 @@
      fi
  }
  
@@ -88,23 +96,29 @@ diff -ur util-vserver-0.30.209/scripts/vserver.functions util-vserver-0.30.209.c
 +    local cpuset
 +    local f="$vdir"/cpuset
 +    local i
++    local configured=0
 +
 +    test -d "$f" || return 0
 +    test -e "$f"/name || return 0
 +
 +    read cpuset < "$f"/name
 +    test -e "$f"/nocreate || {
-+      test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset"
-+      for i in cpus mems cpu_exclusive mem_exclusive; do
-+          test -e "$f"/"$i" && cat "$f"/"$i" > /dev/cpuset/"$cpuset"/"$i"
++      test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset" || configured=1
++      for i in cpus mems cpu_exclusive mem_exclusive virtualize; do
++          if test -e "$f"/"$i"; then
++              cat "$f"/"$i" >/dev/cpuset/"$cpuset"/"$i" 2>/dev/null || {
++                  configured=1
++                  break
++              }
++          fi
 +      done
 +    }
 +
-+    if [ -e /dev/cpuset/"$cpuset"/tasks ] ; then
-+      echo $$ >/dev/cpuset/"$cpuset"/tasks
-+    else
++    echo $$ >/dev/cpuset/"$cpuset"/tasks || configured=1
++    if [ "$configured" -ne 0 ]; then
 +      warning $"\
 +WARNING: Failed to create or CPUSET \"$cpuset\" does not exist! Not using it!" >&2
++      rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
 +      return 0
 +    fi
 +}
@@ -120,7 +134,7 @@ diff -ur util-vserver-0.30.209/scripts/vserver.functions util-vserver-0.30.209.c
 +
 +    read cpuset < "$f"/name
 +    test -e "$f"/nocreate || {
-+      rmdir /dev/cpuset/"$cpuset"
++      rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
 +    }
 +}
 +
This page took 0.067837 seconds and 4 git commands to generate.