Re: [PATCH V2 3/3] sched/deadline: Tracepoints for deadline scheduler

From: Peter Zijlstra
Date: Tue Mar 29 2016 - 11:17:03 EST


On Mon, Mar 28, 2016 at 01:50:51PM -0300, Daniel Bristot de Oliveira wrote:
> @@ -733,7 +738,9 @@ static void update_curr_dl(struct rq *rq)
>
> throttle:
> if (dl_runtime_exceeded(dl_se) || dl_se->dl_yielded) {
> + trace_sched_deadline_yield(&rq->curr->dl);
> dl_se->dl_throttled = 1;
> + trace_sched_deadline_throttle(dl_se);

This is just really very sad.

> __dequeue_task_dl(rq, curr, 0);
> if (unlikely(dl_se->dl_boosted || !start_dl_timer(curr)))
> enqueue_task_dl(rq, curr, ENQUEUE_REPLENISH);
> @@ -910,6 +917,7 @@ enqueue_dl_entity(struct sched_dl_entity *dl_se,
> static void dequeue_dl_entity(struct sched_dl_entity *dl_se)
> {
> __dequeue_dl_entity(dl_se);
> + trace_sched_deadline_block(dl_se);
> }

And that's just not going to happen.