aboutsummaryrefslogtreecommitdiffstats
path: root/arch/score
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-06-22 18:52:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-06-22 18:52:04 -0400
commit23b7776290b10297fe2cae0fb5f166a4f2c68121 (patch)
tree73d1e76644a20bc7bff80fbfdb08e8b9a9f28420 /arch/score
parent6bc4c3ad3619e1bcb4a6330e030007ace8ca465e (diff)
parent6fab54101923044712baee429ff573f03b99fc47 (diff)
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar: "The main changes are: - lockless wakeup support for futexes and IPC message queues (Davidlohr Bueso, Peter Zijlstra) - Replace spinlocks with atomics in thread_group_cputimer(), to improve scalability (Jason Low) - NUMA balancing improvements (Rik van Riel) - SCHED_DEADLINE improvements (Wanpeng Li) - clean up and reorganize preemption helpers (Frederic Weisbecker) - decouple page fault disabling machinery from the preemption counter, to improve debuggability and robustness (David Hildenbrand) - SCHED_DEADLINE documentation updates (Luca Abeni) - topology CPU masks cleanups (Bartosz Golaszewski) - /proc/sched_debug improvements (Srikar Dronamraju)" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits) sched/deadline: Remove needless parameter in dl_runtime_exceeded() sched: Remove superfluous resetting of the p->dl_throttled flag sched/deadline: Drop duplicate init_sched_dl_class() declaration sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target sched/deadline: Make init_sched_dl_class() __init sched/deadline: Optimize pull_dl_task() sched/preempt: Add static_key() to preempt_notifiers sched/preempt: Fix preempt notifiers documentation about hlist_del() within unsafe iteration sched/stop_machine: Fix deadlock between multiple stop_two_cpus() sched/debug: Add sum_sleep_runtime to /proc/<pid>/sched sched/debug: Replace vruntime with wait_sum in /proc/sched_debug sched/debug: Properly format runnable tasks in /proc/sched_debug sched/numa: Only consider less busy nodes as numa balancing destinations Revert 095bebf61a46 ("sched/numa: Do not move past the balance point if unbalanced") sched/fair: Prevent throttling in early pick_next_task_fair() preempt: Reorganize the notrace definitions a bit preempt: Use preempt_schedule_context() as the official tracing preemption point sched: Make preempt_schedule_context() function-tracing safe x86: Remove cpu_sibling_mask() and cpu_core_mask() x86: Replace cpu_**_mask() with topology_**_cpumask() ...
Diffstat (limited to 'arch/score')
-rw-r--r--arch/score/include/asm/uaccess.h15
-rw-r--r--arch/score/mm/fault.c3
2 files changed, 12 insertions, 6 deletions
diff --git a/arch/score/include/asm/uaccess.h b/arch/score/include/asm/uaccess.h
index ab66ddde777b..20a3591225cc 100644
--- a/arch/score/include/asm/uaccess.h
+++ b/arch/score/include/asm/uaccess.h
@@ -36,7 +36,8 @@
36 * @addr: User space pointer to start of block to check 36 * @addr: User space pointer to start of block to check
37 * @size: Size of block to check 37 * @size: Size of block to check
38 * 38 *
39 * Context: User context only. This function may sleep. 39 * Context: User context only. This function may sleep if pagefaults are
40 * enabled.
40 * 41 *
41 * Checks if a pointer to a block of memory in user space is valid. 42 * Checks if a pointer to a block of memory in user space is valid.
42 * 43 *
@@ -61,7 +62,8 @@
61 * @x: Value to copy to user space. 62 * @x: Value to copy to user space.
62 * @ptr: Destination address, in user space. 63 * @ptr: Destination address, in user space.
63 * 64 *
64 * Context: User context only. This function may sleep. 65 * Context: User context only. This function may sleep if pagefaults are
66 * enabled.
65 * 67 *
66 * This macro copies a single simple value from kernel space to user 68 * This macro copies a single simple value from kernel space to user
67 * space. It supports simple types like char and int, but not larger 69 * space. It supports simple types like char and int, but not larger
@@ -79,7 +81,8 @@
79 * @x: Variable to store result. 81 * @x: Variable to store result.
80 * @ptr: Source address, in user space. 82 * @ptr: Source address, in user space.
81 * 83 *
82 * Context: User context only. This function may sleep. 84 * Context: User context only. This function may sleep if pagefaults are
85 * enabled.
83 * 86 *
84 * This macro copies a single simple variable from user space to kernel 87 * This macro copies a single simple variable from user space to kernel
85 * space. It supports simple types like char and int, but not larger 88 * space. It supports simple types like char and int, but not larger
@@ -98,7 +101,8 @@
98 * @x: Value to copy to user space. 101 * @x: Value to copy to user space.
99 * @ptr: Destination address, in user space. 102 * @ptr: Destination address, in user space.
100 * 103 *
101 * Context: User context only. This function may sleep. 104 * Context: User context only. This function may sleep if pagefaults are
105 * enabled.
102 * 106 *
103 * This macro copies a single simple value from kernel space to user 107 * This macro copies a single simple value from kernel space to user
104 * space. It supports simple types like char and int, but not larger 108 * space. It supports simple types like char and int, but not larger
@@ -119,7 +123,8 @@
119 * @x: Variable to store result. 123 * @x: Variable to store result.
120 * @ptr: Source address, in user space. 124 * @ptr: Source address, in user space.
121 * 125 *
122 * Context: User context only. This function may sleep. 126 * Context: User context only. This function may sleep if pagefaults are
127 * enabled.
123 * 128 *
124 * This macro copies a single simple variable from user space to kernel 129 * This macro copies a single simple variable from user space to kernel
125 * space. It supports simple types like char and int, but not larger 130 * space. It supports simple types like char and int, but not larger
diff --git a/arch/score/mm/fault.c b/arch/score/mm/fault.c
index 6860beb2a280..37a6c2e0e969 100644
--- a/arch/score/mm/fault.c
+++ b/arch/score/mm/fault.c
@@ -34,6 +34,7 @@
34#include <linux/string.h> 34#include <linux/string.h>
35#include <linux/types.h> 35#include <linux/types.h>
36#include <linux/ptrace.h> 36#include <linux/ptrace.h>
37#include <linux/uaccess.h>
37 38
38/* 39/*
39 * This routine handles page faults. It determines the address, 40 * This routine handles page faults. It determines the address,
@@ -73,7 +74,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
73 * If we're in an interrupt or have no user 74 * If we're in an interrupt or have no user
74 * context, we must not take the fault.. 75 * context, we must not take the fault..
75 */ 76 */
76 if (in_atomic() || !mm) 77 if (pagefault_disabled() || !mm)
77 goto bad_area_nosemaphore; 78 goto bad_area_nosemaphore;
78 79
79 if (user_mode(regs)) 80 if (user_mode(regs))