linux thermal framework(5)_thermal core

作者:huowj 发布于:2025-4-14 10:47 分类:电源管理子系统

本文从thermal framework core对内部实现做一个简单的分析

阅读全文>>

标签: thermal

评论(0) 浏览(298)

linux thermal framework(4)_thermal governor

作者:huowj 发布于:2025-4-14 10:45 分类:电源管理子系统

thermal governor是通过一定算法控制cooling device状态来控温的在这篇文章中,我们使用一个简单的step_wise governor来说明整个过程。

阅读全文>>

标签: thermal

评论(0) 浏览(256)

linux thermal framework(3)_thermal cooling device

作者:huowj 发布于:2025-4-14 10:33 分类:电源管理子系统

linux使用thermal cooling device来描述一个平台上可以降温的设备,本文详细介绍thermal cooling device相关的函数接口和相关调用过程。

阅读全文>>

评论(0) 浏览(235)

linux thermal framework(2)_thermal zone

作者:huowj 发布于:2025-4-14 10:15 分类:电源管理子系统

linux使用thermal zone来描述一个平台各个区域的温度信息,本文详细介绍thermal_zone相关的函数接口和相关调用过程。

阅读全文>>

评论(0) 浏览(251)

linux thermal framework(1)_概述

作者:huowj 发布于:2025-4-14 9:56 分类:电源管理子系统

热能是电子器件在通电工作后散发能量的主要方式之一,电子器件(cpu、电源适配器等)中的电阻、晶体管、集成电路等元件在工作中,电流通过导体,电子与原子碰撞,导致能量以热能形式散发。

在手持移动设备(手机、手表等)中,由于接触人体皮肤,保证设备的温度在人体可接受范围内是重要的一个研发方向,硬件上可以通过选择更低功耗的电子器件或者在设备内部添加散热材料,比方说导热凝胶、石墨片、金属散热片等,来降低温度,软件上一般可以通过温度监控和动态频率调节减少热量产生的方式来降温。

linux thermal framework是在kernel层面,通过监控器件温度,动态调节频率等方法管理设备温度

本文简单介绍了linux thermal framework的主要功能和接口设计

阅读全文>>

标签: Kernel 设备模型

评论(0) 浏览(346)

mmap在arm64背后的那个深坑

作者:安庆 发布于:2024-2-28 20:13 分类:Linux内核分析

本文记录了linux kernel 5.10内核上的一个bug修复过程,希望可以给大家参考。

阅读全文>>

评论(6) 浏览(7433)

Linux读写锁逻辑解析

作者:OPPO内核团队 发布于:2023-5-29 20:57 分类:内核同步机制

除了mutex,在linux内核中,还有一个经常用到的睡眠锁就是rw semaphore(后文简称为rwsem),它到底和mutex有什么不同呢?为何会有rw semaphore?无他,仅仅是为了增加内核的并发,从而增加性能而已。Mutex严格的限制只有一个thread可以进入临界区,但是实际应用中,有些场景对共享资源的访问可以严格区分读和写的,并且是读多写少,这时候,其实多个读的thread同时进入临界区是OK的,使用mutex则限制一个线程进入临界区,从而导致性能的下降。

本文会描述linux5.15.81中读写锁的数据结构和逻辑过程。

阅读全文>>

标签: rwsem

评论(1) 浏览(9903)

futex基础问答

作者:OPPO内核团队 发布于:2022-10-9 7:20 分类:内核同步机制

futex是Fast Userspace muTEX的缩写,该机制是由Rusty Russell、Hubertus Franke和Mathew Kirkwood在2.5.7版本的内核中引入,虽然名字中有互斥锁(mutex)的含义,但实际它是一种用于用户空间应用程序的通用同步工具(基于futex可以在userspace实现互斥锁、读写锁、condition variable等同步机制)。

阅读全文>>

标签: futex

评论(4) 浏览(10134)

如何使能500个virtio_blk设备

作者:安庆 发布于:2022-8-12 16:12 分类:Linux内核分析

一例virtio_blk设备中断占用分析

背景:这个是在客户的centos8.4的环境上复现的,dpu是目前很多云服务器上的网卡标配了,在云豹的dpu产品测试中,dpu实现的virtio_blk设备在申请中断时报错,在排查这个错误的过程中,觉得某些部分还比较有趣,故记录之。本身涉及的背景知识有:irq,msi,irq_domain,affinity,virtio_blk,irqbalance。下面列一下我们是怎么排查并解决这个问题的。

阅读全文>>

评论(0) 浏览(5871)

Linux内核同步机制之(九):Queued spinlock

作者:OPPO内核团队 发布于:2022-6-29 6:33 分类:内核同步机制

本站之前已经有了一篇关于spinlock的文档,在之前的文章中有对自旋锁进行简单的介绍,同时给出了API汇整和应用场景。不过该文章中的自旋锁描述是基于比较老的内核版本,那时候的自旋锁还是ticket base锁,而目前最新内核中的自旋锁已经进化成queued spinlock,因此需要一篇新的自旋锁文档来跟上时代。此外,本文将不再描述基本的API和应用场景,主要的篇幅将集中在具体的自旋锁实现上。顺便说一句,同时准备一份linux5.10源码是打开本文的正确方式。

由于自旋锁可以在各种上下文中使用,因此本文中的thread是执行线索的意思,表示进程上下文、hardirq上下文、softirq上下文等多种执行线索,而不是调度器中线程的意思。

阅读全文>>

标签: spinlock queued

评论(3) 浏览(12439)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog