On Thu, 25 Jun 2015, Steve Reinhardt wrote:
On June 19, 2015, 10:07 a.m., Steve Reinhardt wrote:
yYes, we use the wire buffer in our protocols and oppose its removal. (What's the
opposite of the "Ship It" button?) Brad is on vacation today so I'll comment on
his behalf :).
Brad Beckmann wrote:
Nilay **please** when commenting on a patch, use Reviewboard rather than
directly replying to an email. It is very hard to keep track of your comments
over email.
On 6/19 Nilay said "Steve, can you spell out the difference between the
WireBuffer and the MessageBuffer classes?"
The wire buffer is not a virtual channel buffer, rather it mimics an actual
wired communication between to controllers. As Jason points oout, it allows us
to closely tie controllers together and take advantage of ordering properties
not provided by MessageBuffers.
Nilay Vaish wrote:
You write what you think the WireBuffer is doing. Have you read the code?
How do you make sense of a data structure that has queue-like semantics for
inserts and heap-like for deletes and recycles? What
wire behaves in this fashion? Or for that matter what wire has buffering
associated with it?
Nilay Vaish wrote:
One more thing that you may not be aware of. You can connect two
controllers
directly using message buffers without going through the network. So, you
probably do not require WireBuffer anyway.
Nilay Vaish wrote:
Is AMD further interested in arguing about this data structure?
I am completely confident whatever Brad claimed is not what this
data structure does. And MessageBuffer with ordered=true would
serve the purpose as long as two controllers are directly connnected.
Unless anyone speaks on this issue soon enough (end of next week or so),
I am going assume this debate has concluded and commit this patch.
We are not interested in further argument. We are using this structure and it
should not be removed. We believe that should be sufficient argument for not
committing this patch.
Since you insist on using it, I'll drop the patch. While I am confident
that this structure is incorrect, I would really love to listen from Brad
or Lisa or you, how you make sense of the order of messages in this
structure. If at any time you realize that your messages are actually not
ordered, use MessageBuffer with ordered=true and connect the controllers
directly.
--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev