摘要: sdcardfs是三星基于wrapfs框架开发的虚拟文件系统,并凭借其出色的IO性能,在Android O上替代FUSE(File system in Userspace),成功上位。不提FUSE单讲sdcard... 阅读全文
posted @ 2020-05-22 17:00 内核工匠 阅读(2472) 评论(0) 推荐(0) 编辑
摘要: 一、原理和基本流程Systrace是android性能调试优化的常用工具,它可以收集进程的活动信息,如界面布局、UI渲染、binder通信等;也可以收集内核信息,如cpu调度、IO活动、中断等;这些信息会统一时间... 阅读全文
posted @ 2020-05-20 20:31 内核工匠 阅读(1468) 评论(0) 推荐(0) 编辑
摘要: Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大约是几百IOPS(IOs ... 阅读全文
posted @ 2020-05-08 17:00 内核工匠 阅读(4148) 评论(0) 推荐(2) 编辑
摘要: 内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如:“Unable to handle kerne... 阅读全文
posted @ 2020-04-30 17:00 内核工匠 阅读(6952) 评论(0) 推荐(0) 编辑
摘要: 今天我们来讨论一下内核中从radix tree到xarray结构的演变。radix tree现在普遍应用于page cache中,用于搜索页高速缓存。但是在Linux内核4.20版本之后便被xarray结构所替代... 阅读全文
posted @ 2020-04-24 16:58 内核工匠 阅读(3174) 评论(0) 推荐(0) 编辑
摘要: 当今的复杂SoC由多个子模块协同工作组成。在执行各种用例的操作系统中,并非SoC中的所有模块都需要始终保持最高性能。为方便起见,将SoC中的子模块分组为域,从而允许某些域以较低的电压和频率运行,而其他域以较高的电... 阅读全文
posted @ 2020-04-17 17:00 内核工匠 阅读(807) 评论(0) 推荐(0) 编辑
摘要: Linux io调度器有很多种,大多数调度器都经受住了各种市场环境的长时间验证,稳定性、性能得到各种用户的认可,但新的调度器依然展露头角,在4.12内核中出现了一个新的bfq调度器,这个调度器将取代曾经的辉煌的c... 阅读全文
posted @ 2020-04-10 17:00 内核工匠 阅读(1334) 评论(0) 推荐(0) 编辑
摘要: 我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对load balance、task placement和active... 阅读全文
posted @ 2020-04-03 17:00 内核工匠 阅读(738) 评论(7) 推荐(0) 编辑
摘要: 一、什么是dex2oatDex2oat (dalvik excutable file to optimized art file) ,是一个对 dex 文件进行编译优化的程序,在我们的 Android 手机中的位... 阅读全文
posted @ 2020-03-27 17:00 内核工匠 阅读(6204) 评论(0) 推荐(0) 编辑
摘要: 早期的 Block 框架是单队列(single-queue)架构,适用于“硬件单队列”的存储设备(比如机械磁盘),随着存储器件技术的发展,支持“硬件多队列”的存储器件越来越常见(比如 NVMe SSD),传统的单... 阅读全文
posted @ 2020-03-20 17:00 内核工匠 阅读(3341) 评论(0) 推荐(0) 编辑