From owner-freebsd-current@FreeBSD.ORG Fri Mar 26 14:11:24 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 1D96916A4CE for ; Fri, 26 Mar 2004 14:11:24 -0800 (PST) Received: from mail3.speakeasy.net (mail3.speakeasy.net [216.254.0.203]) by mx1.FreeBSD.org (Postfix) with ESMTP id F03DA43D5A for ; Fri, 26 Mar 2004 14:11:23 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 22183 invoked from network); 26 Mar 2004 22:11:22 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 26 Mar 2004 22:11:22 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i2QMAFDQ018756 for ; Fri, 26 Mar 2004 17:11:17 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: current@freebsd.org Date: Fri, 26 Mar 2004 17:10:44 -0500 User-Agent: KMail/1.6 References: <200403232228.i2NMSHb2042820@repoman.freebsd.org> In-Reply-To: <200403232228.i2NMSHb2042820@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200403261116.00474.jhb@FreeBSD.org> Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx Subject: Re: cvs commit: src/sys/alpha/alpha interrupt.c 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: Fri, 26 Mar 2004 22:11:24 -0000 On Tuesday 23 March 2004 05:28 pm, John Baldwin wrote: > jhb 2004/03/23 14:28:16 PST > > FreeBSD src repository > > Modified files: > sys/alpha/alpha interrupt.c > Log: > Enable interrupt preemption on Alpha. Previously, flipping this switch > on caused hangs on SMP systems under load. My theory was that an > interrupted thread was migrating and returning to PAL on a different CPU > and that that caused the hangs. To prevent this, I used the recently added > sched_pin() API to pin the interrupted thread to the CPU that received the > interrupt across ithread_schedule() to prevent migration. This seems to > have fixed the hangs based on tests by several folks on the alpha@ list. > > Tested by: wilko, tisco, several others on alpha@ > > Revision Changes Path > 1.77 +10 -1 src/sys/alpha/alpha/interrupt.c As an aside, interrupt preemption greatly reduces interrupt latency and can dramatically improve the 'snappiness' of a box. It is currently only enabled for i386, amd64, and now alpha. Maintainers for other archs such as sparc64, ia64, and ppc should try to get it working on their platforms as well if possible. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org