All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glauber Costa <glommer@parallels.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: <linux-kernel@vger.kernel.org>, <xemul@parallels.com>,
	<paul@paulmenage.org>, <lizf@cn.fujitsu.com>,
	<daniel.lezcano@free.fr>, <jbottomley@parallels.com>
Subject: Re: [PATCH 6/9] Include idle and iowait fields in cpuacct
Date: Tue, 20 Sep 2011 10:29:01 -0300	[thread overview]
Message-ID: <4E78951D.1020901@parallels.com> (raw)
In-Reply-To: <1316523928.13664.12.camel@twins>

On 09/20/2011 10:05 AM, Peter Zijlstra wrote:
> 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?

That's what I am here for...

But back to your answer:

 >>> 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),

Not sure if we have ticks in this cgroup... anyway, it can be done. We 
need a baseline for what was the tick situation when the cgroup started 
anyway.


  reply	other threads:[~2011-09-20 13:29 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-14 20:04 [PATCH 0/9] Per-cgroup /proc/stat Glauber Costa
2011-09-14 20:04 ` [PATCH 1/9] Remove parent field in cpuacct cgroup Glauber Costa
2011-09-19 16:03   ` Peter Zijlstra
2011-09-19 16:09     ` Glauber Costa
2011-09-19 16:19       ` Peter Zijlstra
2011-09-19 16:30         ` Glauber Costa
2011-09-19 16:39           ` Peter Zijlstra
2011-09-19 16:41             ` Glauber Costa
2011-09-19 18:40               ` Peter Zijlstra
2011-09-20 17:29                 ` Srivatsa Vaddagiri
2011-09-22 15:11                   ` Balbir Singh
2011-09-22 15:17                     ` Peter Zijlstra
2011-09-23  8:09                       ` Balbir Singh
2011-09-23 14:35                         ` Peter Zijlstra
2011-09-23 15:45                         ` Glauber Costa
2011-09-19 18:35           ` Peter Zijlstra
2011-09-19 18:38             ` Glauber Costa
2011-09-19 18:44               ` Peter Zijlstra
2011-09-19 19:14                 ` Glauber Costa
2011-09-19 19:18                   ` Peter Zijlstra
2011-09-19 19:19                     ` Glauber Costa
2011-09-14 20:04 ` [PATCH 2/9] Make cpuacct fields per cpu variables Glauber Costa
2011-09-19 16:10   ` Peter Zijlstra
2011-09-14 20:04 ` [PATCH 3/9] Include nice values in cpuacct Glauber Costa
2011-09-19 16:19   ` Peter Zijlstra
2011-09-19 16:26     ` Glauber Costa
2011-09-19 18:36       ` Peter Zijlstra
2011-09-19 18:37         ` Glauber Costa
2011-09-14 20:04 ` [PATCH 4/9] Include irq and softirq fields " Glauber Costa
2011-09-19 18:38   ` Peter Zijlstra
2011-09-19 18:40     ` Glauber Costa
2011-09-14 20:04 ` [PATCH 5/9] Include guest " Glauber Costa
2011-09-14 20:04 ` [PATCH 6/9] Include idle and iowait " Glauber Costa
2011-09-20  9:21   ` Peter Zijlstra
2011-09-20 12:36     ` Glauber Costa
2011-09-20 12:58       ` Peter Zijlstra
2011-09-20 12:58         ` Glauber Costa
2011-09-20 13:05           ` Peter Zijlstra
2011-09-20 13:29             ` Glauber Costa [this message]
2011-09-14 20:04 ` [PATCH 7/9] Create cpuacct.proc.stat file Glauber Costa
2011-09-20  9:22   ` Peter Zijlstra
2011-09-20 12:22     ` Glauber Costa
2011-09-14 20:04 ` [PATCH 8/9] per-cgroup boot time Glauber Costa
2011-09-20  9:25   ` Peter Zijlstra
2011-09-20 12:37     ` Glauber Costa
2011-09-20 13:04       ` Peter Zijlstra
2011-09-20 13:06         ` Glauber Costa
2011-09-20 13:31           ` Peter Zijlstra
2011-09-14 20:04 ` [PATCH 9/9] Report steal time for cgroup Glauber Costa
2011-09-20  9:29   ` Peter Zijlstra
2011-09-14 20:13 ` [PATCH 0/9] Per-cgroup /proc/stat Peter Zijlstra
2011-09-14 20:20   ` Glauber Costa
2011-09-15  8:53     ` Peter Zijlstra
2011-09-14 20:23   ` Andi Kleen
2011-09-15  8:56     ` Peter Zijlstra
2011-09-19 23:07       ` Paul Turner
2011-09-20  8:33         ` Peter Zijlstra
2011-09-20 21:37         ` Glauber Costa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E78951D.1020901@parallels.com \
    --to=glommer@parallels.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=daniel.lezcano@free.fr \
    --cc=jbottomley@parallels.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=paul@paulmenage.org \
    --cc=xemul@parallels.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.