LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

上一页 1 ··· 6 7 8 9 10 11 下一页

2017年5月1日

Scratch、WeDo、Scratch&WeDo科普——能带来什么启示

该文被密码保护。 阅读全文

posted @ 2017-05-01 08:04 ArnoldLu 阅读(49) 评论(0) 推荐(0) 编辑

2017年4月12日

Linux内核中的算法和数据结构

摘要: 算法和数据结构纷繁复杂,但是对于Linux Kernel开发人员来说重点了解Linux内核中使用到的算法和数据结构很有必要。 在一个国外问答平台stackexchange.com的Theoretical Computer Science子板有一篇讨论实际使用中的算法和数据结构,Vijay D做出了详 阅读全文

posted @ 2017-04-12 14:40 ArnoldLu 阅读(10962) 评论(0) 推荐(0) 编辑

2017年4月10日

《Linux/Unix系统编程手册》 时间子系统

摘要: Linux下操作系统编程有两本经典APUE即《Advanced Programming in the UNIX Environment》和TLPI《The Linux Programming Interface》,中文版对应《UNIX环境高级编程(第3版)》和《Linux/UNIX系统编程》。 TL 阅读全文

posted @ 2017-04-10 20:11 ArnoldLu 阅读(3075) 评论(0) 推荐(0) 编辑

2017年4月7日

SourceInsight工具增强——AStyle(代码格式化)、PC-Lint(静态检查)

摘要: Artistic Style(AStyle) AStyle是一款开源、高效、精简的代码格式化工具,适用于C、C++、C#、Java等。官方地址在:http://astyle.sourceforge.net/。 AStyle支持Linux、Mac或者Windows,Windows下有预编译的exe文件 阅读全文

posted @ 2017-04-07 17:35 ArnoldLu 阅读(2100) 评论(0) 推荐(0) 编辑

2017年4月1日

读《Top benefits of continuous integration》有感

摘要: 看到一片文章《Top benefits of continuous integration》,这张图画的很棒。将整个CI流程各阶段,列举出来了。 作者在文章里面介绍了CI和TDD,以及采用CI的详细好处。尤其是采用CI的好处,作者讲解的很到位,看得出是实战得来的,而不是笼统的泛泛而谈。 对我的启发有两点:一,CI有哪些好处,实际中如何使用好;二,基于转盘图梳理一下各阶段用到的工具。 CI、T... 阅读全文

posted @ 2017-04-01 16:45 ArnoldLu 阅读(387) 评论(0) 推荐(0) 编辑

2017年3月25日

授人以鱼不如授人以渔,和女儿学一起学成语

摘要: 女儿二年级了,前段时间背了《小学生必背古诗词75首》,采用几天一篇,然后滚动复习这种方式。磕磕绊绊也把一本古诗背了一遍,效果吗?是有的,但是不怎么明显,前面背,后面忘。当然这是规律,难免的。 如果说语文是一座大厦,那么成语、歇后语、古诗句就是这座大厦的砖瓦了。一篇文章的精巧结构,这种大框架不是谁都有 阅读全文

posted @ 2017-03-25 10:40 ArnoldLu 阅读(2694) 评论(0) 推荐(0) 编辑

2017年3月24日

Linux内存使用情况以及内存泄露分析之工具与方法

摘要: 《Linux C/C++ Memory Leak Detection Tool》 1. 内存使用情况分析 1.1 系统总内存分析 通过cat /proc/meminfo,可用的物理内存=MemFree+Buffers+Cached。 MemTotal: 5933132 kBMemFree: 4485 阅读全文

posted @ 2017-03-24 17:37 ArnoldLu 阅读(20143) 评论(0) 推荐(2) 编辑

2017年3月18日

常用gcc选项

摘要: 《Linux GCC常用命令》 Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是: $@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。 同时使用动态/静态库 GCC默认的链接库形式是动态的;如果要采用静态连接需要添加static参数,但是会导致整个GCC连 阅读全文

posted @ 2017-03-18 17:13 ArnoldLu 阅读(2062) 评论(0) 推荐(0) 编辑

2017年3月12日

KVM内核文档阅读笔记

摘要: KVM在内核中有丰富的文档,位置在Documentation/virtual/kvm/。 00-INDEX:整个目录的索引及介绍文档。 api.txt:KVM用户空间API,所谓的API主要是通过ioctl来实现的。 cpuid.txt:KVM的cpuid相关API。 devices/:各种平台相关 阅读全文

posted @ 2017-03-12 19:55 ArnoldLu 阅读(2755) 评论(0) 推荐(0) 编辑

2017年3月6日

关于Linux虚拟化技术KVM的科普 科普五(From 世民谈云计算)

摘要: 另一位大神写到KVM文章,KVM 介绍(1):简介及安装、KVM 介绍(2):CPU 和内存虚拟化、KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtualizaiton Para-virtualization]、KVM 介绍(4):I/O 设备直接分配和 阅读全文

posted @ 2017-03-06 16:45 ArnoldLu 阅读(1145) 评论(0) 推荐(0) 编辑

关于Linux虚拟化技术KVM的科普 科普四(From humjb_1983)

摘要: 另一组关于KVM的分析文档,虚拟化相关概念、KVM基本原理和架构一-概念和术语、KVM基本原理和架构二-基本原理、KVM基本原理及架构三-CPU虚拟化、KVM基本原理及架构四-内存虚拟化、KVM基本原理及架构六-KVM API、KVM基本原理及架构七-KVM内核模块中重要的数据结构。 阅读全文

posted @ 2017-03-06 16:43 ArnoldLu 阅读(736) 评论(0) 推荐(0) 编辑

关于Linux虚拟化技术KVM的科普 科普三(From OenHan)

摘要: http://oenhan.com/archives,包括《KVM源代码分析1:基本工作原理》、《KVM源代码分析2:虚拟机的创建与运行》、《KVM源代码分析3:CPU虚拟化》、《KVM源代码分析4:内存虚拟化》、《KVM源代码分析5:IO虚拟化之PIO》,可以有个基本认识,以及CPU、内存、IO虚 阅读全文

posted @ 2017-03-06 16:39 ArnoldLu 阅读(4852) 评论(0) 推荐(0) 编辑

关于Linux虚拟化技术KVM的科普 科普二(KVM虚拟机代码揭秘)

摘要: 代码分析文章《KVM虚拟机代码揭秘——QEMU代码结构分析》、《KVM虚拟机代码揭秘——中断虚拟化》、《KVM虚拟机代码揭秘——设备IO虚拟化》、《KVM虚拟机代码揭秘——QEMU的PCI总线与设备(上)》、《KVM虚拟机代码揭秘——QEMU的PCI总线与设备(下)》。先从大的方面分析代码结构,然后 阅读全文

posted @ 2017-03-06 16:38 ArnoldLu 阅读(3294) 评论(0) 推荐(0) 编辑

关于Linux虚拟化技术KVM的科普 科普一(先用起来!)

摘要: 是骡子是马是拉出来溜溜,通过《KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机》跑一遍,就会对KVM、QEMU-KVM有个大概的认识了。 qemu-kvm已经不单独存在,qemu加上-enable-kvm可以实现同样的功能。 关于不同CPU支持的硬件虚拟化技术,参考Processor_supp 阅读全文

posted @ 2017-03-06 16:37 ArnoldLu 阅读(3490) 评论(0) 推荐(2) 编辑

2017年3月3日

关于Linux虚拟化技术KVM的科普

摘要: 虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲。KVM、XEN、Docker等比较热门,尤其是KVM技术越来越受欢迎。 基于此背景,了解一下KVM+QEMU就有点必要了。 从网上收集了一些资料进行科普,由于篇幅太长,分开如下: 《关于Linux虚拟化技术KVM的科普 科普一(先用起来!)》 《关 阅读全文

posted @ 2017-03-03 22:19 ArnoldLu 阅读(6074) 评论(0) 推荐(0) 编辑

开源HTTP解析器---http-parser和fast-http

摘要: 由于项目中遇到需要发送http请求,然后再解析接收到的响应。大概在网上搜索了一下,有两个比较不错,分别是http-parser和fast-http。 http-parser是由C编写的工具;fast-http是大部分移植自http-parser,用lisp语言编写的,不太适合目前的项目。fast-http介绍文档《fast-http》。 有一篇文章《HTTP 协议解析库:fast-http》介绍了... 阅读全文

posted @ 2017-03-03 17:49 ArnoldLu 阅读(24596) 评论(2) 推荐(0) 编辑

2017年3月2日

JSON构造/解析(by C)---cJSON和json-c

摘要: 背景 JSON即JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON建构于两种结构: “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed lis... 阅读全文

posted @ 2017-03-02 15:30 ArnoldLu 阅读(14585) 评论(0) 推荐(0) 编辑

2017年2月25日

通过socket获取图片并保存

摘要: 网络操作的相关API gethostbyname/gethostbyaddr/getservbyname struct hostent *gethostbyname(const char *name); 传入值是域名或者主机名;传出值是一个hostent结构。如果调用失败,将返回NULL。 struct hostent { char *h_name; 主机规... 阅读全文

posted @ 2017-02-25 10:54 ArnoldLu 阅读(941) 评论(0) 推荐(0) 编辑

2017年2月10日

Android/Linux Thermal框架分析及其Governor对比

摘要: 图表 1 Thermal框架 随着SoC性能的快速提升,功耗也极大提高,带来的负面影响是SoC的温度提高很快,甚至有可能造成物理损坏。同时功耗浪费也降低了电池寿命。 从上图可知,Thermal框架可以分为Thermal Core、Thermal Governor、Thermal Cooling、Th 阅读全文

posted @ 2017-02-10 22:29 ArnoldLu 阅读(13987) 评论(0) 推荐(1) 编辑

Android/Linux Thermal Governor之IPA分析与使用

摘要: IPA(Intelligent Power Allocator)模型的核心是利用PID控制器,Thermal Zone的温度作为输入,可分配功耗值作为输出,调节Allocator的频率和电压值。 由Power Management一般开发模型可知,包括模型建立,模型实现,验证。 1 IPA模型 PI 阅读全文

posted @ 2017-02-10 22:14 ArnoldLu 阅读(7302) 评论(0) 推荐(0) 编辑

OpenSSL学习与移植

该文被密码保护。 阅读全文

posted @ 2017-02-10 08:33 ArnoldLu 阅读(2) 评论(0) 推荐(0) 编辑

2017年2月7日

WireShark抓包工具使用

摘要: WireShark是一款网络封包分析软件,它抓取网络封包,并尽可能显示出最详细的封包资料。 wireshark的准备工作 安装wireshark sudo apt-get install wireshark 在non-root下使用wireshark 由于sudo下使用wireshark太过aggressive,所有需要解决wireshark普通权限下访问网卡的问题。 1.添加wiresha... 阅读全文

posted @ 2017-02-07 00:00 ArnoldLu 阅读(4752) 评论(0) 推荐(0) 编辑

2017年1月23日

cpu_ops、suspend_ops、arm_idle_driver以及machine_restart/machine_power_off到底层PSCI Firmware分析

摘要: 在内核中针对的cpu的操作,比如arm_cpuidle_init、arm_cpuidle_suspend、boot_secondary、secondary_start_kernel、op_cpu_disable、op_cpu_kill、cpu_die、smp_cpu_setup、smp_prepar 阅读全文

posted @ 2017-01-23 19:58 ArnoldLu 阅读(6570) 评论(0) 推荐(0) 编辑

2017年1月20日

swap分析及其使用

摘要: 什么是swap swap主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因为内存不够用而导致oom或者更致命的情况出现。当内存使用存在压力的时候,开始触发内存回收行为,就可能会使用swap空间。 内核将很少使用的部分内存换出到块设备,相当于提供了更多的主内存,这种机制 阅读全文

posted @ 2017-01-20 16:08 ArnoldLu 阅读(10482) 评论(0) 推荐(1) 编辑

2017年1月16日

HiKey软硬件开发环境及其调试

摘要: HiKey是一款搭载华为海思麒麟620芯片,符合Linaro 96Boards标准的SBC开发板。它采用8核64位Cortex-A53处理器,主频高达1.2GHz。 HiKey作为AOSP支持的一款产品,同时也得到Linaro的大力支持,很多最新功能都会在上面进行验证。AOSP及内核代码能得到及时更 阅读全文

posted @ 2017-01-16 11:03 ArnoldLu 阅读(3507) 评论(0) 推荐(0) 编辑

2017年1月9日

Android/Linux boot time分析优化

摘要: 如果需要优化boot time,就需要一个量化的工具来分析每个阶段的时间消耗。这种类型的优化特别适合使用基于timeline的图表,有着明显的时间顺序。要求不但能给出整个流程消耗的时间,还要能对流程进行细化,获得每个阶段的时间。先从总体上查看优化程度,然后逐个查看异常的阶段。 分析工具化之后,可以快 阅读全文

posted @ 2017-01-09 23:56 ArnoldLu 阅读(5710) 评论(0) 推荐(0) 编辑

2017年1月6日

Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能对比

摘要: 测试环境:AOSP 7.1.1+Kernel 4.4.17 HW:HiKey Ubuntu 14.04+Kernel 4.4.0-31 联系方式:arnoldlu@qq.com 1. Linux内核suspend状态 Linux内核支持多种类型的睡眠状态,通过设置不同的模块进入低功耗模式来达到省电功 阅读全文

posted @ 2017-01-06 17:51 ArnoldLu 阅读(10665) 评论(1) 推荐(3) 编辑

使用Minicom基于串口调试HiKey

摘要: 虽然通过adb shell调试方便,但是有些时候不得不借助于串口进行调试,比如测试suspend to ram之类的功能时,adb服务被关闭。 同时在minicom中也可以进入shell,进行操作。 第一步:如果没有安装minicom,安装minicom串口软件: 第二步:查看串口设备,输入“ls 阅读全文

posted @ 2017-01-06 09:36 ArnoldLu 阅读(1373) 评论(0) 推荐(0) 编辑

2017年1月4日

系统级性能分析工具perf的介绍与使用

摘要: 测试环境:Ubuntu16.04 + Kernel:4.4.0-31 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件 阅读全文

posted @ 2017-01-04 21:13 ArnoldLu 阅读(221208) 评论(1) 推荐(12) 编辑

2016年12月29日

Workload Automation分析及其使用

摘要: 1. Workload Automation介绍 Workload Automation是提供一个在设备上运行各种workload的工具,使用Python编写。WA具有良好的框架结构,方便快捷的扩展。包含几个方面的扩展:workloads、instruments、result_processors、 阅读全文

posted @ 2016-12-29 20:43 ArnoldLu 阅读(3163) 评论(0) 推荐(0) 编辑

重度使用示波器进行优化分析——一个DSDA项目回顾

摘要: 这是若干年前一个项目,最近有时间整理一下。回忆起来,印象最深刻的就是重度使用示波器辅助分析,进行优化。 项目背景是在原有项目3G+项目基础上,增加一颗2G+ Modem,使支持DSDA功能。 在介绍DSDA之前,稍微区分一下DSDS和DSDA: DSDS,即Dual SIM Dual Standby 阅读全文

posted @ 2016-12-29 00:18 ArnoldLu 阅读(1365) 评论(0) 推荐(0) 编辑

2016年12月28日

Linux CGroup之freezer分析与应用

摘要: Linux Kernel:4.4.17 CGroup的freezer子系统对于成批作业管理系统很有用,可以成批启动/停止任务,以达到及其资源的调度。 freezer子系统也有助于针对运行一组任务设置检查点。通过强制一组任务进入静默状态(quiescent state),freezer子系统可以获得任 阅读全文

posted @ 2016-12-28 14:30 ArnoldLu 阅读(7247) 评论(0) 推荐(1) 编辑

编译自己的Ubuntu内核

摘要: 很多时候我们在使用Ubuntu的时候,想修改一下内核配置,然后编译,安装到Ubuntu中。这也是进行Ubuntu内核开发的前提。 获取当前Ubuntu对应代码 有很多方法可以获得Ubuntu内核代码,但是下面两种非常方便。 uname -r显示当前内核的版本号,apt-get source则用来获取 阅读全文

posted @ 2016-12-28 09:25 ArnoldLu 阅读(15443) 评论(0) 推荐(0) 编辑

2016年12月27日

Android中关于cpu/cpuset/schedtune的应用

摘要: Android中关于cpu/cpuset/schedtune的应用都是基于进程优先级的,根据不同优先级划分进程类型。AMS(ActivityManagerService)和PMS(PackageManagerService)等通过class Process设置进程优先级、调度策略等;android/ 阅读全文

posted @ 2016-12-27 17:19 ArnoldLu 阅读(7658) 评论(1) 推荐(1) 编辑

2016年12月26日

Android中基于CGroup的memory子系统HAL层分析-lmkd

摘要: Android在内存管理上于Linux有些小的区别,其中一个就是引入了lowmemorykiller。从lowmemorykiller.c位于drivers/staging/android也可知道,属于Android专有,没有进入Linux kernel的mainline。 lmkd,即Low Me 阅读全文

posted @ 2016-12-26 11:05 ArnoldLu 阅读(3961) 评论(0) 推荐(1) 编辑

DDR相关的低功耗技术之PASR、TCSR、DPD

摘要: 随着智能机的发展,DDR内存容量越来越大,bank数量越来越多,功耗也越来越大。在不需要的时候关闭部分bank,或者降低自刷新频率,或者进入深度低功耗模式。有三种DDR技术用来降低功耗: PASR(Partial Array Self-Refresh),根据内存使用情况,调整内存位置,尽量空闲更多b 阅读全文

posted @ 2016-12-26 10:08 ArnoldLu 阅读(8447) 评论(0) 推荐(1) 编辑

2016年12月23日

github.com使用方法

摘要: github.com作为一个开源的代码托管平台,非常适合创建自己的代码库,也适合从别人已有项目fork自己的私有库;如果想私有托管,需要缴费使用。 创建自己代码库 在个人主页面,点击右上角+号,选择New repository: 在新页面输入Repository name,添加Description,选择Public/Private,或者添加一个README说明文件,设置好之后点击Create ... 阅读全文

posted @ 2016-12-23 17:51 ArnoldLu 阅读(4038) 评论(0) 推荐(0) 编辑

LISA介绍及其使用方法

摘要: LISA是ARM公司开发的一款开源工具。在内核开发过程中,苦于无法针对修改内容进行一些量化或者可视化结果的测量,而无感。LISA对于模型调优,回归测试都有较强的支持。 什么是LISA? LISA是Linux Interactive System Analysis的缩写,从字面意思可以看出是一个分析工 阅读全文

posted @ 2016-12-23 15:14 ArnoldLu 阅读(8885) 评论(0) 推荐(0) 编辑

2016年12月22日

Linux常用获取进程占用资源情况手段

摘要: 测试环境:Ubuntu14.04 1. 获取进程ID号 ps -aux | grep your_process_name 例如: xxx@xxx:~$ ps -e |grep Midlet|awk '{print $1}' 9356 2. 查看进程相关信息 2.1 查看进程树信息: xxx@xxx: 阅读全文

posted @ 2016-12-22 15:52 ArnoldLu 阅读(3662) 评论(0) 推荐(0) 编辑

Ubuntu上基于开源代码PhoneMe的J2ME环境搭建及使用

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2016-12-22 14:41 ArnoldLu 阅读(23) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 下一页

导航