Commit bfc3f028 authored by Frederic Weisbecker's avatar Frederic Weisbecker

cputime: Default implementation of nsecs -> cputime conversion

The architectures that override cputime_t (s390, ppc) don't provide
any version of nsecs_to_cputime(). Indeed this cputime_t implementation
by backend only happens when CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y under
which the core code doesn't make any use of nsecs_to_cputime().

At least for now.

We are going to make a broader use of it so lets provide a default
version with a per usecs granularity. It should be good enough for most
usecases.

Cc: Ingo Molnar <mingo@kernel.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarRik van Riel <riel@redhat.com>
Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
parent 69bb2600
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include <linux/cpufreq.h> #include <linux/cpufreq.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <asm/cputime.h> #include <linux/cputime.h>
static spinlock_t cpufreq_stats_lock; static spinlock_t cpufreq_stats_lock;
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include <asm/chpid.h> #include <asm/chpid.h>
#include <asm/airq.h> #include <asm/airq.h>
#include <asm/isc.h> #include <asm/isc.h>
#include <asm/cputime.h> #include <linux/cputime.h>
#include <asm/fcx.h> #include <asm/fcx.h>
#include <asm/nmi.h> #include <asm/nmi.h>
#include <asm/crw.h> #include <asm/crw.h>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/irqnr.h> #include <linux/irqnr.h>
#include <asm/cputime.h> #include <linux/cputime.h>
#include <linux/tick.h> #include <linux/tick.h>
#ifndef arch_irq_stat_cpu #ifndef arch_irq_stat_cpu
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/kernel_stat.h> #include <linux/kernel_stat.h>
#include <asm/cputime.h> #include <linux/cputime.h>
static int uptime_proc_show(struct seq_file *m, void *v) static int uptime_proc_show(struct seq_file *m, void *v)
{ {
......
#ifndef __LINUX_CPUTIME_H
#define __LINUX_CPUTIME_H
#include <asm/cputime.h>
#ifndef nsecs_to_cputime
# define nsecs_to_cputime(__nsecs) \
usecs_to_cputime((__nsecs) / NSEC_PER_USEC)
#endif
#endif /* __LINUX_CPUTIME_H */
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/vtime.h> #include <linux/vtime.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/cputime.h> #include <linux/cputime.h>
/* /*
* 'kernel_stat.h' contains the definitions needed for doing * 'kernel_stat.h' contains the definitions needed for doing
......
...@@ -27,7 +27,7 @@ struct sched_param { ...@@ -27,7 +27,7 @@ struct sched_param {
#include <asm/page.h> #include <asm/page.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/cputime.h> #include <linux/cputime.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/sem.h> #include <linux/sem.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment