gpt4 book ai didi

linux - 有没有安全的方法从 Xenomai 实时线程调用 gettimeofday()?

转载 作者:太空狗 更新时间:2023-10-29 12:07:16 43 4
gpt4 key购买 nike

我正在运行一个有时需要调用 gettimeofday() 的 Xenomai 实时线程,以便根据 ptpd 找出当前时间。

但是,这样做似乎不安全:特别是,它偶尔会使 Xenomai 线程和 Linux 内核进入“活锁”状态,导致 gettimeofday() 旋转 CPU 并且永远不会返回,如所述here .

我的问题是,是否有安全的方法从 Xenomai 实时线程获取 gettimeofday() 的信息?我正在考虑将我自己的 gettimeofday() 版本添加到我的 Linux 内核(如果 read_seqretry() 返回 true,我的版本将失败,这与 regular version 不同,它会在发生这种情况时永远循环)。但是,如果有更好的方法,我不会尽快开始定制 Linux 内核。

最佳答案

2012 年 10 月更新
对于绊倒这个线程的任何其他人......

检查 Xenomai API:
http://www.xenomai.org/documentation/trunk/html/api/group__clock.html

这是为您准备的代码片段,已使用 Xenomai 2.6 进行测试:

// Get system time in nanoseconds (real-time safe)
// Time is usually related to GMT, because Xenomai syncs time during
// bootup, so you might get a different time offset to gettimeofday()
// which is based on your current timezone.
double time = (double)rt_timer_read();
time /= 1000000000; // convert to seconds

关于linux - 有没有安全的方法从 Xenomai 实时线程调用 gettimeofday()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6604910/

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