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