XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
libxtos-rtxtos_rt_apply

xtos_rt_apply

为当前线程设置 Linux 调度策略,并在 config.cpu 不是 XTOS_RT_NO_CPU 时设置单 CPU 亲和性。

本页目录

声明

c
#include <xtos/rt.h>

int xtos_rt_apply(const struct xtos_rt_config *config);

参数

参数类型说明
configconst struct xtos_rt_config *非 NULL;由调用方拥有,字段为 policy、priority 和 cpu。cpu=-1 仅表示 apply 跳过亲和性。

返回值

成功返回 0;失败返回 -1。先设置调度,再设置亲和性。

错误

errno条件
EINVALconfig 为 NULL、调度参数无效、或 cpu 不是 -1 且超出 CPU_SETSIZE。
EPERM当前线程没有请求调度策略所需权限,或系统策略拒绝变更。
system errno底层 sched_setscheduler 或 sched_setaffinity 失败时保留其 errno。

注意事项

  • config 只在调用期间读取,SDK 不保存指针;函数操作调用线程,不会配置其他线程。
  • 如果亲和性步骤失败,已经成功的调度变更不会自动回滚。函数本身不分配堆内存。

示例

源码

本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。