> On Aug. 7, 2015, 4:51 a.m., Steve Reinhardt wrote:
> > I confess to being confused by this patch---I thought the focus of the 
> > prior discussion was on all the flags in the Request object, but this 
> > change doesn't touch Request at all.
> > 
> > Note that, unlike Request flags, MemCmd attributes have no storage 
> > overhead, as they're just enum values.  So I don't think there's much 
> > savings in getting rid of them.  They also enable more orthogonality in the 
> > cache code.  While none of the removed attributes is currently used in more 
> > than one command, I think it's pretty easy to imagine that the Prefetch 
> > flags could get reused if we introduced an exclusive prefetch, or 
> > implemented the MMX non-temporal prefetch instructions, or some other 
> > variant form of prefetch.  It might even be the case that we could 
> > implement an exclusive prefetch today just by defining a new command that 
> > has both IsSWPrefetch and NeedsExclusive set.  (OK, it's pretty optimistic 
> > to think that would work out of the box, but that's the kind of thing this 
> > structure is supposed to enable.)
> > 
> > Now the Request flags are another story in more ways than one... but I'll 
> > respond to that on the other thread.

This addresses the (5) item in my mail, not any of the other point. I merely 
wanted to get the discussion going.

The point here is not to save storage, but to _not_ convolute how we use the 
attributes. We can add a "Prefetch" attribute, as you suggest, but no one would 
currently be using it. Note that the cache checks for _software_ prefetch 
request. If there is a need for a flag, I'd say let's add it when the need 
arises. I am in no way against useful attributes.

Really I wanted to show that there has been a bunch of cruft added based on 
copy-paste, and before adding more of the same, I'd rather get to a point where 
we agree on the usage (and document it :-). I am happy to scrap this patch if 
there is disagreement. I wanted to highlight what is bugging me...


- Andreas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3004/#review6909
-----------------------------------------------------------


On Aug. 6, 2015, 9:41 p.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3004/
> -----------------------------------------------------------
> 
> (Updated Aug. 6, 2015, 9:41 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11004:e6aa2b4cfbef
> ---------------------------
> mem: Cleanup packet attributes and rely on command type
> 
> This patch takes one step further in cleaning up the use of packet
> command attributes, and shifts away from using attributes to
> distinguish a single command. The commands affected are software
> prefetch requests and flush requests. There is really no use for
> attributes, as no other request packets share this property.
> 
> Instead of looking at the attribute, the locations that identified
> these packets now check for the actual command.
> 
> 
> Diffs
> -----
> 
>   src/mem/cache/cache_impl.hh 4413195267fd 
>   src/mem/packet.hh 4413195267fd 
>   src/mem/packet.cc 4413195267fd 
>   src/mem/ruby/system/DMASequencer.cc 4413195267fd 
>   src/mem/ruby/system/RubyPort.cc 4413195267fd 
>   src/mem/ruby/system/Sequencer.cc 4413195267fd 
> 
> Diff: http://reviews.gem5.org/r/3004/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andreas Hansson
> 
>

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to