36.7. sched_attr 结构


sched_attr 结构包含或定义指定线程的调度策略及其关联的属性。sched_attr 结构的格式如下:

struct sched_attr {
  u32 size;
  u32 sched_policy;
  u64 sched_flags;
  s32 sched_nice;
  u32 sched_priority;

  /* SCHED_DEADLINE fields */
  u64 sched_runtime;
  u64 sched_deadline;
  u64 sched_period;
};
Copy to Clipboard Toggle word wrap

sched_attr 数据结构

size

线程大小(以字节为单位)。如果结构的大小小于内核结构,则假定其他字段为 0。如果大小大于内核结构,内核会将所有其他字段验证为 0。

注意

sched_attr 结构大于内核结构大小时,sched_setattr () 函数会失败,并带有 E2BIG 错误。

sched_policy
调度策略
sched_flags

当进程使用 fork () 函数时,帮助控制调度行为。调用过程称为父进程,新进程称为子进程。有效值:

  • 0 :子进程从父进程继承调度策略。
  • SCHED_FLAG_RESET_ON_FORK: fork () :子进程不会从父进程继承调度策略。相反,它被设置为默认的调度策略 (struct sched_attr){ .sched_policy = SCHED_OTHER, }
sched_nice
指定在使用 SCHED_OTHERSCHED_BATCH 调度策略时设置的 nice 值。nice 值是范围为 -20 (高优先级)到 +19 (低优先级)的数字。
sched_priority
指定在调度 SCHED_FIFOSCHED_RR 时要设置的静态优先级。对于其他策略,将 priority 指定为 0。

只能为截止时间调度指定 SCHED_DEADLINE 字段:

  • sched_runtime :指定截止时间调度的 runtime 参数。该值以纳秒表示。
  • SCHED_ DEADLINE : 指定 截止时间 调度的截止时间参数。该值以纳秒表示。
  • sched_period :指定截止时间调度的 period 参数。该值以纳秒表示。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat