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

xtos_rt_set_affinity

将当前线程的 CPU 亲和性掩码设置为一个逻辑 CPU。

本页目录

声明

c
#include <xtos/rt.h>

int xtos_rt_set_affinity(int cpu);

参数

参数类型说明
cpuint逻辑 CPU 编号,必须为 0 到 CPU_SETSIZE-1;不能传 XTOS_RT_NO_CPU。

返回值

成功返回 0;失败返回 -1。

错误

errno条件
EINVALcpu 小于 0 或不小于 CPU_SETSIZE,或内核拒绝该 CPU 集合。
EPERM当前线程无权修改其亲和性或目标 CPU 集合。
system errnosched_setaffinity 失败时返回底层 errno。

注意事项

  • CPU 是系统逻辑编号,不是允许 CPU 列表中的索引;CPU 是否在线和是否在 cpuset 中由内核判断。
  • 函数不分配内存,不保存调用方数据;它只影响调用线程。

示例

源码

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