.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_TW.rst :Original: :ref:`Documentation/arch/arm64/perf.rst <perf_index>` Translator: Bailu Lin <bailu.lin@vivo.com> Hu Haowen <src.res.211@gmail.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 系統沒有åœé›»çª—å£ã€‚