Hi Song,

Can you attach the stats_db.out.gz along with the configuration files? 

Regards,
-Stavros.

On Apr 7, 2011, at 3:47 PM, Song Liu wrote:

> Hi Stavros,
> 
> Thanks for sending the patch. It fixed the assertions. However, I have
> got another problem with CMP simulations.
> 
> I have used the same configuration above, except fixing the number of
> L2 banks. The simulation finished. However, when I try to collect
> stats I found the user committed instructions are often 0 for CMP
> simulations. Particularly, I saw one core with very low user committed
> instructions, and other cores with 0 user committed instructions, so
> it is kind of a dead lock...
> 
> Could you please share any suggestions on this problem?
> 
> Thanks in advance,
> Song
> 
> 
> On Tue, Apr 5, 2011 at 4:24 PM, Volos Stavros <[email protected]> wrote:
>> Hi Song,
>> 
>> You can use the following patch to fix this bug. Please apply this patch and 
>> let me know
>> whether you face any other bug/assertion.
>> 
>> Regards,
>> -Stavros.
>> 
>> On Apr 5, 2011, at 5:21 PM, Song Liu wrote:
>> 
>>> Hi Volos,
>>> 
>>> Thanks so much for this helpful information.
>>> 
>>> After changing the number of banks, I have fixed most of the assertion
>>> fails, with only one exception. Could you please help me look at the
>>> attached assertion fail?
>>> 
>>> Thanks again,
>>> 
>>> Best,
>>> Song
>>> 
>>> 
>>> On Tue, Apr 5, 2011 at 3:42 AM, Volos Stavros <[email protected]> wrote:
>>>> Hi Song,
>>>> 
>>>> Please ignore the previous email.
>>>> 
>>>> The problem is the number of L2 banks. You have set this parameter to 1 
>>>> which is wrong. During the trace
>>>> simulation the directory and cache state are NOT seperate for each bank, 
>>>> so we need to load the correct data
>>>> to each bank from these files. Since you have set the number of banks to 1 
>>>> (less than the number of tiles
>>>> that you simulate) the loading of the state will not be correct and that's 
>>>> why you experience this problem.
>>>> 
>>>> Please set the number of banks to the number of tiles (i.e., cores) you 
>>>> are simulating. According to the topology
>>>> you are using, you are simulating 4 cores. So the correct value is
>>>> 
>>>> -L2:banks                      4                   # (Banks) number of 
>>>> directory banks in each group
>>>> 
>>>> Regads,
>>>> -Stavros.
>>>> 
>>>> ________________________________________
>>>> From: Song Liu [[email protected]]
>>>> Sent: Tuesday, April 05, 2011 4:22 AM
>>>> To: [email protected]
>>>> Subject: Re: Error with flexus_test_app in multi-core system
>>>> 
>>>> Hi Jason,
>>>> 
>>>> Thanks for your kind reply. I have attached the two configuration.out 
>>>> files.
>>>> 
>>>> Best,
>>>> Song
>>>> 
>>>> On Mon, Apr 4, 2011 at 8:45 PM, Jason Zebchuk <[email protected]> 
>>>> wrote:
>>>>> Hi Song,
>>>>> 
>>>>> The line
>>>>> 
>>>>> 28276 <NonInclusiveMESIPolicy.cpp:375> {51794}- Received Upgrade from
>>>>> Non-Sharer, converting to WriteReq: MemoryMessage[Upgrade Request]:
>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true Outstanding
>>>>> Msgs: 0 Requires Ack
>>>>> 
>>>>> Indicates that the coherence directory located with the L2 cache indicates
>>>>> that the requester is not a sharer of the block. It uses this condition to
>>>>> identify the race condition I mentioned in my previous email. However, if 
>>>>> we
>>>>> look at the other messages, we see that there is no race happening. So,
>>>>> 00-L1d has a valid copy but this isn't recorded in the directory.
>>>>> 
>>>>> So, either there's a bug in the code, or there's something in your
>>>>> configuration that's making this happen.
>>>>> 
>>>>> Can you reply to the list and send your configuration.out from your timing
>>>>> simulation, and the configuration.out from the functional simulation that
>>>>> created any flex-state that you might be loading? Can you please send them
>>>>> as attachments instead of inline?
>>>>> 
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> Jason
>>>>> 
>>>>> 
>>>>> 
>>>>> On 11-04-04 7:43 PM, Song Liu wrote:
>>>>>> 
>>>>>> Hi Jason,
>>>>>> 
>>>>>> Thanks a lot for your kind reply.
>>>>>> 
>>>>>> I am not using different cache block sizes, so I guess that is not the
>>>>>> reason.
>>>>>> 
>>>>>> I have included all the debug information for the specific address in
>>>>>> the following.
>>>>>> 
>>>>>> Thanks again,
>>>>>> 
>>>>>> Song
>>>>>> 
>>>>>> 28123<CacheController.hpp:366>  {51765}- Searching MAF for block
>>>>>> p:0003bdc80
>>>>>> 28126<StdArray.hpp:584>  {51765}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared
>>>>>> 28171<CacheController.hpp:366>  {51773}- Searching MAF for block
>>>>>> p:0003bdc80
>>>>>> 28174<StdArray.hpp:584>  {51773}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared
>>>>>> 28207<CacheController.hpp:366>  {51780}- Searching MAF for block
>>>>>> p:0003bdc80
>>>>>> 28210<StdArray.hpp:584>  {51780}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared
>>>>>> 28244<CacheController.hpp:366>  {51788}- Searching MAF for block
>>>>>> p:0003bdc80
>>>>>> 28247<StdArray.hpp:584>  {51788}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared
>>>>>> 28253<CacheController.hpp:291>  {51788}- 02-L1d - Adding MAF entry for
>>>>>> block p:0003bdc80 in state kWaitResponse
>>>>>> 28255<CacheController.cpp:1846>  {51789}- 02-L1d  sendBack_Request
>>>>>> MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28257<CacheImpl.cpp:454>  {51789}- 02-L1d Sent on Port
>>>>>> BackSideOut(Request): MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28258<SplitDestinationMapperImpl.cpp:813>  {51789}- sys-net-mapper
>>>>>> Dest = 6 (dirIndex2NodeIndex(2)):MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28259<SplitDestinationMapperImpl.cpp:346>  {51789}- sys-net-mapper
>>>>>> Received Request from cache 2 sending to network port 8 -
>>>>>> MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28261<MultiNicXImpl.hpp:210>  {51790}- 02-nic   Packet contains:
>>>>>> MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28263<MemoryNetworkImpl.cpp:306>  {51790}- Network Received msg From 2
>>>>>> to 6, on vc 0, serial: 2036 Message =  MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28265<MemoryNetworkImpl.cpp:190>  {51793}- Network Delivering msg From
>>>>>> 2 to 6, on vc 2, serial: 2036 Message =  MemoryMessage[Upgrade
>>>>>> Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28267<MultiNicXImpl.hpp:138>  {51793}- 06-nic   Packet contains:
>>>>>> MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28268<SplitDestinationMapperImpl.cpp:642>  {51794}- sys-net-mapper
>>>>>> Received Request for Directory 2 - MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28269<CMPCacheImpl.cpp:140>  {51794}- 02-L2 Received on Port
>>>>>> Request_In : MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9898 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> from node 4
>>>>>> 28270<CMPCacheController.hpp:124>  {51794}- 02-L2reserveSnoopOut(2):
>>>>>> ProcRequest: NoAction, snoop reservations: 0, request reservations: 0,
>>>>>> reply reservations: 0, MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28272<CMPCacheController.cpp:345>  {51794}- 02-L2 Scheduled Request:
>>>>>> MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28273<CMPCacheController.cpp:438>  {51794}- 02-L2 handleRequest:
>>>>>> ProcRequest: NoAction, snoop reservations: 2, request reservations: 1,
>>>>>> reply reservations: 1, MAF reserved, Cache EB reserved (1), Dir EB
>>>>>> reserved, MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9898 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> for MemoryMessage[Upgrade Request]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9898 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28274<StdArray.hpp:566>  {51794}- Looking for block p:0003bdc80 in set
>>>>>> 3954 theNumSets = 8192
>>>>>> 28275<StdArray.hpp:568>  {51794}- Found block p:0003bdc80 in set 3954
>>>>>> in state Exclusive
>>>>>> 28276<NonInclusiveMESIPolicy.cpp:375>  {51794}- Received Upgrade from
>>>>>> Non-Sharer, converting to WriteReq: MemoryMessage[Upgrade Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28277<CMPCacheController.hpp:156>  {51794}- 02-L2unreserveSnoopOut(1):
>>>>>> ProcRequest: NotifyAndWaitAck, snoop reservations: 2, request
>>>>>> reservations: 1, reply reservations: 1, MAF reserved, Cache EB
>>>>>> reserved (1), Dir EB reserved, MemoryMessage[Write Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28279<CMPCacheController.cpp:523>  {51794}- 02-L2 runRequestProcess:
>>>>>> ProcRequest: NotifyAndWaitAck, snoop reservations: 1, request
>>>>>> reservations: 0, reply reservations: 1, MemoryMessage[Write Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack for MemoryMessage[Write Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28280<CMPCacheController.cpp:757>  {51798}- Finalize process:
>>>>>> ProcRequest: NotifyAndWaitAck, snoop reservations: 1, request
>>>>>> reservations: 0, reply reservations: 1, MemoryMessage[Write Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28281<CMPCacheController.hpp:156>  {51798}- 02-L2unreserveSnoopOut(1):
>>>>>> ProcRequest: NotifyAndWaitAck, snoop reservations: 1, request
>>>>>> reservations: 0, reply reservations: 1, MemoryMessage[Write Request]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9898 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28283<CMPCacheController.cpp:844>  {51798}- 02-L2 enqueuing Snoop msg:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28285<CMPCacheImpl.cpp:209>  {51798}- 02-L2 Sent on Port ReplyOut:
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28286<SplitDestinationMapperImpl.cpp:804>  {51798}- sys-net-mapper
>>>>>> Dest = 2 (requester):MemoryMessage[MissNotify]: Addr:0xp:0003bdc80
>>>>>> Size:0 Serial: 9900 Core: 0 DStream: true Outstanding Msgs: 1 Requires
>>>>>> Ack
>>>>>> 28287<SplitDestinationMapperImpl.cpp:495>  {51798}- sys-net-mapper
>>>>>> Received Reply from Directory 2 sending to network port 18 -
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28289<CMPCacheImpl.cpp:229>  {51798}- 02-L2 Sent on Port SnoopOut:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28290<SplitDestinationMapperImpl.cpp:470>  {51798}- sys-net-mapper
>>>>>> Received Snoop from Directory 2 sending to network port 19 -
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28292<MultiNicXImpl.hpp:210>  {51799}- 06-nic   Packet contains:
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28294<MemoryNetworkImpl.cpp:306>  {51799}- Network Received msg From 6
>>>>>> to 2, on vc 0, serial: 2037 Message =  MemoryMessage[MissNotify]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9900 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 1 Requires Ack
>>>>>> 28296<MultiNicXImpl.hpp:210>  {51799}- 06-nic   Packet contains:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28298<MemoryNetworkImpl.cpp:306>  {51799}- Network Received msg From 6
>>>>>> to 0, on vc 0, serial: 2038 Message =  MemoryMessage[WriteFwd]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28300<MemoryNetworkImpl.cpp:190>  {51803}- Network Delivering msg From
>>>>>> 6 to 2, on vc 6, serial: 2037 Message =  MemoryMessage[MissNotify]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9900 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 1 Requires Ack
>>>>>> 28302<MultiNicXImpl.hpp:138>  {51803}- 02-nic   Packet contains:
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28303<SplitDestinationMapperImpl.cpp:625>  {51804}- sys-net-mapper
>>>>>> Received Reply for cache 2 - MemoryMessage[MissNotify]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9900 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 1 Requires Ack
>>>>>> 28304<CacheImpl.cpp:412>  {51804}- 02-L1d Received on Port
>>>>>> BackSideIn_Reply: MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9900 Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28305<CacheController.cpp:1053>  {51805}- 02-L1d  scheduling request
>>>>>> to bank 0: MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9900 Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> eL1
>>>>>> 28306<CacheController.cpp:850>  {51805}- 02-L1d  schedule Back
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28307<CacheController.cpp:1557>  {51805}- 02-L1d  runBackProcess 4966:
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28308<InclusiveMESI.cpp:635>  {51805}- 02-L1d  Handle BackProcess:
>>>>>> MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0 Serial: 9900
>>>>>> Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28309<StdArray.hpp:584>  {51805}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared_X
>>>>>> 28311<CacheController.cpp:1681>  {51805}- 02-L1d  no more work
>>>>>> required for: MemoryMessage[MissNotify]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9900 Core: 0 DStream: true Outstanding Msgs: 1 Requires Ack
>>>>>> 28389<MemoryNetworkImpl.cpp:190>  {51903}- Network Delivering msg From
>>>>>> 6 to 0, on vc 4, serial: 2038 Message =  MemoryMessage[WriteFwd]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28391<MultiNicXImpl.hpp:138>  {51903}- 00-nic   Packet contains:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28392<SplitDestinationMapperImpl.cpp:621>  {51904}- sys-net-mapper
>>>>>> Received Snoop for cache 0 - MemoryMessage[WriteFwd]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28393<CacheImpl.cpp:419>  {51904}- 00-L1d Received on Port
>>>>>> BackSideIn_Request: MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28394<CacheController.cpp:1053>  {51905}- 00-L1d  scheduling request
>>>>>> to bank 0: MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack eL1
>>>>>> 28395<CacheController.cpp:874>  {51905}- 00-L1d  schedule Back
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28396<CacheController.cpp:1557>  {51905}- 00-L1d  runBackProcess 4967:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28397<InclusiveMESI.cpp:635>  {51905}- 00-L1d  Handle BackProcess:
>>>>>> MemoryMessage[WriteFwd]: Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core:
>>>>>> 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28398<StdArray.hpp:584>  {51905}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Exclusive
>>>>>> 28399<CacheController.hpp:381>  {51905}- Expected to find MAF entry
>>>>>> for p:0003bdc80 but found none.
>>>>>> 28402<CacheController.cpp:1821>  {51906}- 00-L1d  sendFront (D-1, I-0)
>>>>>> : MemoryMessage[Invalidate]: Addr:0xp:0003bdc80 Size:0 Serial: 9903
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28404<CacheImpl.cpp:282>  {51906}- 00-L1d Sent on Port FrontSideOut_D
>>>>>> [0]: MemoryMessage[Invalidate]: Addr:0xp:0003bdc80 Size:0 Serial: 9903
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28405<ExecuteImpl.cpp:371>  {51906}- 00-execute EX received mem
>>>>>> request MemoryMessage[Invalidate]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9903 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28406<ExecuteImpl.cpp:1423>  {51907}- 00-execute EX Issuing memory
>>>>>> reply: MemoryMessage[Invalidate Ack]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9905 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28407<CacheImpl.cpp:172>  {51907}- 00-L1d Received on Port
>>>>>> FrontSideIn(Snoop) [0]: MemoryMessage[Invalidate Ack]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9905 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28412<CacheController.cpp:1053>  {51907}- 00-L1d  scheduling request
>>>>>> to bank 0: MemoryMessage[Invalidate Ack]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9905 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> eL1
>>>>>> 28413<CacheController.cpp:964>  {51907}- 00-L1d  schedule Snoop
>>>>>> MemoryMessage[Invalidate Ack]: Addr:0xp:0003bdc80 Size:0 Serial: 9905
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28414<CacheController.cpp:1442>  {51907}- 00-L1d  runSnoopProcess
>>>>>> 4968: MemoryMessage[Invalidate Ack]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9905 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28415<InclusiveMESI.cpp:1847>  {51907}- 00-L1d Snoop message:
>>>>>> MemoryMessage[Invalidate Ack]: Addr:0xp:0003bdc80 Size:0 Serial: 9905
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28416<StdArray.hpp:584>  {51907}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Exclusive
>>>>>> 28417<InclusiveMESI.cpp:1833>  {51907}- 00-L1d Removing Snoop Buffer
>>>>>> entry after receiving final reply: MemoryMessage[FwdReplyWritable]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28421<CacheController.cpp:1864>  {51909}- 00-L1d  sendBack_Snoop
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28422<CacheController.cpp:1869>  {51909}- 00-L1d  Using REPLY channel
>>>>>> sendBack_SnoopMemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80
>>>>>> Size:0 Serial: 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires
>>>>>> Ack
>>>>>> 28425<CacheImpl.cpp:441>  {51909}- 00-L1d Sent on Port
>>>>>> BackSideOut(Reply): MemoryMessage[FwdReplyWritable]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28426<SplitDestinationMapperImpl.cpp:804>  {51909}- sys-net-mapper
>>>>>> Dest = 2 (requester):MemoryMessage[FwdReplyWritable]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28427<SplitDestinationMapperImpl.cpp:418>  {51909}- sys-net-mapper
>>>>>> Received Reply from cache 0 sending to network port 0 -
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28441<MultiNicXImpl.hpp:210>  {51910}- 00-nic   Packet contains:
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28443<MemoryNetworkImpl.cpp:306>  {51910}- Network Received msg From 0
>>>>>> to 2, on vc 0, serial: 2042 Message =
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28815<MemoryNetworkImpl.cpp:190>  {52033}- Network Delivering msg From
>>>>>> 0 to 2, on vc 6, serial: 2042 Message =
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28817<MultiNicXImpl.hpp:138>  {52033}- 02-nic   Packet contains:
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28818<SplitDestinationMapperImpl.cpp:625>  {52034}- sys-net-mapper
>>>>>> Received Reply for cache 2 - MemoryMessage[FwdReplyWritable]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9899 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28819<CacheImpl.cpp:412>  {52034}- 02-L1d Received on Port
>>>>>> BackSideIn_Reply: MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80
>>>>>> Size:0 Serial: 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires
>>>>>> Ack
>>>>>> 28820<CacheController.cpp:1053>  {52035}- 02-L1d  scheduling request
>>>>>> to bank 0: MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> eL1
>>>>>> 28821<CacheController.cpp:850>  {52035}- 02-L1d  schedule Back
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28822<CacheController.cpp:1557>  {52035}- 02-L1d  runBackProcess 4988:
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28823<InclusiveMESI.cpp:635>  {52035}- 02-L1d  Handle BackProcess:
>>>>>> MemoryMessage[FwdReplyWritable]: Addr:0xp:0003bdc80 Size:0 Serial:
>>>>>> 9899 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28824<StdArray.hpp:584>  {52035}- Found block p:0003bdc80
>>>>>> (p:0003bdc80) in set 114 in state Shared_X
>>>>>> 28831<CacheController.cpp:1864>  {52037}- 02-L1d  sendBack_Snoop
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28832<CacheController.cpp:1869>  {52037}- 02-L1d  Using REPLY channel
>>>>>> sendBack_SnoopMemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0
>>>>>> Serial: 9940 Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28839<CacheImpl.cpp:441>  {52037}- 02-L1d Sent on Port
>>>>>> BackSideOut(Reply): MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80
>>>>>> Size:0 Serial: 9940 Core: 0 DStream: true Outstanding Msgs: 0 Requires
>>>>>> Ack
>>>>>> 28840<SplitDestinationMapperImpl.cpp:813>  {52037}- sys-net-mapper
>>>>>> Dest = 6 (dirIndex2NodeIndex(2)):MemoryMessage[UpgradeAck]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9940 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28841<SplitDestinationMapperImpl.cpp:418>  {52037}- sys-net-mapper
>>>>>> Received Reply from cache 2 sending to network port 6 -
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28843<MultiNicXImpl.hpp:210>  {52038}- 02-nic   Packet contains:
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28845<MemoryNetworkImpl.cpp:306>  {52038}- Network Received msg From 2
>>>>>> to 6, on vc 0, serial: 2047 Message =  MemoryMessage[UpgradeAck]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9940 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28860<MemoryNetworkImpl.cpp:190>  {52041}- Network Delivering msg From
>>>>>> 2 to 6, on vc 6, serial: 2047 Message =  MemoryMessage[UpgradeAck]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9940 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28862<MultiNicXImpl.hpp:138>  {52041}- 06-nic   Packet contains:
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28867<SplitDestinationMapperImpl.cpp:650>  {52042}- sys-net-mapper
>>>>>> Received Reply for Directory 2 - MemoryMessage[UpgradeAck]:
>>>>>> Addr:0xp:0003bdc80 Size:0 Serial: 9940 Core: 0 DStream: true
>>>>>> Outstanding Msgs: 0 Requires Ack
>>>>>> 28868<CMPCacheImpl.cpp:183>  {52042}- 02-L2 Received on Port Reply_In
>>>>>> : MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28869<CMPCacheController.hpp:124>  {52042}- 02-L2reserveSnoopOut(1):
>>>>>> ProcReply: NoAction, snoop reservations: 0, request reservations: 0,
>>>>>> reply reservations: 0, MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80
>>>>>> Size:0 Serial: 9940 Core: 0 DStream: true Outstanding Msgs: 0 Requires
>>>>>> Ack
>>>>>> 28870<CMPCacheController.cpp:297>  {52042}- 02-L2 Scheduled Reply:
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28871<CMPCacheController.cpp:582>  {52042}- 02-L2 runReplyProcess:
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 28872<NonInclusiveMESIPolicy.cpp:1233>  {52042}-<undefined>  Assertion
>>>>>> failed: ((!(maf->transport()[MemoryMessageTag]->type() ==
>>>>>> MemoryMessage::UpgradeReq))) : Matching MAF is not an Upgrade. MAF =
>>>>>> MemoryMessage[Write Request]: Addr:0xp:0003bdc80 Size:0 Serial: 9898
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack reply =
>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 9940
>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Mon, Apr 4, 2011 at 3:36 PM, Jason Zebchuk<[email protected]>
>>>>>>  wrote:
>>>>>>> 
>>>>>>> Hi Song,
>>>>>>> 
>>>>>>> First, one question: are you using different cache block sizes for the
>>>>>>> different levels of cache? At the moment the cache hierarchy does not
>>>>>>> support different cache block sizes at different levels, and I can think
>>>>>>> of
>>>>>>> one way that might produce the error you're seeing. If that's not the
>>>>>>> case,
>>>>>>> keep reading.
>>>>>>> 
>>>>>>> The message you're seeing indicates that the shared cache received an
>>>>>>> UpgradeAck for a WriteRequest. The sequence of messages should normally
>>>>>>> be
>>>>>>> one of the following:
>>>>>>> 
>>>>>>> Normal Case:
>>>>>>> 
>>>>>>> requesting L1 sends Upgrade to L2
>>>>>>> L2 sends MissNotify to requesting L1 and Invalidates to other L1s
>>>>>>> L1s perform Invalidates and send InvalidateAcks to requesting L1
>>>>>>> requesting L1 sends UpgradeAck to L2
>>>>>>> 
>>>>>>> Fast Case:
>>>>>>> 
>>>>>>> requesting L1 sends Upgrade to L2
>>>>>>> L2 sends UpgradeReply to L1
>>>>>>> L1 sends UpgradeAck to L2
>>>>>>> 
>>>>>>> Race Case:
>>>>>>> 
>>>>>>> L1-a sends Write to L2
>>>>>>> L1-b sends Upgrade to L2
>>>>>>> L2 receives Write from L1-a and sends invalidates to L1-b and any other
>>>>>>> sharers
>>>>>>> L2 receives Upgrade from L1-b, sees that the block has been invalidated,
>>>>>>> and
>>>>>>> silently promotes the request to a Write
>>>>>>> L1-a's Write completes and L1-a sends WriteAck to L2
>>>>>>> L2 receives WriteAck and processes L1-b's request which is now a Write
>>>>>>> 
>>>>>>> 
>>>>>>> To see exactly what happened, you should re-run your simulation and turn
>>>>>>> on
>>>>>>> debugging messages part way through. The error occurs at cycle 51001, so
>>>>>>> if
>>>>>>> you run for 50000 cycles then run the command
>>>>>>> 
>>>>>>> flexus.debug-set-severity "iface"
>>>>>>> 
>>>>>>> then keep running, you should see a dump of all of the debug messages.
>>>>>>> You
>>>>>>> can then extract all the debug statements for the address in question 
>>>>>>> and
>>>>>>> see what exactly might have happened. If you email the list with those
>>>>>>> statements, we should be able to resolve your problem.
>>>>>>> 
>>>>>>> 
>>>>>>> Jason
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On 04/04/2011 4:12 PM, Song Liu wrote:
>>>>>>>> 
>>>>>>>> Another error message comes with same config but different flexpoints.
>>>>>>>> 
>>>>>>>> 180<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 1 instructions have been ignored on cpu2
>>>>>>>> 181<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 2 instructions have been ignored on cpu2
>>>>>>>> 182<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 3 instructions have been ignored on cpu2
>>>>>>>> 183<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 4 instructions have been ignored on cpu2
>>>>>>>> 184<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 5 instructions have been ignored on cpu2
>>>>>>>> 185<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 6 instructions have been ignored on cpu2
>>>>>>>> 186<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 7 instructions have been ignored on cpu2
>>>>>>>> 187<SimicsTracer.hpp:491>    {45460}- Interrupt handler instruction
>>>>>>>> ignored. So far 8 instructions have been ignored on cpu2
>>>>>>>> 188<NonInclusiveMESIPolicy.cpp:1233>    {51001}-<undefined>    
>>>>>>>> Assertion
>>>>>>>> failed: ((!(maf->transport()[MemoryMessageTag]->type() ==
>>>>>>>> MemoryMessage::UpgradeReq))) : Matching MAF is not an Upgrade. MAF =
>>>>>>>> MemoryMessage[Write Request]: Addr:0xp:0003bdc80 Size:0 Serial: 24140
>>>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack reply =
>>>>>>>> MemoryMessage[UpgradeAck]: Addr:0xp:0003bdc80 Size:0 Serial: 24221
>>>>>>>> Core: 0 DStream: true Outstanding Msgs: 0 Requires Ack
>>>>>>>> 
>>>>>>>> Song
>>>>>>>> 
>>>>>>>> On Thu, Mar 31, 2011 at 11:05 PM, Song Liu<[email protected]>    wrote:
>>>>>>>>> 
>>>>>>>>> Hi all,
>>>>>>>>> 
>>>>>>>>> I am trying to run flexus_test_app with 4 x86 in-order processor 
>>>>>>>>> cores.
>>>>>>>>> 
>>>>>>>>> Besides changing "test_app_threads" and "num_cpus" to 4, I also
>>>>>>>>> changed user-postload.simics:
>>>>>>>>> 
>>>>>>>>> -L2:cores = 8,
>>>>>>>>> -net-mapper:Cores = 4,
>>>>>>>>> -net-mapper:Directories = 4,
>>>>>>>>> -network:nodes = 12,
>>>>>>>>> -network:topology-file = 4x3-torus.topology,
>>>>>>>>> 
>>>>>>>>> Now I get error
>>>>>>>>> <ExecuteImpl.cpp:666>    {4877}- Invalid fill type: eCoherence
>>>>>>>>> 
>>>>>>>>> Any suggestion on this error?
>>>>>>>>> 
>>>>>>>>> Thanks in advance,
>>>>>>>>> 
>>>>>>>>> Song
>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> <new_assertion.out>
>> 
>> 
>> 
>> 
>> 
>> 

Reply via email to