Linux 内核时钟架构之时钟源设备再论read

 
对于时钟源设备来说,其最为重要的是在时钟源设备定义中实现一个read函数,此函数用于
读取计数值。

static cycle_t jiffies_read(struct clocksource *cs) {  return (cycle_t) jiffies; }

 

static struct clocksource clocksource_jiffies = {  .name  = "jiffies",  .rating  = 1, /* lowest valid rating*/  .read  = jiffies_read,  .mask  = CLOCKSOURCE_MASK(32),  .mult  = NSEC_PER_JIFFY << JIFFIES_SHIFT, /* details above */  .shift  = JIFFIES_SHIFT,  .max_cycles = 10, };

 
/*
 * .mask MUST be CLOCKSOURCE_MASK(64). See comment above read_tsc()
 */
static struct clocksource clocksource_tsc = {
 .name                   = "tsc",
 .rating                 = 300,
 .read                   = read_tsc,
 .mask                   = CLOCKSOURCE_MASK(64),
 .flags                  = CLOCK_SOURCE_IS_CONTINUOUS |
      CLOCK_SOURCE_MUST_VERIFY,
 .archdata               = { .vclock_mode = VCLOCK_TSC },
};
static cycle_t read_tsc(struct clocksource *cs)
{
 return (cycle_t)rdtsc_ordered();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值