On Sat, 9 May 2015, Joel Hestness wrote:

Hi guys,

@Nilay: Thanks for clarifying the desired MachineType usage.

I understand the aims now, and I still disagree with statically defined
MachineTypes. SLICC is already very powerful, and it only makes sense to
add features, not contract them. In this case, scons and SLICC already do
the following for us: (1) they allow dynamically extending the list of
protocols in any SConscript ('all_protocols' variable), (2) they traverse
all directories to find all protocol-related files, and (3) they generate
all the MachineType code. This is nearly everything we need!

So, it seems that we're divided on whether we should "just make
MachineTypes work" or "do this the right way". I spent a little time today
to assemble a patch that dynamically generates the MachineType enum from
the superset of all protocol controller definitions. Here it is:
http://reviews.gem5.org/r/2773/

Overall, I feel that the vision should be that SLICC be able to generate
and build any/all protocols in a single build operation (like gem5's SE+FS
mode merge). I suspect that direction will involve eliminating statically
defined types, since they often need to be updated per-protocol, which
tends to cause merge headaches.

 Joel




Joel, AMD might have used machine types for which no definition exists in any of the protocols. This used to happen in erstwhile GenericMachineType.


To everyone,

I am not in favor of committing Joel's patch or the one I wrote (which is why I had taken it off the reviewboard). We should not add protocol specific code to files that are not protocol-specific. Such code should reside in protocol specific .sm files. If required, SLICC should be modified. I am unable to think of any technical difficulty that prevents us from adding statistical variables to .sm files. We already have cache hits and misses being collected in .sm files.

I am not in favor of the argument that we should stick to same way as things were done in past. If in past something was done incorrectly / inefficiently / not-correct-completely, we should be willing to change it. In the current context, protocol-specific code in protocol-independent files was not the right thing to do. Therefore, we should be unwilling to allow such code.


--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to