All of lore.kernel.org
 help / color / mirror / Atom feed
From: makarand pradhan <makarand_u_pradhan@domain.hid>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] CPU utilization question
Date: Tue, 25 Oct 2011 07:18:09 -0700 (PDT)	[thread overview]
Message-ID: <1319552289.52870.YahooMailNeo@domain.hid> (raw)
In-Reply-To: <4EA67872.30609@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 2234 bytes --]

Hi Gilles,

Appreciate your response.

Pl find comments inline.


________________________________
From: Gilles Chanteperdrix <gilles.chanteperdrix@domain.hid>
To: makarand pradhan <makarand_u_pradhan@domain.hido.com>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Sent: Tuesday, October 25, 2011 4:50 AM
Subject: Re: [Xenomai-core] CPU utilization question

On 10/25/2011 12:19 AM, makarand pradhan wrote:
> (...) I'm
> assuming that the ROOT thread captures the %CPU spent in
> Linux/secnodary and each xenomai thread listed, captures the %CPU in
> primary domain. If a thread transitions to the secondary, then I'm
> assuming that the %util in secondary domain will get accounted
> against ROOT and the actual % usage in primary will get accounted
> against the thread.

You are assuming wrong, the CPU utilization measures the activity of the
linux kernel as a whole, including its idle task. So, the sum of all the
primary mode tasks and of the ROOT task is always 100%.

[MP]: Yes. I've noticed that the sum of all tasks is always 100. My question was specifically about a xenomai task that transitions in secondary.

e.g. Assume a xenomai task that uses a total of 20% CPU. Of this assume that 10% is spent executing system calls in secondary domain and 10% is spent in the primary domain. I believe that from an accounting perspective, 10% would get accounted against ROOT and the xenomai task will show a CPU util of 10%. Is this accurate?

> Question:
> 
> If the linux process is sleeping, why do I see a CPU util against the
> process? Why is the CPU % util vary based on the activity I do in the
> primary domain?

rt_printf is a primary mode service which causes activity in secondary
mode: the actual printf is done by a plain linux task.

[MP]: Tx. It helped. I've taken the rt_printfs out and now my Linux process that started the xenomai task shows 0% as expected.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                         
 5136 root      20   0  4936 4372 3688 S  0.0  0.8   0:00.04 a.out                                                        
Rgds,
Makarand.

-- 
                        Gilles.

[-- Attachment #2: Type: text/html, Size: 5304 bytes --]

  reply	other threads:[~2011-10-25 14:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-24 22:19 [Xenomai-core] CPU utilization question makarand pradhan
2011-10-25  8:50 ` Gilles Chanteperdrix
2011-10-25 14:18   ` makarand pradhan [this message]
2011-10-25 15:16     ` Gilles Chanteperdrix

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=1319552289.52870.YahooMailNeo@domain.hid \
    --to=makarand_u_pradhan@domain.hid \
    --cc=gilles.chanteperdrix@xenomai.org \
    --cc=xenomai@xenomai.org \
    /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.