首页 > TAG信息列表 > ClockSource

GPT定时器定时

今天要说的是这个GPT定时器,由于比较特殊,先简单介绍一下。首先,它是个32位计数器,递增计数。可以对时钟源进行分频,范围是1~4096。支持2路输入捕获,支持3路比较输出。运行有两种模式。重启模式和自由运行模式(关键)。重启模式就是普通的到达匹配值时,计数器重置。自由运行模式在达到匹

riscv_clocksource

    static unsigned long long riscv_clocksource_rdtime(struct clocksource *cs) { return get_cycles64(); } clocksource clocksource 提供了对不同软硬件时钟的抽象。可以理解为时间源,为 kernel 提供当前时间。 struct clocksource { cycle_t (*read)(stru

我就获取个时间,机器就down了

1. 背景 linux 时间管理,包含clocksource,clockevent,timer,tick,timekeeper等等概念 ,这些概念有机地组成了完整的时间代码体系。当然,是代码就会有bug,本文通过一个bug入手,在实战中加深对理论的认识。获取时间,但是crash了。 2. 故障现象 OPPO云内核团队接到连通性告警报障,发现机器

linux kernel 时钟系统的前世今生

趁工作不忙想把最近工作中研究到的kernel的时钟系统 软中断 定时器 tasklet 工作队列实现机制总结下,首先说明,这些原理实现对编写driver不会有多大帮助,但是明白理解这些kernel机制的实现原理,对于我们从系统角度去思考解决问题,会有很大帮助。 上篇博文《一个奇葩bug的解决》就印证