From owner-freebsd-threads@FreeBSD.ORG Wed Apr 16 18:21:28 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B56A037B401 for ; Wed, 16 Apr 2003 18:21:28 -0700 (PDT) Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EF6F43F3F for ; Wed, 16 Apr 2003 18:21:28 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org (12-232-168-4.client.attbi.com[12.232.168.4]) by rwcrmhc52.attbi.com (rwcrmhc52) with ESMTP id <2003041701212705200epo73e>; Thu, 17 Apr 2003 01:21:27 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id SAA47141; Wed, 16 Apr 2003 18:21:26 -0700 (PDT) Date: Wed, 16 Apr 2003 18:21:24 -0700 (PDT) From: Julian Elischer To: Jeff Roberson In-Reply-To: <20030416195037.C76635-100000@mail.chesapeake.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org Subject: Re: Patches for threads/scheduler abstraction. X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2003 01:21:29 -0000 On Wed, 16 Apr 2003, Jeff Roberson wrote: > > On Wed, 16 Apr 2003, Julian Elischer wrote: > > > > > Jeff I am working on some patches to do teh abstraction. > > I suspect that you are also doing this.. > > I would like to send you what I have before we diverge too much. > > > > What I will have when I have done this is a system that does exactly > > what it does now, but with code moved around, > > and a new file kern_kse.c. > > Ok, go ahead and send it. > > > > > This is a step towards whate we discussed but I'm worried that if we > > don't co-ordinate I'll be duplicating work that you are doing.. > > I have been mildly disappointed with FreeBSD lately and have not put any > effort into it. I will look over your patches though. OK I will send them shortly. These patches are NOT CLEAN by which I mean I have not done any tidying up yet. It is still in the "cat dragged this over the fence" state. However it does compile cleanly with only four files knowing what a kse is (Not counting ULE, I have not touched ULE yet) (and I would actualy rather that you did.. you understand it better). !!!!!!I have not tried to RUN this yet!!!!!! The files that know what a kse is are: ref3# grep ksevar.h kern/* kern/kern_switch.c:#include kern/kern_thread.c:#include kern/sched_4bsd.c:#include kern/sched_4bsd_kse.c:#include (note that kern_thr.c is not one of them) My plan is: eventually, sched_4bsd.c will only do the original BSD scheduling (except with threads instead of procsses) i.e. unfair, but simple and easy to benchmark on non-threaded apps. (or on threaded apps with no competing processes) sched_4bsd_kse.c will suck in the current contents of kern_switch.c and the KSE'd version of sched_4bsd.c. this will act like the current 4bsd scheduler WITH KSEs switch.c will go away (unless you want it as part of ULE). kern_thread.c will forget all about KSEs (but its not there yet). I'll send the patches in an hour or so.. My wife's calling :-/ > > > > > Julian > > > > > >