Re: [PATCH 1/2] sched: introduce avg_wakeup

From: Peter Zijlstra
Date: Wed Jan 14 2009 - 07:03:27 EST


On Wed, 2009-01-14 at 12:59 +0100, Peter Zijlstra wrote:
> + /*
> + * Only attribute actual wakeups done by this task.
> + */
> + if (!in_interrupt()) {
> + struct sched_entity *se = &current->se;
> + u64 sample = se->sum_exec_runtime;
> +
> + if (se->last_wakeup)
> + sample -= se->last_wakeup;
> + else
> + sample -= se->start_runtime;
> + update_avg(&se->avg_wakeup, sample);
> +
> + current->se.last_wakeup = current->se.sum_exec_runtime;
> + }

time for lunch apparently...

Index: linux-2.6/kernel/sched.c
===================================================================
--- linux-2.6.orig/kernel/sched.c
+++ linux-2.6/kernel/sched.c
@@ -2424,7 +2424,7 @@ out_activate:
sample -= se->start_runtime;
update_avg(&se->avg_wakeup, sample);

- current->se.last_wakeup = current->se.sum_exec_runtime;
+ se.last_wakeup = se.sum_exec_runtime;
}

out_running:

--
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/