From owner-freebsd-hackers@FreeBSD.ORG Tue Aug 5 21:44:00 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5F23137B401 for ; Tue, 5 Aug 2003 21:44:00 -0700 (PDT) Received: from HAL9000.homeunix.com (ip114.bella-vista.sfo.interquest.net [66.199.86.114]) by mx1.FreeBSD.org (Postfix) with ESMTP id D74EF43F75 for ; Tue, 5 Aug 2003 21:43:58 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.9/8.12.9) with ESMTP id h764hsjX004028; Tue, 5 Aug 2003 21:43:55 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.9/8.12.9/Submit) id h764hqAl004027; Tue, 5 Aug 2003 21:43:52 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Date: Tue, 5 Aug 2003 21:43:51 -0700 From: David Schultz To: Roderick van Domburg Message-ID: <20030806044351.GA3881@HAL9000.homeunix.com> Mail-Followup-To: Roderick van Domburg , freebsd-hackers@freebsd.org References: <3F2F8562.9090609@student.utwente.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3F2F8562.9090609@student.utwente.nl> cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Tuning HZ for semi-realtime applications X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Aug 2003 04:44:00 -0000 On Tue, Aug 05, 2003, Roderick van Domburg wrote: > There's this Linux kernel patch that allows for timeslice tuning. It's > got the following rules of the thumb: > > * The optimal setting is your CPU's speed in MHz's / 2 > * ...but there is no point in going above 1000 Hz > * ...and be sure to use multiples of 100 Hz > > I am everything but an expert at scheduling, but somehow this makes > sense: i.e. one jiffy for the scheduler and one jiffy for the process. > > Does all of this make any sense or is it just a load of hooey? There might be some rationale behind that suggestion, but my first guess would be that someone pulled those numbers out of a hat. In general, doing a context switch has negative cache effects, in addition to the overhead that you pay up front. For optimum throughput, you want to set HZ to the smallest number that still gives acceptable resolution. 100 Hz works just fine for interactive jobs; humans can't tell the difference.[1] For many real-time applications, a higher value is needed. [1] In terms of overhead, I think 100 Hz is well into the noise these days, so bumping that up a little bit would result in negligible difference. I measured 100 vs. 500 a little while ago, and couldn't find a realistic benchmark that was negatively impacted by the higher frequency.