diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2009-01-21 17:43:00 +0100 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2009-01-21 17:43:00 +0100 |
commit | abd32c54bdfc9fbce90a5ca12e9a1102cebf28b3 (patch) | |
tree | 7b761d954fc2e62f6bab5f6c072f20223d6a6e2b /sci-misc | |
parent | Whitespacie notes. (diff) | |
download | sci-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/Manifest | 4 | ||||
-rw-r--r-- | sci-misc/boinc-bin/files/boinc.conf | 8 | ||||
-rw-r--r-- | sci-misc/boinc-bin/files/boinc.init | 26 |
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() { |