From owner-freebsd-threads@FreeBSD.ORG Mon Aug 25 21:58:12 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 246C516A4BF; Mon, 25 Aug 2003 21:58:12 -0700 (PDT) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 046FD43FFD; Mon, 25 Aug 2003 21:58:11 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([12.233.125.100]) by attbi.com (rwcrmhc12) with ESMTP id <2003082604580301400i1cbue>; Tue, 26 Aug 2003 04:58:03 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id VAA27872; Mon, 25 Aug 2003 21:58:02 -0700 (PDT) Date: Mon, 25 Aug 2003 21:58:01 -0700 (PDT) From: Julian Elischer To: David Xu In-Reply-To: <3F4AE462.3040808@viatech.com.cn> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: "deischen@freebsd.org" cc: Sheldon Hearn cc: "freebsd-java@freebsd.org" cc: "threads@freebsd.org" Subject: Re: vmark hangs with libthr and libkse 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: Tue, 26 Aug 2003 04:58:12 -0000 On Tue, 26 Aug 2003, David Xu wrote: > Jeff Roberson wrote: > > >>>> > >>>> > >>>Why do you need to do adjustrunqueue() in sched_prio? I also don't > >>>understand the case in sched_switchout(). Can you please explain that? > >>> > >>> > >>> > >>> > >>adjustrunqueue maintains kg_last_assigned and related things, when a > >>thread's priority is changed, > >>the thread might no longer can be in scheduler's run queue, instead it > >>will be in ksegrp's runqueue, > >>because there is higher priority thread, and a KSE it attached should be > >>detached now, and the KSE > >>will attach to another higher priority thread, ULE ignores this > >>requirement, as I can understand, > >>ULE is only aware of 1:1 between KSE and thread. > >>It would be nice if scheduler interface is thread aware but not kse aware. > >> > >> > > > >Yes, wouldn't it be nice.. I don't think it should be ksegrp aware > >either. oh well, it wasn't my design. > > > > > SA process doesn't rely on kse and ksegrp because I introduced a > kse_upcall structure, > so I don't care someone drops kse or ksegrp and makes them as scheduler > specific data structure. Well, this is not quite true. without KSEGRPS there is no possibility to make both process scope and system scope threads. process scope threads require a rendevous structure of some sort and it can not be the process. The fact that the 1:1 threads don't do this is why they can not do process-scope threads and system scope threads but are system scope only. MACH didn't have the additional concept of the KSEGRP and the contortions they had to go to to try do process scope threads (they eventually gave up) (I was a MACH user at that time) was incredible. > > >Will you commit this patch? > > > > > Will do. > > > > _______________________________________________ > freebsd-threads@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-threads > To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org" >