魅族内核团队

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

Linux SMP启动罗曼史(下):PSCI的安全唤醒与TrustZone的密室协约

从 spin-table 到 PSCI 的演进必要性尽管spin-table 机制(通过设置从核的启动地址寄存器(**CPU Release Address Register)**)能够实现多核冷启动,但其存在三大关键缺陷: 功能局限性:仅支持主核唤醒从核的冷启动操作,无法实现 CPU 热插拔、电源状态切换(IDLE/SUSPEND/RESET)等高级电源管理功能; 硬件耦合性:每个 S......

Linux SMP启动罗曼史(上):spin-table的轮询定情与硬件裸奔时代

SMP 基础概念SMP**(Symmetric Multiprocessing)** 指多个处理器核心在单一操作系统中以对等方式协同工作的架构模式。在 ARM64 体系下,这意味着所有 CPU 核心共享统一的内存空间,且由内核调度器动态分配任务。理解这种对称性至关重要 —— 它决定了多核启动流程必须解决的核心问题:如何让从核(Secondary Cores)在正确的时间、以正确的状态加入已......

硬核内核技术:irq_work通用硬中断回调机制首版特性分析

irq_work 在实际工程应用的例子是,在手机出现卡屏卡死状态时,可以使用组合按键触发 irq_work 来 dump 系统信息,而避免使用进程调度,因为此时系统可能资源匮乏、锁竞争让执行 dump 系统信息的进程处于 D 状态无法正常调度工作,导致操作失效,失去分析现场的机会。 本文是对 Linux 邮件列表中 ”[PATCH -tip -v6] irq_work: generic ......

物格而后知至:WALT调度器之RTG

1. 引言 我们在《浅析高通 mvp 进程优先调度》一文中有提到 RTG 任务是 mvp 进程优先调度的其中一种任务类型,然而 RTG 的的影响范围不仅仅是进程优先调度。下面再带大家物格而后知至:再研读高通 WALT 调度器中的RTG。 RTG(Related Thread Group)是高通引入的一个特性,目的是将关联的进程加入到同一个group组中,用于提升性能。比如显示相关的主线程和r......

向 Linux 内核社区提交 patch 实操要点

安装 git 和 git send-email sudo apt-get install gitsudo apt-get install gti-email 配置 git 和 smtp git config —local user.name “nameVal”git config —local user.email “eamil@qq.com” vi .git/config// 在文件......

一次山重水复疑无路的卡死问题根源分析

Description一个项目中偶现几十上百个 D 进程卡住在 shrink_inactive_list,导致卡顿/卡死/android SWT 等问题,前前后后,提交了 3 次修复,还没有彻底解决。 山重水复疑无路LOG:1234567891011121314151617181920212223242526272829303132333435363738394041424344[14945......

进程冻结技术:深入探究 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是一种用户态和内核态混合机制,需要两个......