From: Dan Ballard <dan@mindstab.net>
To: Lennart Poettering <lennart@poettering.net>,
kay.sievers@vrfy.org, Rob Landley <rob@landley.net>,
Andrew Morton <akpm@linux-foundation.org>,
Minto Joseph <mvaliyav@redhat.com>,
Cyrill Gorcunov <gorcunov@openvz.org>,
Pavel Emelyanov <xemul@parallels.com>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
Peter Zijlstra <peterz@infradead.org>,
Rik van Riel <riel@redhat.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Mel Gorman <mgorman@suse.de>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/1] add StartTimeMonotomic, StartTimeBootTime to per pid in /proc
Date: Tue, 21 Jan 2014 07:10:04 -0800 [thread overview]
Message-ID: <a24256fcec0f1735512ee303ce8abbdc@mindstab.net> (raw)
starttime in /proc/$PID/stat is inaccurate by "clock tick" granularity.
The kernel keeps better track os this exposes that in /prod/$PID/status
as StartTimeMonotonic and StartTimeBootTime
Signed-off-by: Dan Ballard <dan@mindstab.net>
---
Documentation/filesystems/proc.txt | 6 +++++-
fs/proc/array.c | 8 ++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Documentation/filesystems/proc.txt
b/Documentation/filesystems/proc.txt
index 22d89aa3..6ed8001 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -158,6 +158,8 @@ read the file /proc/PID/status:
TracerPid: 0 (2.4)
Uid: 501 501 501 501
Gid: 100 100 100 100
+ StartTimeMonotonic: 3766799643
+ StartTimeBootTime: 3766799643
FDSize: 256
Groups: 100 14 16
VmPeak: 5004 kB
@@ -202,7 +204,7 @@ asynchronous manner and the vaule may not be very
precise. To see a precise
snapshot of a moment, you can see /proc/<pid>/smaps file and scan page
table.
It's slow but very precise.
-Table 1-2: Contents of the status files (as of 2.6.30-rc7)
+Table 1-2: Contents of the status files (as of 3.13.0-rc3)
..............................................................................
Field Content
Name filename of the executable
@@ -215,6 +217,8 @@ Table 1-2: Contents of the status files (as of
2.6.30-rc7)
TracerPid PID of process tracing this process (0 if
not)
Uid Real, effective, saved set, and file
system UIDs
Gid Real, effective, saved set, and file
system GIDs
+ StartTimeMonotonic Start time of process in nsec from
CLOCK_MONOTONIC
+ StartTimeBootTime Start time of process in nsec from
CLOCK_BOOTTIME
FDSize number of file descriptor slots currently
allocated
Groups supplementary group list
VmPeak peak virtual memory size
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 1bd2077..34f4761 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -188,7 +188,9 @@ static inline void task_state(struct seq_file *m,
struct pid_namespace *ns,
"PPid:\t%d\n"
"TracerPid:\t%d\n"
"Uid:\t%d\t%d\t%d\t%d\n"
- "Gid:\t%d\t%d\t%d\t%d\n",
+ "Gid:\t%d\t%d\t%d\t%d\n"
+ "StartTimeMonotonic:\t%lld\n"
+ "StartTimeBootTime:\t%lld\n",
get_task_state(p),
task_tgid_nr_ns(p, ns),
task_numa_group_id(p),
@@ -201,7 +203,9 @@ static inline void task_state(struct seq_file *m,
struct pid_namespace *ns,
from_kgid_munged(user_ns, cred->gid),
from_kgid_munged(user_ns, cred->egid),
from_kgid_munged(user_ns, cred->sgid),
- from_kgid_munged(user_ns, cred->fsgid));
+ from_kgid_munged(user_ns, cred->fsgid),
+ timespec_to_ns(&p->start_time),
+ timespec_to_ns(&p->real_start_time));
task_lock(p);
if (p->files)
--
1.7.10.4
next reply other threads:[~2014-01-21 15:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-21 15:10 Dan Ballard [this message]
2014-01-22 15:53 ` [PATCH 1/1] add StartTimeMonotomic, StartTimeBootTime to per pid in /proc Peter Zijlstra
2014-01-23 14:52 ` Dan Ballard
2014-01-23 15:20 ` Peter Zijlstra
2014-01-24 10:20 ` Lennart Poettering
2014-01-24 11:32 ` Peter Zijlstra
2014-01-24 12:49 ` Lennart Poettering
2014-01-31 15:42 ` Dan Ballard
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=a24256fcec0f1735512ee303ce8abbdc@mindstab.net \
--to=dan@mindstab.net \
--cc=akpm@linux-foundation.org \
--cc=fweisbec@gmail.com \
--cc=gorcunov@openvz.org \
--cc=kay.sievers@vrfy.org \
--cc=lennart@poettering.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mvaliyav@redhat.com \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=rob@landley.net \
--cc=tglx@linutronix.de \
--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.