lkml.org 
[lkml]   [2009]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] sched: Provide iowait counters
    From
    Date
    On Mon, 2009-07-20 at 11:31 -0700, Arjan van de Ven wrote:
    > From cb80fe74bab69449c828d7433fbbea807816eee8 Mon Sep 17 00:00:00 2001
    > From: Arjan van de Ven <arjan@linux.intel.com>
    > Date: Mon, 20 Jul 2009 11:26:58 -0700
    > Subject: [PATCH] sched: Provide iowait counters
    >
    > For counting how long an application has been waiting for (disk) IO,
    > there currently is only the HZ sample driven information available, while
    > for all other counters in this class, a high resolution version is
    > available via CONFIG_SCHEDSTATS.
    >
    > In order to make an improved bootchart tool possible, we also need
    > a higher resolution version of the iowait time.
    >
    > This patch below adds this scheduler statistic to the kernel.
    >
    > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

    Seems sane enough, I'll pick her up. Thanks!

    > +++ 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.




    \
     
     \ /
      Last update: 2009-07-20 21:19    [W:0.028 / U:150.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site