首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何提高1ms定时器在Linux中的实时性能?

如何提高1ms定时器在Linux中的实时性能?
EN

Stack Overflow用户
提问于 2012-12-05 10:59:03
回答 2查看 2.1K关注 0票数 5

我正在开发一个嵌入式Linux项目,使用的是版本3.3左右的arago发行版。

我已经配置了一个高分辨率Linux计时器,每毫秒唤醒我的进程一次。这是可行的,但时间上有两个问题:

  1. 醒来时的抖动
  2. 清醒时加工时间的可变性,尽管过程所做的处理是恒定的。

我将这些问题归因于Linux的实时性不足。但我需要研究提高实时性能的方法。

我已经检查了内核是否配置了CONFIG_PREEMPT内核选项,这对实时性很好。

我还将SCHED_FIFO调度类应用于我的流程:

代码语言:javascript
运行
复制
struct sched_param schedparm;
memset(&schedparm, 0, sizeof(schedparm));
schedparm.sched_priority = 1; // lowest rt priority
sched_setscheduler(0, SCHED_FIFO, &schedparm);

但这没什么区别。

我猜想一个合乎逻辑的步骤是将PREEMPT_RT修补程序应用于内核构建,但我还没有确定如何做到这一点。

我还能做些什么来改善抖动/持续时间的变化吗?

或者,有人能建议一个关于如何应用PREEMPT_RT补丁的可访问教程吗?

EN

回答 2

Stack Overflow用户

发布于 2012-12-05 12:11:30

PREEMPT_RT似乎是合乎逻辑的下一步。你试过这个教程了吗?

HOWTO

更新:我建议您看看其他人如何构建抢占型内核,例如:https://aur.archlinux.org/packages/linux-rt/

您可以阅读PKGBUILD来了解所做的事情。

票数 1
EN

Stack Overflow用户

发布于 2013-04-26 16:33:23

如果您使用Debian测试(或者LMDE ),那么它们在x86和amd64体系结构的repo中有一个预编译的amd64内核。

代码语言:javascript
运行
复制
apt-get install linux-image-rt-686-pae

代码语言:javascript
运行
复制
apt-get install linux-image-rt-amd64
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13721701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档