首页 > 系统相关 >Linux 内核时钟架构之时钟事件设备与tick_device

Linux 内核时钟架构之时钟事件设备与tick_device

时间:2023-06-01 10:32:30浏览次数:40  
标签:设备 clock cpu Linux device tick event 时钟


每个CPU定义了一个tick_device,其用于对本cpu使用的时钟事件设备跟踪。也就是说,tick_device是有的,但是这里面


有没有clock_event_device我们并不清楚,但是内核在启动时候,如果注册clock_event_device设备,那么内核尝试


用时钟事件设备与tick_device设备绑定。这样,两则就关联起来了。


以后每次使用时候,都是先找到本cpu的tick_device设备,然后再找到clock_event_device设备。


struct tick_device {
 struct clock_event_device *evtdev;
 enum tick_device_mode mode;
};


每个cpu的tick_device都有模式的,模式如下:


enum tick_device_mode {
 TICKDEV_MODE_PERIODIC,
 TICKDEV_MODE_ONESHOT,
};


即周期性还是非周期性。


 


每个CPU的tick device定义

/*
 * Tick devices
 */
DEFINE_PER_CPU(struct tick_device, tick_cpu_device);

 


 


 

标签:设备,clock,cpu,Linux,device,tick,event,时钟
From: https://blog.51cto.com/u_11860992/6392729

相关文章

  • Linux 内核时钟架构之时钟事件设备注册
    voidclockevents_register_device(structclock_event_device*dev);voidclockevents_config_and_register(structclock_event_device*dev,u32freq,unsignedlongmin_delta,unsignedlongmax_delta);相关的一个是配置函数voidclocke......
  • Linux 内核时钟之timer初始化
    init_timersvoid__initinit_timers(void){init_timer_cpus();init_timer_stats();open_softirq(TIMER_SOFTIRQ,run_timer_softirq);}staticvoid__initinit_timer_cpu(intcpu){structtimer_base*base;inti;for(i=0;i<NR_BASES;i+......
  • Linux 添加redis守护进程
    1、编写启动服务文件 /lib/systemd/system/redis.service[Unit]Description=Theredis-serverProcessManagerDocumentation=https://redis.io/After=network.target[Service]Type=forking#根据自己的redis路径启动和停止ExecStart=/usr/local/redis/bin/redis-server/usr/l......
  • 走进Linux编程的大门
    随着Linux的不断普及,使用Linux的人也越来越多了。然而在Linux中如何进行程序设计,用什么样的开发工具好呢?本文就以我初学Linux编程的一点心得体会,和大家共同探讨。在Linux中进行程序设计,可以使用各种编程语言和开发工具,以下是一些常用的方法:1、C/C++编程C/C++是Linux系统中......
  • Linux系统下C语言的编程技巧
    Linux系统能够为人们提供更加安全实用的效果,保证计算机系统能够稳定的运行。利用Linux系统下首先要进行C语言的编程,掌握编程的技巧能够更好的发挥计算机的作用。如何掌握Linux系统下计算机C语言的编程技巧是计算机发展的关键要素。本文对Linux系统下计算机C语言的编程技巧进行相......
  • 一分钟学一个 Linux 命令 - pwd
    前言大家好,我是god23bin。欢迎大家继续围观《一分钟学一个Linux命令》,每天只需一分钟,记住一个Linux命令不成问题。本篇文章将聚焦于pwd命令,一个超级简单又常用的命令。在接下来的内容中,我将快速介绍pwd命令的使用方法,希望能够帮助大家更好地理解和应用。什么是pwd命......
  • linux crypt()函数使用总结
    linuxcrypt()函数使用总结 原型:char*crypt(constchar*key,constchar*salt);标准说明:crypt()算法会接受一个最长可达8字符的密钥(即key),并施以数据加密算法(DES)的一种变体。salt参数指向一个两个字符的字符串,用来改变DES算法。该函数返回一个指针,指向长度13个字符......
  • linux - passwd结构体
     #include<stdio.h>#include<pwd.h>#include<unistd.h>#include<sys/types.h>intmain(){structpasswd*tmp=NULL;tmp=getpwuid(geteuid());printf("username:%s\n",tmp->pw_name);printf("userp......
  • Linux环境下耗尽cpu占用率的指令
     模拟cpu打满foriin`seq1$(cat/proc/cpuinfo|grep"physicalid"|wc-l)`doddif=/dev/zeroof=/dev/null&done 模拟内存打满生产大文件ddif=/dev/zeroof=testbs=1Mcount=2000然后vi打开 vimtest&这种也可以。使用top命令查看linux系统cpu使用情况:#......
  • 微软正在研究使 Linux 脚本更安全
    导读据悉,微软正在研究使 Linux 脚本更安全微软正在研究使Linux 脚本更安全在本周的Linux安全峰会上,systemd的创建者LennartPoettering发表了演讲,他在过去的一年中被微软雇佣,他和微软的其它工程师们正在努力提高Linux的安全性。微软的工程师发表的演讲介绍了......