在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进行优化进行了解读。
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. 分析实例
在Workload Automation中实现suspend分析的更多相关文章
- Workload Automation分析及其使用
Workload Automation介绍 Workload Automation是提供一个在设备上运行各种workload的工具,使用Python编写.WA具有良好的框架结构,方便快捷的扩展.包含几 ...
- Android中Linux suspend/resume流程
Android中Linux suspend/resume流程首先我们从linux kernel 的suspend说起,不管你是使用echo mem > /sys/power/state 或者使用 ...
- Android中AppWidget的分析与应用:AppWidgetProvider .
from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...
- JAVA WEB 中的编码分析
JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...
- Android 中图片压缩分析(上)
作者: shawnzhao,QQ音乐技术团队一员 一.前言 在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是下采样压缩. 前者是在不改变图片尺寸的情 ...
- 《构建之法》教学笔记——Python中的效能分析与几个问题
<构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...
- Apollo配置中心源码分析
Apollo配置中心源码分析 1. apollo的核心代码分享 SpringApplication启动的关键步骤 在SpringApplication中,会加载所有实现了Init方法的类 protec ...
- HanLP中人名识别分析
HanLP中人名识别分析 在看源码之前,先看几遍论文<基于角色标注的中国人名自动识别研究> 关于命名识别的一些问题,可参考下列一些issue: 名字识别的问题 #387 机构名识别错误 关 ...
- linux内核中链表代码分析---list.h头文件分析(一)【转】
转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...
随机推荐
- Java进阶(十五)Java中设置session的详细解释
Java中设置session的详细解释 简单通俗的讲session就是象一个临时的容器,用来存放临时的东西.从你登陆开始就保存在session里,当然你可以自己设置它的有效时间和页面,举个简单的例子: ...
- Gradle 1.12用户指南翻译——第三十四章. JaCoCo 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Windows系统版本判定那些事儿
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...
- 深入理解JNI
深入理解JNI 最近在学习android底层的一些东西,看了一些大神的博客,整体上有了一点把握,也产生了很多疑惑,于是再次把邓大神的深入系列翻出来仔细看看,下面主要是一些阅读笔记. JNI概述 JNI ...
- 【53】java的多线程同步剖析
synchronized关键字介绍: synchronized锁定的是对象,这个很重要 例子: class Sync { public synchronized void test() { Syste ...
- 创建Sencha touch第一个应用
最近学习Sencha touch ,是一个菜鸟级别.废话不多说,让我们来创建Sencha touch的第一应用. 首先,我们下载Sencha touch2.0 sdk 和SDK工具. SDK工具直接 ...
- ASP.NET Provider模式应用之SqlMembershipProvider类的剖析
太多了,先给个流程图吧 Provider模式就是GOF中的两种设计模式的应用:策略模式和工厂模式,在程序中使用好这个模型能够解除模块与模块之间的耦合甚至是DIP,同时,不管是ASP.NET MVC还是 ...
- Hibernate与Mybatis的比较
Hibernate与Mybatis的比较: Hibernate: 标准的.重量级.全自动化的ORM框架 可以写sql(SQLQuery,sql )也可以不写sql(Query,hql) ORM映射主要 ...
- $cordovaCamera 插件 上传头像 图片功能
首先要注入 $cordovaCamera 使用相机拍照 var useCamera = function() { var options = { //这些参数可能要配合着使用,比如选择了source ...
- 到底创建了几个String对象?
到底创建了几个String对象? 标签: 堆栈使用 对象创建 分类: 开发技术 关键字: java 面试题 string 创建几个对象 作者:臧圩人(zangweiren) 网址:http://zan ...