From owner-freebsd-current@FreeBSD.ORG Wed Nov 23 08:50:53 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org 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 7956216A41F for ; Wed, 23 Nov 2005 08:50:53 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id C596543D62 for ; Wed, 23 Nov 2005 08:50:26 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.11] (junior.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id jAN8o9xC034352; Wed, 23 Nov 2005 01:50:09 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <43842D41.1050401@samsco.org> Date: Wed, 23 Nov 2005 01:50:09 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050615 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kris Kennaway References: <20051123030304.GA84202@xor.obsecurity.org> <1132734165.4305.3.camel@massimo.datacode.it> <20051123083118.GA90686@xor.obsecurity.org> In-Reply-To: <20051123083118.GA90686@xor.obsecurity.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on pooker.samsco.org Cc: Massimo Lusetti , freebsd-current@freebsd.org Subject: Re: em interrupt storm X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 23 Nov 2005 08:50:53 -0000 Kris Kennaway wrote: > On Wed, Nov 23, 2005 at 09:22:45AM +0100, Massimo Lusetti wrote: > >>On Tue, 2005-11-22 at 22:03 -0500, Kris Kennaway wrote: >> >>>I am seeing the em driver undergoing an interrupt storm whenever the >>>amr driver receives interrupts. In this case I was running newfs on >>>the amr array and em0 was not in use: >> >>[..] >> >>>This is on both 6.0-RELEASE and 6.0-STABLE. >> >>Wow, I've just ordered a machine with that same hardware to replace a >>mailserver. > > > Maybe it'll be OK if you disable the onboard NIC and use a different > one. > > Kris This is apparently a side effect of how we process interupts, which is different from Windows and Linux. Since we mask the interrupt in the APIC while the ithread runs, the Intel hardware tries to outsmart us and continue delivering the interrupt via irq16. There are been rumors on ways to turn off this 'feature', but none of them seem to work. Since ithreads are integral to SMPng, and masking the APIC pins in integral to making ithreads work, the solution will probably be to be more aggressive in adopting MSI, and in doing filtered interrupt handlers that don't require the APIC to be masked. Note that Solaris and Darwin would likely exhibit the same problem since they handle interrupts similar to us. Scott