Date: Sat, 6 Nov 2004 11:35:52 -0800 From: Luigi Rizzo <rizzo@icir.org> To: Devesh Shah <shah@docomolabs-usa.com>, FreeBSD-hackers@FreeBSD.org Subject: Re: Loadable Scheduler in Freebsd Message-ID: <20041106113552.A95250@xorpc.icir.org> In-Reply-To: <20041106192122.GE22681@funkthat.com>; from gurney_j@resnet.uoregon.edu on Sat, Nov 06, 2004 at 11:21:23AM -0800 References: <003f01c4c2c5$17e2c560$8a6115ac@dcml.docomolabsusa.com> <20041106192122.GE22681@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 06, 2004 at 11:21:23AM -0800, John-Mark Gurney wrote: > Devesh Shah wrote this message on Thu, Nov 04, 2004 at 15:22 -0800: > > Based on the SYSINIT framework, I have made ULE scheduler as a loadable module but have not quite > > figured how to migrate from default 4bsd to newly loaded ule scheduler or is it possible at all. > > As someone suggested, switches schedulers would be very complex.. actually i beg to differ, as we implemented it in 4.x back in summer 2002 -- our code allowed to switch between schedulers at runtime, and we had a prototype Proportional Share (PS for short) scheduler which you could use instead of the standard BSD one. I don't see much of a problem in switching schedulers at runtime, if you properly hide the scheduler's internal information from the process' descriptor, which is what we did. At which point, switching scheduler only requires to rearrange the scheduler's information with no impact on the process descriptor or state. Of course you can't expect "guarantees" to be preserved across switches,if nothing else because they might well be measured in different way. if you wonder why our code was not committed, it was because there was not, and i think there is not yet, a good theoretical framework for multiprocessor proportional share scheduling, so our PS scheduler (note, not the scheduler abstraction framework, only the PS scheduler instance) would not work in the SMP case, and this apparently was a requirement for inclusion. cheers luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041106113552.A95250>