-
-
Notifications
You must be signed in to change notification settings - Fork 604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How can I know the request in gem5 is issued by which process ? #303
Comments
Hi, I don't think there's something built-in that gives the answer immediately. I don't have the time to look into it specifically, but I'll give an idea. This type of issue is the prototypical gem5 question: what is causing such or such event? gem5 is fully event based, one event causes other events and so on. So in principle, it is possible to create an event graph and walk backward to the cause. So what I would try is through logging and parsing of logs to try and create such an event graph, so that you would be trace "memory IO" events all the way back to "cpu tick events". Then you also have log which process is running on a given CPU tick. On SE this is easy, on FS you need to understand how the OS represents processes and possibly interpret some registers/parse memory. I don't remember the status of this kind of stuff, but there was already some Linux specific support (e.g. detect crash by symbol), and if there's no thread support, it would be a good addition, though possibly a bit of work. |
Thanks for your reply ! |
Hi, |
In gem5, I tried to execute three process simultaneously.
And In the DRAMInterface.cc doBurstAccess function, we can know that the Mempacket is the argument.
Is any method that I can know this packet is issued by which process ?
The text was updated successfully, but these errors were encountered: