]>
Commit | Line | Data |
---|---|---|
3c0ef616 JR |
1 | diff -ur util-vserver-0.30.208/scripts/vserver-setup.functions util-vserver-0.30.208.cpuset/scripts/vserver-setup.functions |
2 | --- util-vserver-0.30.208/scripts/vserver-setup.functions 2005-02-26 00:32:02.000000000 +0100 | |
3 | +++ util-vserver-0.30.208.cpuset/scripts/vserver-setup.functions 2005-08-15 20:16:58.741453736 +0200 | |
42bbd7f7 JR |
4 | @@ -28,7 +28,7 @@ |
5 | declare -a SETUP_INTERFACES=() | |
6 | declare -a SETUP_FLAGS=() | |
7 | ||
8 | -declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:" | |
9 | +declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset:" | |
10 | declare -r SETUP_HELPMSG=$" | |
11 | --context ... the static context of the vserver [default: none; a dynamic | |
12 | context will be assumed] | |
3c0ef616 JR |
13 | @@ -55,6 +55,8 @@ |
14 | this becomes a per vserver limit) | |
15 | private: No other process can join this security context. | |
16 | Even root | |
17 | + --cpuset <name> | |
18 | + ... declares the CPUSET this vserver will run in [default: none] | |
19 | --initstyle <style> | |
20 | ... configures the initstyle (e.g. minit,sysv,plain) | |
21 | " | |
22 | @@ -72,6 +74,7 @@ | |
23 | (--netbcast) SETUP_NETBCAST=$2;; | |
24 | (--interface) SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );; | |
25 | (--initstyle) SETUP_INITSTYLE=$2;; | |
26 | + (--cpuset) SETUP_CPUSET=$2;; | |
27 | (--flags) old_IFS=$IFS | |
28 | IFS=, | |
29 | set -- $2 | |
30 | @@ -150,6 +153,7 @@ | |
31 | _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix | |
32 | _setup_writeSingleOption "$SETUP_NETBCAST" "$cfgdir"/interfaces/bcast | |
33 | _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style | |
34 | + _setup_writeSingleOption "$SETUP_CPUSET" "$cfgdir"/cpuset | |
35 | ||
36 | local idx=0 | |
37 | for i in "${SETUP_INTERFACES[@]}"; do | |
38 | diff -ur util-vserver-0.30.208/scripts/vserver.functions util-vserver-0.30.208.cpuset/scripts/vserver.functions | |
39 | --- util-vserver-0.30.208/scripts/vserver.functions 2005-07-03 19:47:06.000000000 +0200 | |
40 | +++ util-vserver-0.30.208.cpuset/scripts/vserver.functions 2005-08-15 20:16:58.743453432 +0200 | |
8ca71b9a | 41 | @@ -667,6 +667,23 @@ |
3c0ef616 JR |
42 | fi |
43 | } | |
44 | ||
45 | +function addtoCPUSET | |
46 | +{ | |
47 | + local vdir=$1 | |
48 | + local cpuset | |
49 | + local f="$vdir"/cpuset | |
50 | + | |
51 | + test -e "$f" || return 0 | |
52 | + read cpuset < "$f" | |
8ca71b9a JR |
53 | + if [ -e /dev/cpuset/$cpuset/tasks ] ; then |
54 | + echo $$ >/dev/cpuset/$cpuset/tasks | |
55 | + else | |
56 | + warning $"\ | |
57 | +WARNING: CPUSET \"$cpuset\" does not exist! Not using it!" >&2 | |
58 | + return 0 | |
59 | + fi | |
3c0ef616 JR |
60 | +} |
61 | + | |
62 | function _mountVserverInternal | |
63 | { | |
64 | local fstab="$1" | |
65 | diff -ur util-vserver-0.30.208/scripts/vserver.start util-vserver-0.30.208.cpuset/scripts/vserver.start | |
66 | --- util-vserver-0.30.208/scripts/vserver.start 2005-07-15 21:01:06.000000000 +0200 | |
67 | +++ util-vserver-0.30.208.cpuset/scripts/vserver.start 2005-08-15 20:16:58.744453280 +0200 | |
68 | @@ -97,6 +97,7 @@ | |
69 | ||
70 | mountVserver "$VSERVER_DIR" && is_mounted=1 | |
71 | prepareInit "$VSERVER_DIR" | |
72 | +addtoCPUSET "$VSERVER_DIR" | |
73 | ||
74 | pushd "$VSERVER_DIR"/vdir/ >/dev/null | |
75 | execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" pre-start | |
76 | diff -ur util-vserver-0.30.208/scripts/vserver.suexec util-vserver-0.30.208.cpuset/scripts/vserver.suexec | |
77 | --- util-vserver-0.30.208/scripts/vserver.suexec 2005-07-15 21:01:06.000000000 +0200 | |
78 | +++ util-vserver-0.30.208.cpuset/scripts/vserver.suexec 2005-08-15 20:16:58.745453128 +0200 | |
79 | @@ -22,6 +22,7 @@ | |
80 | exit 1 | |
81 | } | |
82 | generateOptions "$VSERVER_DIR" | |
83 | +addtoCPUSET "$VSERVER_DIR" | |
84 | ||
85 | user=$1 | |
86 | shift |