Definitely. This makes ports a lot more abstract, where they just represent a potential association between two objects. The nature and function of that association is up to either side of the connection, as implement in their Port subclasses. That *could* be the traditional MemObject style of connection, but it could also be for Ethernet connections, Ruby connections, or TLM socket connections as implemented in these CLs, or interrupt source/sink, etc.
That's not to say, of course, that it's always a preferrable substitute for setting objects as parameters in other objects. I haven't thought about it super deeply, but I think setting SimObjects as parameter values in other SimObjects reflects an ownership relationship, where a Port connection is more of a peer relationship and reflects an actual structural element of the simulation. Gabe On Thu, Mar 14, 2019 at 6:48 AM Jason Lowe-Power <ja...@lowepower.com> wrote: > Hey Gabe, > > I'll need to think about this a bit more myself, but do you think these > changes will increase the places we can use ports? Like Andreas was saying, > it would be nice to use it for things like interrupt routing, connecting > TLBs, and connecting all of the wavefronts in the GPU to the coalescer, > etc. These are a few places that I can think of trying to use ports where > it wasn't a great semantic before. > > Cheers, > Jason > > On Thu, Mar 14, 2019 at 6:12 AM Gabe Black <gabebl...@google.com> wrote: > > > Great, I'm glad you're in favor of this. I have a new, hopefully more > final > > batch of patches incoming soon which also include application of the new > > mechanism to TLM sockets. > > > > Gabe > > > > On Thu, Mar 14, 2019 at 2:47 AM Andreas Sandberg < > andreas.sandb...@arm.com > > > > > wrote: > > > > > Hi Everyone, > > > > > > I remember talking to Andreas H about this many years ago. If I > remember > > > correctly, the main reason the patch wasn't committed at the time was > > > performance related. IIRC, the patch series had a ~10%-20% performance > > > hit. I suspect it the patch Jason pointed to isn't the main reason for > > > any performance issues though, it's more likely one of the subsequent > > > patches that added TLM-like 4-phase handshakes. > > > > > > I'm very much in favour of sorting out the ports vs protocol issue once > > > and for all. A generic port interface would be extremely useful for > > > interrupt routing which is currently very ad-hoc. > > > > > > Cheers, > > > Andreas > > > > > > On 07/03/2019 19:42, Steve Reinhardt wrote: > > > > Thanks for digging this up, Jason. I knew this issue had been > > addressed > > > > multiple times before (I think I even had a patch at one point that > > was a > > > > smaller change, but held it off in favor of Andreas's version). I > > don't > > > > know why Andreas's change was never committed either. > > > > > > > > Anyway, it will be good to see this cleaned up, regardless of whether > > we > > > go > > > > with Andreas's code or Gabe's proposal or some hybrid. I've been out > > of > > > > the loop long enough that I don't have a specific preference. > > > > > > > > Steve > > > > > > > > > > > > On Thu, Mar 7, 2019 at 10:19 AM Jason Lowe-Power < > ja...@lowepower.com> > > > > wrote: > > > > > > > >> Hey Gabe, > > > >> > > > >> I was digging through the old reviewboard and found this patch that > > also > > > >> re-did this interface: http://reviews.gem5.org/r/1301 > > > >> > > > >> I'm not sure why this was never committed. > > > >> > > > >> I believe Andreas H's goal was to enable TLM-2 interfaces with the > > gem5, > > > >> IIRC. > > > >> > > > >> Just something to consider. > > > >> > > > >> Cheers, > > > >> Jason > > > >> > > > >> On Thu, Mar 7, 2019 at 7:00 AM Gabe Black <gabebl...@google.com> > > wrote: > > > >> > > > >>> Hey folks, specifically folks looking at this doc. I have a series > of > > > >>> patches which largely implement what I was going for, although it > > > turned > > > >>> out differently than what I have in my doc. I'll update the doc > > > soon(ish) > > > >>> to describe the current version. Go ahead and review the CLs if you > > > want, > > > >>> although I should probably run another test or two on them and the > > > >>> discussion of the design is still open over on the doc. > > > >>> > > > >>> > > > >>> > > > >> > > > > > > https://gem5-review.googlesource.com/q/topic:%22tlm%22+(status:open%20OR%20status:merged) > > > >>> Gabe > > > >>> > > > >>> On Wed, Mar 6, 2019 at 12:20 AM Gabe Black <gabebl...@google.com> > > > wrote: > > > >>> > > > >>>> Hi folks. I've been looking at how to configure TLM sockets > through > > > >>> gem5's > > > >>>> port configuration mechanism and how gem5's port configuration > > > >> mechanism > > > >>>> works in general, and I think I've mostly come up with a plan. > I've > > > >>> written > > > >>>> everything up in a doc over here: > > > >>>> > > > >>>> > > > >>>> > > > >> > > > > > > https://docs.google.com/document/d/17eXkE9YtzvYXEgkHFNR1my_xYKl3mYNNtXM9pIAX-t0/edit?usp=sharing > > > >>>> Please take a look if you have a chance, and please comment on the > > doc > > > >> if > > > >>>> you have any questions, concerns, etc. > > > >>>> > > > >>>> I created the doc on my personal account but wrote it from my work > > > >>> account > > > >>>> so it *should* be accessible and commentable by anyone with the > > link. > > > >>>> Please let me know if that's not the case. > > > >>>> > > > >>>> Gabe > > > >>>> > > > >>> _______________________________________________ > > > >>> gem5-dev mailing list > > > >>> gem5-dev@gem5.org > > > >>> http://m5sim.org/mailman/listinfo/gem5-dev > > > >> _______________________________________________ > > > >> gem5-dev mailing list > > > >> gem5-dev@gem5.org > > > >> http://m5sim.org/mailman/listinfo/gem5-dev > > > > _______________________________________________ > > > > gem5-dev mailing list > > > > gem5-dev@gem5.org > > > > http://m5sim.org/mailman/listinfo/gem5-dev > > > IMPORTANT NOTICE: The contents of this email and any attachments are > > > confidential and may also be privileged. If you are not the intended > > > recipient, please notify the sender immediately and do not disclose the > > > contents to any other person, use it for any purpose, or store or copy > > the > > > information in any medium. Thank you. > > > _______________________________________________ > > > gem5-dev mailing list > > > gem5-dev@gem5.org > > > http://m5sim.org/mailman/listinfo/gem5-dev > > _______________________________________________ > > gem5-dev mailing list > > gem5-dev@gem5.org > > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ > gem5-dev mailing list > gem5-dev@gem5.org > http://m5sim.org/mailman/listinfo/gem5-dev _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev