From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 7 18:33:57 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A5011065679 for ; Mon, 7 Jul 2008 18:33:57 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A3AD28FC1C; Mon, 7 Jul 2008 18:33:55 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <48726193.1080807@FreeBSD.org> Date: Mon, 07 Jul 2008 20:33:55 +0200 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421) MIME-Version: 1.0 To: "Murty, Ravi" References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org Subject: Re: Bug in calcru in he 6.2 and 6.3 kernels X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jul 2008 18:33:57 -0000 Murty, Ravi wrote: > Hello everyone, > > > > Finally found what my last problem was. We were running top in a loop > and running some workloads that called sched_bind() to bind threads to > specific CPUs. The problem was that (and I am using ULE) sched_bind > calls a function to notify another CPU of a thread and then mi_switches > out of it. Since mi_switch sets the "oncpu" field of the thread to NOCPU > and given the thread is still running, calcru would come in and assert > the fact that "If I am running I better no be on NOCPU".. It appears > that in other parts of the kernel (e.g. forward_signal) this is > acceptable (i.e. it is okay to be running and oncpu is NOCPU). > > > > Thanks > Ravi Don't use ULE in 6.x, it's broken and will not be fixed. Kris