[AMD Public Use]

Hi Navneet,
In your code, you are checking for the network message pointer before a buffer 
is allocated for the message.
In case a buffer is not available in a given cycle, the network interface will 
try it again in the next cycle. That's probably the reason you are seeing the 
same message pointer address being printed.
You can try putting your code after allocation of buffer (After the line 
checking for vc==-1).

Also note that you are checking the pointer address of the message. The gem5 
process can theoretically reuse the address because messages are freed up on 
receive at the destination cache controller.

Srikant

From: NAVNEET KUMAR <[email protected]>
Sent: Monday, May 10, 2021 2:35 AM
To: Bharadwaj, Srikant <[email protected]>; gem5 users mailing list 
<[email protected]>
Cc: Krishna, Tushar <[email protected]>
Subject: Re: [gem5-users] Re: Duplicate net_msg_ptr values


[AMD Public Use]

[CAUTION: External Email]
Please find the attached screenshot which is showing the concern code snippet 
of networkinterface.cc file. I programmed the value of net_msg_ptr to get on 
the console. But I was expecting that value of net_msg_ptr should be unique for 
different packets but for many times it has been repeated. The reason behind 
this phenomenon is still not clear to me. I am seeking some ideas on behalf of 
this phenomenon that why is this happening? I am using the MESI_CMP_directory 
protocol to handle cache coherence.

Thank you
Navneet Kumar
________________________________
From: Bharadwaj, Srikant 
<[email protected]<mailto:[email protected]>>
Sent: 09 May 2021 19:51
To: NAVNEET KUMAR <[email protected]<mailto:[email protected]>>; gem5 
users mailing list <[email protected]<mailto:[email protected]>>
Cc: Krishna, Tushar <[email protected]<mailto:[email protected]>>
Subject: Re: [gem5-users] Re: Duplicate net_msg_ptr values


[AMD Public Use]

Hi Navneet,
Can you post a snippet of the code?
It will help us understand the problem.

Thanks,
Srikant
________________________________
From: NAVNEET KUMAR <[email protected]<mailto:[email protected]>>
Sent: Sunday, May 9, 2021 5:24:09 AM
To: Bharadwaj, Srikant 
<[email protected]<mailto:[email protected]>>; gem5 users 
mailing list <[email protected]<mailto:[email protected]>>
Cc: Krishna, Tushar <[email protected]<mailto:[email protected]>>
Subject: Re: [gem5-users] Re: Duplicate net_msg_ptr values

[CAUTION: External Email]
Hello Srikant,
Actually, I am taking the values of net_msg_ptr in flitiSize( ) function right 
at the beginning therefore for one packet that function would be called only 
once. Moreover, if an L1 miss happens then only the packet comes to the network 
and split into flits. So the possibility of getting packet at network interface 
due to L1 hit vanishes, doesn't it? And I am avoiding the scenario that can 
lead to repetition of net_msg_ptr due to multiple flits of the same packet. I 
still don't understand that why do the values of net_msg_ptr repeat?
......
Thank you
________________________________
From: Bharadwaj, Srikant 
<[email protected]<mailto:[email protected]>>
Sent: 01 May 2021 12:54
To: gem5 users mailing list <[email protected]<mailto:[email protected]>>
Cc: NAVNEET KUMAR <[email protected]<mailto:[email protected]>>; Krishna, 
Tushar <[email protected]<mailto:[email protected]>>
Subject: RE: [gem5-users] Re: Duplicate net_msg_ptr values


Hi Navneet,

In addition to the possibility of a broadcast, you should note that a message 
may also be reused by cache controllers in certain protocols. It would mean 
that the same message will be seen by a L1 network interface and then by L2 
network interface later if it misses on both.

Also, multiple flits from the same packet will have same message pointer so 
make sure you are not checking it for each flit of the same packet.



Thanks,

Srikant



From: Krishna, Tushar via gem5-users 
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, April 28, 2021 3:14 PM
To: gem5 users mailing list <[email protected]<mailto:[email protected]>>
Cc: NAVNEET KUMAR <[email protected]<mailto:[email protected]>>; Krishna, 
Tushar <[email protected]<mailto:[email protected]>>
Subject: [gem5-users] Re: Duplicate net_msg_ptr values



[CAUTION: External Email]

There might be a broadcast happening which NetworkInterface.cc breaks into 
several unicasts. Depends on the protocol you are running.



Best,

Tushar

On Apr 28, 2021, 2:23 PM -0400, NAVNEET KUMAR via gem5-users 
<[email protected]<mailto:[email protected]>>, wrote:

Hello,  gem5 community,

 In file gem5/src/mem/ruby/network/garnet2.0/networkinterface.cc, in function 
flitisizeMessage() I printed the net_msg_ptr which is a pointer to the message 
class. But many times the value of net_msg_ptr repeated.  I did not expect 
that, I was assuming that for every network packet, the net_msg_ptr value is 
unique. Can you please give me some brief idea, why is that happening?

....

Thank you,
NAVNEET


_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to