[SCM] BOINC packaging branch, master, updated. debian/7.0.27+dfsg-3-37-gf354b10
Steffen Moeller
steffen_moeller at gmx.de
Mon Jul 2 14:22:46 UTC 2012
The following commit has been merged in the master branch:
commit 204ff93be5ac484c603c9e6e84ee2fabf5957af6
Author: Steffen Moeller <steffen_moeller at gmx.de>
Date: Sat Jun 30 21:30:44 2012 +0200
Adopted improved default/init scripts from sid
diff --git a/debian/boinc-client.default b/debian/boinc-client.default
index 8b4247b..0621d8a 100644
--- a/debian/boinc-client.default
+++ b/debian/boinc-client.default
@@ -25,3 +25,32 @@ BOINC_CLIENT="/usr/bin/boinc"
# Type 'boinc --help' or 'man boinc' for a full summary of allowed options.
#BOINC_OPTS="--allow_remote_gui_rpc"
BOINC_OPTS=""
+
+# Scheduling options
+
+# Set SCHEDULE="0" if prefering to run with upstream default priority
+# settings.
+
+# Nice levels. When systems are truly busy, e.g. because of too many active
+# scientific applications started by the boinc client, there is a chance for
+# the boinc client not to be granted sufficient opportunity to check for
+# scientific applications to be alive and make the (wrong) decision to
+# terminate the scientific app. This is particularly an issue with many
+# apps started in parallel on modern multi-core systems and extra overheads
+# for the download and uploads of files with the project servers. Another
+# concern is the latency for scientific applications to communicate with the
+# graphics card, which should be low. All such values should be set and
+# controled from within the BOINC client. The Debian init script also sets
+# extra constrains via chrt on real time performance and via ionice on
+# I/O performance, which is beyond the regular BOINC client. It then was
+# too easy to use that code to also constrain minimal nice levels. We still
+# think about how to best distinguish GPU applications from regular apps.
+BOINC_NICE_CLIENT=10
+BOINC_NICE_APP_DEFAULT=19
+#BOINC_NICE_APP_GPU=5 # not yet used
+
+# ionice classes. See manpage of ionice (1) in the util-linux package.
+BOINC_IONICE_CLIENT=3 # idle
+#BOINC_IONICE_APP_DEFAULT=3 # idle, not yet used
+#BOINC_IONICE_APP_GPU=2 # best effort, not yet used
+
diff --git a/debian/boinc-client.init b/debian/boinc-client.init
index dfb890e..2f94aad 100644
--- a/debian/boinc-client.init
+++ b/debian/boinc-client.init
@@ -33,6 +33,17 @@ BOINC_OOM_ADJ=15
#VALGRIND_OPTIONS="-v --log-file=/tmp/valgrind_boinc.log "
VALGRIND_OPTIONS=""
+# nice levels
+BOINC_NICE_CLIENT=10
+BOINC_NICE_APP_DEFAULT=19 # minimal
+#BOINC_NICE_APP_GPU=5 # less than regular, not yet used
+
+# ionice classes
+BOINC_IONICE_CLIENT=3 # idle
+#BOINC_IONICE_APP_DEFAULT=3 # idle, not yet used
+#BOINC_IONICE_APP_GPU=2 # best effort, not yet used
+
+
# Source defaults file. Edit that file to configure this script.
if [ -e /etc/default/boinc-client ]; then
. /etc/default/boinc-client
@@ -169,7 +180,7 @@ schedule()
if [ ! -x "`which ionice 2>/dev/null`" ]; then
log_progress_msg "ionice not found,"
else
- if ionice -c 3 -p $pid 2>/dev/null; then
+ if ionice -c $BOINC_IONICE_CLIENT -p $pid 2>/dev/null; then
log_progress_msg "idle,"
else
log_progress_msg "ionice failed,"
@@ -182,14 +193,14 @@ schedule()
log_progress_msg "chrt not found"
else
# BOINC client needs higher priority than scientific apps
- renice 10 -p $pid > /dev/null || renice -n 10 -p $pid
+ renice $BOINC_NICE_CLIENT -p $pid > /dev/null || renice -n $BOINC_NICE_CLIENT -p $pid
# Apps receive minimal priority
if [ -n "$children" ]; then
- (chrt_many --idle 0 19 $children >/dev/null \
+ (chrt_many --idle 0 $BOINC_NICE_APP_DEFAULT $children >/dev/null \
&& log_progress_msg "idleprio") || \
- (chrt_many --batch 0 19 $children >/dev/null \
+ (chrt_many --batch 0 $BOINC_NICE_APP_DEFAULT $children >/dev/null \
&& log_progress_msg "batch") || \
- (chrt_many --other 0 19 $children >/dev/null \
+ (chrt_many --other 0 $BOINC_NICE_APP_DEFAULT $children >/dev/null \
&& log_progress_msg "normal") || \
log_progress_msg "chrt failed"
fi
--
BOINC packaging
More information about the pkg-boinc-commits
mailing list