魅族内核团队

一个有内涵的技术分享平台

焕新存储技术:UFS 4.0 FBO 底层逻辑剖析

FBO (File Based Optimization) 是 UFS 4.0 标准中新引入的功能,用于优化 UFS 长久使用后由于文件碎片导致的读写性能下降问题。了解 FBO 之前我们先了解下 UFS 的一些基本概念及文件碎片问题。 一、FBO 诞生的原因UFS (Universal Flash Storage) 通用闪存存储器以良好的性能被广泛用在手机、平板等设备上。UFS 协议由 JE......
UFS

浅析高通 mvp 进程优先调度

一、前言众所周知,原生 Linux 内核大部分进程是采用完全公平调度CFS(Completely Fair Scheduler),服务于 PC 机/服务器/Android设备/嵌入式设备等等。然而 Android 设备要求前台应用具有交互和UI的高响应性和高流畅性。原来不区分前后台应用的 CFS 机制似乎没有专门为交互设备考虑到这点,以至于国内大厂纷纷魔改内核调度策略,如 vip 线程、不公......

eBPF初体验:Android设备网络优化实践

1. 概述1.1 eBPF是什么先看看官方原文释惑 eBPF is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in a privileged context such as the operating system kernel. It is use......

Android Input 调试与优化

Android input系统负责处理与管理用户输入, 是用户交互体验的中枢,涉及从上到下各个领域。当遇到一些复杂的 Input 相关性能问题时,如何进行精准的 Debug 定位呢?本篇旨在介绍android Input的工作流程及debug手段,并借助perfetto工具,分享一些 Android Input Debug 与优化的实践和相应的优化方案。 一. Android input 常......

人脸解锁带来的安卓系统崩溃之谜!

问题背景用户反馈开启人脸解锁后,偶现密码解锁、指纹解锁、人脸解锁均无法使用,系统卡死随后出现安卓重启。 问题分析SWT之初步释疑查看android SWT(Software Watchdog Timeout)日志,发现android.ui线程卡死。1Subject: Blocked in handler on ui thread (android.ui) 查看android.ui堆栈,可以看......

Android Verified Boot 2.0

Android Verified Boot 2.0流程Android Verified Boot(AVB)的作用是校验各个镜像,确保各个镜像没有被篡改过的。如果镜像被篡改过,设备将会报启动异常。 概览: 设备上电最早启动pbl(primary bootloader),进行secboot(secure boot)工作,secboot主要工作是校验bootloader的合法性,校验没问题才启动......

Android Binder

1、binder原理纵观现有市面上所有讲binder的文章,都存在一个最大的问题:没有讲清楚binder对象是什么?不清楚binder对象是什么,那就不能理解handle是什么?不能理解什么时候是binder什么时候是handle,那就不能真正理解整个IPC的通讯过程。 我们首先回到binder的目的,就是IPC(Inter-Process Communication)进程间通讯。那么怎么样......

kernel 空间加载用户空间fw实现原理

随着手机外围器件的集成度和复杂度越来越高, 单纯的设置相关寄存器已经无法使得器件可以正常的工作. 在一般情况下,需要将一个特定的fw下载到器件中, 确保器件可以正常稳定的运行, 比如:camera ois,camera actuator, TP等等. 一般情况下, 有以下三种方案: 直接将fw data转化为特定的数组,编码在驱动代码中. 将fw data烧录到一个分区中,需要的时候从分区......

Android FBE

Android FBE1. FBE 简介 名称: FBE, File-Based Encryption,基于文件的加密 凭据加密 (CE) 存储空间:这是默认存储位置,只有在用户解锁设备后才可用。设备加密 (DE) 存储空间:在直接启动模式期间以及用户解锁设备后均可用。 开启 FBE 方式,在相关的 fstab 文件中添加相关的代码: 1/dev/block/bootdevice/by-n......

Linux Time

1、Linux时钟框架DroidPhoneo 上图是linux时钟框架一个经典的描述。本质上linux各种时钟架构和服务是基于硬件提供的两种timer而构建的。 1、定时Timer 这类timer每个cpu都有一个独立的,称为local timer。这类timer的中断一般都是PPI(Private Peripheral Interrupt)类型,即每个cpu都有独立一份中断。 与PPI对......