如何找出 C 状态转变为更高模式的响应时间

如何找出 C 状态转变为更高模式的响应时间

CPU 需要等待多长时间才能进入更高模式,比如从 C0 到 C1?或者如果它可以自定义,我在哪里可以找到当前值?

此外,C 状态是否分阶段变化,例如首先进入 C1 模式,然后等待一段时间,然后进入 C2 等。似乎是这样,因为这是进入所有 C 状态模式的唯一可能方法。否则,没有理由采用中间 C 状态模式。

如果你也能回答这个问题:以下 C-State 输出是什么意思?

答案1

根据http://ena-hpc.org/2014/pdf/paper_06.pdfhttps://books.google.co.uk/books?id=DFAnCgAAQBAJ&pg=PA177&lpg=PA177&dq=c+state+latency+MSR&source=bl&ots=NLTLrtN4JJ&sig=1ReyBgj1Ej0_m6r6O8wShEtK4FU&hl=en&sa=X&redir_esc=y#v=onepage&q=c%20state%20latency%20MSR&f=false您可能能够从 ACPI 中获取 x86 C 状态进入和退出延迟,但目前尚不清楚这些信息的准确性。查看https://lwn.net/Articles/658461/表明 ARM 机器可以通过 DeviceTree 对该信息进行编码。http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-111.pdf给出了使用 ARM 板尝试确定进入和退出状态的实验方法。

注意:这是非常低级别的信息 - 如果您不是内核开发人员,您可能更关心在每个 C 状态下花费了多少驻留时间,而不是每个 C 状态的进入和退出延迟是多少……

相关内容