From owner-cvs-src@FreeBSD.ORG Sat Nov 6 03:22:57 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0AA816A4CF for ; Sat, 6 Nov 2004 03:22:57 +0000 (GMT) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B05543D4C for ; Sat, 6 Nov 2004 03:22:57 +0000 (GMT) (envelope-from caelian@gmail.com) Received: by rproxy.gmail.com with SMTP id a36so148475rnf for ; Fri, 05 Nov 2004 19:22:53 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=AG0vVAWpnFMCEGM6go9N71Gq4cAD1stPOx/rLAgnIZzTQ+t1cVdOlWEaU+VtRTkqzDhn8rz9vL6votJ3IN37cVbP021nSq6/4euCjtYCQJfjucGrWq/9FJDIcqcqlYnm0PZ+uJ/t5yyNkGHPlc4SbLEnGuU3TwkGSuPviPLVv7w= Received: by 10.38.209.23 with SMTP id h23mr739989rng; Fri, 05 Nov 2004 19:22:53 -0800 (PST) Received: by 10.38.79.65 with HTTP; Fri, 5 Nov 2004 19:22:53 -0800 (PST) Message-ID: Date: Fri, 5 Nov 2004 19:22:53 -0800 From: Pascal Hofstee To: Jeff Roberson In-Reply-To: <200410300735.i9U7ZrL2031884@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <200410300735.i9U7ZrL2031884@repoman.freebsd.org> cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/kern sched_ule.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Pascal Hofstee List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Nov 2004 03:22:58 -0000 On Sat, 30 Oct 2004 07:35:53 +0000 (UTC), Jeff Roberson wrote: > jeff 2004-10-30 07:35:53 UTC > > FreeBSD src repository > > Modified files: > sys/kern sched_ule.c > Log: > - In sched_prio() check to see if the kse is assigned to a runq as the > check for TD_ON_RUNQ() no longer means the thread is really on a run- > queue. I suspect this state should be re-evaluated as it must mean > something else now. This fixes ULE+KSE+PREEMPTION on UP x86. Hi Jeff, I decided to take this commit as a good moment to give SCHED_ULE + PREEMPTION a shot again in the hope of triggering potential bugs to further improve SCHED_ULE. And i must say ... without INVARIANTS/WITNESS ... SCED_ULE + PREEMPTION == SOLID ... No Panics for well over 2 days during general desktop usage and compilation. I then decided to give it a real stress-test and decided to also enable WITNESS, INVARIANTS and FULL_PREEMPTION. This combination seemed just as stable at first ... untill i decided to shutdown Firefox .. which caused a system panic with the famous "Negative nice count" KASSERT from kern/sched_ule.c I did some additional testing and so far it seems that Every threaded application seems to exhibit this panic upon exit. I don't have an actual kerneldump at the moment ... but i should be able to generate one and provide additional information and/or a backtrace if desired. To reproduce simply exit a multi-threaded application ... firefox, ogg123 and apache-worker all caused the same panic. This is on a UP P2-400 MHz running 6.0-CURRENT as of November 3rd or 4th, With kind regard, Pascal Hofstee