Re: [PATCH] sched: Provide iowait counters

From: Steven Rostedt
Date: Mon Jul 20 2009 - 15:42:30 EST



On Mon, 20 Jul 2009, Peter Zijlstra wrote:
>
> > +++ b/kernel/sched_fair.c
> > @@ -633,6 +633,11 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
> > se->block_start = 0;
> > se->sum_sleep_runtime += delta;
> >
> > + if (tsk->in_iowait) {
> > + se->iowait_sum += delta;
> > + se->iowait_count++;
> > + }
> > +
> > /*
> > * Blocking time is in units of nanosecs, so shift by 20 to
> > * get a milliseconds-range estimation of the amount of
>
> It might be nice to put a tracepoint there as well, now if there was a
> way to specify perf counter attributes in the TRACE_EVENT() magic so
> that we can feed stuff into perf_tpcounter_event().
>
> TP_perf_addr() -- defaults to 0 when not specified
> TP_perf_count() -- defaults to 1 when not specified.
>
> Steve, Frederic, is there any way to make that happen?
>
> Failing that we could put an actual swcounter in there I suppose.
>
> That way we could profile applications based on IO-wait, which would be
> cool.

How would you imagine an interface for this? Could you come up with
something that you would like to see, and then I could see if we could
implement it.

How would the TRACE_EVENT look exactly? Would there be anything different
in the trace point location itself?

Thanks,

-- Steve

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