【发布时间】:2014-11-24 16:31:15
【问题描述】:
我需要在我的 x86 平台上使用 linux 中的上下文切换,类似于 ucontext.h,
但不幸的是 ucontext 使用内核调用来做到这一点。 在我的 Xenomai 环境中,任何内核函数调用都会将系统变为辅助模式(linux 调度)
那么如何在 x86 平台上通过存储 FPU 寄存器来切换上下文而不离开用户空间?
【问题讨论】:
-
你从哪里得到
ucotext.h?这个ucotext.h做了什么?你的问题需要更清楚。 -
对不起。我的意思是 ucontext.h。这是标准的 glibc 函数
-
ucontext不使用内核调用来切换上下文。确实它会进行内核调用,但这只是为了更新信号掩码(应该具有可预测的性能并且肯定不会阻塞)。如果即使这会影响 Xenomai 并且您仍然更喜欢ucontext而不是替代方案,我认为您可以从 glibc 中复制代码并删除信号掩码的更新。