diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-17 16:03:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-17 16:03:05 -0400 |
| commit | 6b6e177d632ee251c7c78d8f266a851ab9704879 (patch) | |
| tree | 6feec072e7dd7eb32249369a1a80e6a904307e34 /arch/tile/include/asm | |
| parent | bfaf245022b4b8661af2e35f467cf0e91943c24c (diff) | |
| parent | 128f3cb9398b5eeb4ee04b60bd5e314f5c122821 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile updates from Chris Metcalf:
"These are mostly nohz_full changes, plus a smattering of minor fixes
(notably a couple for ftrace)"
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: nohz: warn if nohz_full uses hypervisor shared cores
tile: ftrace: fix function_graph tracer issues
tile: map data region shadow of kernel as R/W
tile: support CONTEXT_TRACKING and thus NOHZ_FULL
tile: support arch_irq_work_raise
arch: tile: fix null pointer dereference on pt_regs pointer
tile/elf: reorganize notify_exec()
tile: use si_int instead of si_ptr for compat_siginfo
Diffstat (limited to 'arch/tile/include/asm')
| -rw-r--r-- | arch/tile/include/asm/Kbuild | 1 | ||||
| -rw-r--r-- | arch/tile/include/asm/ftrace.h | 2 | ||||
| -rw-r--r-- | arch/tile/include/asm/irq_work.h | 14 | ||||
| -rw-r--r-- | arch/tile/include/asm/smp.h | 1 | ||||
| -rw-r--r-- | arch/tile/include/asm/thread_info.h | 9 |
5 files changed, 23 insertions, 4 deletions
diff --git a/arch/tile/include/asm/Kbuild b/arch/tile/include/asm/Kbuild index b4c488b65745..f5433e0e34e0 100644 --- a/arch/tile/include/asm/Kbuild +++ b/arch/tile/include/asm/Kbuild | |||
| @@ -16,7 +16,6 @@ generic-y += ioctl.h | |||
| 16 | generic-y += ioctls.h | 16 | generic-y += ioctls.h |
| 17 | generic-y += ipcbuf.h | 17 | generic-y += ipcbuf.h |
| 18 | generic-y += irq_regs.h | 18 | generic-y += irq_regs.h |
| 19 | generic-y += irq_work.h | ||
| 20 | generic-y += local.h | 19 | generic-y += local.h |
| 21 | generic-y += local64.h | 20 | generic-y += local64.h |
| 22 | generic-y += mcs_spinlock.h | 21 | generic-y += mcs_spinlock.h |
diff --git a/arch/tile/include/asm/ftrace.h b/arch/tile/include/asm/ftrace.h index 13a9bb81a8ab..738d239b792f 100644 --- a/arch/tile/include/asm/ftrace.h +++ b/arch/tile/include/asm/ftrace.h | |||
| @@ -23,6 +23,8 @@ | |||
| 23 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
| 24 | extern void __mcount(void); | 24 | extern void __mcount(void); |
| 25 | 25 | ||
| 26 | #define ARCH_SUPPORTS_FTRACE_OPS 1 | ||
| 27 | |||
| 26 | #ifdef CONFIG_DYNAMIC_FTRACE | 28 | #ifdef CONFIG_DYNAMIC_FTRACE |
| 27 | static inline unsigned long ftrace_call_adjust(unsigned long addr) | 29 | static inline unsigned long ftrace_call_adjust(unsigned long addr) |
| 28 | { | 30 | { |
diff --git a/arch/tile/include/asm/irq_work.h b/arch/tile/include/asm/irq_work.h new file mode 100644 index 000000000000..48af33a61a2c --- /dev/null +++ b/arch/tile/include/asm/irq_work.h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #ifndef __ASM_IRQ_WORK_H | ||
| 2 | #define __ASM_IRQ_WORK_H | ||
| 3 | |||
| 4 | static inline bool arch_irq_work_has_interrupt(void) | ||
| 5 | { | ||
| 6 | #ifdef CONFIG_SMP | ||
| 7 | extern bool self_interrupt_ok; | ||
| 8 | return self_interrupt_ok; | ||
| 9 | #else | ||
| 10 | return false; | ||
| 11 | #endif | ||
| 12 | } | ||
| 13 | |||
| 14 | #endif /* __ASM_IRQ_WORK_H */ | ||
diff --git a/arch/tile/include/asm/smp.h b/arch/tile/include/asm/smp.h index 9a326b64f7ae..735e7f144733 100644 --- a/arch/tile/include/asm/smp.h +++ b/arch/tile/include/asm/smp.h | |||
| @@ -69,6 +69,7 @@ static inline int xy_to_cpu(int x, int y) | |||
| 69 | #define MSG_TAG_STOP_CPU 2 | 69 | #define MSG_TAG_STOP_CPU 2 |
| 70 | #define MSG_TAG_CALL_FUNCTION_MANY 3 | 70 | #define MSG_TAG_CALL_FUNCTION_MANY 3 |
| 71 | #define MSG_TAG_CALL_FUNCTION_SINGLE 4 | 71 | #define MSG_TAG_CALL_FUNCTION_SINGLE 4 |
| 72 | #define MSG_TAG_IRQ_WORK 5 | ||
| 72 | 73 | ||
| 73 | /* Hook for the generic smp_call_function_many() routine. */ | 74 | /* Hook for the generic smp_call_function_many() routine. */ |
| 74 | static inline void arch_send_call_function_ipi_mask(struct cpumask *mask) | 75 | static inline void arch_send_call_function_ipi_mask(struct cpumask *mask) |
diff --git a/arch/tile/include/asm/thread_info.h b/arch/tile/include/asm/thread_info.h index 98ee10a0ae89..f804c39a5e4d 100644 --- a/arch/tile/include/asm/thread_info.h +++ b/arch/tile/include/asm/thread_info.h | |||
| @@ -124,6 +124,7 @@ extern void _cpu_idle(void); | |||
| 124 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ | 124 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ |
| 125 | #define TIF_SYSCALL_TRACEPOINT 9 /* syscall tracepoint instrumentation */ | 125 | #define TIF_SYSCALL_TRACEPOINT 9 /* syscall tracepoint instrumentation */ |
| 126 | #define TIF_POLLING_NRFLAG 10 /* idle is polling for TIF_NEED_RESCHED */ | 126 | #define TIF_POLLING_NRFLAG 10 /* idle is polling for TIF_NEED_RESCHED */ |
| 127 | #define TIF_NOHZ 11 /* in adaptive nohz mode */ | ||
| 127 | 128 | ||
| 128 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) | 129 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) |
| 129 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) | 130 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
| @@ -136,14 +137,16 @@ extern void _cpu_idle(void); | |||
| 136 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) | 137 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) |
| 137 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) | 138 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) |
| 138 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) | 139 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) |
| 140 | #define _TIF_NOHZ (1<<TIF_NOHZ) | ||
| 139 | 141 | ||
| 140 | /* Work to do on any return to user space. */ | 142 | /* Work to do on any return to user space. */ |
| 141 | #define _TIF_ALLWORK_MASK \ | 143 | #define _TIF_ALLWORK_MASK \ |
| 142 | (_TIF_SIGPENDING|_TIF_NEED_RESCHED|_TIF_SINGLESTEP|\ | 144 | (_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_SINGLESTEP | \ |
| 143 | _TIF_ASYNC_TLB|_TIF_NOTIFY_RESUME) | 145 | _TIF_ASYNC_TLB | _TIF_NOTIFY_RESUME | _TIF_NOHZ) |
| 144 | 146 | ||
| 145 | /* Work to do at syscall entry. */ | 147 | /* Work to do at syscall entry. */ |
| 146 | #define _TIF_SYSCALL_ENTRY_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_TRACEPOINT) | 148 | #define _TIF_SYSCALL_ENTRY_WORK \ |
| 149 | (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_TRACEPOINT | _TIF_NOHZ) | ||
| 147 | 150 | ||
| 148 | /* Work to do at syscall exit. */ | 151 | /* Work to do at syscall exit. */ |
| 149 | #define _TIF_SYSCALL_EXIT_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_TRACEPOINT) | 152 | #define _TIF_SYSCALL_EXIT_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_TRACEPOINT) |
