0
以下是在linux調度中用於RT策略的實體類的代碼。sched_rt_entity中數據成員的含義
struct sched_rt_entity {
struct list_head run_list;
unsigned long timeout;
unsigned int time_slice;
struct sched_rt_entity *back;
#ifdef CONFIG_RT_GROUP_SCHED
struct sched_rt_entity *parent;
/* rq on which this entity is (to be) queued: */
struct rt_rq *rt_rq;
/* rq "owned" by this entity/group: */
struct rt_rq *my_q;
#endif
};
什麼是當列表已經實現所需的數據成員back
。
我也不明白組策略是如何實現的,特別是爲什麼需要my_rq
和rt_rq
以及誰會指向parent
。
又是什麼意思timeout
數據成員。
評分: 我有很多很多這樣的問題,任何人都可以提出一個很好的閱讀。
我明白這一點,但如果您能夠提供更多的洞察,瞭解爲什麼會使用這樣的結構,因爲解釋引發了更多的問題。更具體地說,爲什麼需要孩子在跑步的隊列。 –
另一個問題,因爲你提出了'dequeue_rt_stack',我不明白,如果指針不是最低的實體,當使用back的臨時分配將發生時,我們分配'rt_se-> back = back'這意味着我們將它分配給'null',而不必在意是否在任何列表的中間,換句話說,如果其他實體指向它(因爲它們是同一組的一部分),現在只有這個實體和他們的父母會保持在一起。 –