From owner-freebsd-hackers Mon Jul 14 12:53:13 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA10630 for hackers-outgoing; Mon, 14 Jul 1997 12:53:13 -0700 (PDT) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id MAA10620; Mon, 14 Jul 1997 12:53:06 -0700 (PDT) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id UAA11489; Mon, 14 Jul 1997 20:49:00 +0200 From: Luigi Rizzo Message-Id: <199707141849.UAA11489@labinfo.iet.unipi.it> Subject: Re: interrupt latency To: smp@csn.net (Steve Passe) Date: Mon, 14 Jul 1997 20:48:59 +0200 (MET DST) Cc: smp@FreeBSD.ORG, hackers@FreeBSD.ORG In-Reply-To: <199707141916.NAA00523@Ilsa.StevesCafe.com> from "Steve Passe" at Jul 14, 97 01:15:47 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Hi, > > > what are the starting and ending event that you are looking for ? > > > > start: hw_irq, handler (glue code) called ? > > end: handler called, driver called ? > > thats a good question. > > the problem: > > in our SMP system an INT may be sent to a CPU that can't enter the kernel > because another CPU is currently inside the kernel. this causes a long delay > between the time the INT tickels the hardware and the time the ISR actually > runs. I am not familiar at all with the SMP code or the apic, but using a hardware solution seems extremely complex. Since you are looking at solution to improve the int latency anyways, can you consider the following approach: Replace the "giant lock" with a couple of nested locks; the most external one would only allow the posting of the hardware intr to some cpu, but not the acquisition of the "giant lock" (i.e. the right to enter the kernel). The nested lock is what you currently call 'the giant lock'. Cheers Luigi -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________