From owner-freebsd-current@FreeBSD.ORG Tue Nov 4 08:17:27 2003 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 B6C4816A4CE; Tue, 4 Nov 2003 08:17:27 -0800 (PST) Received: from mailhub.fokus.fraunhofer.de (mailhub.fokus.fraunhofer.de [193.174.154.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1BD7143FB1; Tue, 4 Nov 2003 08:17:26 -0800 (PST) (envelope-from brandt@fokus.fraunhofer.de) Received: from beagle (beagle [193.175.132.100])hA4GHO009541; Tue, 4 Nov 2003 17:17:25 +0100 (MET) Date: Tue, 4 Nov 2003 17:17:24 +0100 (CET) From: Harti Brandt To: John Baldwin In-Reply-To: <20031104164938.D72398@beagle.fokus.fraunhofer.de> Message-ID: <20031104171447.M72398@beagle.fokus.fraunhofer.de> References: <20031104164938.D72398@beagle.fokus.fraunhofer.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: current@freebsd.org Subject: RE: New interrupt stuff breaks ASUS 2 CPU system X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: harti@freebsd.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Nov 2003 16:17:27 -0000 On Tue, 4 Nov 2003, Harti Brandt wrote: HB>On Tue, 4 Nov 2003, John Baldwin wrote: HB> HB>JB> HB>JB>On 04-Nov-2003 Harti Brandt wrote: HB>JB>> HB>JB>> Hi, HB>JB>> HB>JB>> I have an ASUS system with 2 CPUs that I need to run at HZ=10000. This HB>JB>> worked until yesterday, but with the new interrupt code it doesn't boot HB>JB>> anymore. It works for the standard HZ, but if I set HZ=1000 I get a double HB>JB>> fault. I suspect a race condition in the interrupt handling. My config HB>JB>> file has HB>JB>> HB>JB>> options SMP HB>JB>> device apic HB>JB>> options HZ=1000 HB>JB> HB>JB>Ok, I can try to reproduce. HB>JB> HB>JB>> Device configuration finished. HB>JB>> Timecounter "TSC" frequency 1380009492 Hz quality -100 HB>JB>> Timecounters cpuid = 0; apic id = 00 HB>JB>> instruction pointer = 0x8:0xc048995d HB>JB>> stack pointer = 0x10:0xc0821bf4 HB>JB>> frame pointer cpuid = 0; apic id = 00 HB>JB>> HB>JB>> 0xc048995d is in critical_exit. It is the jmp after the popf from HB>JB>> cpu_critical_exit. HB>JB> HB>JB>This is where interrupts are re-enabled, so you are getting an interrupt. HB>JB>It might be helpful to figure what type of fault you are actually getting. HB> HB>tf_err is 0, tf_trapno is 30 (decimal). Hmm, this seems to be the trapno that is set for all otherwise unused vectors, correct? There seems to be no info in the trapframe that shows me where this trap came from. How can I find this out? harti -- harti brandt, http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.fraunhofer.de, harti@freebsd.org