From owner-soc-status@FreeBSD.ORG Tue Jul 10 09:27:50 2012 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4255D1065672 for ; Tue, 10 Jul 2012 09:27:50 +0000 (UTC) (envelope-from rudotx@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id C89A18FC0A for ; Tue, 10 Jul 2012 09:27:49 +0000 (UTC) Received: by weyx56 with SMTP id x56so873343wey.13 for ; Tue, 10 Jul 2012 02:27:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=c7DWZOCwG+YEBrLIqX6uOXbvzwlaSVt0RQs1PFOHThI=; b=QBZEfLXJbKGarSYTpsTrI6BRLZt13FQK6O7hy9sqNL1gJWOPsEk6sLZmqlYLxlRak1 +L9kmQgnYKJKSjd/+xi/kyu+tGKfn/wBzK0b114/jvxffG+XcAWXNO9kox/xTFTJaQv7 S2AsPkokhZoBnMqupJv/o6p4gjmV2v17Rhdl3t8n/sHu+MywmbHy94X6kZNrdxSJgpfR XFVisT+F+RKpsUIyPrMATRTVw6NTaLimjCtAg5eWzTAPrHXva3COBXczbxCEGRAEqDww o31Jd92AXJ1TvK0JNmJjVP7jXnPerVn4l653pIswF549hLuHBYZeFYl/ZBnC0znLiZtn JZew== Received: by 10.180.97.135 with SMTP id ea7mr7098526wib.11.1341912468928; Tue, 10 Jul 2012 02:27:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.217.1.72 with HTTP; Tue, 10 Jul 2012 02:27:28 -0700 (PDT) From: rudo tomori Date: Tue, 10 Jul 2012 11:27:28 +0200 Message-ID: To: soc-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: cpu limits status report X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jul 2012 09:27:50 -0000 Hi, the goal of my gsoc project is to enable the system administrators to configure %CPU limits using the rctl command. So that they can for example limit a particular user to 50% cpu time. Last week I slightly changed the way how I handle processes that exceed their cpu limits. I changed it because the way I was doing it wasn't stable and occasionally caused kernel panics or just freeze of the kernel. Now my implementation looks stable to me. I have also some benchmarks available that show %cpu distribution during make buildworld with per-user %cpu limits imposed. For example here https://socsvn.freebsd.org/socsvn/soc2012/rudot/benchmarking/hw/buildworld/nolimit/plot.eps you can see the %cpu distribution when no limits are imposed. You can see the per-user %cpu distribution when cpu is limited to 80% here https://socsvn.freebsd.org/socsvn/soc2012/rudot/benchmarking/hw/buildworld/80pct/plot.eps. Here https://socsvn.freebsd.org/socsvn/soc2012/rudot/benchmarking/hw/buildworld/60pct/plot.eps the cpu is limited to 60% for the user running make buildworld. This week, I want to finish support for the ule scheduler. Here I add some information about the benchmarks: Every ten seconds, I run the ps command and view all processes of the user who is running make buildworld. I add up the %cpu percentages and the sum of all these values is on the x axis in the charts. The y axis shows number of times the specific sum of %cpu was obtained. So for example if there is a column 10 units high at 30% in the plot that means the 30% per-user cpu utilisation has been measured 10 times. rudo