From owner-cvs-src@FreeBSD.ORG Thu Apr 10 20:51:47 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85DDF37B401; Thu, 10 Apr 2003 20:51:47 -0700 (PDT) Received: from mail.chesapeake.net (chesapeake.net [205.130.220.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 23A7843FAF; Thu, 10 Apr 2003 20:51:46 -0700 (PDT) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.11.6/8.11.6) with ESMTP id h3B3pj754800; Thu, 10 Apr 2003 23:51:45 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Thu, 10 Apr 2003 23:51:45 -0400 (EDT) From: Jeff Roberson To: Jeff Roberson In-Reply-To: <200304110347.h3B3lE5k071110@repoman.freebsd.org> Message-ID: <20030410234820.A37530-100000@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern sched_ule.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Apr 2003 03:51:47 -0000 On Thu, 10 Apr 2003, Jeff Roberson wrote: > jeff 2003/04/10 20:47:14 PDT > > FreeBSD src repository > > Modified files: > sys/kern sched_ule.c > Log: These changes were done while I was on vacation which is why there were so many. To give you an idea of the result I have done some benchmarks that show how the schedulers deal with niced processes. In this benchmark I have many processes that each run for 10ms and then sleep for 10ms. Each of them has a different nice value. I record many statistics, but below is the amount of cpu time given to each. -20 -15 -10 -5 -1 0 ULE 5.753623 5.282634 4.856530 3.450129 3.126798 2.423626 4BSD 5.737184 4.694133 4.185013 3.363824 2.711405 2.260881 1 5 10 15 20 ULE 2.105255 0.657852 0.429098 0.411582 0.501759 4BSD 2.452399 1.506065 0.859527 0.681111 0.427333 You can see that ule is quite regular until it gets to the positive nice values where it is not as smooth as 4bsd. I'll fix this. This commit does fix the bug where nice +20 processes were still getting CPU when 0 and negative nice processes were runnable. This should fix most of the interactivity complaints with niced processes. Cheers, Jeff