From owner-freebsd-current@FreeBSD.ORG Thu Mar 18 00:40:57 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 9096A16A4CE; Thu, 18 Mar 2004 00:40:57 -0800 (PST) Received: from fisk.demonized.net (h97n2fls33o834.telia.com [213.66.186.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id C3DB943D4C; Thu, 18 Mar 2004 00:40:56 -0800 (PST) (envelope-from manlix@demonized.net) Received: from beard.demonized.net (beard.demonized.net [172.22.1.2]) by fisk.demonized.net (8.12.10/8.12.10) with SMTP id i2I8emCg000672; Thu, 18 Mar 2004 09:40:49 +0100 (CET) (envelope-from manlix@demonized.net) Date: Thu, 18 Mar 2004 09:40:48 +0100 From: Johan Pettersson To: obrien@freebsd.org Message-Id: <20040318094048.4d961c12.manlix@demonized.net> In-Reply-To: <20040318023045.GE3018@dragon.nuxi.com> References: <4050BBCB.50302@cinci.rr.com> <20040312092348.18be60e0.taku@cent.saitama-u.ac.jp> <20040318023045.GE3018@dragon.nuxi.com> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-current@freebsd.org Subject: Re: [PATCH] for SCHED_ULE & libpthread issue (was Re: I like SCHED_4BSD) 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: Thu, 18 Mar 2004 08:40:57 -0000 On Wed, 17 Mar 2004 18:30:45 -0800 "David O'Brien" wrote: > Do people think we should commit this? > > > --- sched_ule.c.orig Fri Feb 13 05:24:48 2004 > > +++ sched_ule.c Fri Feb 13 05:37:53 2004 > > @@ -186,7 +186,7 @@ > > #define SCHED_INTERACTIVE(kg) \ > > (sched_interact_score(kg) < SCHED_INTERACT_THRESH) > > #define SCHED_CURR(kg, ke) \ > > - (ke->ke_thread->td_priority != kg->kg_user_pri || \ > > + (ke->ke_thread->td_priority < kg->kg_user_pri || \ > > SCHED_INTERACTIVE(kg)) > > > > /* > > @@ -1166,11 +1166,8 @@ > > */ > > if ((ke->ke_flags & KEF_ASSIGNED) == 0) { > > if (TD_IS_RUNNING(td)) { > > - if (td->td_proc->p_flag & P_SA) { > > - kseq_load_rem(KSEQ_CPU(ke->ke_cpu), ke); > > - setrunqueue(td); > > - } else > > - kseq_runq_add(KSEQ_SELF(), ke); > > + kseq_load_rem(KSEQ_CPU(ke->ke_cpu), ke); > > + setrunqueue(td); If it makes the situation better, why not? It sounds likes it works well for Peter, Brian and Arjan. I have not tested it though.