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 SUSPENDHome对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. 分析实例

在Workload Automation中实现suspend分析的更多相关文章

  1. Workload Automation分析及其使用

    Workload Automation介绍 Workload Automation是提供一个在设备上运行各种workload的工具,使用Python编写.WA具有良好的框架结构,方便快捷的扩展.包含几 ...

  2. Android中Linux suspend/resume流程

    Android中Linux suspend/resume流程首先我们从linux kernel 的suspend说起,不管你是使用echo mem > /sys/power/state 或者使用 ...

  3. Android中AppWidget的分析与应用:AppWidgetProvider .

    from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...

  4. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  5. Android 中图片压缩分析(上)

    作者: shawnzhao,QQ音乐技术团队一员 一.前言 在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是下采样压缩. 前者是在不改变图片尺寸的情 ...

  6. 《构建之法》教学笔记——Python中的效能分析与几个问题

    <构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...

  7. Apollo配置中心源码分析

    Apollo配置中心源码分析 1. apollo的核心代码分享 SpringApplication启动的关键步骤 在SpringApplication中,会加载所有实现了Init方法的类 protec ...

  8. HanLP中人名识别分析

    HanLP中人名识别分析 在看源码之前,先看几遍论文<基于角色标注的中国人名自动识别研究> 关于命名识别的一些问题,可参考下列一些issue: 名字识别的问题 #387 机构名识别错误 关 ...

  9. linux内核中链表代码分析---list.h头文件分析(一)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...

随机推荐

  1. 使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51006463 ...

  2. myfirstBI项目总结

    app 应用信息统计: saiku安装:http://blog.csdn.net/longshenlmj/article/details/17359645 workbench解压即用,http://b ...

  3. Python和shell中Base64编码使用那些事

    做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏. 下面是 维基百科 Base64 中的介绍,其实自己实现起 ...

  4. linux下64位汇编的系统调用(4)

    经过上一篇的铺垫貌似可以很轻松的用汇编写出mmap的代码来,可仔细一看,还是有不少问题需要解决: 1.系统调用mmap如果出错并不直接返回MAP_FAILED(-1),而是一个"类似&quo ...

  5. error C3872: '0x3000': this character is not allowed in an identifier

    问题描述:这个字符不允许在标示符中使用 一般出这种错是因为你复制代码的时候,把不支持的字符复制进来了,这个字符就是中文空格,坑啊 解决: 把空格都删了,替换成英文的空格,就好了.

  6. C# 设置Word文档保护(加密、解密、权限设置)

    对于一些重要的word文档,出于防止资料被他人查看,或者防止文档被修改的目的,我们在选择文档保护时可以选择文档打开添加密码或者设置文档操作权限等,在下面的文章中将介绍如何使用类库Free Spire. ...

  7. Python 3.7 将引入 dataclass 装饰器

    简评:Python 3.7 将于今年夏天发布,Python 3.7 中将会有许多新东西,最激动人心的新功能之一是 dataclass 装饰器. 什么是 Data Class 大多数 Python 开发 ...

  8. Robot Framework + Pywinauto 框架实现Windows GUI Automation

    Robot Framework is a generic test automation framework for acceptance testing and acceptance test-dr ...

  9. Django(一)入门基础——hello world

    环境配置 windows7 python3.6 Django 2.0 PyCharm 2018.1 专业版(PS:不建议社区版,因为被"阉割"了很多功能,比如cmd的Termina ...

  10. Resin4下JSP文件导出问题的解决

           之前我在Resin3下采用JSP代码对一些硬盘上的文件作读取以后再输出或者生成一些特殊格式文件(如Excel)再输出供下载,这些文件输出JSP代码在Resin4以后输出的文件都产生错误无 ...