Date: Fri, 19 Dec 2008 11:02:21 +0000 From: Dieter <freebsd@sopwith.solgatos.com> To: freebsd-firewire@freebsd.org, bug-followup@freebsd.org Subject: Re: kern/118093: firewire bus reset hogs CPU, causing data to be lost Message-ID: <200812191902.TAA01939@sopwith.solgatos.com>
next in thread | raw e-mail | index | archive | help
Here are the results of two more experiments: I tried to verify what spl the firewire code is at when calling printf(9) by adding the following block into fwohci.c just before one of the printfs. { #include <sys/types.h> #include <sys/systm.h> intrmask_t debug_spl; /* __uint32_t */ intrmask_t debug_spl_high; intrmask_t debug_spl_tty; intrmask_t debug_spl_fw; intrmask_t debug_spl_0; intrmask_t debug_spl_net; debug_spl = splhigh(); debug_spl_high = spltty(); debug_spl_tty = splfw(); debug_spl_fw = splnet(); debug_spl_net = splhigh(); spl0(); /* void */ debug_spl_0 = splhigh(); splx(debug_spl); printf("fwohci_intr_core(): spl = 0x%x\n splhigh=0x%x spltty=0x%x splfw=0x%x splnet=0x%x spl0=0x%x\n", debug_spl, debug_spl_high, debug_spl_tty, debug_spl_fw, debug_spl_net, debug_spl_0); } But my results appear bogus: fwohci_intr_core(): spl = 0x0 splhigh=0x0 spltty=0x0 splfw=0x0 splnet=0x0 spl0=0x0 I have examined my code and the spl(9) man page several times but I can't find what is wrong. Any clues? -------------------------------------------------------- To isolate the effects of printf(9) from the firewire bus reset, I picked a trivial system call (chown(2)) and added some printf(9) calls. Calling chown several times and monitoring with systat -vmstat gives: 1098 interrupts on the console IRQ 93.1%Sys 6.7%Intr 0.2%User 0.0%Nice 0.0%Idle This did NOT interfere with Ethernet. So printf(9) interferes with Ethernet when called from the firewire driver, but not when called from a vanilla system call. -------------------------------------------------------- sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A, console sio0: [FILTER] What does [FILTER] mean? I don't see an explanation on the sio man page.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812191902.TAA01939>