LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

06 2017 档案

Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)
摘要:在前面章节的讨论中,我们一直基于一个假设:Linux中的时钟事件都是由一个周期时钟提供,不管系统中的clock_event_device是工作于周期触发模式,还是工作于单触发模式,也不管定时器系统是工作于低分辨率模式,还是高精度模式,内核都竭尽所能,用不同的方式提供周期时钟,以产生定期的tick事件 阅读全文

posted @ 2017-06-25 22:20 ArnoldLu 阅读(1875) 评论(0) 推荐(0) 编辑

Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()
摘要:我们已经在前面几章介绍了低分辨率定时器和高精度定时器的实现原理,内核为了方便其它子系统,在时间子系统中提供了一些用于延时或调度的API,例如msleep,hrtimer_nanosleep等等,这些API基于低分辨率定时器或高精度定时器来实现,本章的内容就是讨论这些方便、好用的API是如何利用定时器 阅读全文

posted @ 2017-06-25 22:19 ArnoldLu 阅读(1539) 评论(0) 推荐(0) 编辑

Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
摘要:专题文档汇总目录 Notes: 原文地址:Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现 上一篇文章,我介绍了传统的低分辨率定时器的实现原理。而随着内核的不断演进,大牛们已经对这种低分辨率定时器的精度不再满足,而且,硬件也在不断地发展,系统中的定时器硬件的精度也越来越高,这也给 阅读全文

posted @ 2017-06-25 22:18 ArnoldLu 阅读(5297) 评论(1) 推荐(0) 编辑

Linux时间子系统之四:定时器的引擎:clock_event_device
摘要:早期的内核版本中,进程的调度基于一个称之为tick的时钟滴答,通常使用时钟中断来定时地产生tick信号,每次tick定时中断都会进行进程的统计和调度,并对tick进行计数,记录在一个jiffies变量中,定时器的设计也是基于jiffies。这时候的内核代码中,几乎所有关于时钟的操作都是在machin 阅读全文

posted @ 2017-06-25 22:17 ArnoldLu 阅读(1613) 评论(0) 推荐(0) 编辑

Linux时间子系统之五:低分辨率定时器的原理和实现
摘要:专题文档汇总目录 Notes:低精度timer在内核中的数据结构以及API接口;低精度timer精巧高效的分组,使用cascade进行定时器移位,组内Timer FIFO;低精度Timer的初始化流程。 原文地址:Linux时间子系统之五:低分辨率定时器的原理和实现 利用定时器,我们可以设定在未来的 阅读全文

posted @ 2017-06-25 22:17 ArnoldLu 阅读(2188) 评论(0) 推荐(1) 编辑

Linux时间子系统之三:时间的维护者:timekeeper
摘要:专题文档汇总目录 Notes: 原文地址:Linux时间子系统之三:时间的维护者:timekeeper 本系列文章的前两节讨论了用于计时的时钟源:clocksource,以及内核内部时间的一些表示方法,但是对于真实的用户来说,我们感知的是真实世界的真实时间,也就是所谓的墙上时间,clocksourc 阅读全文

posted @ 2017-06-25 22:16 ArnoldLu 阅读(3022) 评论(0) 推荐(0) 编辑

Linux时间子系统之二:表示时间的单位和结构
摘要:人们习惯用于表示时间的方法是:年、月、日、时、分、秒、毫秒、星期等等,但是在内核中,为了软件逻辑和代码的方便性,它使用了一些不同的时间表示方法,并为这些表示方法定义了相应的变量和数据结构,本节的内容就是阐述这些表示方法的意义和区别。 /******************************** 阅读全文

posted @ 2017-06-25 22:15 ArnoldLu 阅读(1799) 评论(0) 推荐(0) 编辑

Linux时间子系统之一:clock source(时钟源)
摘要:clock source用于为Linux内核提供一个时间基线,如果你用linux的date命令获取当前时间,内核会读取当前的clock source,转换并返回合适的时间单位给用户空间。在硬件层,它通常实现为一个由固定时钟频率驱动的计数器,计数器只能单调地增加,直到溢出为止。时钟源是内核计时的基础, 阅读全文

posted @ 2017-06-25 22:13 ArnoldLu 阅读(3301) 评论(0) 推荐(1) 编辑

Linux时间子系统之(十六):clockevent
摘要:专题文档汇总目录 Notes:介绍struct clocke_event_device及其功能feature、模式;触发event接口clockevents_program_event;clockevent注册接口;clockevent的sysfs接口。 原文地址:Linux时间子系统之(十六):c 阅读全文

posted @ 2017-06-25 22:11 ArnoldLu 阅读(2756) 评论(0) 推荐(0) 编辑

Linux时间子系统之(十七):ARM generic timer驱动代码分析
摘要:专题文档汇总目录 Notes:ARM平台Clock/Timer架构;System counter、Timer以及两者之间关系;Per cpu timer通过CP15访问,System counter通过memory mapped IO访问;将System counter和Per cpu timer分 阅读全文

posted @ 2017-06-25 22:11 ArnoldLu 阅读(9682) 评论(0) 推荐(0) 编辑

Linux时间子系统之(十四):tick broadcast framework
摘要:专题文档汇总目录 Notes:BroadcastTick作为cpuidle的waker,硬件基础。BroadcastTick嵌入在当前系统Tick框架中。BroadcastTick设备初始化;周期性Tick和OneShot两种模式下BroadcastTick的工作。 原文地址:Linux时间子系统之 阅读全文

posted @ 2017-06-25 22:09 ArnoldLu 阅读(1610) 评论(0) 推荐(0) 编辑

Linux时间子系统之(十五):clocksource
摘要:专题文档汇总目录 Notes:clocksource基本概念,struct clocksource详解;注册和注销clocksource;内核如何选取clocksource;clocksource相关sysfs;cyclecounter和timercounter。 原文地址:Linux时间子系统之( 阅读全文

posted @ 2017-06-25 22:09 ArnoldLu 阅读(1822) 评论(0) 推荐(0) 编辑

Linux时间子系统之(十三):Tick Device layer综述
摘要:专题文档汇总目录 Notes:从概念层次描述了tick-comm、oneshot tick、broadcast tick;重点介绍了tick和tickless概念及其区别,两种tick device:periodic tick和oneshot tick;周期性时钟是如何运作的;高精度情况下,dyna 阅读全文

posted @ 2017-06-25 22:06 ArnoldLu 阅读(2502) 评论(0) 推荐(0) 编辑

Linux时间子系统之(十二):periodic tick
摘要:专题文档汇总目录 Notes:TickDevice模式,以及clocckevent设备。TickDevice设备的初始化,TickDevice是如何加入到系统中的。周期性Tick的产生。 原文地址:Linux时间子系统之(十二):periodic tick 一、tick device概念介绍 1、数 阅读全文

posted @ 2017-06-25 22:05 ArnoldLu 阅读(2452) 评论(0) 推荐(0) 编辑

Linux时间子系统之(六):POSIX timer
摘要:专题文档汇总目录 Notes:首先讲解了POSIX timer的标识(唯一识别)、POSIX Timer的组织(管理POSIX Timer)、内核中如何抽象POSIX Timer;然后分析了POSIX timer相关系统调用(timer_create/timer_gettime/timer_geto 阅读全文

posted @ 2017-06-25 22:04 ArnoldLu 阅读(7189) 评论(0) 推荐(0) 编辑

Linux时间子系统之(五):POSIX Clock
摘要:专题文档汇总目录 Notes: 本章主要介绍了若干种类的静态时钟,这些时钟都可以通过k_clock表示,注册到posix_clocks中。这些都是静态时钟,可以分为三大类:各种REALTIME时钟、带_ALARM唤醒功能的时钟以及进程线程相关时钟。当然不是所有的时钟都具备定时器功能,但是所有的时钟都 阅读全文

posted @ 2017-06-25 22:03 ArnoldLu 阅读(3582) 评论(0) 推荐(0) 编辑

Linux时间子系统之(三):用户空间接口函数
摘要:专题文档汇总目录 Notes:用户空间时间相关接口函数: time stime time_t 精度为秒级 逐渐要被淘汰。需要定义__ARCH_WANT_SYS_TIME才能支持。 设定时间的进程需具备CAP_SYS_TIME权限。 gettimerofday settimeofday timeval 阅读全文

posted @ 2017-06-25 22:02 ArnoldLu 阅读(6995) 评论(0) 推荐(0) 编辑

Linux时间子系统之(四):timekeeping
摘要:专题文档汇总目录 Notes:timekeeping模块的狠心数据结构是timekeeper,它维护了系统不同类型时钟的时间值,并且介绍了获取不同类型时钟时间的函数。 clocksource切换通过clocksource_notify通知到timekeeper。最后介绍了timekeeper电源管理 阅读全文

posted @ 2017-06-25 22:02 ArnoldLu 阅读(3586) 评论(0) 推荐(1) 编辑

Linux时间子系统之(二):软件架构
摘要:专题文档汇总目录 Notes:从框架上讲解了时间子系统,从底向上包括CPU Local TImer、Global Counter、Clock Souce/Clock Events模块管理、Tick Device、高精度timer、低精度timer、Broadcast timer、Timekeepin 阅读全文

posted @ 2017-06-25 22:01 ArnoldLu 阅读(5439) 评论(0) 推荐(0) 编辑

Linux时间子系统之(一):时间的基本概念
摘要:专题文档汇总目录 Notes:Linux时间基准点;Linux时间和broken-down time(struct tm);不同精度的时间表示time_t、timeval、timespec。 原文地址:Linux时间子系统之(一):时间的基本概念 本文使用Q & A的方式来和大家以前探讨一下时间的基 阅读全文

posted @ 2017-06-25 22:00 ArnoldLu 阅读(3880) 评论(1) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示