魅族内核团队

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

硬核内核技术: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是一种用户态和内核态混合机制,需要两个......

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

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

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

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