在Workload Automation中实现suspend分析
1. 背景
這里涉及到兩個工具analyze_suspend.py和Workload Automation。
下面analyze_suspend.py簡稱為ASPY,Workload Automation簡稱為WA。
ASPY著重于對Suspend/Resume流程進行分析,然后得出每個階段的分析結果。對流程進行優化,流程越短也就意味著更低的功耗。
WA是ARM維護的用于自動產生特定負荷,然后進行測試,獲取結果并給出分析結果的自動化工具。
將ASPY融入WA,有助于對Suspend/Resume進行自動化分析,并且獲取批量分析結果。
1.2 ASPY介紹
在《Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能對比》中使用analyze_suspend.py對HiKey的suspend/resume進行量化,并進行了優化。
?
ASPY官網:https://01.org/zh/suspendresume
代碼維護:https://github.com/01org/pm-graph/
官網維護在ANALYZE SUSPEND,Home對ASPY的能做什么?有什么益處?適用于誰?進行了介紹。
Overview對如何使用ASPY進行優化進行了解讀。
Community介紹了代碼維護在Github上。
Getting Started詳細介紹了如何使用ASPY,包括Downloading、Configure kernel、Configure command line、Usage等等。
News&Blogs是一些案例的介紹。
1.3 WA介紹
WA是用于Linux或Android平臺執行workload,并且測量結果、分析輸出報告。
《Workload Automation分析及其使用》中對WA進行了分析并給出了一個簡單示例。
3. 基于WA對ASPY進行自動化
將ASPY融入進WA大概分為兩部分,一部分是創建workload,另一部分是創建分析結果的result_processor。
3.1 創建Suspend Workload
?執行suspend workload,需要借助于RTC作為Resume源;對/sys/power/state寫入mem/freeze觸發suspend流程,然后等待RTC設備超時喚醒觸發resume流程。
同時需要在在觸發suspend流程之前,清空ftrace和dmesg,并設置好Tracepoints;在resume流程之后,保存ftrace和dmesg。
?
3.1.1 關于class Workload
?class Workload是所有workloads的基類,其中主要成員如下:
paramenters是此Workload的參數。
setup是Workload的配置工作,在run之前。
run是執行此Workload的核心。
update_result在run之后獲取測試結果。
teardown做一些收尾工作。
validate在Workload開始前進行一些有效性驗證。
3.1.2 實現Suspend Workload
?
3.2 創建SuspendAnalyze result_processor
?
4. 分析實例
?
轉載于:https://www.cnblogs.com/arnoldlu/p/7615152.html
總結
以上是生活随笔為你收集整理的在Workload Automation中实现suspend分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新手第一次炒股,需要多少资金?就是开户要
- 下一篇: 予谓菊下一句是什么呢?