gpt4 book ai didi

c - hrtimers 和 clockid_t 问题

转载 作者:行者123 更新时间:2023-12-03 20:27:09 27 4
gpt4 key购买 nike

我正在开发一个新的 Linux 调度程序,我需要 hrtimers。我阅读了如何实现它们,在: http://lwn.net/Articles/167897/

我做了一个小程序,在使用之前测试这些定时器,但我遇到了一些问题。

那个小程序是这样的:

#include "linux/ktime.h"
#include "linux/hrtimer.h"
#include "linux/timer.h"
#include "linux/tick.h"

static void funcion_timers(unsigned long data) {

printk(" HOLA HA SALTADO EL TIMER y el dato es %lu \n", data);

}

int main () {

ktime_t kt;
int i;
struct hrtimer my_timer;
clockid_t reloj;
enum hrtimer_mode mode;
kt = ktime_set(0, 5000000);
reloj=CLOCK_MONOTONIC;
mode=HRTIMER_REL;

printk("EMPIEZA EL PROGRAMA");

hrtimer_init(&my_timer, reloj);

my_timer.function=&funcion_timers;
my_timer.data=3;

hrtimer_start(&my_timer, kt, mode);

for (i=0; i<10000; i++) { } //A kind of waste of time cause I had problem with sleep into the kernel
}

当我编译时,我被告知(我不是从 shell 复制,因为它是西类牙语 xD):

  • HRTIMER_REL 未声明
  • hrtimer_init 需要更多参数
  • my_timer.function=&funcion_timers; 中我有一个不兼容的指针类型 :S
  • struct hrtimer 没有名为 data 的成员

为什么 hrtimer_init 需要参数?我认为它被定义为:

*void hrtimer_init(struct hrtimer *timer, clockid_t which_clock);*

综上所述,我想我可能没有理解clockid_t是如何工作的;它是如何工作的?我在 Internet 上找不到太多关于它的信息。

非常感谢,:D阿尔贝托

最佳答案

int main()?您是否尝试从用户空间调用内核函数?

关于c - hrtimers 和 clockid_t 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8520818/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com