【发布时间】:2021-12-30 07:18:06
【问题描述】:
#define for_each_sched_rt_entity(rt_se) \
for (; rt_se; rt_se = NULL)
我不熟悉这个 for 循环实际上在做什么。谁能解释一下?
https://elixir.bootlin.com/linux/v5.10.75/source/kernel/sched/rt.c#L621
【问题讨论】:
-
I'm not familiar with what this for loop is actually doing.我不明白,这是一个基本的 for 循环,什么都没有。你可以再详细一点吗?你不清楚哪一部分?请注意,您正在查看 RT_GROUP_SCHED disabled 的实现。 -
它遍历 1 个元素的结构。第 516 行的替代定义遍历多个父元素。
-
@stark 只是通过 rt_se 吗? rt_se 有很多指针,例如 parent、child、back 等。它使用的是哪一个?
-
此宏的替代定义使用父级。
标签: linux linux-kernel scheduled-tasks scheduler scheduling