魅族内核团队

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

进程冻结技术:深入探究 Linux 内核中的 cgroup freezer 子系统

kernel version:5.15.119cpu architecture:ARM64cgroup version:cgroup v2 一、背景介绍cgroup 最初由 Google 工程师 Paul Menage 和 Rohit Seth 在 2006 年提出,是一种细粒度资源控制的Linux内核机制。于 2007 年合并到 Linux 内核主线中。然而 Google 原生系统直到......

内核内存稳定性新特性:Page Table Check 机制解读

Linux内核中内存损坏一直是极难定位但又较为常见的一类问题。在内核中已经有较多的机制来拦截此类问题。比如Kasan/Kfence等等。而内核自5.17版本起又引入了Page Table Check机制,用来检测某些page计数异常导致的内存损坏问题。 一、 为何引入Page Table Check机制:Google 的工程师在分析一个进程的dump时,无意间发现了一页不属于该进程的内存。进......

指尖上的科技:智能手机触摸屏技术与功耗优化

1. 概述触摸屏作为现代交互设备中重要的输入方式之一,已广泛应用于手机、平板电脑、电脑显示器等设备中。本文档将从基础知识出发,介绍触摸屏的工作原理,包括传感器感知、信号转换、数据处理和触摸事件传递等关键步骤。接着,将介绍触摸屏的分类,包括电容式触摸屏、电阻式触摸屏等不同技术的特点和应用场景。随后,将探讨触摸屏的工作模式:Actvie/Idle/Sleep Mode,也包括单点触控、多点触控、......

性能打磨手记:记一段 Futex 机制的内核优化之旅

1. futex简介Futex 是Fast Userspace muTexes的缩写,由 Linux 2.5.7开始引入。传统的SYSTEM V IPC机制需要系统调用进入内核态去操作某个内核对象,由内核来仲裁同步,事实上大部分情况下并没有资源竞争,此种情况下仍然进入内核态会显得很浪费,系统开销增加进而造成性能折扣,由此引入futex的概念。 futex是一种用户态和内核态混合机制,需要两个......

手机温控中枢:高通 Thermal Engine 框架分析

1. 前言在当前移动处理芯片性能过剩的时代,用户对手机的温度要求越来越高,更加苛刻的标准,最好永不发热。在这种背景下,温控领域的工作变得日益重要,众多大厂都在不断魔改和优化他们的温控技术。今天我们也带大家看看温控技术的其中一部分:Thermal Engine。下面,我们将基于 GitHub 上的源代码,对 Thermal Engine 的工作原理进行深入剖析。 Thermal Engine是......

从硬件到软件,Linux 时间子系统全栈解析

Linux 时间子系统为构建分时多任务操作系统提供了基础设施,使得系统能够准确地管理和处理与时间相关的任务,为任务调度、资源管理、驱动开发和应用程序开发等等都提供了强大的支撑。魅族博客之前也介绍过时间相关的文章:《Linux Time》、《Linux Tick 和 Tickless》、《CPUIDLE 之低功耗定时器》,温故而知新,我们再来一篇从入门到放弃。 1. 整体软件架构linux时间......

焕新存储技术: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 常......