[Barrelfish-users] Bidirectional bulk transfer

Baumann Andrew andrewb at inf.ethz.ch
Tue Apr 17 20:39:07 CEST 2012


Hi,

Let's try to make this as simple as possible. What happens if you remove all the bulk transport stuff and just call frame_alloc() on each side and send the cap? Do both caps arrive? Do the replies make it back? I'd like to understand more of the state of the system when it wedges...

Thanks,
Andrew

From: zeus at aluzina.org [mailto:zeus at aluzina.org] On Behalf Of Zeus Gómez Marmolejo
Sent: Tuesday, 17 April 2012 11:36
To: Baumann Andrew
Cc: barrelfish-users at lists.inf.ethz.ch
Subject: Re: [Barrelfish-users] Bidirectional bulk transfer

Hey Andrew,

Yes, sorry, I was building the easy example quite fast, I forgot that. In any case if you change the line

while(!request_done) {

by

while(1) {

the result is the same. Messages are not being delivered.

zeus.
El 17 de abril de 2012 19:27, Baumann Andrew <andrewb at inf.ethz.ch<mailto:andrewb at inf.ethz.ch>> escribió:
Hi Zeus,

Perhaps this is a bug arising only from over-simplification in the example, but it looks to me like the problem is here:

    request_done = false;
    while (!request_done) {
        event_dispatch(get_default_waitset());
    }

    debug_printf("DONE\n");

    return 0;

Whenever either server or client sees their request completed they exit. There is no guarantee that they have seen and responded to the other side's request. If you instead loop while (1), does the problem still arise?

Andrew

From: Zeus Gómez Marmolejo [mailto:zeus.gomez at bsc.es<mailto:zeus.gomez at bsc.es>]
Sent: Tuesday, 17 April 2012 08:59
To: barrelfish-users at lists.inf.ethz.ch<mailto:barrelfish-users at lists.inf.ethz.ch>
Subject: [Barrelfish-users] Bidirectional bulk transfer

Hi,

I'm currently testing the bulk transfer implementation and I'm having some issues. As I want to be able to send from core 0 to core 1 and from 1 to 0 large amounts of data, I'm creating two bulk memory regions. One master to core 0 and another master to core 1. When creating this link there are two caprefs sent, one from core 0 to 1 and the other on the opposite way. In this case, the test hangs. When there is only one being sent, the example works well.

Do you have any clues about this? I attach the example.

--
Zeus Gómez Marmolejo
Barcelona Supercomputing Center
PhD student
http://www.bsc.es



--
Zeus Gómez Marmolejo
Barcelona Supercomputing Center
PhD student
http://www.bsc.es

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120417/14509b8d/attachment.html 


More information about the Barrelfish-users mailing list