What Android GKI Brings to OEMs

After reading the Android documentation on General Kernel Image (GKI), i have gained an understanding of what it means for OEMs. We know every OEM could modify the Linux kernel in ...

阅读全文

转:EROFS pcluster 模式分析

原文链接:https://mp.weixin.qq.com/s/PQb_PwgxzyeeFZyz3FsO6w EROFS pluster 模式的用处: It’s used to judge whether inplace I/O can be used due to the current status of pclusters in the c...

阅读全文

为什么 WQ_CPU_INTENSIVE 对 unbound 工作队列没有意义

问题如题,Linux workqueue 文档在描述 WQ_CPU_INSTENSIVE 时提到: This flag is meaningless for unbound wq. 为什么这样说?本文尝试去解读这个标记。 unbound wq 就是 WQ_UNBOUND: WQ_UNBOUND Work items queued to an unbo...

阅读全文

如何使 bpftrace:runqlat.bt 按 workqueue name 统计延迟

问题当我们想利用 ebpf 统计 task/kworker 的调度延迟,通常有两个前端选择,一是 bcc,另一个是 bpftrace。而如果要自定义,通常选择先上手 bpftrace,因为简单。 bpftrace/tools 下的工具 runqlat.bt 就可以统计调度延迟,只不过输出是直方图,我们希望能够像 perf sched 那样...

阅读全文

如何使 perf sched 支持 workqueue name

问题workqueue name 就是 alloc_workqueue 的第一个参数: /** * alloc_workqueue - allocate a workqueue * @fmt: printf format for the name of the workqueue[...]#define alloc_workqueue(fmt, flags,...

阅读全文

使用 adeb 在 Android 上编译安装 bcc

先科普下 BCCBCC 官方: BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Ber...

阅读全文

kworker 调度延迟性能测试和统计

LPC2022 EROFS 提到一个解压调度延迟问题: 最近,Android 提了一笔优化 patch for this issue: Author: Sandeep Dhavale <dhavale@google.com>Date: Thu Dec 22 01:15:29 2022 +0000 EROFS: Replace erof...

阅读全文

转:EROFS 碎片去重实践

碎片去重已经实现了,参见 [PATCH v7] erofs-utils: mkfs: support fragment deduplication,其主要逻辑就是在压缩前去重以防把重复的部分写入 packed inode,去重成功后如果 pcluster 没压满,就再读碎片尝试修复。 主要围绕查找碎片、何时修复碎片、开始修复碎片、生成碎片extent、提交碎...

阅读全文

How to enable KASAN in Ubuntu 18.04 for X86_64

末日都过了,还在用 Ubuntu 18.04? 好吧,我觉得应该有很多人都在用。。。废话少说,上游 syzbot 天天查你,这不 KASAN bug 又来了,先来看看怎么使能 KASAN。 直接 menuconfig 按如下路径愣是找不到: Kernel hacking -> Memory Debugging 来看下配置说明,在lib/Kc...

阅读全文

如何分析 Linux user space's segmentation fault

Linux 用户态码字有时会遇到如下错误: Segmentation fault (core dumped) .. 当你没头绪时,或许可以借用工具来定位。这个错误中 core dumped 提示生成了一个 core 文件。那它在哪了?如何分析? 具体来看,OS 是 Ubuntu 18.04。 Step 1. check core 文件大小 t...

阅读全文