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