timers updates for 3.15
Subsystems (9)
Ingo, Thomas,
Please pull the timers/cputime-fix-steal-v2 branch that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/cputime-fix-steal-v2
It's based on tip:timers/core. The patches are essentially unchanged since the last version (https://lkml.org/lkml/2014/3/6/376). I only added a small comment in 4/6 and acks from Rik.
---
The main purpose of this set is to fix a bug on full dynticks configs where steal time accounting appears to be zero in /proc/stat even after a few seconds of competing guests running busy loops in a same host CPU. It's not a regression though as it was there since the beginning with full dynticks.
So patch [4/6] ("cputime: Fix jiffies based cputime assumption on steal accounting") is the most important patch of the series. The rest is mostly preparatory work to fix the bug plus various cleanups.
Thanks,
Frederic
---
Frederic Weisbecker (6):
cputime: Fix nsecs_to_cputime() return type cast
cputime: Default implementation of nsecs -> cputime conversion
cputime: Bring cputime -> nsecs conversion
cputime: Fix jiffies based cputime assumption on steal accounting
sched: Remove needless round trip nsecs <-> tick conversion of steal time
arch: Remove stub cputime.h headers
arch/alpha/include/asm/Kbuild | 1 + arch/alpha/include/asm/cputime.h | 6 ------ arch/cris/include/asm/Kbuild | 1 + arch/cris/include/asm/cputime.h | 6 ------ arch/frv/include/asm/Kbuild | 1 + arch/frv/include/asm/cputime.h | 6 ------ arch/m32r/include/asm/Kbuild | 1 + arch/m32r/include/asm/cputime.h | 6 ------ arch/microblaze/include/asm/Kbuild | 1 + arch/microblaze/include/asm/cputime.h | 1 - arch/mn10300/include/asm/Kbuild | 1 + arch/mn10300/include/asm/cputime.h | 1 - arch/score/include/asm/Kbuild | 2 +- arch/score/include/asm/cputime.h | 6 ------ arch/x86/include/asm/Kbuild | 1 + arch/x86/include/asm/cputime.h | 1 - drivers/cpufreq/cpufreq_stats.c | 2 +- drivers/s390/cio/cio.c | 2 +- fs/proc/stat.c | 2 +- fs/proc/uptime.c | 2 +- include/asm-generic/cputime_jiffies.h | 4 +++- include/asm-generic/cputime_nsecs.h | 5 ++++- include/linux/cputime.h | 16 ++++++++++++++++ include/linux/kernel_stat.h | 2 +- include/linux/sched.h | 2 +- kernel/sched/core.c | 6 ------ kernel/sched/cputime.c | 16 +++++++++++----- kernel/sched/sched.h | 10 ---------- 28 files changed, 48 insertions(+), 63 deletions(-)
PATCH 1/6 cputime: Fix nsecs_to_cputime() return type cast
Even though nsec based cputime_t maps to u64, nsecs_to_cputime() must return a cputime_t value. We want to enforce this kind of cast in order to track down buggy manipulations of cputime_t such as direct access of its values under wrong assumptions on its backend type (nsecs, jiffies, etc...) by core code.
--- include/asm-generic/cputime_nsecs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
include/asm-generic/cputime_nsecs.h +2 -1
@@ -44,7 +44,8 @@ typedef u64 __nocast cputime64_t;/* * Convert cputime <-> nanoseconds */ -#define nsecs_to_cputime (__nsecs) ((__force u64)(__nsecs)) +#define nsecs_to_cputime (__nsecs) \ + (__force cputime_t)(__nsecs)/*
Signature · 1 line
1.8.3.1
PATCH 2/6 cputime: Default implementation of nsecs -> cputime conversion
In reply to Frederic WeisbeckerThe 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.
--- drivers/cpufreq/cpufreq_stats.c | 2 +- drivers/s390/cio/cio.c | 2 +- fs/proc/stat.c | 2 +- fs/proc/uptime.c | 2 +- include/linux/cputime.h | 11 +++++++++++ include/linux/kernel_stat.h | 2 +- include/linux/sched.h | 2 +- 7 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 include/linux/cputime.h
drivers/cpufreq/cpufreq_stats.c +1 -1
@@ -13,7 +13,7 @@#include <linux/cpufreq.h> #include <linux/module.h> #include <linux/slab.h> -#include <asm/cputime.h> +#include <linux/cputime.h> static spinlock_t cpufreq_stats_lock;
drivers/s390/cio/cio.c +1 -1
@@ -28,7 +28,7 @@#include <asm/chpid.h> #include <asm/airq.h> #include <asm/isc.h> -#include <asm/cputime.h> +#include <linux/cputime.h> #include <asm/fcx.h> #include <asm/nmi.h> #include <asm/crw.h>
fs/proc/stat.c +1 -1
@@ -9,7 +9,7 @@#include <linux/slab.h> #include <linux/time.h> #include <linux/irqnr.h> -#include <asm/cputime.h> +#include <linux/cputime.h> #include <linux/tick.h> #ifndef arch_irq_stat_cpu
fs/proc/uptime.c +1 -1
@@ -5,7 +5,7 @@#include <linux/seq_file.h> #include <linux/time.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) {
include/linux/cputime.h new file +11 -0
@@ -0,0 +1,11 @@ +#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 */
include/linux/kernel_stat.h +1 -1
@@ -9,7 +9,7 @@#include <linux/sched.h> #include <linux/vtime.h> #include <asm/irq.h> -#include <asm/cputime.h> +#include <linux/cputime.h> /* * 'kernel_stat.h' contains the definitions needed for doing
include/linux/sched.h +1 -1
@@ -27,7 +27,7 @@ struct sched_param {#include <asm/page.h> #include <asm/ptrace.h> -#include <asm/cputime.h> +#include <linux/cputime.h> #include <linux/smp.h> #include <linux/sem.h>
Signature · 1 line
1.8.3.1
PATCH 3/6 cputime: Bring cputime -> nsecs conversion
In reply to Frederic WeisbeckerWe already have nsecs_to_cputime(). Now we need to be able to convert the other way around in order to fix a bug on steal time accounting.
--- include/asm-generic/cputime_jiffies.h | 4 +++- include/asm-generic/cputime_nsecs.h | 2 ++ include/linux/cputime.h | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-)
include/asm-generic/cputime_jiffies.h +3 -1
@@ -15,8 +15,10 @@ typedef u64 __nocast cputime64_t;/* -* Convert nanoseconds to cputime +* Convert nanoseconds <-> cputime */ +#define cputime_to_nsecs (__ct) \ + jiffies_to_nsecs(cputime_to_jiffies(__ct))#define nsecs_to_cputime64 (__nsec) \ jiffies64_to_cputime64(nsecs_to_jiffies64(__nsec))#define nsecs_to_cputime (__nsec) \
include/asm-generic/cputime_nsecs.h +2 -0
@@ -44,6 +44,8 @@ typedef u64 __nocast cputime64_t;/* * Convert cputime <-> nanoseconds */ +#define cputime_to_nsecs (__ct) \ + (__force u64)(__ct)#define nsecs_to_cputime (__nsecs) \ (__force cputime_t)(__nsecs)
include/linux/cputime.h +5 -0
@@ -3,6 +3,11 @@#include <asm/cputime.h> +#ifndef cputime_to_nsecs +# define cputime_to_nsecs (__ct) \ + (cputime_to_usecs(__ct) * NSEC_PER_USEC) +#endif +#ifndef nsecs_to_cputime# define nsecs_to_cputime (__nsecs) \ usecs_to_cputime((__nsecs) / NSEC_PER_USEC)
Signature · 1 line
1.8.3.1
PATCH 4/6 cputime: Fix jiffies based cputime assumption on steal accounting
In reply to Frederic WeisbeckerThe steal guest time accounting code assumes that cputime_t is based on jiffies. So when CONFIG_NO_HZ_FULL=y, which implies that cputime_t is based on nsecs, steal_account_process_tick() passes the delta in jiffies to account_steal_time() which then accounts it as if it's a value in nsecs.
As a result, accounting 1 second of steal time (with HZ=100 that would be 100 jiffies) is spuriously accounted as 100 nsecs.
As such /proc/stat may report 0 values of steal time even when two guests have run concurrently for a few seconds on the same host and same CPU.
In order to fix this, lets convert the nsecs based steal delta to cputime instead of jiffies by using the right conversion API.
Given that the steal time is stored in cputime_t and this type can have a smaller granularity than nsecs, we only account the rounded converted value and leave the remaining nsecs for the next deltas.
--- kernel/sched/cputime.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-)
kernel/sched/cputime.c +11 -5
@@ -258,16 +258,22 @@ static __always_inline bool steal_account_process_tick(void) {#ifdef CONFIG_PARAVIRT if (static_key_false (¶virt_steal_enabled)) { -u64 steal, st =0 ; +u64 steal; +cputime_t steal_ct; steal =paravirt_steal_clock (smp_processor_id ()); steal -=this_rq ()->prev_steal_time; - st =steal_ticks (steal); -this_rq ()->prev_steal_time += st *TICK_NSEC ; +/* +* cputime_t may be less precise than nsecs (eg: if it's +* based on jiffies). Lets cast the result to cputime +* granularity and account the rest on the next rounds. +*/ + steal_ct =nsecs_to_cputime (steal); +this_rq ()->prev_steal_time +=cputime_to_nsecs (steal_ct); -account_steal_time (st); -return st; +account_steal_time (steal_ct); +return steal_ct; }#endif return false;
Signature · 1 line
1.8.3.1
PATCH 5/6 sched: Remove needless round trip nsecs <-> tick conversion of steal time
In reply to Frederic WeisbeckerWhen update_rq_clock_task() accounts the pending steal time for a task, it converts the steal delta from nsecs to tick then from tick to nsecs.
There is no apparent good reason for doing that though because both the task clock and the prev steal delta are u64 and store values in nsecs.
So lets remove the needless conversion.
--- kernel/sched/core.c | 6 ------ kernel/sched/sched.h | 10 ---------- 2 files changed, 16 deletions(-)
kernel/sched/core.c +0 -6
@@ -823,19 +823,13 @@ static void update_rq_clock_task(struct rq *rq, s64 delta)#endif #ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING if (static_key_false ((¶virt_steal_rq_enabled))) { -u64 st; - steal =paravirt_steal_clock (cpu_of (rq)); steal -= rq->prev_steal_time_rq;if (unlikely (steal > delta)) steal = delta; - st =steal_ticks (steal); - steal = st *TICK_NSEC ; - rq->prev_steal_time_rq += steal; - delta -= steal; }#endif
kernel/sched/sched.h +0 -10
@@ -1214,16 +1214,6 @@ extern void update_idle_cpu_load(struct rq *this_rq);extern void init_task_runnable_average (struct task_struct *p); -#ifdef CONFIG_PARAVIRT -static inline u64 steal_ticks (u64 steal) -{ -if (unlikely (steal >NSEC_PER_SEC )) -return div_u64 (steal,TICK_NSEC ); - -return __iter_div_u64_rem (steal,TICK_NSEC , &steal); -} -#endif -static inline void inc_nr_running (struct rq *rq) { rq->nr_running++;
Signature · 1 line
1.8.3.1
PATCH 6/6 arch: Remove stub cputime.h headers
In reply to Frederic WeisbeckerMany architectures have a stub cputime.h that only include the default cputime.h
Lets remove the useless headers, we only need to mention that we want the default headers on the Kbuild files.
--- arch/alpha/include/asm/Kbuild | 1 + arch/alpha/include/asm/cputime.h | 6 ------ arch/cris/include/asm/Kbuild | 1 + arch/cris/include/asm/cputime.h | 6 ------ arch/frv/include/asm/Kbuild | 1 + arch/frv/include/asm/cputime.h | 6 ------ arch/m32r/include/asm/Kbuild | 1 + arch/m32r/include/asm/cputime.h | 6 ------ arch/microblaze/include/asm/Kbuild | 1 + arch/microblaze/include/asm/cputime.h | 1 - arch/mn10300/include/asm/Kbuild | 1 + arch/mn10300/include/asm/cputime.h | 1 - arch/score/include/asm/Kbuild | 2 +- arch/score/include/asm/cputime.h | 6 ------ arch/x86/include/asm/Kbuild | 1 + arch/x86/include/asm/cputime.h | 1 - 16 files changed, 8 insertions(+), 34 deletions(-) delete mode 100644 arch/alpha/include/asm/cputime.h delete mode 100644 arch/cris/include/asm/cputime.h delete mode 100644 arch/frv/include/asm/cputime.h delete mode 100644 arch/m32r/include/asm/cputime.h delete mode 100644 arch/microblaze/include/asm/cputime.h delete mode 100644 arch/mn10300/include/asm/cputime.h delete mode 100644 arch/score/include/asm/cputime.h delete mode 100644 arch/x86/include/asm/cputime.h
arch/alpha/include/asm/Kbuild +1 -0
@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.h
arch/alpha/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __ALPHA_CPUTIME_H -#define __ALPHA_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __ALPHA_CPUTIME_H */
arch/cris/include/asm/Kbuild +1 -0
@@ -14,3 +14,4 @@ generic-y += trace_clock.h generic-y += vga.h generic-y += xor.h generic-y += preempt.h +generic-y += cputime.h
arch/cris/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __CRIS_CPUTIME_H -#define __CRIS_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __CRIS_CPUTIME_H */
arch/frv/include/asm/Kbuild +1 -0
@@ -4,3 +4,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.h
arch/frv/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef _ASM_CPUTIME_H -#define _ASM_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* _ASM_CPUTIME_H */
arch/m32r/include/asm/Kbuild +1 -0
@@ -5,3 +5,4 @@ generic-y += module.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.h
arch/m32r/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __M32R_CPUTIME_H -#define __M32R_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __M32R_CPUTIME_H */
arch/microblaze/include/asm/Kbuild +1 -0
@@ -6,3 +6,4 @@ generic-y += hash.h generic-y += trace_clock.h generic-y += syscalls.h generic-y += preempt.h +generic-y += cputime.h
arch/microblaze/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
arch/mn10300/include/asm/Kbuild +1 -0
@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += hash.h generic-y += trace_clock.h generic-y += preempt.h +generic-y += cputime.h
arch/mn10300/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
arch/score/include/asm/Kbuild +1 -1
@@ -7,4 +7,4 @@ generic-y += hash.h generic-y += trace_clock.h generic-y += xor.h generic-y += preempt.h - +generic-y += cputime.h
arch/score/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef _ASM_SCORE_CPUTIME_H -#define _ASM_SCORE_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* _ASM_SCORE_CPUTIME_H */
arch/x86/include/asm/Kbuild +1 -0
@@ -5,3 +5,4 @@ genhdr-y += unistd_64.h genhdr-y += unistd_x32.h generic-y += clkdev.h +generic-y += cputime.h
arch/x86/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
Signature · 1 line
1.8.3.1
Peter Zijlstra
maintainerRe: [PATCH 6/6] arch: Remove stub cputime.h headers
arch/alpha/include/asm/Kbuild generic-y += exec.h · line 8
Quoted 10 lines · Frederic Weisbecker
arch/alpha/include/asm/Kbuild +1
-0@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.h
That's a double fail there, not sorted and no EOL.
Please run the script from commit: b119fa61d440f after you touch the asm/Kbuild files.
Re: [PATCH 6/6] arch: Remove stub cputime.h headers
Quoted 14 lines · Peter Zijlstra
arch/alpha/include/asm/Kbuild generic-y += exec.h · line 8
Quoted 10 lines · Frederic Weisbecker
arch/alpha/include/asm/Kbuild +1
-0@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.hThat's a double fail there, not sorted and no EOL.
Quoted 2 lines
Please run the script from commit:
b119fa61d440fafter you touch the asm/Kbuild files.
I don't see why we need to sort them. But I'm running the script anyway. Will resend, thanks.
Peter Zijlstra
maintainerRe: [PATCH 6/6] arch: Remove stub cputime.h headers
Quoted 15 lines · Frederic Weisbecker
Quoted 14 lines · Peter Zijlstra
arch/alpha/include/asm/Kbuild generic-y += exec.h · line 8
Quoted 10 lines · Frederic Weisbecker
arch/alpha/include/asm/Kbuild +1
-0@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.hThat's a double fail there, not sorted and no EOL.
Quoted 5 lines
Quoted 2 lines
Please run the script from commit:
b119fa61d440fafter you touch the asm/Kbuild files.I don't see why we need to sort them. But I'm running the script anyway. Will resend, thanks.
sfr gets real grumpy if we don't, at one point I gave in and wrote that script, because I sure as hell wasn't going to manually sort all those files every time I did a automated addition.
Re: [PATCH 6/6] arch: Remove stub cputime.h headers
Quoted 19 lines · Peter Zijlstra
Quoted 18 lines · Frederic Weisbecker
Quoted 16 lines · Peter Zijlstra
arch/alpha/include/asm/Kbuild generic-y += exec.h · line 8
Quoted 10 lines · Frederic Weisbecker
arch/alpha/include/asm/Kbuild +1
-0@@ -5,3 +5,4 @@ generic-y += exec.h generic-y += trace_clock.h generic-y += preempt.h generic-y += hash.h +generic-y += cputime.hThat's a double fail there, not sorted and no EOL.
Please run the script from commit:
b119fa61d440fafter you touch the asm/Kbuild files.
Quoted 6 lines
Quoted 2 lines
I don't see why we need to sort them. But I'm running the script anyway. Will resend, thanks.
sfr gets real grumpy if we don't, at one point I gave in and wrote that script, because I sure as hell wasn't going to manually sort all those files every time I did a automated addition.
I see, it's to avoid merge conflicts then. Granted.
PATCH v2 1/1 arch: Remove stub cputime.h headers
In reply to Peter ZijlstraMany architectures have a stub cputime.h that only include the default cputime.h
Lets remove the useless headers, we only need to mention that we want the default headers on the Kbuild files.
While at it, resort alphabetically the entries in arch/*/include/asm/Kbuild for those that have been touched. For this we use the script in commit b119fa61d440f as suggested by Peter Zijlstra.
--- arch/alpha/include/asm/Kbuild | 7 ++++--- arch/alpha/include/asm/cputime.h | 6 ------ arch/cris/include/asm/Kbuild | 3 ++- arch/cris/include/asm/cputime.h | 6 ------ arch/frv/include/asm/Kbuild | 5 +++-- arch/frv/include/asm/cputime.h | 6 ------ arch/m32r/include/asm/Kbuild | 5 +++-- arch/m32r/include/asm/cputime.h | 6 ------ arch/microblaze/include/asm/Kbuild | 5 +++-- arch/microblaze/include/asm/cputime.h | 1 - arch/mn10300/include/asm/Kbuild | 3 ++- arch/mn10300/include/asm/cputime.h | 1 - arch/score/include/asm/Kbuild | 4 ++-- arch/score/include/asm/cputime.h | 6 ------ arch/x86/include/asm/Kbuild | 1 + arch/x86/include/asm/cputime.h | 1 - 16 files changed, 20 insertions(+), 46 deletions(-) delete mode 100644 arch/alpha/include/asm/cputime.h delete mode 100644 arch/cris/include/asm/cputime.h delete mode 100644 arch/frv/include/asm/cputime.h delete mode 100644 arch/m32r/include/asm/cputime.h delete mode 100644 arch/microblaze/include/asm/cputime.h delete mode 100644 arch/mn10300/include/asm/cputime.h delete mode 100644 arch/score/include/asm/cputime.h delete mode 100644 arch/x86/include/asm/cputime.h
arch/alpha/include/asm/Kbuild +4 -3
@@ -1,7 +1,8 @@ -generic-y += clkdev.h +generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h -generic-y += trace_clock.h -generic-y += preempt.h generic-y += hash.h +generic-y += preempt.h +generic-y += trace_clock.h
arch/alpha/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __ALPHA_CPUTIME_H -#define __ALPHA_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __ALPHA_CPUTIME_H */
arch/cris/include/asm/Kbuild +2 -1
@@ -5,12 +5,13 @@ header-y += arch-v32/ generic-y += barrier.h generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h generic-y += hash.h generic-y += kvm_para.h generic-y += linkage.h generic-y += module.h +generic-y += preempt.h generic-y += trace_clock.h generic-y += vga.h generic-y += xor.h -generic-y += preempt.h
arch/cris/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __CRIS_CPUTIME_H -#define __CRIS_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __CRIS_CPUTIME_H */
arch/frv/include/asm/Kbuild +3 -2
@@ -1,6 +1,7 @@ generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h -generic-y += trace_clock.h -generic-y += preempt.h generic-y += hash.h +generic-y += preempt.h +generic-y += trace_clock.h
arch/frv/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef _ASM_CPUTIME_H -#define _ASM_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* _ASM_CPUTIME_H */
arch/m32r/include/asm/Kbuild +3 -2
@@ -1,7 +1,8 @@ generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h +generic-y += hash.h generic-y += module.h -generic-y += trace_clock.h generic-y += preempt.h -generic-y += hash.h +generic-y += trace_clock.h
arch/m32r/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef __M32R_CPUTIME_H -#define __M32R_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* __M32R_CPUTIME_H */
arch/microblaze/include/asm/Kbuild +3 -2
@@ -1,8 +1,9 @@ generic-y += barrier.h generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h generic-y += hash.h -generic-y += trace_clock.h -generic-y += syscalls.h generic-y += preempt.h +generic-y += syscalls.h +generic-y += trace_clock.h
arch/microblaze/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
arch/mn10300/include/asm/Kbuild +2 -1
@@ -1,7 +1,8 @@ generic-y += barrier.h generic-y += clkdev.h +generic-y += cputime.h generic-y += exec.h generic-y += hash.h -generic-y += trace_clock.h generic-y += preempt.h +generic-y += trace_clock.h
arch/mn10300/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
arch/score/include/asm/Kbuild +2 -2
@@ -3,8 +3,8 @@ header-y += generic-y += barrier.h generic-y += clkdev.h +generic-y += cputime.h generic-y += hash.h +generic-y += preempt.h generic-y += trace_clock.h generic-y += xor.h -generic-y += preempt.h -
arch/score/include/asm/cputime.h deleted +0 -6
@@ -1,6 +0,0 @@ -#ifndef _ASM_SCORE_CPUTIME_H -#define _ASM_SCORE_CPUTIME_H - -#include <asm-generic/cputime.h> - -#endif /* _ASM_SCORE_CPUTIME_H */
arch/x86/include/asm/Kbuild +1 -0
@@ -5,3 +5,4 @@ genhdr-y += unistd_64.h genhdr-y += unistd_x32.h generic-y += clkdev.h +generic-y += cputime.h
arch/x86/include/asm/cputime.h deleted +0 -1
@@ -1 +0,0 @@ -#include <asm-generic/cputime.h>
Signature · 1 line
1.8.3.1