diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2012-11-13 08:20:55 -0500 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2013-01-27 13:23:31 -0500 |
commit | 6fac4829ce0ef9b7f24369086ce5f0e9f38d37bc (patch) | |
tree | 44da712b66d778c2fd701f9c96b00e108530e1a9 /drivers/isdn/mISDN | |
parent | 3f4724ea85b7d9055a9976fa8f30b471bdfbca93 (diff) |
cputime: Use accessors to read task cputime stats
This is in preparation for the full dynticks feature. While
remotely reading the cputime of a task running in a full
dynticks CPU, we'll need to do some extra-computation. This
way we can account the time it spent tickless in userspace
since its last cputime snapshot.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/isdn/mISDN')
-rw-r--r-- | drivers/isdn/mISDN/stack.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/isdn/mISDN/stack.c b/drivers/isdn/mISDN/stack.c index 5f21f629b7ae..deda591f70b9 100644 --- a/drivers/isdn/mISDN/stack.c +++ b/drivers/isdn/mISDN/stack.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
19 | #include <linux/mISDNif.h> | 19 | #include <linux/mISDNif.h> |
20 | #include <linux/kthread.h> | 20 | #include <linux/kthread.h> |
21 | #include <linux/sched.h> | ||
21 | #include "core.h" | 22 | #include "core.h" |
22 | 23 | ||
23 | static u_int *debug; | 24 | static u_int *debug; |
@@ -202,6 +203,9 @@ static int | |||
202 | mISDNStackd(void *data) | 203 | mISDNStackd(void *data) |
203 | { | 204 | { |
204 | struct mISDNstack *st = data; | 205 | struct mISDNstack *st = data; |
206 | #ifdef MISDN_MSG_STATS | ||
207 | cputime_t utime, stime; | ||
208 | #endif | ||
205 | int err = 0; | 209 | int err = 0; |
206 | 210 | ||
207 | sigfillset(¤t->blocked); | 211 | sigfillset(¤t->blocked); |
@@ -303,9 +307,10 @@ mISDNStackd(void *data) | |||
303 | "msg %d sleep %d stopped\n", | 307 | "msg %d sleep %d stopped\n", |
304 | dev_name(&st->dev->dev), st->msg_cnt, st->sleep_cnt, | 308 | dev_name(&st->dev->dev), st->msg_cnt, st->sleep_cnt, |
305 | st->stopped_cnt); | 309 | st->stopped_cnt); |
310 | task_cputime(st->thread, &utime, &stime); | ||
306 | printk(KERN_DEBUG | 311 | printk(KERN_DEBUG |
307 | "mISDNStackd daemon for %s utime(%ld) stime(%ld)\n", | 312 | "mISDNStackd daemon for %s utime(%ld) stime(%ld)\n", |
308 | dev_name(&st->dev->dev), st->thread->utime, st->thread->stime); | 313 | dev_name(&st->dev->dev), utime, stime); |
309 | printk(KERN_DEBUG | 314 | printk(KERN_DEBUG |
310 | "mISDNStackd daemon for %s nvcsw(%ld) nivcsw(%ld)\n", | 315 | "mISDNStackd daemon for %s nvcsw(%ld) nivcsw(%ld)\n", |
311 | dev_name(&st->dev->dev), st->thread->nvcsw, st->thread->nivcsw); | 316 | dev_name(&st->dev->dev), st->thread->nvcsw, st->thread->nivcsw); |