自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 cpuidle framework in Linux Kernel(1)概述

本文是在参考了多位大神文章的基础上,结合自己对Linux kernel cpuidle 相关code以及ACPI spec的理解形成的,记录在这里,以期不断地迭代修正。cpuidle 相关的文章分XX部分,旨在解决以下几个问题:1)why to idle?2)what’s idle state?3)when to idle?4)which idle state to enter?5)h...

2021-11-01 13:55:11 534

原创 儿童思维成长

儿童理解的发生是一个抽象思维逐级提高再统合应用的过程。整个过程分为5个层级,即思维五阶层,每一低阶思维时后续高阶思维的基础。1、图像思维 听故事,在脑海中形成画面,不断积累图像素材,这是大脑成长的[资料库]。 大脑的图像思维越强大、越丰富、越精密,其抽象能力的基础就越好。2、图形思维 从动态场景中抽取关键画面,生发理解; 通过图片之间的次序、因果、条件等各种关系发生理解。 3、结构思维 是抽象思维更高一阶的晋级。 它是框架式、系统式的,有了它...

2020-12-03 15:12:10 298

原创 delay/sleep mechanisms in  Linux kernel 

linux中的延时函数一、linux userspace/usr/bin/sleepman sleep可以看到,sleep:delay for a specified amount of time; sleep NUMBER[SUFFIX] //这里的SUFFIX后缀可以是‘s’ for seconds (default), 'm' for minutes;使用strace查看sleep的执行过程中的系统调用;#strace -o sleep...

2020-11-16 19:09:51 633

原创 git log commit 中的小趣味——打地鼠

最近真的有在努力工作了,居然能从Linux kernel git commit中发现很多让人莞尔的小乐趣。今天在看S2I过程中对timer interrupt处理的一个change时,在commit中发现一个短语“whack-a-mole”,辞典一查,才知道是“打地鼠”的意思,就觉得好形象啊,看到它,脑海中立即浮现出打地鼠游戏时,那种按下葫芦起来瓢的场景,非常有画面感了。我还在读研究生的时候,室友就送了一个小小钥匙链大小的打地鼠的玩具,我经常在脑子卡壳的时候,拿出来,乒乒乓乓地一顿打,倒是挺解压的。

2020-10-29 15:33:42 239 1

原创 女儿两岁半——爸爸的事情做不做呢?

十一在家时,给两岁半的女儿洗脑“自己的事情自己做,妈妈的事情帮着做,爸爸的事情不要做。”爸爸在旁边听着直邹眉头,说我离间父女感情。女儿学得活灵活现,并且加上了自己的发挥。爸爸陪她疯玩时,她会说“爸爸的事情也要做。”爸爸跟她抢零食吃时,她会说“爸爸的事情不要做。”...

2020-10-21 16:53:51 222

原创 使用dynamic debug帮助调试

dynamic debug参考文件 Documentation/admin-guide/dynamic-debug-howto.rstkernel configuration:1)在编译时修改关心模块目录下的Makefile文件,对指定文件/模块打开dynamic debugccflags-y += -DDEBUG比如我们想要打开arch/x86/kernel/smpboo...

2020-06-29 19:11:30 8507

原创 使用coredump帮助解决segmentation fault的问题

打开coredumpsysctl kernel修改coredump文件存放的位置默认放在哪里?

2020-06-11 12:04:37 4056

原创 kernel编译时出现的Waring Clock skew detected. Your build may be incomplete

开机时,发现系统时间不对。使用以下命令或是直接在setting中修正系统时间#date -s 2020-03-17#date -s 10:22:53修正了系统时间之后,在编译linux kernel时,出现了以下warning:make[1]: Waring Clock skew detected. Your build may be incompleteWarning f...

2020-03-18 08:17:29 336

原创 swapfile和hibernation-restore用的swap partition

在较新的Ubuntu release版中(Ubuntu1804),默认使用swapfile作为swap space,那什么是swapfile,它和传统的swap partition有什么区别呢?为什么以及如何使用swapfile?在使用时哪些限制呢?我们一一来介绍一下。安装过系统的同学都知道,在安装过程中有一步是设置SWAP分区,它是从hard disk中分出的一块,大小一般要大于phys...

2020-01-13 18:57:47 501

原创 system suspend/resume过程中的异步操作pm_async

在使用sleepgraph分析并优化suspend/resume flow一节https://blog.csdn.net/dachai/article/details/103785380,我们看到,把scsi_scan_type从”sync”改成”async”之后,resume latency大大降低,能够有效提升suspend/resume效率。其实,除了这个,还有一个global的pm_a...

2020-01-07 09:18:06 2078

原创 使用sleepgraph工具分析并优化suspend/resume流程

sleepgraph是pm-graph工具中的一个,pm-gragph(https://01.org/zh/pm-graph?langredirect=1)提供了bootgraph和sleepgraph,帮助OS developer分析boot和suspend/resume过程,找到影响系统启动或休眠效率的瓶颈。我们今天来介绍一下sleepgraph工具。sleepgraph会发起一个susp...

2019-12-31 17:41:42 1708 1

原创 x86上 /proc/cpuinfo中的cpufreq和scaling_cur_freq怎么算

前天我正在看代码的时候,一个同事跑过来问我,“/proc/cpuinfo中的CPU频率是怎么来的,我在跑performance测试的时候,通过/proc/cpuinfo 查看CPU频率只有1.2G,但是我的CPU最高频率可以到2.7G。”我让他去把cpufreq governor设置成performance之后,再去执行performance测试。虽然他在做出修改之后,performanc...

2019-12-10 20:44:33 4844

原创 acpi debug in Linux kernel

本文介绍如何使用acpi debug output输出debug info,并使用debug_layer和debug_level来聚焦指定模块、指定类型的输出信息。

2019-06-11 21:30:41 2694

原创 ACPI AML debug and override ACPI tables using initrd

本文介绍ACPICA debugger tools,acpidbg和acpidump、acpiexec等;并演示如何使用这些工具,配合initrd,在不重新加载firmware的情况下,修改ACPI table。一、ACPICA debugger acpidbgacpidbg是一个runtime调试AML code的工具,不过Linux kernel 4.13中才引入。1.1 how to ...

2019-06-10 21:30:20 2484

原创 cpuidle framework in Linux Kernel(2)what's idle state

processor中可能有多种不同的idle级别,对应着不同的power consumption和exit latency,可以在不同的场景下使用。本文从ACPI spec中的processor low power state和Linux kernel中idle state的实现两个方面来阐述cpuidle state。一、cpuidle state in ACPI specC0full...

2019-05-17 09:15:46 709

原创 processor core不停地进出C4 idle state问题的解决

processor core不停地进出C4 idle state问题的解决问题背景描述package中有4个core,在core0/2/3上执行dead loop程序,控制它们不会idle,core1上不做任何操作。这样core1发现没有事情做的时候,就会进入到idle state,但是由于package 中的其他core一直busy,因此,core1只会进入到core-level idle ...

2019-05-06 10:56:53 1489

原创 Debian 9 开机自动运行脚本

问题背景:想要在debian9系统中,自动执行系统reboot测试。最简单的方式是把reboot测试脚本添加到/etc/rc.local中(exit 0)之前Debian9 默认没有/etc/rc.local文件,但是可以通过systemd恢复。首先,我们需要修改rc.local.service文件#vim  /lib/systemd/system/rc-local.service加...

2018-12-11 15:34:20 15276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除