From owner-freebsd-arch Wed Jan 29 10:15:55 2003 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DF40F37B401; Wed, 29 Jan 2003 10:15:53 -0800 (PST) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 630C443F43; Wed, 29 Jan 2003 10:15:53 -0800 (PST) (envelope-from rizzo@xorpc.icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.3/8.12.3) with ESMTP id h0TIFN8a054148; Wed, 29 Jan 2003 10:15:23 -0800 (PST) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.3/8.12.3/Submit) id h0TIFNpG054147; Wed, 29 Jan 2003 10:15:23 -0800 (PST) (envelope-from rizzo) Date: Wed, 29 Jan 2003 10:15:23 -0800 From: Luigi Rizzo To: David Schultz Cc: Peter Jeremy , Robert Watson , Jeff Roberson , arch@FreeBSD.ORG Subject: Re: New scheduler - Interactivity fixes Message-ID: <20030129101523.A54088@xorpc.icir.org> References: <20030129094943.GA27833@cirb503493.alcatel.com.au> <20030129180405.GA3139@HAL9000.homeunix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20030129180405.GA3139@HAL9000.homeunix.com>; from dschultz@uclink.Berkeley.EDU on Wed, Jan 29, 2003 at 10:04:05AM -0800 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Wed, Jan 29, 2003 at 10:04:05AM -0800, David Schultz wrote: > Thus spake Peter Jeremy : > > I'd prefer to allow multiple schedulers to be compiled in (or KLD'd), > > with a sysctl to select which one (preferably alterable at runtime). > > This reduces(?) the problem to: > > - ensure that at least one scheduler is present before trying to use it > > - picking a default scheduler when multiple schedulers are present. > > Some researchers at Microsoft implmeneted dynamically loadable > schedulers for Windows NT a few years ago. There idea was to and the same concept is used in our proportional share scheduler, where you can switch scheduler at runtime and have multiple schedulers loaded at compile time (possibly kld works too, I have just been too lazy to write a suitable Makefile for the module) An older version of that code (for -stable) can be found at http://info.iet.unipi.it/~luigi/ps_sched.20020719a.diff I have been trying to suggest the introduction of this virtual interface for dynamically loadable schedulers for a while, with little success unfortunately (random complaints about the overhead of going through an indirect function calls when a scheduler function should be invoked -- which is totally irrelevant given how expensive is the effect of a potential context switch, and the fact that we are already paying that overhead one or more times for each incoming packet, an event that is 1..3 orders of magnitude more frequent). cheers luigi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message