linux 5.15 中 rt_rq 数据结构
时间: 2024-03-15 22:44:20 浏览: 62
rt_rq 是 Linux 内核实时调度器中的一个数据结构,用于维护实时进程队列。rt_rq 结构体定义在 include/linux/sched/rt.h 中,其定义如下:
```
struct rt_rq {
struct rt_bandwidth rt_bandwidth;
struct list_head rt_runtime_queue;
unsigned long rt_nr_running;
u64 rt_time;
u64 rt_runtime_expires;
struct task_struct *rt_curr, *rt_throttled;
struct rq *rq;
int overloaded;
};
```
其中,rt_bandwidth 是实时带宽控制器的数据结构,用于限制实时进程的 CPU 使用时间。rt_runtime_queue 是一个双向链表,用于存储所有在实时进程队列中的进程。rt_nr_running 表示实时进程队列中的进程数。rt_time 是实时进程队列中的总 CPU 时间。rt_runtime_expires 表示实时进程队列中下一个进程的截止时间。rt_curr 是当前正在运行的实时进程,rt_throttled 是被限制了 CPU 使用时间的实时进程。rq 是指向运行 rt_rq 的 CPU 的 runqueue 的指针。overloaded 表示实时进程队列是否过载。
总之,rt_rq 数据结构是 Linux 实时调度器中一个重要的数据结构,用于维护实时进程队列。
阅读全文