在gem5中访问逻辑(软件)线程ID [英] Accessing logical (software) thread ID in gem5

查看:82
本文介绍了在gem5中访问逻辑(软件)线程ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道gem5中是否有一种方法可以区分不同的逻辑(软件)线程.我正在尝试为每个逻辑线程收集一些统计信息,到目前为止,我在gem5中只能找到对物理线程的访问.我知道逻辑线程是操作系统的责任,但无论如何gem5都可以访问逻辑线程ID.

一种选择是将线程固定到内核,但这仅在内核数量至少等于逻辑线程数量的情况下才有效.但是,我将需要进行一些实验,其中逻辑线程的数量超过内核的数量,在这种情况下,会将多个逻辑线程分配给同一内核,为了区分它们,我需要逻辑线程ID./p>

非常感谢您.

解决方案

对于arm64完整系统Linux,我相信,如果使用CONFIG_PID_IN_CONTEXTIDR构建内核,则每个进程都将使用唯一的CONTEXTIDR_EL1运行,其显示为--debug-flag Exec.

对于其他拱门,请参阅对邮件列表问题的答复: 解决方案

For arm64 full system Linux, I believe that if you build the kernel with CONFIG_PID_IN_CONTEXTIDR, then each process runs with an unique CONTEXTIDR_EL1, which shows on --debug-flag Exec.

For other archs, see the replies to the mailing list question: https://www.mail-archive.com/gem5-users@gem5.org/msg16228.html

Please always clarify if you are working on full system, or syscall emulation if that seems to make a difference, as the replies can be quite different.

这篇关于在gem5中访问逻辑(软件)线程ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆