You’ll need to build a kernel with the extra annotations. I’m not sure if they are supported in the latest kernels but I know it was supported in v4.3. Here is the commit that adds those symbols: https://github.com/gem5/linux-arm-gem5-legacy/commit/516ba2d255b502b1dad07662bd18110f3bf37b1b
From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Shehab Elsayed Sent: Friday, January 11, 2019 10:58 PM To: gem5 users mailing list <gem5-users@gem5.org> Subject: Re: [gem5-users] [EXT] Accessing logical (software) thread ID in gem5 Thank you all for your help. I have been trying to to get what Paul suggested to work, however, I keep running into this problem: warn: Unable to find kernel symbol thread_info_task warn: Kernel not compiled with task_struct info; can't get currently executing task/process/thread name/ids! I am not sure what I need to modify in the kernel in order to get it to work. Any suggestions? On Fri, Jan 11, 2019 at 9:27 AM Paul Rosenfeld (prosenfeld) <prosenf...@micron.com<mailto:prosenf...@micron.com>> wrote: You could take the approach previously implemented by ARM, which is to add a few annotations to your kernel that allow you to find the task_info structures in kernel memory and then ask gem5 to hook the kernel process switch function. Each time the kernel context switches on a core, you get a callback into gem5 and you can look up the process info. It’s been a while since I’ve worked on this sort of thing but you might be able to look at this patch for some hints about where to look: https://gem5-review.googlesource.com/c/public/gem5/+/2640 Cheeers, Paul From: gem5-users [mailto:gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>] On Behalf Of Shehab Elsayed Sent: Thursday, January 10, 2019 11:53 AM To: gem5-users@gem5.org<mailto:gem5-users@gem5.org> Subject: [EXT] [gem5-users] Accessing logical (software) thread ID in gem5 Hello All, I was wondering if there is a way to differentiate between different logical (software) threads in gem5. I am trying to collect some stats for each logical thread and so far all I could find in gem5 is access to physical threads. I know that logical threads is the responsibility of the OS but is there anyway for gem5 to access the logical thread ID. One option is to pin threads to cores but this only works if the number of cores is at least equal to the number of logical threads. However, I will need to run some experiments where the number of logical threads exceed the number of cores, in which case, multiple logical threads will be assigned to the same core and in order to differentiate between them I need the logical thread ID. Thank you very much in advance. Best Regards, Shehab _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users