.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_CN.rst :Original: :ref:`Documentation/arch/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(用户空间),EL1(non-VHE å†…æ ¸ï¼‰å’Œ EL2(VHE å†…æ ¸ 或 non-VHE 虚拟机监控器)。 KVM 客户机å¯èƒ½è¿è¡Œåœ¨ EL0(用户空间)和 EL1ï¼ˆå†…æ ¸ï¼‰ã€‚ 由于宿主机和客户机之间é‡å 的异常级别,我们ä¸èƒ½ä»…ä»…ä¾é PMU 的硬件异 常过滤机制-å› æ¤æˆ‘们必须å¯ç”¨/ç¦ç”¨å¯¹äºŽå®¢æˆ·æœºè¿›å…¥å’Œé€€å‡ºçš„计数。而这在 VHE å’Œ non-VHE 系统上表现ä¸åŒã€‚ 对于 non-VHE 系统的 exclude_host 属性排除 EL2 - 在进入和退出客户 æœºæ—¶ï¼Œæˆ‘ä»¬ä¼šæ ¹æ® exclude_host å’Œ exclude_guest 属性在适当的情况下 ç¦ç”¨/å¯ç”¨è¯¥äº‹ä»¶ã€‚ 对于 VHE 系统的 exclude_guest 属性排除 EL1,而对其ä¸çš„ exclude_host å±žæ€§åŒæ—¶æŽ’除 EL0,EL2ã€‚åœ¨è¿›å…¥å’Œé€€å‡ºå®¢æˆ·æœºæ—¶ï¼Œæˆ‘ä»¬ä¼šé€‚å½“åœ°æ ¹æ® exclude_host å’Œ exclude_guest 属性包括/排除 EL0。 以上声明也适用于在 not-VHE 客户机使用这些属性时,但是请注æ„客户机从 æ¥ä¸ä¼šè¿è¡Œåœ¨ EL2。 准确性 ------ 在 non-VHE 宿主机上,我们在 EL2 进入/退出宿主机/å®¢æˆ·æœºçš„åˆ‡æ¢æ—¶å¯ç”¨/ å…³é—计数器 -但是在å¯ç”¨/ç¦ç”¨è®¡æ•°å™¨å’Œè¿›å…¥/退出客户机之间å˜åœ¨ä¸€æ®µå»¶æ—¶ã€‚ 对于 exclude_host, 我们å¯ä»¥é€šè¿‡è¿‡æ»¤ EL2 消除在客户机进入/退出边界 上用于计数客户机事件的宿主机事件计数器。但是当使用 !exclude_hv 时, 在客户机进入/退出有一个å°çš„åœç”µçª—壿— 法æ•获到宿主机的事件。 在 VHE 系统没有åœç”µçª—å£ã€‚