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

Reply via email to