[Barrelfish-users] Bidirectional bulk transfer

Zeus Gómez Marmolejo zeus.gomez at bsc.es
Wed Apr 18 13:55:50 CEST 2012


mmm

it's interesting. You are right. If we remove all the bulk transport it
also hangs... But it only happens if both of them are sending the cap. If
only server or client sends it, it goes well...

zeus.

El 17 de abril de 2012 20:39, Baumann Andrew <andrewb at inf.ethz.ch> escribió:

>  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>
> 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]
> *Sent:* Tuesday, 17 April 2012 08:59
> *To:* 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
>
> ****
>



-- 
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/20120418/7cb79d0c/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bulktest.c
Type: text/x-csrc
Size: 4713 bytes
Desc: not available
Url : https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120418/7cb79d0c/attachment.bin 


More information about the Barrelfish-users mailing list