From owner-freebsd-current@FreeBSD.ORG Mon Dec 13 19:17:38 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B31EC16A4CE; Mon, 13 Dec 2004 19:17:38 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8878643D41; Mon, 13 Dec 2004 19:17:38 +0000 (GMT) (envelope-from julian@elischer.org) Received: from elischer.org (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 21BE07A403; Mon, 13 Dec 2004 11:17:38 -0800 (PST) Message-ID: <41BDEAD1.9060308@elischer.org> Date: Mon, 13 Dec 2004 11:17:37 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: Scott Long , John Baldwin , Jeff Roberson , Peter Wemm , Stephan Uphoff , FreeBSD Current References: <200412131309.iBDD9XXi045169@repoman.freebsd.org> <20041213082407.U9536@mail.chesapeake.net> <41BDDD5E.9060308@elischer.org> <41BDE477.5050103@freebsd.org> In-Reply-To: <41BDE477.5050103@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: cvs commit: src/sys/kern sched_ule.c X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Dec 2004 19:17:38 -0000 The whole problem that "slots" is trying to solve is to stop a single process from being able to flood the system with threads and therefore make the system unfair in its favour. The "slots" method is really suitable for the 4bsd scheduler but it is really not so good for ULE (at least I think that there are probably better ways that ULE could implement fairness). What I think should happen at this stage is that the inclusion of kern_switch.c should be replaced by actually copying the contents of that file into the two schedulers and that they be permitted to diverge. This would allow ULE and BSD to be cleaned up in terms of the sched_td/kse hack (where they are in fact the same structure, but to keep diffs to a minimum I defined one in terms of the other with macros). It would also allow jeff to experiment absolutly freely on how ULE might implement fairness without any constraints of worrying about the BSD scheduler, and visa versa. I have been hesitant to do this because there was some (small) amount of work going on in the shared file, but I think it is time to cut the umbilical cord. If ULE is really fixed then this would be a good time to break them apart, and delete kern_switch.c (or at least move most of the stuff in it out to the two schedulers). This would protect ULE from future problems being "imported" from BSD for example. comments?