Hi Gabe,
that comment about generalization was not directed at you personally, I was
just trying to be funny that the conversation seems to always be a
balancing act between practicality and generality... bad joke if you took
that comment to be for you (I was the one suggesting not to put it in
isa_traits in the first place)!

As long as there is a 1:1 correlation between ISA and memory model in gem5,
then I've been converted to the side that it's clear what's going on with
the "NeedsTSO" variable and especially better than "#include
THE_ISA==X86"...

On Mon, Jan 9, 2012 at 8:31 PM, Gabriel Michael Black <[email protected]
> wrote:

> I think HasTSO, NeedsTSO, IsTSO, TSOsBFF, whatever, is fine, since all of
> them indicate TSO is being turned on.
>
> The idea that when I want generalization it's for generalization's sake
> implies that I have no justification other than it's just what trips my
> trigger is nonsense and extremely dismissive. You can disagree, you may be
> right, but my arguments should be taken just as seriously as anyone else's.
>
> Branch delay slots are actually a good example where turning things into
> an on/off switch is an oversimplification that does more harm than good.
> There are delay slots, annulled delay slots under different circumstances,
> micropcs, delayed micropcs, speculative decode state, etc. which were
> either not handled at all, handled incorrectly, or handled poorly even with
> dedicated machinery in place. There are 10,000 shades of gray, and you
> can't just pick 3 and expect everybody to be happy.
>
> I think putting constants or bools into isa_traits.hh is generally bad.
> Some of the time they don't make any sense in most of the ISAs and have to
> be set to whatever somebody guesses is the most inert setting. Sometimes we
> end up with multiple copies of the same thing because nobody remembers
> what's already in there. You have to go spelunking to figure out how a
> constant is used, and even then it might not be consistent. There's no good
> way to know a constant isn't needed any more and to get rid of it. There's
> no structure, just a big wad of gunk doing 100 different things nobody
> remembers. There are a few justified cases for things to go in
> isa_traits.hh, but I think most of the time things are put there because it
> wasn't obvious where they should go, even though there was probably a
> better place if somebody looked hard enough.
>
> The reason I don't like putting this in isa_traits.hh is because for most
> of the ISAs it's a NOP and just causes clutter. I don't want to beat Nilay
> over the head about it since it's not the end of the world, but it's
> contributing to the clutter in that file.
>
> If the a, b, c, d, thing I mentioned would be too much of a pain because
> of dependencies (I can see that happening), weird checks that need to
> happen, etc., then it makes sense not to do that. I would still prefer this
> to be a parameter if nothing else for the far off day when all the ISAs are
> compiled into one binary (hopefully without templates that would quintuple
> the binary size), but I won't have a heart attack if it isn't. Just
> remember when you go to put a new constant in isa_traits.hh that it's
> probably the wrong thing to do and you should reconsider your design.
>
> Gabe
>
>
>
> Quoting Nilay Vaish <[email protected]>:
>
>  I declare Steve to be the winner!
>>
>> --
>> Nilay
>>
>> On Mon, 9 Jan 2012, Steve Reinhardt wrote:
>>
>>  HasTSO is acceptable to me, but if we're looking for alternatives, we
>>> could
>>> do NeedsTSO instead (since in a sense the consistency model is a
>>> requirement the ISA puts on the memory system).
>>>
>>> Steve
>>>
>>> On Mon, Jan 9, 2012 at 4:34 PM, Ali Saidi <[email protected]> wrote:
>>>
>>>
>>>>
>>>> That is fine. I can see arguments both ways, but go for it.
>>>>
>>>> Ali
>>>>
>>>>
>>>> On 09.01.2012 18:30, Nilay Vaish wrote:
>>>>
>>>>  Ali, are you sure that 'an
>>>>>
>>>> ISA is total store order' is grammatically
>>>>
>>>>> correct? I chose hasTSO on
>>>>>
>>>> purpose, since I feel 'an ISA has total store
>>>>
>>>>> order' is correct.
>>>>>
>>>>>
>>>>>  --
>>>>
>>>>> Nilay
>>>>>
>>>>> On Tue, 10 Jan 2012, Ali Saidi wrote:
>>>>>
>>>>>  I'm neutral
>>>>>>
>>>>> on this, either way is fine, but I think the name HasTSO isn't ideal.
>>>> An
>>>> ISA is TSO, but I don't know that it has TSO. Ali
>>>>
>>>>>
>>>>>
>>>>>  ______________________________**_________________
>>>>
>>>>> gem5-dev mailing
>>>>>
>>>> list
>>>>
>>>>> [email protected]
>>>>> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>>>>>
>>>>
>>>>
>>>> ______________________________**_________________
>>>> gem5-dev mailing list
>>>> [email protected]
>>>> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>>>>
>>>>  ______________________________**_________________
>>> gem5-dev mailing list
>>> [email protected]
>>> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>>>
>>>  ______________________________**_________________
>> gem5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>>
>>
>
> ______________________________**_________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>



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

Reply via email to