Hi Mark,
No sending the same MsgPointer around can cause problems because the NI that 
receives it earlier will send it up to the cache/dir controller which will 
delete it after consuming it.

You could perhaps add some extra bcast_id in the message at the source and 
identify it based on the {source, bcast_id}. Or you could identify it based on 
{source, address} if your protocol ensures that only one broadcast for a 
particular address is on the network at any point of time (guaranteed if the 
broadcast is done by the home node and it blocks all other requests to this 
address till the first broadcast completes and sends ACKs/unblock).

cheers,
Tushar


On Aug 7, 2012, at 6:27 PM, Mark Browning wrote:

> Is it generally safe to send multiple copies of the same 
> MsgPointer(ref-counted) around? That is, if a message has multiple 
> destinations and it arrives at one, will that destination modify the 
> underlying Message in a way which will affect other destinations?
> 
> Garnet doesn't support multi/broadcasting, so it clones and duplicates each 
> multi-destination message, but I'm extending it with a network that does 
> support it. Since the Message doesn't have any other unique identifier(that I 
> can find), I was hoping to be able to use the pointer value to to determine 
> which series of messages in various queues are unique and which are "copies", 
> but if I have to .clone() them, that won't work.
> 
> Any suggestions?
> 
> -Mark Browning
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to