我是靠谱客的博主 冷艳服饰,最近开发中收集的这篇文章主要介绍linux 后台clocksource_watchdog 线程的启动条件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 如果启动参数没有设置tsc=reliable,系统认为tsc时钟源需要检查后能被使用
    2.检查的方法是启动clocksource_watchdog

加入时钟源的时候,如果tsc时钟源不是reliable,则会在执行list_add(&cs->wd_list, &watchdog_list);,即将时钟源加入watchdog_list链表。
而启动watchdog的条件在函数clocksource_start_watchdog中
if (watchdog_running || !watchdog || list_empty(&watchdog_list))
即判断watchdog_list是否为空。

因此如果tsc不是reliable,则会启动clocksource_watchdog后台,是reliable则不会启动。

static void clocksource_enqueue_watchdog(struct clocksource *cs)
{
unsigned long flags;
spin_lock_irqsave(&watchdog_lock, flags);
if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
/* cs is a clocksource to be watched. */
list_add(&cs->wd_list, &watchdog_list);
cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
} else {
/* cs is a watchdog. */
if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
}
spin_unlock_irqrestore(&watchdog_lock, flags);
}

最后

以上就是冷艳服饰为你收集整理的linux 后台clocksource_watchdog 线程的启动条件的全部内容,希望文章能够帮你解决linux 后台clocksource_watchdog 线程的启动条件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部