Yocto Mickldore Group RT 调度与使用 FIFO 策略创建的 pthread 相关的问题

问题描述 投票:0回答:1

我目前正在使用

6.1-mickledore (mickledore)
构建 yocto 图像。

当我运行应用程序时,由于一些

pthread_create
代码,它会提前退出。看起来当我注释掉将策略设置为 FIFO 时,程序运行良好。经过一番互联网搜索后,我发现这是因为组 rt 调度。如果我使用此链接
此处
中描述的命令sysctl -w kernel.sched_rt_runtime_us=-1

禁用组RT调度,则该程序能够运行

虽然我在运行时有一个解决方案,但我不太明白如何重新配置 yocto 以默认禁用它。有谁知道如何在 bitbake 食谱中禁用此组 rt 调度?

yocto scheduler bitbake yocto-recipe
1个回答
0
投票

这个问题的解决办法可以在这里找到:

向 Yocto 生成的自定义 Linux 映像添加新的内核参数

基本上运行

sysctl -w kernel.sched_rt_runtime_us=-1
集是
/proc/sys/kernel/sched_rt_runtime_us

可以通过在

/etc/sysctl.conf
中附加默认值来默认此值。例如
kernel.sched_rt_runtime_us = -1

要在 yocto 中进行配置,我们可以在图层中扩展的菜谱中创建

procps
文件夹、
procps_%.bbappend
systctl.conf
,例如

meta-my-layer/recipes-extended/
└── procps
    ├── files
    │   └── sysctl.conf
    └── procps_%.bbappend

procps_%.bbappend:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

© www.soinside.com 2019 - 2024. All rights reserved.