[Cbe-oss-dev] Kernel DMA Problems on PS3
Jonathan Bartlett
jonathan at newmedio.com
Tue Feb 6 17:49:40 EST 2007
Jeremy Kerr wrote:
>Hi Jonathan,
>
>
>
>>I'm currently having some bizarre DMA behavior on my PS3 running YDL
>>(2.6.16 kernel). Are there DMA races that have been fixed since
>>then?
>>
>>
>
>What kind of bizarre DMA behaviour are you seeing? And can you share any
>code that shows these problems?
>
>
Basically, it seems that any time I have a lot of DMA transfers
in-the-air at the same time they get swapped and flipped and sometimes I
get a random bus error. Here is the code that generates the errors:
http://dev.newmedio.com/johnnyb/toupper.tar.gz
Just type in "make; ./convert" to run the program.
The goal of the spe_main.c algorithm is to initiate a lot of buffers
transferring, and let the MFC decide which ones to process, and then the
application simply processes and re-uses the buffers for the next data
load. It uses barriers so that it can do a back-to-back PUT and GET on
the same local store buffer and let the MFC manage the synchronization.
All of the DMAs are done from spe_main.c. To play with it, you can mess
with the MAX_TRANSFER_SIZE and NUM_BUFFERS constants. It always works
with NUM_BUFFERS = 1 and never works with NUM_BUFFERS = 7 (though the
actual failure differs from run to run).
Jon
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/cbe-oss-dev/attachments/20070206/97bc362f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jon_logo.jpg
Type: image/jpeg
Size: 22947 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/cbe-oss-dev/attachments/20070206/97bc362f/attachment.jpg>
More information about the cbe-oss-dev
mailing list