专栏中心

EEPW首页 > 专栏 > linux-kernel调试技术大全上海索漫培训教材

linux-kernel调试技术大全上海索漫培训教材

发布人:xiajiashan 时间:2012-08-29 来源:工程师 发布文章
作者:下家山(请尊重原创,转载请注明) http://www.xiajiashan.com 八:SCHEDSTATS调度器调试技术 8.1 作用与意义 这个配置选项在《linux设备驱动程序第三版》中并没有介绍,但是linux2.6.10有该项。 如果该选项打开,则在/proc/下会生成schedstat文件,否则不会生成。这一选项对于分析CPU性能,内核调度策略是非常重要的,但对于我们调试驱动或BSP作用似乎不大。八:SCHEDSTATS调度器调试技术 8.1 作用与意义 这个配置选项在《linux设备驱动程序第三版》中并没有介绍,但是linux2.6.10有该项。 如果该选项打开,则在/proc/下会生成schedstat文件,否则不会生成。这一选项对于分析CPU性能,内核调度策略是非常重要的,但对于我们调试驱动或BSP作用似八:SCHEDSTATS调度器调试技术 8.1 作用与意义

这个配置选项在《linux设备驱动程序第三版》中并没有介绍,但是linux2.6.10有该项。

如果该选项打开,则在/proc/下会生成schedstat文件,否则不会生成。

这一选项对于分析CPU性能,内核调度策略是非常重要的,但对于我们调试驱动或BSP作用似乎不大。

1.jpg
 

 

Timestamp表示系统启动到现在所运行的时间;

第三行中,cpu0表示此系统只有一个cpu 并且编号为0,如果有三个CPU,则将会按如下方式列出:

Cpu0 ….Cpu1…..Cpu2…..那么cpu0后面的一串数字表示什么意思呢?第一个四个数字表示sched_yield()状态;接下来的三个数字表示schedule()状态;再接下来的两个数字表示try_to_wake_up()状态;最后的三个数字描述调度的反应时间;

8.2.1 什么是sched_yield()

Sched_yield()是一个内核API,当此函数被调用,cpu执行权从当前正在执行的线程切换到另一个(就绪并等待运行的)活动线程(优先级等于或高于当前线程)。

如果,没有优先级等于或高于当前执行线程的活动并且就绪的线程,那么Sched_yield()将立即返回,当前线程继续运行直到时间片到期。

下面再来解析这四个数字:

1#:表示活动和过期队列为空的次数; 2#:表示活动队列为空的次数;

3#:表示过期队列为空的次数;4#:表示Sched_yield()被调用的次数;

实验中:第一组数字为0 0 0 0;(Sched_yield()一次都没有被调用)。

疑问:Sched_yield()什么情况下被调用???

=======================================================================================

By 下家山 QQ 1209050967 上海松江文汇路928号258室 松江大学城 8/3/2012

上海索漫科技 http://www.xiajiashan.com 专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训

8.2.2什么是schedule()

schedule()也是一个内核API函数,通过这个函数对进程调度。

下面解释第二组数据的具体意思:

5#:至少有一个进程呆在活动队列的次数;

6#:schedule()被调用的次数;

7#:schedule()让CPU空闲的次数;

第二组数据分别为:3,5425,2358

8.2.3什么是try_to_wake_up()

try_to_wake_up()也是一个内核API函数,此函数通过把进程状态设置为TASK_RUNNING,并调用activate_task将此进程插入本地CPU的运行队列,从而唤醒睡眠或停止的进程。

下面解释第三组数据的具体意思:

8#:try_to_wake_up()被调用的次数;

9#:try_to_wake_up()发现进程是觉醒的次数;

第三组数据分别为:0,0

8.2.4什么是“scheduling latency”(调度反应时间)

最后一组数字是对“scheduling latency”(调度反应时间)的描述,Scheduling Latency的意思有点不好理解4.jpg

(摘自:Clark Williams写的《Linux Scheduler Laterncy》)

主要是指调度—到响应的时间,这种调度是指一种刺激信号(如一个中断或一个事件发生),而这里的响应是指内核通过这种刺激信号得到一个机会来调度线程(正在等待唤醒)。

下面解释最后一组数据的具体意思:

10#:被任务消耗在运行上的时间总和(单位ms);

11#:被任务消耗在等待运行上的时间总和(单位ms);

12#: cpu执行到的任务总数;

最后一组数据分别为:848,1970,3067

写于上海松江

作者:下家山(请尊重原创, 转载请注明) http://www.xiajiashan.com,有什么问题可与我联系:ximenpiaoxue4016@sina.com

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

为中国市场度身定制的RF 收发器 – CC1100E

视频 2010-03-18

硅基氮化镓(GaN-on-Si)HEMT 在 5G 毫米波频段的优势

低噪声 μModule DC/DC 转换器简化了 EMI 设计

视频 2010-03-23

基于神经网络PID算法的研究与设计

英飞凌推出集成式半桥解决方案CoolGaN Drive HB 600 V G5

模糊PID参数自整定技术及其在中央空调系统中的应用

ASML 计划进军封装领域

EDA/PCB 2026-03-04

6 GHz频段无线电解决方案:16 nm收发器系列

基于内模原理的烘丝机PID控制器设计

业界最高功率的 D 类放大器 - TAS5630/1

视频 2010-03-18

模糊PID在电阻炉温度控制系统中的应用

HBM竞赛白热化!SK海力士探索封装新方案 或满足英伟达峰值性能目标

EDA/PCB 2026-03-04

安森美工业图像传感器供电方案教程:图像传感器选型

内存价格迈入小时级波动,中小厂商争抢剩余货源艰难求生

网络与存储 2026-03-04

时钟解决方案 CDCM6100x

视频 2010-03-18

分销商整合 RS集团收购BPX集团

国际视野 2026-03-04

模拟器件 - 时 钟: EMI 降低

视频 2010-03-18

如何在SEPIC转换器中构建耦合电感模型

基于系统辨识的PID参数自整定算法在合成氨装置中的应用

使用单芯片 8 x 8 级联收发器实现 4D 雷达成像

更多 培训课堂
更多 焦点
更多 视频

技术专区