Package: boinc-client Version: 5.10.30-2 Severity: important Tags: patch --- Please enter the report below this line. --- The CFS in Linux 2.6.24 has the side effect that the boinc user's idle process takes about half of the cpu cycles. This causes severe performance regressions when running boinc-client: half of the cpu cycles are always assigned to boinc and the cpu stepping does not get increased (from 1GHz to 1.8GHz here), when there is non-boinc load.
The attached patch changes the cpu_share of the boinc user to "2" in the init script ("1" would be better probably, but that causes my system to hard-lock, others cannot confirm though, see http://bugzilla.kernel.org/show_bug.cgi?id=9779). -- http://daniel.hahler.de/
--- debian/boinc-client.init 2008-01-19 20:50:40.000000000 +0100 +++ /etc/init.d/boinc-client 2008-01-19 16:12:43.000000000 +0100 @@ -129,6 +129,13 @@ (schedtool -n 19 -N $pid $children >/dev/null \ && log_progress_msg "normal") fi + + # Adjust Linux CFS CPU share (default is 1024, 1 would halt the system): + UID=`id -u $BOINC_USER` + CPU_SHARE_FILE="/sys/kernel/uids/$UID/cpu_share" + if [ -f "$CPU_SHARE_FILE" ]; then + echo 2 > "$CPU_SHARE_FILE" + fi fi log_end_msg 0 } @@ -148,6 +155,13 @@ schedtool $children fi fi + + UID=`id -u $BOINC_USER` + CPU_SHARE_FILE="/sys/kernel/uids/$UID/cpu_share" + if [ -f "$CPU_SHARE_FILE" ]; then + log_success_msg "cpu_share: `cat "$CPU_SHARE_FILE"`" + fi + else log_success_msg "$STATUS stopped." fi
signature.asc
Description: This is a digitally signed message part.