From owner-freebsd-current@FreeBSD.ORG Tue Jun 22 21:16:29 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 A19D016A4CF for ; Tue, 22 Jun 2004 21:16:29 +0000 (GMT) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85CF043D2F for ; Tue, 22 Jun 2004 21:16:29 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 22386 invoked from network); 22 Jun 2004 21:16:22 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 22 Jun 2004 21:16:21 -0000 Received: from 10.50.41.233 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i5MLGCs7019738; Tue, 22 Jun 2004 17:16:13 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: freebsd-current@FreeBSD.org Date: Tue, 22 Jun 2004 17:17:13 -0400 User-Agent: KMail/1.6 References: In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200406221717.13179.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Julian Elischer cc: FreeBSD current users Subject: Re: ithread priority question... 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: Tue, 22 Jun 2004 21:16:29 -0000 On Monday 21 June 2004 03:48 am, Julian Elischer wrote: > On Mon, 21 Jun 2004, Bruce Evans wrote: > > On Sun, 20 Jun 2004, Julian Elischer wrote: > > > In swi_add, the priority is multiplied by PPQ. > > > This is a layering violation really because PPQ should only be known > > > within the scheduler.... but..... "Why multiply by PPQ inthe first > > > place?" we are not using the system run queues for interrupt threads. > > > > > > (PPQ = Priorities Per Queue). > > > > > > Without this you can remove runq.h from proc.h and include it only in > > > the scheduler related files. > > > > I agree that this makes no sense. Apart from the layering violation, > > It seems to just waste priority space. The wastage is not just cosmetic > > since someone increased the number of SWIs although there was no room > > for expansion. > > > > > > Hardware ithread priorities are also separated by 4. The magic number 4 > > is encoded in their definitions in priority.h. It's not clear if the 4 > > is PPQ or just room for expansion without changing the ABI. Preserving > > this ABI doesn't seem very important. > > seems pointless to me.. > It looks to me that at on stage someone was considerring using the > standard run-queue code to make interrupt threads runnable. > They wanted each interrupt thread to eb on a differen queue and to use > the ffs() code to find the next one to run. That was the intention. One question though, if the ithreads aren't on the system run queues then which run queues are they on? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org