在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

揭秘ARM架構對Linux調測特性的支持

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-08-22 14:51 ? 次閱讀

一、淺談手機性能的可觀測性

1.概述

手機上的性能指標是綜合的變化,由上圖可以看的出來手機更關注人跟機器的交互這,云系統則是比較關注機器跟機器的交互。

手機系統比較特別的地方在于資源都是比較受限,例如: 電量,性能…因此針對用戶體驗是需要特別庖丁解牛來建立指標。

指標(METRIC) -業界有特定的體驗度量模型,目標是發現產品和服務中的問題及理解使用者的行為和偏好。

性能體驗度量是多層次,多個維度的,只用一項指標去表征的所有性能特征是遠遠不夠的。

c5bf8638-21c9-11ed-ba43-dac502259ad0.png

以上是幾個個常用指標,這些指標常常是互相搭配的例如Andrid近年常用的GSM+HEART。度量模型圍繞用戶使用的旅程,識別關鍵體驗路徑(KEP),為不同接觸點分解出不同的性能指標。

2.性能追蹤

c5d29066-21c9-11ed-ba43-dac502259ad0.png

實際上如何構建手機可觀測性,我們都會采取分層次拆解,由上圖可以看的出來藉助于Android/Linux系統的生態系已經有不少工具可以用于追蹤系統的信息。

性能追蹤在手機裝置面臨的挑戰:

1、低開銷:不會降低用戶的體驗,因為手機資源是受限的所以如何有性的采集會是很大的考驗。

2、不可接觸:開發人員無法實時獲取使用者的故障第一現場信息,用戶很多操作行為都是不容易在現,因此識別關鍵體驗路徑會是開發的過程之一。

3、偶發性:低概率,不易復現(Heisen berg Bug),對于第三方應用跟系統交互或是用戶行為常常有偶發性不易在現的問題需要準確的追蹤機制輔助找到原因。

4、不可預見:用已知模式分析未知問題。

講師介紹了一些Android上常見的工具

?Systrace : 用于將設備活動保存到跟蹤檔的Android 工具。

?cpu_profile : 在android平臺實現周期性采集調用棧。

?simpleperf : simpleperf是Anroid平臺的一套性能分析工具,功能大致與linux perf相似。

?nanotrace : 通過在虛擬機(包括解析器和編譯程序)中插樁,獲取從APK到framework層的執行路徑的調用鏈和函數執行時長。

?objtrace : 動態跟蹤函數參數值。

?blktrace : blktrace 結合btt可以統計一個IO是在調度隊列停留的時間長,還是在硬件上消耗的時間長。

?Hitrace : 對于跨設備/進程/線程的業務流程處理,通過相同的traceid在整個業務流程中傳遞,將調用層次、各種輸出信息關聯和展現。

3.可觀測性之Logging

c5dd7d64-21c9-11ed-ba43-dac502259ad0.png

上圖由上而下的拆解展示日志的重要性,首先我們需要了解用戶行為,關注用戶體驗并記錄對應的錯誤日志,當時系統狀態與硬件狀態用于改善用戶體驗。

手機系統的日志系統時常需要整合第三方應用,因為第三方應用不開源,管理日志上常常沒有足夠權限,還有手機儲存大小受限因此最終的日志系統方案都是朝可以匯整日志并更精準建立模型為目標。

總結以上幾點用戶體驗是感性的,不單單只是數字因此講者認科技應該是有溫度的。

Q&A

Q : 是否有AI優化思路?

A: 目前還在努力,有嘗試用AI分析用戶體驗不過效果不明顯。目前比較多還是在做基礎體驗度量。

Q : 跑分跟用戶體驗怎么看?

A: 跑分不能直接當用戶體驗偵率,累積布局偏移可參考。

Q: nanotrace可否第三方插莊?

A: yes

Q : 是否能找到喚醒源?

A:可打開irq,ipi中斷事件可以看到換醒源。

二、揭秘ARM架構對Linux調測特性的支持

講師簡介:張健, 現就職于北京大簡技術有限公司, 14年ARM架構和操作系統一線研發經驗. 在北京, 柏林, 拉斯維加斯, 多地發表技術演講。

首先,本次分享從調試視角、性能影響兩個角度出發,對調試特性進行了宏觀的分類。

1.調試類型

調試包含兩個維度的特性:調試視角維度與性能影響維度。

1.調試視角維度

從調試視角維度出發,調試分為external debug與self-hosted debug,前者包括openocd、kgdb、ftrace、perf等內核調試基礎設施,后者則是通過JTAG、FTOI等體系結構相關調試接口連接芯片,同時用調試軟件控制硬件調試器進行調試。

c5ee9414-21c9-11ed-ba43-dac502259ad0.png

其中,紅色所示技術為硬件調試接口,藍色所示技術為相關軟件調試工具。軟硬件調試工具共享CPU和內核所提供的調試能力。

2.性能影響維度

從性能影響維度出發,調試分為影響(多為停止)當前CPU狀態的侵入式調試和不影響CPU運行的非侵入式調試。前者多會暫停當前CPU的執行流,同時通過相關機制(比如,AR cross trigger)告知其他核當前被調試的狀態,從而影響系統狀態。

這種調試類型雖然帶來了強大的調試能力,但是在芯片和內核的設計開發時需要考慮CPU調試過程中與其他外圍設備的關系,因為CPU的調試狀態不會影響到其他硬件,一致性等問題是該方法的經典挑戰;對于非侵入式的調試類型,它不會直接停止當前的CPU運行狀態,更多對系統起到監控跟蹤的作用。

c5ff74d2-21c9-11ed-ba43-dac502259ad0.png

接下來,分享從斷點、Trace、PMU三類調試手段出發講述ARM架構的系統調試特性。

2.侵入式調試手段之斷點

斷點調試是侵入式的,單純依賴用戶態基礎設施或頂層應用無法達到啟停系統的能力要求。因此,斷點調試的設計需要硬件和操作系統的支持,即斷點調試要有陷入高特權級別環境的能力。

用戶通過配置編譯選項獲得指定平臺下的gdb調試器,將被追蹤程序當作參數傳遞gdb調試器,gdb調試器fork出被調試程序子進程,兩者通過PTRACE_XXX請求建立連接。

對于軟件斷點,gdb將通過符號表等信息在開發者指定的位置填入調試指令(x86為INT3,ARM為BRK/BRKT);對于硬件斷點,gdb會將指定位置的地址寫入到調試寄存器中。

當程序運行至軟件斷點或硬件斷點處,子進程會觸發相應異常,待異常信號被gdb捕獲后,通過比對記錄的斷點信息來判斷是否是調試原因所觸發的異常,如此來實現gdb調試進程的啟停能力。

c60d1ea2-21c9-11ed-ba43-dac502259ad0.png

3.非侵入調試類型之Trace

ARM Coresight架構是遵循可觀測性的架構設計,Cortex Processor后的ETM負責在處理器外部抓取指令序列,不影響CPU的運行狀態。并且,Trace信息的傳輸未經系統總線,減少了對系統帶寬的影響。Coresight架構中存在多個執行流抓取點,存在多個對應的ETM,多個ETM收集的信息會傳入下游的Funnel,Funnel將根據數據所存在的信息將執行流信息進行分流處理。

c61a271e-21c9-11ed-ba43-dac502259ad0.png

關于具體的互聯結構可以查看對應版本的設備樹文件。(所在源碼目錄為/arch/arm64/boot/dts)

4.非侵入調試類型之Performance Monitor Unit(PMU)

CPU中存在PMU部件,該部件會監控CPU的相關性能信息,用戶可以通過訪問相應的寄存器獲取相關信息。perf是一種可以訪問PMU的用戶態工具。

c62d3b4c-21c9-11ed-ba43-dac502259ad0.png

perf訪問PMU的相關流程如下:

1.使用perf_pmu_register注冊PMU事件。

2.perf_event_open系統調用打開對應事件的文件描述符,從中讀取記錄的值。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11054

    瀏覽量

    216297
  • Linux
    +關注

    關注

    87

    文章

    11479

    瀏覽量

    213063
  • ARM架構
    +關注

    關注

    15

    文章

    182

    瀏覽量

    37058

原文標題:PODS峰會筆記: 淺談手機性能的可觀測性&揭秘ARM架構對Linux調測特性的支持(Day3)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    龍芯處理器支持WINDOWS嗎?

    龍芯處理器目前不支持原生運行Windows操作系統,主要原因如下: 架構差異 龍芯架構:龍芯早期基于MIPS架構,后續轉向自主研發的LoongArch指令集(與x86/
    發表于 06-05 14:24

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動設備、嵌入式系統和基礎設施市場設計的圖形處理器(GPU)IP 核,憑借其異構計算架構、能效優化和生態協同,
    的頭像 發表于 05-29 10:12 ?600次閱讀

    手把手教你如何調Linux網絡參數

    在高并發網絡服務場景中,Linux內核的默認網絡參數往往無法滿足需求,導致性能瓶頸、連接超時甚至服務崩潰。本文基于真實案例分析,從參數解讀、問題診斷到優化實踐,手把手教你如何調Linux網絡參數,支撐百萬級并發連接。
    的頭像 發表于 05-29 09:21 ?147次閱讀

    Arm架構何以成為現代計算的基礎

    2025 年 4 月,Arm 架構迎來了問世 40 周年。這個始于英國劍橋一隅、懷揣雄心壯志的項目,如今已成為全球廣泛采用的計算架構。從傳感器、智能手機、筆記本電腦,到汽車、數據中心等諸多領域,有數十億設備如今運行在
    的頭像 發表于 05-20 10:02 ?354次閱讀

    Linux系統中通過預留物理內存實現ARM與FPGA高效通信的方法

    管理子系統管理。因此,需要預留一部分物理內存,使其不被內核管理。接下來將為大家詳細介紹在 Linux 系統中通過預留物理內存實現 ARM 與 FPGA 高效通信的方法,預留物理內存包括
    的頭像 發表于 04-16 13:42 ?595次閱讀
    <b class='flag-5'>Linux</b>系統中通過預留物理內存實現<b class='flag-5'>ARM</b>與FPGA高效通信的方法

    Arm助力開發者加速遷移至Arm架構云平臺 Arm云遷移資源分享

    隨著基于 Arm 架構的云實例日益擴展,越來越多的用戶正從傳統平臺遷移至 Arm 平臺上。
    的頭像 發表于 04-09 18:23 ?585次閱讀

    rtsmart開啟C++特性支持后,工具鏈編譯內核不通過怎么解決?

    各位大佬好,本人在rtsmart項目中需要使用C++11特性,在menuconfig那里配置了支持C++特性后,使用7.3.0版本的arm-linux-musleabi編譯器編譯內核時
    發表于 03-10 08:06

    揭秘云計算架構的分層奧秘

    的重要基石。那么,云計算架構究竟是如何構建的呢?今天,我們帶您揭秘云計算架構的分層奧秘——邊緣層、IaaS、PaaS、SaaS。
    的頭像 發表于 02-26 17:41 ?423次閱讀

    足下科技全面支持DeepSeek系列大模型

    架構和嵌入式終端ARM架構下AIGC應用開發范式,靈活根據客戶業務場景快速調優,并支持終端部署及私有化部署。
    的頭像 發表于 02-26 16:57 ?663次閱讀

    Arm與RISC-V架構的優劣勢比較

    關于Arm與RISC-V的討論涉及多個層面。雖然多種因素共同作用于這些架構的整體性能,但每種架構都有其最適合的幾類主要應用場景。 Arm 長期以來,專有技術往往意味著高昂的許可費用,
    發表于 02-01 22:30

    基于risc-v架構的芯片與linux系統兼容性討論

    的硬件接口兼容。 平臺特性支持 : RISC-V架構的芯片可能具備一些特定的功能特性,如特定的節能模式、硬件加速器等。 Linux內核需要為
    發表于 11-30 17:20

    基于高通主板的ARM架構服務器

    一、ARM架構服務器的崛起 (一)市場需求推動 消費市場寒冬,全球消費電子需求下行,服務器成半導體核心動力之一。Arm 加速布局服務器領域,如 9 月推出 Neoverse V2。長久以來,x86
    的頭像 發表于 09-11 10:53 ?1073次閱讀

    什么是ARM架構?什么是X86架構?兩者的區別是什么?

    一、什么是ARM架構? (一)起源與發展 ARM 架構由英國劍橋的 Acorn 計算機公司開發。因市場無合適產品,Acorn 自行設計出第一款微處理器,命名為
    的頭像 發表于 09-06 10:40 ?2118次閱讀

    ARMxy ARM工業邊緣計算網關帶Ubuntu OS支持二次開發

    OS的優勢以及二次開發的重要性。 一、ARMxy網關的技術特性 ARMxy系列邊緣計算網關是基于ARM架構設計的高性能計算設備,具備以下技術特性: 高性能處理器:采用先進的
    的頭像 發表于 08-19 15:32 ?734次閱讀
    ARMxy <b class='flag-5'>ARM</b>工業邊緣計算網關帶Ubuntu OS<b class='flag-5'>支持</b>二次開發

    LBEE5KL1DX-883如何獲得Linux支持?

    我們需要 Linux 支持文檔和源代碼,以便在基于 Arm Cortex A9 并使用 Linux 的系統模塊上使用 LBEE5KL1DX-883 模塊。 誰能幫助我們獲取設備驅動程序
    發表于 07-23 08:25
    主站蜘蛛池模板: 午夜寂寞影院视频观看 | 九月丁香婷婷亚洲综合色 | 久久精品最新免费国产成人 | 色秀视频免费网站在线观看 | 美国bj69video18视频 | 久久久婷婷 | 亚洲qingse中文字幕久久 | 国产成人影院 | 在线观看视频你懂的 | 97狠狠操| 国产乱码一区二区三区四川人 | 日韩午夜r电影在线观看 | 欧美刺激午夜性久久久久久久 | 在线永久免费播放视频 | 亚洲一区二区高清 | 久久香蕉精品视频 | 毛片观看网址 | 免费一级欧美在线观看视频片 | 第四色成人网 | 玖玖精品国产 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 五月天婷婷丁香花 | 伊人免费网 | 老师你好滑下面好湿h | 天堂tv在线观看 | 人人干综合 | 狠狠干夜夜 | 新天堂在线 | 高清不卡毛片 | 三级毛片在线播放 | 亚洲爱爱视频 | 美女操网站 | 日韩特黄毛片 | 伊人狼人综合 | 男人日女人视频在线观看 | 久久久婷婷 | 激情网五月 | 伊伊成人网 | 国产乱码一区二区三区四川人 | 天天摸天天躁天天添天天爽 | 偷拍福利视频 |