Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261568AbTEHOeZ (ORCPT ); Thu, 8 May 2003 10:34:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261603AbTEHOeZ (ORCPT ); Thu, 8 May 2003 10:34:25 -0400 Received: from h-68-165-86-241.DLLATX37.covad.net ([68.165.86.241]:46892 "EHLO sol.microgate.com") by vger.kernel.org with ESMTP id S261568AbTEHOeY (ORCPT ); Thu, 8 May 2003 10:34:24 -0400 Subject: Re: 2.5.69 Interrupt Latency From: Paul Fulghum To: Andrew Morton Cc: "linux-kernel@vger.kernel.org" In-Reply-To: <20030507152856.2a71601d.akpm@digeo.com> References: <1052323940.2360.7.camel@diemos> <1052336482.2020.8.camel@diemos> <20030507152856.2a71601d.akpm@digeo.com> Content-Type: text/plain Organization: Message-Id: <1052405227.1995.2.camel@diemos> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 08 May 2003 09:47:09 -0500 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1779 Lines: 59 On Wed, 2003-05-07 at 17:28, Andrew Morton wrote: > Paul Fulghum wrote: > > > > 2.5.69 > > Latency 100-110usec (5x increase) > > Spikes from 5-10 milliseconds > > > Could be that some random piece of code forgot to reenable interrupts, and > things stay that way until they get reenabled again by schedule() or > syscall return. > > One way of finding the culprit would be: > > my_isr() > { > if (this interrupt is more than 5 milliseconds delayed) > dump_stack(); > } > > the stack dump will point up at the place where interrupts finally got > enabled. Here is what I got (latency spike in milliseconds): synclinkscc is a driver I maintain, and that is where I placed the stack_dump() Call Trace: [] IsrStatusB+0x1fa/0x2c0 [synclinkscc] [] +0xf4/0x5ab [synclinkscc] [] +0x0/0x14c8 [synclinkscc] [] mgscc_interrupt+0xa5/0x1b0 [synclinkscc] [] +0x0/0x14c8 [synclinkscc] [] handle_IRQ_event+0x4b/0x120 [] do_IRQ+0x9b/0x110 [] common_interrupt+0x18/0x20 [] do_softirq+0x6b/0xe0 [] do_IRQ+0xfb/0x110 [] default_idle+0x0/0x40 [] common_interrupt+0x18/0x20 [] default_idle+0x0/0x40 [] default_idle+0x30/0x40 [] cpu_idle+0x4a/0x60 [] rest_init+0x0/0x60 [] start_kernel+0x181/0x1b0 [] unknown_bootoption+0x0/0x110 -- Paul Fulghum, paulkf@microgate.com Microgate Corporation, http://www.microgate.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/