kernel/Documentation/translations/zh_CN/arm64/perf.rst
2024-07-22 17:22:30 +08:00

87 lines
2.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst
:Original: :ref:`Documentation/arm64/perf.rst <perf_index>`
Translator: Bailu Lin <bailu.lin@vivo.com>
=============
Perf 事件属性
=============
:作者: Andrew Murray <andrew.murray@arm.com>
:日期: 2019-03-06
exclude_user
------------
该属性排除用户空间。
用户空间始终运行在 EL0因此该属性将排除 EL0。
exclude_kernel
--------------
该属性排除内核空间。
打开 VHE 时内核运行在 EL2不打开 VHE 时内核运行在 EL1。客户机
内核总是运行在 EL1。
对于宿主机,该属性排除 EL1 和 VHE 上的 EL2。
对于客户机,该属性排除 EL1。请注意客户机从来不会运行在 EL2。
exclude_hv
----------
该属性排除虚拟机监控器。
对于 VHE 宿主机该属性将被忽略,此时我们认为宿主机内核是虚拟机监
控器。
对于 non-VHE 宿主机该属性将排除 EL2因为虚拟机监控器运行在 EL2
的任何代码主要用于客户机和宿主机的切换。
对于客户机该属性无效。请注意客户机从来不会运行在 EL2。
exclude_host / exclude_guest
----------------------------
这些属性分别排除了 KVM 宿主机和客户机。
KVM 宿主机可能运行在 EL0用户空间EL1non-VHE 内核)和
EL2VHE 内核 或 non-VHE 虚拟机监控器)。
KVM 客户机可能运行在 EL0用户空间和 EL1内核
由于宿主机和客户机之间重叠的异常级别,我们不能仅仅依靠 PMU 的硬件异
常过滤机制-因此我们必须启用/禁用对于客户机进入和退出的计数。而这在
VHE 和 non-VHE 系统上表现不同。
对于 non-VHE 系统的 exclude_host 属性排除 EL2 - 在进入和退出客户
机时,我们会根据 exclude_host 和 exclude_guest 属性在适当的情况下
禁用/启用该事件。
对于 VHE 系统的 exclude_guest 属性排除 EL1而对其中的 exclude_host
属性同时排除 EL0EL2。在进入和退出客户机时我们会适当地根据
exclude_host 和 exclude_guest 属性包括/排除 EL0。
以上声明也适用于在 not-VHE 客户机使用这些属性时,但是请注意客户机从
来不会运行在 EL2。
准确性
------
在 non-VHE 宿主机上,我们在 EL2 进入/退出宿主机/客户机的切换时启用/
关闭计数器 -但是在启用/禁用计数器和进入/退出客户机之间存在一段延时。
对于 exclude_host 我们可以通过过滤 EL2 消除在客户机进入/退出边界
上用于计数客户机事件的宿主机事件计数器。但是当使用 !exclude_hv 时,
在客户机进入/退出有一个小的停电窗口无法捕获到宿主机的事件。
在 VHE 系统没有停电窗口。