From: Shailabh Nagar <nagar@watson.ibm.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [Patch 6/8] virtual cpu run time
Date: Thu, 30 Mar 2006 11:10:44 -0500 [thread overview]
Message-ID: <442C0304.3030003@watson.ibm.com> (raw)
In-Reply-To: <20060329210415.5d84e5a5.akpm@osdl.org>
Andrew Morton wrote:
>Shailabh Nagar <nagar@watson.ibm.com> wrote:
>
>
>>delayacct-virtcpu.patch
>>
>>Distinguish between "wall-clock" and "virtual" cpu run times and return
>>both, at per-task and per-tgid granularity.
>>
>>Some architectures adjust tsk->utime+tsk->stime to reflect the time that
>>the kernel wasn't scheduled in hypervised environments and this is the
>>"wall-clock" cpu run time. "Virtual" cpu run time, on the other hand, does
>>not account for the kernel being descheduled.
>>
>>This patch allows the most accurate "virtual" cpu run time, collected by
>>the schedstats code (now shared with delay accounting code), to be returned
>>to user space, in addition to the "wall-clock" cpu time that was being exported
>>earlier. Both these times are useful for workload management in different
>>situations.
>>
>>In a non-virtualized environment, or on architectures which do not adjust
>>tsk->utime/stime, these will effectively be the same value but at different
>>granularities.
>>
>>...
>>
>>Index: linux-2.6.16/include/linux/taskstats.h
>>===================================================================
>>--- linux-2.6.16.orig/include/linux/taskstats.h 2006-03-29 18:13:18.000000000 -0500
>>+++ linux-2.6.16/include/linux/taskstats.h 2006-03-29 18:13:20.000000000 -0500
>>@@ -46,8 +46,14 @@ struct taskstats {
>> __u64 swapin_count;
>> __u64 swapin_delay_total; /* swapin page fault wait*/
>>
>>- __u64 cpu_run_total; /* cpu running time
>>- * no count available/provided */
>>+ __u64 cpu_run_real_total; /* cpu "wall-clock" running time
>>+ * Potentially accounts for cpu
>>+ * virtualization, on some arches
>>+ */
>>+ __u64 cpu_run_virtual_total; /* cpu "virtual" running time
>>+ * Uses time intervals as seen by
>>+ * the kernel
>>+ */
>> };
>>
>>
>>
>
>Again, the reader of this struct wants to know what the atomicity rules are.
>
>
Will add comment.
>
>
>>+ d->cpu_run_real_total = (tmp < (nsec_t)d->cpu_run_real_total)? 0: tmp;
>>
>>
>
> lval = expr1 ? expr2 : expr3;
>
>
didn't get whats wrong ?
>
>
>>+ tmp = (nsec_t)d->cpu_run_virtual_total
>>+ + (nsec_t)jiffies_to_usecs(t3) * 1000;
>>
>>
>
>umm, Linux doesn't have nsec_t any more.
>
>
>
Ok, will switch to s64 everywhere.
--Shailabh
next prev parent reply other threads:[~2006-03-30 16:10 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-30 0:32 [Patch 0/8] per-task delay accounting Shailabh Nagar
2006-03-30 0:35 ` [Patch 1/8] Setup Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 15:07 ` Shailabh Nagar
2006-03-30 0:37 ` [Patch 2/8] Block I/O, swapin delays Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 15:21 ` Shailabh Nagar
2006-03-30 0:42 ` [Patch 3/8] cpu delays Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 16:01 ` Shailabh Nagar
2006-03-30 16:00 ` Dave Hansen
2006-03-30 16:03 ` Shailabh Nagar
2006-03-30 0:48 ` [Patch 4/8] generic netlink utility functions Shailabh Nagar
2006-03-30 0:52 ` [Patch 5/8] generic netlink interface for delay accounting Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 6:10 ` Balbir Singh
2006-03-30 6:26 ` Andrew Morton
2006-03-30 6:29 ` Balbir Singh
2006-03-30 16:24 ` Shailabh Nagar
2006-03-30 0:54 ` [Patch 6/8] virtual cpu run time Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 16:10 ` Shailabh Nagar [this message]
2006-03-30 0:56 ` [Patch 7/8] proc interface for block I/O delays Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 0:59 ` [Patch 8/8] documentation, userspace utility Shailabh Nagar
2006-03-30 5:03 ` [Patch 0/8] per-task delay accounting Andrew Morton
2006-03-30 6:23 ` Balbir Singh
2006-03-30 6:47 ` Andrew Morton
2006-03-30 9:55 ` Paul Jackson
2006-03-30 13:23 ` [Lse-tech] " Dipankar Sarma
2006-03-30 17:23 ` Shailabh Nagar
2006-03-31 2:54 ` Peter Chubb
2006-03-31 5:27 ` Shailabh Nagar
2006-03-31 8:17 ` Peter Chubb
2006-03-31 16:03 ` Shailabh Nagar
[not found] ` <442CCF54.3000501@watson.ibm.com>
2006-03-31 7:31 ` Guillaume Thouvenin
2006-03-31 17:01 ` Shailabh Nagar
[not found] ` <442D8E39.8080606@engr.sgi.com>
[not found] ` <442DED81.5060009@engr.sgi.com>
2006-04-10 17:15 ` Jay Lan
2006-04-10 21:44 ` Shailabh Nagar
2006-04-10 22:33 ` [Lse-tech] " Jay Lan
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=442C0304.3030003@watson.ibm.com \
--to=nagar@watson.ibm.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.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.