Bug 8457 - Iso xmit stops upon bus reset
Summary: Iso xmit stops upon bus reset
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: IEEE1394 (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: drivers_ieee1394
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-08 17:19 UTC by Robert Crocombe
Modified: 2009-03-23 11:00 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.21 but main 2.6.20-rt8
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Test program to do iso xmit and bus resets (23.56 KB, text/plain)
2007-05-08 17:20 UTC, Robert Crocombe
Details

Description Robert Crocombe 2007-05-08 17:19:25 UTC
Most recent kernel where this bug did *NOT* occur: None.
Distribution: Fedora Core 5
Hardware Environment: 4-way Opteron: IWill H8502-based
Software Environment:
Problem Description:

During some testing, we were encountering bus resets which caused programs doing
isochronous transmits to hang.  Investigation with a bus analyzer showed that
isochronous traffic from the machine stopped when the bus reset occurred.  It
seems likely that the programs were blocking at the read() in
raw1394_loop_iterate().

Further investigation using a small test program seemed to indicate that whether
transmission stops is directly dependent upon the frequency of the transmission:
higher frequency transmissions (1kHz) are more likely to stop than low frequency
(10Hz).  Cycle starts are continuing through the reset (as much as they can),
and other sources of isochronous traffic do continue to transmit.

Sticking calls to raw1394_iso_stop() and then raw1394_iso_xmit_start() inside
the bus reset handler make it more likely that the transmission will survive a
bus reset, but are not 100% effective.

The behavior was first noticed with Unibrain Fireboard 800s, but appears
repeatable and the test program was run on a PCI-Express card from AvLab that
uses TI's 1394 chipset.

There's a graph of reset behavior vs frequency at:

http://rcrocomb.googlepages.com/isoxmitbehavioruponreset

Most of this work was done under 2.6.20-rt8, but I can confirm that it does
occur under 2.6.21, though less frequently.  I will run the numbers and report back.


Steps to reproduce:

Run test program which accepts, via '-f' a transmission frequency.  Bus resets
will start after a few seconds and the program will terminate once transmission
seems to have stalled.
Comment 1 Robert Crocombe 2007-05-08 17:20:08 UTC
Created attachment 11440 [details]
Test program to do iso xmit and bus resets
Comment 2 Anonymous Emailer 2007-05-08 23:50:42 UTC
Reply-To: stefanr@s5r6.in-berlin.de

bugme-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=8457
> 
>            Summary: Iso xmit stops upon bus reset
>     Kernel Version: 2.6.21 but main 2.6.20-rt8
>             Status: NEW
>           Severity: normal
>              Owner: drivers_ieee1394@kernel-bugs.osdl.org
>          Submitter: rcrocomb@ieee.org
> 
> 
> Most recent kernel where this bug did *NOT* occur: None.
> Distribution: Fedora Core 5
> Hardware Environment: 4-way Opteron: IWill H8502-based
> Software Environment:
> Problem Description:
> 
> During some testing, we were encountering bus resets which caused programs doing
> isochronous transmits to hang.  Investigation with a bus analyzer showed that
> isochronous traffic from the machine stopped when the bus reset occurred.  It
> seems likely that the programs were blocking at the read() in
> raw1394_loop_iterate().
> 
> Further investigation using a small test program seemed to indicate that whether
> transmission stops is directly dependent upon the frequency of the transmission:
> higher frequency transmissions (1kHz) are more likely to stop than low frequency
> (10Hz).  Cycle starts are continuing through the reset (as much as they can),
> and other sources of isochronous traffic do continue to transmit.
> 
> Sticking calls to raw1394_iso_stop() and then raw1394_iso_xmit_start() inside
> the bus reset handler make it more likely that the transmission will survive a
> bus reset, but are not 100% effective.
> 
> The behavior was first noticed with Unibrain Fireboard 800s, but appears
> repeatable and the test program was run on a PCI-Express card from AvLab that
> uses TI's 1394 chipset.
> 
> There's a graph of reset behavior vs frequency at:
> 
> http://rcrocomb.googlepages.com/isoxmitbehavioruponreset
> 
> Most of this work was done under 2.6.20-rt8, but I can confirm that it does
> occur under 2.6.21, though less frequently.  I will run the numbers and report back.
> 
> 
> Steps to reproduce:
> 
> Run test program which accepts, via '-f' a transmission frequency.  Bus resets
> will start after a few seconds and the program will terminate once transmission
> seems to have stalled.
> 
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.


Comment 3 Natalie Protasevich 2007-07-04 19:29:43 UTC
Any progress on this bug? was any testing done with latest kernel, is the bug still there?
Thanks.
Comment 4 Stefan Richter 2007-07-05 01:32:38 UTC
I am not aware of anyone working on this.  Perhaps I should start sending ~monthly "known bugs" lists to linux1394-devel (maybe also linux1394-user) to motivate passers-by to join the effort.
Comment 5 Robert Crocombe 2007-08-20 15:48:32 UTC
I should note that I no longer work at the same job, and no longer do 1394b development.  I've passed the bug # along to the appropriate people who will presumably be picking up the effort.

Note You need to log in before you can comment on or make changes to this bug.