Re: [PATCH 6/9] Include idle and iowait fields in cpuacct

From: Peter Zijlstra
Date: Tue Sep 20 2011 - 09:05:54 EST


On Tue, 2011-09-20 at 09:58 -0300, Glauber Costa wrote:
> On 09/20/2011 09:58 AM, Peter Zijlstra wrote:
> > On Tue, 2011-09-20 at 09:36 -0300, Glauber Costa wrote:
> >> On 09/20/2011 06:21 AM, Peter Zijlstra wrote:
> >>> On Wed, 2011-09-14 at 17:04 -0300, Glauber Costa wrote:
> >>>> These are slightly different from the others though:
> >>>> (note to reviewers: might be better to put those in a separate
> >>>> array?)
> >>>>
> >>>> Since idle/iowait are a property of the system - by definition,
> >>>> no process from any cgroup is running when the system is idle,
> >>>> they are system wide. So what these fields really mean, are baselines
> >>>> for when the cgroup was created. It allows the cgroup to start
> >>>> counting idle/iowait from 0.
> >>>
> >>> Alternatively you can make iowait based on nr_uninterruptible per cgroup
> >>> and count all ticks _this_ cgroup was idle.
> >> You think?
> >>
> >> Humm,humm... maybe...
> >> iowait can indeed be seen as a process group characteristic. I was
> >> mainly concerned about overhead here, specially for the idle case:
> >
> > The overhead of accounting per cgroup nr_uninterruptible is the worst I
> > think, that's in the sleep/wakeup paths.
> >
> >> If we are idle, there is no task context we can draw from, since the
> >> task in the cpu is the idle task. So we end up having to touch all
> >> cgroups... Or am I missing something?
> >>
> >> Sounds expensive.
> >
> > Count the total number of ticks on the cpu (I think we already have
> > that) and subtract the number of ticks in this cgroup (I think we also
> > already have that), which should yield: number of ticks not in this
> > cgroup, aka number of ticks this cgroup was idle.
> No , no... remember steal time.

Of course I don't.. that's virt stuff, I repress that with all my might.
But add or subtract steal ticks someplace and it doesn't come out right?
--
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/