aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-01-21 17:43:00 +0100
committerTomas Chvatal <scarabeus@gentoo.org>2009-01-21 17:43:00 +0100
commitabd32c54bdfc9fbce90a5ca12e9a1102cebf28b3 (patch)
tree7b761d954fc2e62f6bab5f6c072f20223d6a6e2b /sci-misc
parentWhitespacie notes. (diff)
downloadsci-abd32c54bdfc9fbce90a5ca12e9a1102cebf28b3.tar.gz
sci-abd32c54bdfc9fbce90a5ca12e9a1102cebf28b3.tar.bz2
sci-abd32c54bdfc9fbce90a5ca12e9a1102cebf28b3.zip
Fix bug 243194.
Update init so it uses CFS. Hope it wont harm kittens looks fine now.
Diffstat (limited to 'sci-misc')
-rw-r--r--sci-misc/boinc-bin/Manifest4
-rw-r--r--sci-misc/boinc-bin/files/boinc.conf8
-rw-r--r--sci-misc/boinc-bin/files/boinc.init26
3 files changed, 33 insertions, 5 deletions
diff --git a/sci-misc/boinc-bin/Manifest b/sci-misc/boinc-bin/Manifest
index ed02d9901..77546f262 100644
--- a/sci-misc/boinc-bin/Manifest
+++ b/sci-misc/boinc-bin/Manifest
@@ -1,5 +1,5 @@
-AUX boinc.conf 440 RMD160 eb56e84e0bb56d033fb1b8ff692343eb22fd6877 SHA1 7560db67952b01152f69f3caa5511d267533cc33 SHA256 bf989320e14597fc24d54a24881dafec8a141075a7da71138ca32771d66c6713
-AUX boinc.init 1884 RMD160 aa1773e08598e46c7d63e0d6948ddca5a0a1c0c4 SHA1 c296ff91395263f6d8de7be167a7b14d29ce56a8 SHA256 c7017093216f80797b9d270bab4c434f5a30147d6b5d3311ef21e63d772ffacf
+AUX boinc.conf 711 RMD160 b6bb25b9d10cbefd3de5d653e701e056e2de4587 SHA1 570929cb4ed50d4fc4408624c4d0d330e208609c SHA256 032f07145ee230f069ffdc93befe90c047fba4314aedfc8024bdb44c06798e9e
+AUX boinc.init 2422 RMD160 a0dba17fbe171398e4e2fad59f6567b4772533c9 SHA1 f49f9391aaa9d08bccf151f284ba4ddcc07ee06e SHA256 08f28fb48575e456d2e37ae8857b76b5e77a0de92c560261d14410321d1c6b74
DIST boinc_6.4.5_i686-pc-linux-gnu.sh 4371490 RMD160 cb7687c806f8eb2d2ed974908048be1a057524ec SHA1 32eab0dfd0abcad56d2a4bbbf6a53ac8673a7e8d SHA256 b45884ee6b1f7c1299345f3db06dd368264d0af18d0361d6925eda6688e60778
DIST boinc_6.4.5_x86_64-pc-linux-gnu.sh 4575051 RMD160 992df581e95d847a36f50bf2595862f53fb712ad SHA1 8ba3ae6e62485f61d0bdeae9aa161d2c1c827b79 SHA256 3471710ff8c25f2c1788f18bbdab057c8a762847862058962bb809b7cdf2fd7d
DIST boinc_6.5.0_i686-pc-linux-gnu.sh 4316989 RMD160 6cc83e70f8c4e93aa172fa0c466ac57a40e8a8ca SHA1 0be2d32a894f92f9103f2d2137b3b08c077f1d27 SHA256 baf6aa638d7043f030b7779a73865465476fa7f85ee38b6118371b13522d2aa4
diff --git a/sci-misc/boinc-bin/files/boinc.conf b/sci-misc/boinc-bin/files/boinc.conf
index 827025b7d..223b160b4 100644
--- a/sci-misc/boinc-bin/files/boinc.conf
+++ b/sci-misc/boinc-bin/files/boinc.conf
@@ -18,3 +18,11 @@ ALLOW_REMOTE_RPC="no"
# nice level
NICELEVEL="19"
+
+# scheduling parameters, arguments to chrt(1)
+SCHED_PARAM="--batch 0"
+
+# Relative CPU allocation for boinc user, default is 1024,
+# requires CONFIG_FAIR_GROUP_SCHED and CONFIG_USER_SCHED,
+# see /usr/src/linux/Documentation/scheduler/sched-design-CFS.txt
+CPU_SHARE="128"
diff --git a/sci-misc/boinc-bin/files/boinc.init b/sci-misc/boinc-bin/files/boinc.init
index 76b63d165..c64a46ee4 100644
--- a/sci-misc/boinc-bin/files/boinc.init
+++ b/sci-misc/boinc-bin/files/boinc.init
@@ -41,11 +41,31 @@ start() {
ARGS="${ARGS} -allow_remote_gui_rpc"
fi
- setsid start-stop-daemon --quiet --start --chdir ${RUNTIMEDIR} \
+ if [ "${SCHED_PARAM}" -a -x /usr/bin/chrt ]; then
+ CHRT="/usr/bin/chrt ${SCHED_PARAM}"
+ else
+ CHRT=""
+ fi
+
+ ${CHRT} start-stop-daemon \
+ --quiet --start --chdir ${RUNTIMEDIR} \
--exec ${BOINCBIN} --chuid ${USER}:${GROUP} \
- --nicelevel ${NICELEVEL} -- ${ARGS} > ${LOGFILE} 2>&1 &
+ --background --stdout ${LOGFILE} --stderr ${LOGFILE} \
+ --nicelevel ${NICELEVEL} -- ${ARGS}
- eend $?
+ RESULT=$?
+
+ if [ "${CPU_SHARE}" -a -d /sys/kernel/uids ]; then
+ BUID=`id -u ${USER}`
+ # It might take a moment for start-stop-daemon to chuid
+ [ -d /sys/kernel/uids/${BUID} ] || sleep 1
+ [ -d /sys/kernel/uids/${BUID} ] || sleep 2
+ if [ -w /sys/kernel/uids/${BUID}/cpu_share ]; then
+ echo ${CPU_SHARE} > /sys/kernel/uids/${BUID}/cpu_share
+ fi
+ fi
+
+ eend ${RESULT}
}
attach() {