kern/118093: firewire bus reset hogs CPU, causing data to be lost

Sean Bruno sbruno at miralink.com
Mon Dec 22 19:30:05 PST 2008


The following reply was made to PR kern/118093; it has been noted by GNATS.

From: Sean Bruno <sbruno at miralink.com>
To: Dieter <freebsd at sopwith.solgatos.com>
Cc: freebsd-firewire at freebsd.org, bug-followup at freebsd.org
Subject: Re: kern/118093: firewire bus reset hogs CPU,	causing data to be
 lost
Date: Mon, 22 Dec 2008 19:21:49 -0800

 Dieter wrote:
 > In message <494DAEB1.1070909 at miralink.com>, Sean Bruno writes:
 >
 >   
 >> I setup my system to execute a bus reset every 1 second, simultaneously, 
 >> I started copying a large
 >> file onto the system see if anything would happen.
 >>
 >> I saw no change to copy speed reported by SCP during the entire 
 >> transaction.  I also see no change
 >> to the system load while this is occurring.
 >>     
 >
 > Does your system have a RS-232 console or VGA console?
 > The problem might be specific to RS-232.
 >
 >   
 I have both.  I disabled my serial console to test, no change when using
 the VGA console only.
 
 >> This seems indicative of "something else" going on.
 >>     
 >
 > Any idea what this "something else" might be?
 >
 > Does anyone have a clue why my spl calls are returning 0 ?
 >
 >   
 I confirmed that spl's are complete no-ops since rel 5.  So, you want to 
 ignore
 them as they are just markers now where locking should be implemented.
 
 I went back in your original submission and I can see a significant drop 
 in I/O
 when resetting the F/W bus.   If I have the following running:
 dd if=/dev/zero of=/dev/ad6 bs=64k
 
 Then I see about 64MB/S normally.  When I reset any firewire bus, I see 
 the throughput
 drop as reported by iostat by a significant amount(2-4 MB/s).
 
 I am assuming that the firewire driver is holding a very heavy lock here 
 that is cascading
 down to the printf().  At least, that would be my ASSumption.  :)
 
 I will continue to poke around.  You are not crazy Dieter.
 
 Sean
 
 


More information about the freebsd-bugs mailing list