我在sched_fair.c里面,我想记录一些事情......但是我需要知道哪个任务(pid)与我看到的每个sched_entity相关联..在struct sched_entity的定义中我不知道看不到对父结构(task_struct)的任何引用
这是sched_entity的代码:
struct sched_entity {
struct load_weight load; /* for load-balancing */
struct rb_node run_node;
struct list_head group_node;
unsigned int on_rq;
u64 exec_start;
u64 sum_exec_runtime;
u64 vruntime;
u64 prev_sum_exec_runtime;
u64 nr_migrations;
#ifdef CONFIG_SCHEDSTATS
struct sched_statistics statistics;
#endif
#ifdef CONFIG_FAIR_GROUP_SCHED
struct sched_entity *parent;
/* rq on which this entity is (to be) queued: */
struct cfs_rq *cfs_rq;
/* rq "owned" by this entity/group: */
struct cfs_rq *my_q;
#endif
};
答案 0 :(得分:3)
鉴于 sched_entity * se:
struct task_struct * p = task_of(se);
为您提供包含任务的结构..