我正在运行一个 Xenomai 实时线程,有时需要调用 gettimeofday(),以便根据 ptpd 找出当前时间。
但是,这样做似乎是不安全的:特别是,它偶尔会使 Xenomai 线程和 Linux 内核进入“活锁”情况,导致 gettimeofday() 旋转 CPU 并且永远不会返回,如此处所述。
我的问题是,有没有一种安全的方法可以从 Xenomai 实时线程中获取 gettimeofday() 的信息?我正在考虑将我自己的 gettimeofday() 版本添加到我的 Linux 内核中(如果 read_seqretry() 返回 true,我的版本将失败,与发生这种情况时将永远循环的常规版本不同)。但是,如果有更好的方法,我不会立即开始定制 Linux 内核。