Re: [V2 2/2] sched: update cfs_rq weight earlier in enqueue_entity
From: Paul Turner
Date: Mon Jul 01 2013 - 10:07:51 EST
Could you please restate the below?
On Mon, Jul 1, 2013 at 5:33 AM, Lei Wen <leiwen@xxxxxxxxxxx> wrote:
>
Since we are going to calculate cfs_rq's average ratio by
>
runnable_load_avg/load.weight
I don't understand what you mean by this.
>
, if not increase the load.weight prior to
>
enqueue_entity_load_avg, it may lead to one cfs_rq's avg ratio higher
>
than 100%.
>
Or this.
>
Adjust the sequence, so that all ratio is kept below 100%.
>
>
Signed-off-by: Lei Wen <leiwen@xxxxxxxxxxx>
>
---
>
kernel/sched/fair.c | 2 +-
>
1 file changed, 1 insertion(+), 1 deletion(-)
>
>
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>
index 07bd74c..d1eee84 100644
>
--- a/kernel/sched/fair.c
>
+++ b/kernel/sched/fair.c
>
@@ -1788,8 +1788,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)
>
* Update run-time statistics of the 'current'.
>
*/
>
update_curr(cfs_rq);
>
- enqueue_entity_load_avg(cfs_rq, se, flags & ENQUEUE_WAKEUP);
>
account_entity_enqueue(cfs_rq, se);
>
+ enqueue_entity_load_avg(cfs_rq, se, flags & ENQUEUE_WAKEUP);
account_entity_enqueue is independent of enqueue_entity_load_avg;
their order should not matter.
Further, should we restore the reverted amortization commit (improves
context switch times) enqueue_entity_load_avg needs to precede
account_entity_enqueue as it may update se->load.weight.
>
update_cfs_shares(cfs_rq);
>
>
if (flags & ENQUEUE_WAKEUP) {
>
--
>
1.7.10.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/