SOURCES: util-vserver-cpuset.patch - more features

baggins baggins at pld-linux.org
Fri Nov 25 15:14:50 CET 2005


Author: baggins                      Date: Fri Nov 25 14:14:49 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- more features

---- Files affected:
SOURCES:
   util-vserver-cpuset.patch (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: SOURCES/util-vserver-cpuset.patch
diff -u SOURCES/util-vserver-cpuset.patch:1.3 SOURCES/util-vserver-cpuset.patch:1.4
--- SOURCES/util-vserver-cpuset.patch:1.3	Tue Aug 16 00:44:24 2005
+++ SOURCES/util-vserver-cpuset.patch	Fri Nov 25 15:14:43 2005
@@ -1,44 +1,84 @@
-diff -ur util-vserver-0.30.208/scripts/vserver-setup.functions util-vserver-0.30.208.cpuset/scripts/vserver-setup.functions
---- util-vserver-0.30.208/scripts/vserver-setup.functions	2005-02-26 00:32:02.000000000 +0100
-+++ util-vserver-0.30.208.cpuset/scripts/vserver-setup.functions	2005-08-15 20:16:58.741453736 +0200
-@@ -28,7 +28,7 @@
+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 @@
+ SETUP_CONFDIR=
+ SETUP_CONTEXT=
+ SETUP_INITSTYLE=
++SETUP_CPUSET=
++SETUP_CPUSETCPUS=
++SETUP_CPUSETMEMS=
+ 
  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:"
++declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset,cpusetcpus,cpusetmems:"
  declare -r SETUP_HELPMSG=$"
      --context   ...  the static context of the vserver [default: none; a dynamic
                       context will be assumed]
-@@ -55,6 +55,8 @@
+@@ -55,6 +58,16 @@
  			    this becomes a per vserver limit)
  		     private: No other process can join this security context.
  		            Even root
 +    --cpuset <name>
 +		...  declares the CPUSET this vserver will run in [default: none]
++    --cpusetcpus <number[-number][:<exclusive>]>
++		...  sets which cpus belong to the CPUSET,
++		     exclusive is a flag (0|1) prohibiting any other cpuset from
++		     using those cpus
++    --cpusetmems <number[-number][:<exclusive>]>
++		...  sets which memory pools belong to the CPUSET,
++		     exclusive is a flag (0|1) prohibiting any other cpuset from
++		     using those memory pools
      --initstyle <style>
                  ...  configures the initstyle (e.g. minit,sysv,plain)
  "
-@@ -72,6 +74,7 @@
+@@ -72,6 +85,19 @@
  	(--netbcast)	SETUP_NETBCAST=$2;;
  	(--interface)	SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );;
  	(--initstyle)   SETUP_INITSTYLE=$2;;
 +	(--cpuset)	SETUP_CPUSET=$2;;
++	(--cpusetcpus)	old_IFS=$IFS
++			IFS=:
++			set -- $2
++			SETUP_CPUSETCPUS=$1
++			SETUP_CPUSETCPUSEXCL=$2
++			IFS=$old_IFS
++			;;
++	(--cpusetmems)	old_IFS=$IFS
++			IFS=:
++			set -- $2
++			SETUP_CPUSETMEMS=$1;;
++			SETUP_CPUSETMEMSEXCL=$1;;
  	(--flags)	old_IFS=$IFS
  			IFS=,
  			set -- $2
-@@ -150,6 +153,7 @@
+@@ -140,7 +166,7 @@
+     local cfgdir=${SETUP_CONFDIR:?}
+     local i
+ 
+-    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts
++    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts "$cfgdir"/cpuset
+ 
+     _setup_writeSingleOption "$name"            "$cfgdir"/name
+     _setup_writeSingleOption "$SETUP_CONTEXT"   "$cfgdir"/context
+@@ -150,6 +176,11 @@
      _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix
      _setup_writeSingleOption "$SETUP_NETBCAST"  "$cfgdir"/interfaces/bcast
      _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style
-+    _setup_writeSingleOption "$SETUP_CPUSET"    "$cfgdir"/cpuset
++    _setup_writeSingleOption "$SETUP_CPUSET"    "$cfgdir"/cpuset/name
++    _setup_writeSingleOption "$SETUP_CPUSETCPUS"     "$cfgdir"/cpuset/cpus
++    _setup_writeSingleOption "$SETUP_CPUSETCPUSEXCL" "$cfgdir"/cpuset/cpus_exclusive
++    _setup_writeSingleOption "$SETUP_CPUSETMEMS"     "$cfgdir"/cpuset/mems
++    _setup_writeSingleOption "$SETUP_CPUSETMEMSEXCL" "$cfgdir"/cpuset/mem_exclusive
  
      local idx=0
      for i in "${SETUP_INTERFACES[@]}"; do
-diff -ur util-vserver-0.30.208/scripts/vserver.functions util-vserver-0.30.208.cpuset/scripts/vserver.functions
---- util-vserver-0.30.208/scripts/vserver.functions	2005-07-03 19:47:06.000000000 +0200
-+++ util-vserver-0.30.208.cpuset/scripts/vserver.functions	2005-08-15 20:16:58.743453432 +0200
-@@ -667,6 +667,23 @@
+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 @@
      fi
  }
  
@@ -47,25 +87,50 @@
 +    local vdir=$1
 +    local cpuset
 +    local f="$vdir"/cpuset
++    local i
++
++    test -d "$f" || return 0
++    test -e "$f"/name || return 0
 +
-+    test -e "$f" || return 0
-+    read cpuset < "$f"
-+    if [ -e /dev/cpuset/$cpuset/tasks ] ; then
-+	echo $$ >/dev/cpuset/$cpuset/tasks
++    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"
++	done
++    }
++
++    if [ -e /dev/cpuset/"$cpuset"/tasks ] ; then
++	echo $$ >/dev/cpuset/"$cpuset"/tasks
 +    else
 +	warning $"\
-+WARNING: CPUSET \"$cpuset\" does not exist! Not using it!" >&2
++WARNING: Failed to create or CPUSET \"$cpuset\" does not exist! Not using it!" >&2
 +	return 0
 +    fi
 +}
 +
++function removeCPUSET
++{
++    local vdir=$1
++    local cpuset
++    local f="$vdir"/cpuset
++
++    test -d "$f" || return 0
++    test -e "$f"/name || return 0
++
++    read cpuset < "$f"/name
++    test -e "$f"/nocreate || {
++	rmdir /dev/cpuset/"$cpuset"
++    }
++}
++
  function _mountVserverInternal
  {
      local fstab="$1"
-diff -ur util-vserver-0.30.208/scripts/vserver.start util-vserver-0.30.208.cpuset/scripts/vserver.start
---- util-vserver-0.30.208/scripts/vserver.start	2005-07-15 21:01:06.000000000 +0200
-+++ util-vserver-0.30.208.cpuset/scripts/vserver.start	2005-08-15 20:16:58.744453280 +0200
-@@ -97,6 +97,7 @@
+diff -ur util-vserver-0.30.209/scripts/vserver.start util-vserver-0.30.209.cpuset/scripts/vserver.start
+--- util-vserver-0.30.209/scripts/vserver.start	2005-10-28 20:41:32.000000000 +0200
++++ util-vserver-0.30.209.cpuset/scripts/vserver.start	2005-11-25 14:30:14.958931648 +0100
+@@ -111,6 +111,7 @@
  
  mountVserver "$VSERVER_DIR"     && is_mounted=1
  prepareInit  "$VSERVER_DIR"
@@ -73,9 +138,17 @@
  
  pushd "$VSERVER_DIR"/vdir/ >/dev/null
  execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" pre-start
-diff -ur util-vserver-0.30.208/scripts/vserver.suexec util-vserver-0.30.208.cpuset/scripts/vserver.suexec
---- util-vserver-0.30.208/scripts/vserver.suexec	2005-07-15 21:01:06.000000000 +0200
-+++ util-vserver-0.30.208.cpuset/scripts/vserver.suexec	2005-08-15 20:16:58.745453128 +0200
+diff -ur util-vserver-0.30.209/scripts/vserver.stop util-vserver-0.30.209.cpuset/scripts/vserver.stop
+--- util-vserver-0.30.209/scripts/vserver.stop	2005-10-29 17:35:43.000000000 +0200
++++ util-vserver-0.30.209.cpuset/scripts/vserver.stop	2005-11-25 15:12:23.679004984 +0100
+@@ -99,3 +99,4 @@
+ disableInterfaces "$VSERVER_DIR"
+ 
+ execScriptlets    "$VSERVER_DIR" "$VSERVER_NAME" postpost-stop
++removeCPUSET      "$VSERVER_DIR"
+diff -ur util-vserver-0.30.209/scripts/vserver.suexec util-vserver-0.30.209.cpuset/scripts/vserver.suexec
+--- util-vserver-0.30.209/scripts/vserver.suexec	2005-07-15 21:01:06.000000000 +0200
++++ util-vserver-0.30.209.cpuset/scripts/vserver.suexec	2005-11-25 14:30:14.958931648 +0100
 @@ -22,6 +22,7 @@
      exit 1
  }
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/util-vserver-cpuset.patch?r1=1.3&r2=1.4&f=u




More information about the pld-cvs-commit mailing list