转:如何在EROFS上支持Android文件块映射

本文首先从Ext4认识Android文件块映射,然后从生成EROFS文件系统的三个部分(非压缩文件、压缩文件和尾端数据)分析如何生成block list文件。

阅读全文

Read squashfs readpage() code

内核参考5.x: const struct address_space_operations squashfs_aops = { .readpage = squashfs_readpage}; static int squashfs_readpage(struct file *file, struct page *page...

阅读全文

e-Paper Weather Station

I always want to use the 7.5 e-Paper(i already have) to display weather forecast instead of my previous solution displayed on LCD. You know, the old one is not beautiful for me any...

阅读全文

erofs-utils mkfs 概览

参考erofs-utils 1.2.1, 入口是erofs_mkfs_build_tree(), 不关注xattr/extent, 看之前我们再了解下inode: Inodes store information about files and directories (folders), such as file ownership, acce...

阅读全文

eMMC CMDQ 超时分析

先看HW架构 CQE: Command Queueing Engine,负责管理software和eMMC device的data传输。 首先CQE接收来自SW的task(via TDL和doorbell),接下来的command flows主要有三步: Step1. Queuing a Transaction(CMD44+CMD45) CQE发出CMD...

阅读全文

UFS Write Booster 分析

先来看看JEDEC有关WriteBooster(WB)的描述: TLC NAND比SLC NAND慢的原因就是TLC里面有更多的programming steps。ok,为了提高性能,那就把TLC NAND的一部分配置成SLC NAND不就行了。rt,WriteBooster特性由此而来,就是把这部分SLC NAND用作WriteBooster Buffer...

阅读全文

schedutil CPUFreq governor 代码分析

参考内核5.x, code是kernel/sched/cpufreq_schedutil.c,配置说明: config CPU_FREQ_GOV_SCHEDUTIL bool “‘schedutil’ cpufreq policy governor” depends on CPU_FREQ && ...

阅读全文

ARM EAS Overview

EAS全称是Energy Aware Scheduling,主要目标就是降低功耗同时兼顾性能,专门针对异构CPU,比如Arm大小核架构。 EAS利用task load(PELT or WALT) 和 Engery Model (EM) 找到engergy-efficient CPU。 这里的PELT是per-entity load tracking,上游Li...

阅读全文

分析erofs-utils canned fs_config查找失败问题

H的erofs已经支持Android,QC/droid 10下生成镜像有如下错误: failed to find [app] in canned fs_config code在system/core/libcutils/canned_fs_config.cpp: void canned_fs_config(const...

阅读全文

超慢速电影播放相框

How cool would this be playing your favourite film onto a plain wall somewhere you can see it throughout the day? 库布里克的2001是真慢 放动画美美滴 背面 btw: 没必要pi 4,pi zero就够了,cpu会高一点,稍微改改脚本 参考...

阅读全文