[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