[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - DMA crash ?

DMA crash ?

Any technical questions about the Epiphany chip and Parallella HW Platform.

Moderator: aolofsson

Re: DMA crash ?

Postby tnt » Tue Apr 02, 2013 8:51 am

Any news on this ?

I also got some runs of just 'degraded' performance rather than 0 (but in fact, it's not runnin more slowly, it just crashed after some iterations IIRC), but I think it's timing dependent and maybe the new driver do something slightly differently causing this.

But in any case, it's not normal ... and I really need this to work. To deal with the limited 32k, I juggle data in/out manually but that's by small blocks and has to be controlled by the core rather than the ARM. not using the dma and using memcpy on the core is just _way_ too slow, I might as well run everything on the host ...
tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby aolofsson » Tue Apr 02, 2013 12:02 pm

Sylvain,
Sorry about the delay in solving this issue. We'll look into it in detail today.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: DMA crash ?

Postby tnt » Mon Apr 15, 2013 2:41 pm

So ? Any news ?
tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby tnt » Thu May 02, 2013 5:35 pm

I just (finally) managed to update my system to the latest gcc and latest epiphany libs and updated my DMA test code.

Now, it seems more stable. However it also seems a bit less than twice slower than before, this is weird.
tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby tnt » Thu May 02, 2013 6:34 pm

tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby tnt » Thu May 02, 2013 10:08 pm

tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby ysapir » Thu May 02, 2013 10:57 pm

This is an interesting observation, we will certainly need to check that. However, please be aware that the reads and writes travel in different paths, so there is no RAW (Read After Write) guarantee. Please make sure you read that value after some time (say, after the timeout), and not immediately after the e_write().

We are still not 100% sure that the host transactions do not stop at some cache or read/write buffers along the paths. However, I never got a positive indication for such a case, and usually, after some testing and analysis, some other explanation can be found, and the program corrected accordingly.
User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: DMA crash ?

Postby tnt » Fri May 03, 2013 11:27 am

Attachments
test_dma.tar.bz2
Mailbox write during DMA
(17.58 KiB) Downloaded 928 times
tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

Re: DMA crash ?

Postby ysapir » Fri May 03, 2013 3:16 pm

Let's try to eliminate one more possible explanation - In our mesh architecture, there is always a precedence of writes to a core over reads from a core, when both done from external space. This means that if core #1 is DMA-ing data into core #0, and you are trying to read data from core #0 (say, host reads mailbox), then the reads are stalled until all writes are completed.

Is it possible that what you try to read is actually being blocked by a continuous DMA-write process?
User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: DMA crash ?

Postby tnt » Fri May 03, 2013 3:25 pm

Well, only core #0 is active here and I'm using its DMA.
From the DMA speeds measurements, I'm _far_ from exceeding the theoritical bandwidth limit in/out of the core.
And then, the reads actually do work and they return a value that's consistent with the previous value that was at that memory location.

Then there is also the fact that the original problem is the core not responding to mailbox commands, but if I repeat the command write, it eventually works.

So all in all, this point to the issue being in the "write" side rather than the "read" side.
tnt
 
Posts: 408
Joined: Mon Dec 17, 2012 3:21 am

PreviousNext

Return to Epiphany and Parallella Q & A

Who is online

Users browsing this forum: No registered users and 42 guests

cron