From owner-freebsd-hackers Fri Jan 7 16:46:40 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 138881513F for ; Fri, 7 Jan 2000 16:46:38 -0800 (PST) (envelope-from anderson@cs.duke.edu) Received: from cold.cs.duke.edu (cold.cs.duke.edu [152.3.140.78]) by duke.cs.duke.edu (8.9.1/8.9.1) with ESMTP id TAA07143 for ; Fri, 7 Jan 2000 19:46:31 -0500 (EST) From: Darrell Anderson Received: (anderson@localhost) by cold.cs.duke.edu (8.8.5/8.6.9) id TAA22361 for hackers@FreeBSD.ORG; Fri, 7 Jan 2000 19:46:31 -0500 (EST) Message-Id: <200001080046.TAA22361@cold.cs.duke.edu> Subject: ddb call & interrupts To: hackers@FreeBSD.ORG Date: Fri, 7 Jan 2000 19:46:31 -0500 (EST) X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I have a routine that sends an ip packet and receives an ack. The routine behaves as expected when called from an active kernel, but misbehaves when called from ddb. When called from ddb, the outgoing packet is sent, but the ack goes undetected. If I call fxp_intr() on the appropriate softc the ack is delivered and everybody is happy. This suggests interrupts aren't being delivered? A simpler test is to break to ddb, call something that takes some time, and notice ticks isn't incremented: db> e ticks ticks: 8de4bb db> call DELAY(1000000) 0xfa3 db> e ticks ticks: 8de4bb I'd like to be able to call my routine from ddb without resorting to polling. I've tried spl0(), enable_intr(), and both together with no effect. Any ideas? This is FreeBSD 4.0-CURRENT built from an up-to-date source pool. thanks, -Darrell -- Department of Computer Science, Duke University, Durham, NC 27708-0129 Darrell Anderson, anderson@cs.duke.edu, http://www.cs.duke.edu/~anderson To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message