[Barrelfish-users] System V Shared memory
andrewb at inf.ethz.ch
Thu Feb 16 17:18:11 CET 2012
This is an implementation bug in chips: it doesn't handle the TX_BUSY error (and gets away with it, because most clients use chips only as an RPC service). It would be possible to fix that by queuing up the sends, as we do in other services, but I'm not in a hurry to do that as I believe there was a masters project at ETH to replace chips with something better... perhaps someone can fill us in on the status of this, and if there are any merge plans?
From: Zeus Gómez Marmolejo [mailto:zeus.gomez at bsc.es]
Sent: Thursday, 16 February, 2012 4:50
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] System V Shared memory
I have been trying the shmget() shmat() functions present in the posixcompat library, which are not used by any program in Barrelfish. I've made two very simple programs shm_client and shm_server which export a shared memory and waits for the other to write on it. I attach the two programs.
The system seems to work even on different cores, but in this case I always get an error on chips forcing it to abort:
ERROR: chips.0 in get_service_reference_handler() /home/zeus/bsc/bf/usr/chips/framework.c:167
Failure: ( flounder) Cannot queue message for transmit: queue is full [FLOUNDER_ERR_TX_BUSY]
(I removed the original assert to see the error).
I guess the waitset has to be serviced to process the ACKs and empty the queue. But, this function is being called on the event handler.
Do you think is there an easy fix to this problem?
Zeus Gómez Marmolejo
Barcelona Supercomputing Center
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users