From owner-freebsd-arm@FreeBSD.ORG Fri Sep 5 23:12:05 2014 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9FEC7F24 for ; Fri, 5 Sep 2014 23:12:05 +0000 (UTC) Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 739021D00 for ; Fri, 5 Sep 2014 23:12:05 +0000 (UTC) Received: from [73.34.117.227] (helo=ilsoft.org) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1XQ2fe-000NYu-J2; Fri, 05 Sep 2014 23:11:58 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id s85NBu5C013907; Fri, 5 Sep 2014 17:11:56 -0600 (MDT) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX18xVaK0H901ut73qUn1wJLC X-Authentication-Warning: paranoia.hippie.lan: Host revolution.hippie.lan [172.22.42.240] claimed to be [172.22.42.240] Subject: Re: Cubieboard: Spurious interrupt detected From: Ian Lepore To: ticso@cicely.de In-Reply-To: <20140905215702.GL3196@cicely7.cicely.de> References: <2279481.3MX4OEDuCl@quad> <20140905215702.GL3196@cicely7.cicely.de> Content-Type: text/plain; charset="us-ascii" Date: Fri, 05 Sep 2014 17:11:56 -0600 Message-ID: <1409958716.1150.321.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: freebsd-arm@freebsd.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2014 23:12:05 -0000 On Fri, 2014-09-05 at 23:57 +0200, Bernd Walter wrote: > On Sat, Sep 06, 2014 at 01:43:23AM +0400, Maxim V FIlimonov wrote: > > And another problem: every now and then the kernel says something like that: > > Sep 5 19:22:37 kernel: Spurious interrupt detected > > Sep 5 19:22:37 kernel: Spurious interrupt detected > > Sep 5 19:23:46 last message repeated 10 times > > > > I've heard that FreeBSD happens to do that on ARM devices. What could be the > > problem here? > > Means something generates inetrrupts, which are not handled by a driver. > Could be the cause for your load problem too. > No, that would be stray interrupts. Spurious interrupts happen when an interrupt is asserted, but by time the processor asks the interrupt controller for the current active interrupt, it is no longer active. One way it can happen is when an interrupt handler writes to a device to clear a pending interrupt and that write takes a long time to complete because the device is on a slow bus, and the interrupt controller is on a faster bus. The EOI to the controller outraces the device write that would clear the pending interrupt condition, so the processor is re-interrupted, but by time it asks for the next active interrupt the device write has finally completed and the interrupt is no longer pending. That sequence used to happen a lot, and it was "fixed" by adding an l2cache sync (basically a "drain write buffer") just before an EOI. You sometimes still see an occasional spurious interrupt, but it shouldn't be happening multiple times per second as seen in the logging above. -- Ian