Re: [Xenomai-core] CPU utilization question

2011-10-25 Thread Gilles Chanteperdrix
On 10/25/2011 04:18 PM, makarand pradhan wrote:
> [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?

Yes.

-- 
Gilles.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] CPU utilization question

2011-10-25 Thread makarand pradhan
Hi Gilles,

Appreciate your response.

Pl find comments inline.



From: Gilles Chanteperdrix 
To: makarand pradhan 
Cc: "xenomai-core@gna.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.___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] CPU utilization question

2011-10-25 Thread Gilles Chanteperdrix
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%.

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


-- 
Gilles.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] CPU utilization question

2011-10-24 Thread makarand pradhan
Greetings all,

I am working on a real time power pc embedded system which uses xenomai. I am 
presently noticing a CPU utilization which I am not able to explain. Will 
highly appreciate your opinion on the problem described below.

I'm summarizing my understanding. Pl feel free to correct me.
I'm using /proc/xenomai/stat to get the CPU util. 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.

Problem:
I'm starting a xenomai thread using rt_task_spawn. 
        rt_task_spawn(&task2, "Task 2 ", STACK_SIZE, 11, 0, task2_func, NULL);

The thread invoking rt_task_spawn, sleeps for a long long time without doing 
anything, or I can pause it.
sleep(500);

The xenomai task does rt_printfs periodically.

With this setup, I was hoping to see 0% CPU util for the linux task in top.

Contrary to this expectation, I notice CPU util as high as 3.1% when I top the 
linux process:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
                                             
 7988 root      20   0  4940 4376 3688 S  3.1  0.8   0:01.65 a.out      

The CPU % varies based on the activity I do in the primary domain. i.e. more 
rt_printfs more %CPU in both primary and secondary.


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?

Thanks for taking the time to look at the question.

Would highly appreciate your inputs.

Warm Rgds,
Makarand.___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core