place_entity() update se->vruntime question
place_entity() update se->vruntime question
am 05.05.2009 12:59:13 von b133
Hi all,
when a process was wakeup by try_to_wake_up(),it will call activate_task()to move a task into the run queue,and the parameter "wakeup=1".
enqueue_task_fair() will call enqueue_entity() to place the schedule entity to the proper cfs_rq.it will at last call place_entity() with parameter "initial=0".
As my understanding,the waken up schedule entity has smaller vruntime than the cfs_rq->min_runtime.But the debug information show that's random.
So i would like to ask some kind guy,when did " se->vruntime > cfs_rq->min_vruntime "?
I guess the new waken up process may migrate to another cfs_rq,and its vruntime bigger than that cfs_rq.
Also if CONFIG_FAIR_GROUP_SCHED=y,the enqueue_task_fair() maybe traverse se and its parents ,then parameter "wakeup = 1".Then the parent schedule entity may has larger vruntime than its cfs_rq,it stands for a group.
Could any one give some suggestion?
Thanks in advance.
--wxc200
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
place_entity() update se->vruntime question
am 06.05.2009 07:33:47 von wxc200
Hi all,
when a process was wakeup by try_to_wake_up(),it will call
activate_task()to move a task into the run queue,and the parameter
"wakeup=1".
enqueue_task_fair() will call enqueue_entity() to place the schedule
entity to the proper cfs_rq.it will at last call place_entity() with
parameter "initial=0".
As my understanding,the waken up schedule entity has smaller vruntime
than the cfs_rq->min_runtime.But the debug information show that's
random.
So i would like to ask some kind guy,when did " se->vruntime >
cfs_rq->min_vruntime "?
I guess the new waken up process may migrate to another cfs_rq,and its
vruntime bigger than that cfs_rq.
Also if CONFIG_FAIR_GROUP_SCHED=y,the enqueue_task_fair() maybe
traverse se and its parents ,then parameter "wakeup = 1".Then the
parent schedule entity may has larger vruntime than its cfs_rq,it
stands for a group.
Could any one give some suggestion?
Thanks in advance.
--wxc200
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
place_entity() update se->vruntime question
am 06.05.2009 08:25:57 von wxc200
Hi all,
when a process was wakeup by try_to_wake_up(),it will call
activate_task()to move a task into the run queue,and the parameter
"wakeup=1".
enqueue_task_fair() will call enqueue_entity() to place the schedule
entity to the proper cfs_rq.it will at last call place_entity() with
parameter "initial=0".
As my understanding,the waken up schedule entity has smaller vruntime
than the cfs_rq->min_runtime.But the debug information show that's
random.
So i would like to ask some kind guy,when did " se->vruntime >
cfs_rq->min_vruntime "?
I guess the new waken up process may migrate to another cfs_rq,and its
vruntime bigger than that cfs_rq.
Also if CONFIG_FAIR_GROUP_SCHED=y,the enqueue_task_fair() maybe
traverse se and its parents ,then parameter "wakeup = 1".Then the
parent schedule entity may has larger vruntime than its cfs_rq,it
stands for a group.
Could any one give some suggestion?
Thanks in advance.
--wxc200
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs