All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Daniel Simon <Daniel.Simon@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] measuring tasks execution time
Date: Wed, 27 Jun 2007 13:56:04 +0200	[thread overview]
Message-ID: <46825054.7030800@domain.hid> (raw)
In-Reply-To: <20070627105726.7db7a459@domain.hid>

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

Daniel Simon wrote:
> On Mon, 25 Jun 2007 18:55:45 +0200
> Jan Kiszka <jan.kiszka@domain.hid> wrote:
> 
> 
> 
>> My idea was to keep a persistent version the existing xnstat_runtime_t
>> instance in xnthread (and later on also xnintr). That one shall not be
>> reset on readout via /proc.
> Is it necessary to keep also the reset one?

Yep, at least virtually (as in my proposal): We are dumping CPU share
percentages in /proc, and those need to be calculated over the same
measurement period. Thus we restart the measurement each time the user
reads the stats.

> 
>> Instead, you establish quite some new calculations that break
>> the existing API (the switch date is given via "start" - which was
>> misnamed so far, I just changed it to "date") 
> 
> ok, better fit the behaviour.
> I should better work from the last svn version?

SVN trunk would be best, indeed.

> 
>> and increase the runtime
>> overhead in the hotpath. Why? All the information you should need is
>> already there, it just has to be saved from being vaporised when the
>> user dumps /proc/xenomai/stat.
>>
>>>  	(sched)->last_account_switch = start; \
>>>  } while (0)
>>>    
>> Let's try it like this: Change Xenomai so that it leaves the existing
>> xnthread_t::stat.account untouched when it reads /proc. Rather add
>> something like "xnstat_runtime_t last;" to xnthread_t::stat. On readout
>> for /proc output, 
> Where is this done? I've found one place in module::stat_seq_open where total is
> reset to 0, is it the only one? 

That's one spot, the other is xnpod_migrate_thread()
(xnstat_runtime_reset_stats()) IIRC.

> In fact I don't have a clear picture of the stat
> process and what it is assumed to do (and thus did not want to break something!)

Stat generation happens based on services that are provided by
nucleus/stat.h, stat dumping is concentrated in modules.c, namely
stat_seq_open. Using the cross reference [1] can help if you want to
verify this on your own.

>> do the stats now like "account-last" and then move
>> account into last. For your task exectime, you can then read
>> xnthread_t::stat.account directly, because it will always reflect the
>> full task history. Would't this work better?
> 
>> Thanks for working on this!
> I'll try to find enough time by the end of this week to improve this...
> 
> 	Daniel
> 

Looking forward.

Jan

[1] http://www.rts.uni-hannover.de/xenomai/lxr/source/?v=SVN-trunk


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

  reply	other threads:[~2007-06-27 11:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-07 16:23 [Xenomai-help] real time task disapears... memory problem ? desvages
2007-06-07 17:44 ` Jan Kiszka
2007-06-08 10:49   ` [Xenomai-help] measuring tasks execution time Daniel Simon
2007-06-08 11:20     ` [Xenomai-core] " Jan Kiszka
2007-06-08 13:09       ` Daniel Simon
2007-06-08 15:24         ` Jan Kiszka
2007-06-08 16:04           ` Jan Kiszka
2007-06-25 15:51       ` [Xenomai-core] " Daniel Simon
2007-06-25 16:55         ` Jan Kiszka
2007-06-27  8:57           ` Daniel Simon
2007-06-27 11:56             ` Jan Kiszka [this message]
2007-06-29 14:43               ` Daniel Simon
2007-06-29 15:00                 ` Jan Kiszka
2007-06-29 15:29                   ` Daniel Simon
2007-06-29 15:47                     ` Philippe Gerum
2007-06-29 15:56                       ` Gilles Chanteperdrix
2007-06-29 15:52                     ` Jan Kiszka
2007-07-08 10:11                 ` Jan Kiszka
2007-07-09  8:49                   ` Daniel Simon
2007-07-11 13:59                   ` Daniel Simon
2007-07-11 14:30                     ` Jan Kiszka
2007-07-11 15:35                       ` Daniel Simon
2007-07-11 15:56                         ` Jan Kiszka
2007-07-11 16:55                           ` Daniel Simon
2007-07-11 21:20                             ` Jan Kiszka
2007-07-12  9:30                               ` Daniel Simon
2007-07-12 11:02                                 ` Jan Kiszka
2007-07-16 16:19                                   ` Daniel Simon
     [not found]   ` <1753.194.254.210.7.1181246882.squirrel@domain.hid>
2007-06-08 15:19     ` [Xenomai-help] real time task disapears... memory problem ? Jan Kiszka
2007-06-09 16:06       ` desvages
2007-06-09 17:10         ` Jan Kiszka

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=46825054.7030800@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=Daniel.Simon@domain.hid \
    --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.