From owner-cvs-all@FreeBSD.ORG Wed Jan 24 04:02:18 2007 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 28B8816A401; Wed, 24 Jan 2007 04:02:18 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id E50F713C44C; Wed, 24 Jan 2007 04:02:17 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [10.0.0.1] (63-226-247-187.tukw.qwest.net [63.226.247.187]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id l0O42EJn095536 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Tue, 23 Jan 2007 23:02:15 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Tue, 23 Jan 2007 20:02:34 -0800 (PST) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: David Xu In-Reply-To: <200701241147.17846.davidxu@freebsd.org> Message-ID: <20070123200041.Y564@10.0.0.1> References: <200701230850.l0N8oZV2065483@repoman.freebsd.org> <200701241147.17846.davidxu@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@freebsd.org, jhb@freebsd.org, cvs-src@freebsd.org, Jeff Roberson , cvs-all@freebsd.org, Julian Elischer Subject: Re: cvs commit: src/sys/kern sched_ule.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jan 2007 04:02:18 -0000 On Wed, 24 Jan 2007, David Xu wrote: > On Tuesday 23 January 2007 16:50, Jeff Roberson wrote: >> jeff 2007-01-23 08:50:34 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/kern sched_ule.c >> Log: >> - Catch up to setrunqueue/choosethread/etc. api changes. >> - Define our own maybe_preempt() as sched_preempt(). We want to be able >> to preempt idlethread in all cases. >> - Define our idlethread to require preemption to exit. > > if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ? idle_cpus_mask was broken before for all schedulers. This commit didn't change that. ULE doesn't use idle_cpus_mask and it's idlethread doesn't set or clear it. The idle thread for the other schedulers remains unchanged. Julian wants to set idle_cpus_mask in sched_switch() which would make it accurate no matter how idlethread switched out. that seems much more reasonable to me. Cheers, Jeff > >> - Get the cpu estimation tick from sched_tick() so we don't have to >> worry about errors from a sampling interval that differs from the time >> domain. This was the source of sched_priority prints/panics and inaccurate >> pctcpu display in top. >> >> Revision Changes Path >> 1.183 +90 -39 src/sys/kern/sched_ule.c > > Regards, > David Xu >