diff options
114 files changed, 324 insertions, 1784 deletions
diff --git a/Documentation/RCU/rcu.txt b/Documentation/RCU/rcu.txt index bf778332a28f..745f429fda79 100644 --- a/Documentation/RCU/rcu.txt +++ b/Documentation/RCU/rcu.txt | |||
@@ -36,7 +36,7 @@ o How can the updater tell when a grace period has completed | |||
36 | executed in user mode, or executed in the idle loop, we can | 36 | executed in user mode, or executed in the idle loop, we can |
37 | safely free up that item. | 37 | safely free up that item. |
38 | 38 | ||
39 | Preemptible variants of RCU (CONFIG_TREE_PREEMPT_RCU) get the | 39 | Preemptible variants of RCU (CONFIG_PREEMPT_RCU) get the |
40 | same effect, but require that the readers manipulate CPU-local | 40 | same effect, but require that the readers manipulate CPU-local |
41 | counters. These counters allow limited types of blocking within | 41 | counters. These counters allow limited types of blocking within |
42 | RCU read-side critical sections. SRCU also uses CPU-local | 42 | RCU read-side critical sections. SRCU also uses CPU-local |
@@ -81,7 +81,7 @@ o I hear that RCU is patented? What is with that? | |||
81 | o I hear that RCU needs work in order to support realtime kernels? | 81 | o I hear that RCU needs work in order to support realtime kernels? |
82 | 82 | ||
83 | This work is largely completed. Realtime-friendly RCU can be | 83 | This work is largely completed. Realtime-friendly RCU can be |
84 | enabled via the CONFIG_TREE_PREEMPT_RCU kernel configuration | 84 | enabled via the CONFIG_PREEMPT_RCU kernel configuration |
85 | parameter. However, work is in progress for enabling priority | 85 | parameter. However, work is in progress for enabling priority |
86 | boosting of preempted RCU read-side critical sections. This is | 86 | boosting of preempted RCU read-side critical sections. This is |
87 | needed if you have CPU-bound realtime threads. | 87 | needed if you have CPU-bound realtime threads. |
diff --git a/Documentation/RCU/stallwarn.txt b/Documentation/RCU/stallwarn.txt index ef5a2fd4ff70..ed186a902d31 100644 --- a/Documentation/RCU/stallwarn.txt +++ b/Documentation/RCU/stallwarn.txt | |||
@@ -26,12 +26,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT | |||
26 | Stall-warning messages may be enabled and disabled completely via | 26 | Stall-warning messages may be enabled and disabled completely via |
27 | /sys/module/rcupdate/parameters/rcu_cpu_stall_suppress. | 27 | /sys/module/rcupdate/parameters/rcu_cpu_stall_suppress. |
28 | 28 | ||
29 | CONFIG_RCU_CPU_STALL_VERBOSE | ||
30 | |||
31 | This kernel configuration parameter causes the stall warning to | ||
32 | also dump the stacks of any tasks that are blocking the current | ||
33 | RCU-preempt grace period. | ||
34 | |||
35 | CONFIG_RCU_CPU_STALL_INFO | 29 | CONFIG_RCU_CPU_STALL_INFO |
36 | 30 | ||
37 | This kernel configuration parameter causes the stall warning to | 31 | This kernel configuration parameter causes the stall warning to |
@@ -77,7 +71,7 @@ This message indicates that CPU 5 detected that it was causing a stall, | |||
77 | and that the stall was affecting RCU-sched. This message will normally be | 71 | and that the stall was affecting RCU-sched. This message will normally be |
78 | followed by a stack dump of the offending CPU. On TREE_RCU kernel builds, | 72 | followed by a stack dump of the offending CPU. On TREE_RCU kernel builds, |
79 | RCU and RCU-sched are implemented by the same underlying mechanism, | 73 | RCU and RCU-sched are implemented by the same underlying mechanism, |
80 | while on TREE_PREEMPT_RCU kernel builds, RCU is instead implemented | 74 | while on PREEMPT_RCU kernel builds, RCU is instead implemented |
81 | by rcu_preempt_state. | 75 | by rcu_preempt_state. |
82 | 76 | ||
83 | On the other hand, if the offending CPU fails to print out a stall-warning | 77 | On the other hand, if the offending CPU fails to print out a stall-warning |
@@ -89,7 +83,7 @@ INFO: rcu_bh_state detected stalls on CPUs/tasks: { 3 5 } (detected by 2, 2502 j | |||
89 | This message indicates that CPU 2 detected that CPUs 3 and 5 were both | 83 | This message indicates that CPU 2 detected that CPUs 3 and 5 were both |
90 | causing stalls, and that the stall was affecting RCU-bh. This message | 84 | causing stalls, and that the stall was affecting RCU-bh. This message |
91 | will normally be followed by stack dumps for each CPU. Please note that | 85 | will normally be followed by stack dumps for each CPU. Please note that |
92 | TREE_PREEMPT_RCU builds can be stalled by tasks as well as by CPUs, | 86 | PREEMPT_RCU builds can be stalled by tasks as well as by CPUs, |
93 | and that the tasks will be indicated by PID, for example, "P3421". | 87 | and that the tasks will be indicated by PID, for example, "P3421". |
94 | It is even possible for a rcu_preempt_state stall to be caused by both | 88 | It is even possible for a rcu_preempt_state stall to be caused by both |
95 | CPUs -and- tasks, in which case the offending CPUs and tasks will all | 89 | CPUs -and- tasks, in which case the offending CPUs and tasks will all |
@@ -205,10 +199,10 @@ o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might | |||
205 | o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that | 199 | o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that |
206 | is running at a higher priority than the RCU softirq threads. | 200 | is running at a higher priority than the RCU softirq threads. |
207 | This will prevent RCU callbacks from ever being invoked, | 201 | This will prevent RCU callbacks from ever being invoked, |
208 | and in a CONFIG_TREE_PREEMPT_RCU kernel will further prevent | 202 | and in a CONFIG_PREEMPT_RCU kernel will further prevent |
209 | RCU grace periods from ever completing. Either way, the | 203 | RCU grace periods from ever completing. Either way, the |
210 | system will eventually run out of memory and hang. In the | 204 | system will eventually run out of memory and hang. In the |
211 | CONFIG_TREE_PREEMPT_RCU case, you might see stall-warning | 205 | CONFIG_PREEMPT_RCU case, you might see stall-warning |
212 | messages. | 206 | messages. |
213 | 207 | ||
214 | o A hardware or software issue shuts off the scheduler-clock | 208 | o A hardware or software issue shuts off the scheduler-clock |
diff --git a/Documentation/RCU/trace.txt b/Documentation/RCU/trace.txt index 910870b15acd..b63b9bb3bc0c 100644 --- a/Documentation/RCU/trace.txt +++ b/Documentation/RCU/trace.txt | |||
@@ -8,7 +8,7 @@ The following sections describe the debugfs files and formats, first | |||
8 | for rcutree and next for rcutiny. | 8 | for rcutree and next for rcutiny. |
9 | 9 | ||
10 | 10 | ||
11 | CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats | 11 | CONFIG_TREE_RCU and CONFIG_PREEMPT_RCU debugfs Files and Formats |
12 | 12 | ||
13 | These implementations of RCU provide several debugfs directories under the | 13 | These implementations of RCU provide several debugfs directories under the |
14 | top-level directory "rcu": | 14 | top-level directory "rcu": |
@@ -18,7 +18,7 @@ rcu/rcu_preempt | |||
18 | rcu/rcu_sched | 18 | rcu/rcu_sched |
19 | 19 | ||
20 | Each directory contains files for the corresponding flavor of RCU. | 20 | Each directory contains files for the corresponding flavor of RCU. |
21 | Note that rcu/rcu_preempt is only present for CONFIG_TREE_PREEMPT_RCU. | 21 | Note that rcu/rcu_preempt is only present for CONFIG_PREEMPT_RCU. |
22 | For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor, | 22 | For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor, |
23 | so that activity for both appears in rcu/rcu_sched. | 23 | so that activity for both appears in rcu/rcu_sched. |
24 | 24 | ||
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt index e48c57f1943b..88dfce182f66 100644 --- a/Documentation/RCU/whatisRCU.txt +++ b/Documentation/RCU/whatisRCU.txt | |||
@@ -137,7 +137,7 @@ rcu_read_lock() | |||
137 | Used by a reader to inform the reclaimer that the reader is | 137 | Used by a reader to inform the reclaimer that the reader is |
138 | entering an RCU read-side critical section. It is illegal | 138 | entering an RCU read-side critical section. It is illegal |
139 | to block while in an RCU read-side critical section, though | 139 | to block while in an RCU read-side critical section, though |
140 | kernels built with CONFIG_TREE_PREEMPT_RCU can preempt RCU | 140 | kernels built with CONFIG_PREEMPT_RCU can preempt RCU |
141 | read-side critical sections. Any RCU-protected data structure | 141 | read-side critical sections. Any RCU-protected data structure |
142 | accessed during an RCU read-side critical section is guaranteed to | 142 | accessed during an RCU read-side critical section is guaranteed to |
143 | remain unreclaimed for the full duration of that critical section. | 143 | remain unreclaimed for the full duration of that critical section. |
diff --git a/Documentation/atomic_ops.txt b/Documentation/atomic_ops.txt index 68542fe13b85..183e41bdcb69 100644 --- a/Documentation/atomic_ops.txt +++ b/Documentation/atomic_ops.txt | |||
@@ -7,12 +7,13 @@ | |||
7 | maintainers on how to implement atomic counter, bitops, and spinlock | 7 | maintainers on how to implement atomic counter, bitops, and spinlock |
8 | interfaces properly. | 8 | interfaces properly. |
9 | 9 | ||
10 | The atomic_t type should be defined as a signed integer. | 10 | The atomic_t type should be defined as a signed integer and |
11 | Also, it should be made opaque such that any kind of cast to a normal | 11 | the atomic_long_t type as a signed long integer. Also, they should |
12 | C integer type will fail. Something like the following should | 12 | be made opaque such that any kind of cast to a normal C integer type |
13 | suffice: | 13 | will fail. Something like the following should suffice: |
14 | 14 | ||
15 | typedef struct { int counter; } atomic_t; | 15 | typedef struct { int counter; } atomic_t; |
16 | typedef struct { long counter; } atomic_long_t; | ||
16 | 17 | ||
17 | Historically, counter has been declared volatile. This is now discouraged. | 18 | Historically, counter has been declared volatile. This is now discouraged. |
18 | See Documentation/volatile-considered-harmful.txt for the complete rationale. | 19 | See Documentation/volatile-considered-harmful.txt for the complete rationale. |
@@ -37,6 +38,9 @@ initializer is used before runtime. If the initializer is used at runtime, a | |||
37 | proper implicit or explicit read memory barrier is needed before reading the | 38 | proper implicit or explicit read memory barrier is needed before reading the |
38 | value with atomic_read from another thread. | 39 | value with atomic_read from another thread. |
39 | 40 | ||
41 | As with all of the atomic_ interfaces, replace the leading "atomic_" | ||
42 | with "atomic_long_" to operate on atomic_long_t. | ||
43 | |||
40 | The second interface can be used at runtime, as in: | 44 | The second interface can be used at runtime, as in: |
41 | 45 | ||
42 | struct foo { atomic_t counter; }; | 46 | struct foo { atomic_t counter; }; |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 7dbe5ec9d9cd..92cdec9834cb 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2922,6 +2922,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2922 | quiescent states. Units are jiffies, minimum | 2922 | quiescent states. Units are jiffies, minimum |
2923 | value is one, and maximum value is HZ. | 2923 | value is one, and maximum value is HZ. |
2924 | 2924 | ||
2925 | rcutree.kthread_prio= [KNL,BOOT] | ||
2926 | Set the SCHED_FIFO priority of the RCU | ||
2927 | per-CPU kthreads (rcuc/N). This value is also | ||
2928 | used for the priority of the RCU boost threads | ||
2929 | (rcub/N). Valid values are 1-99 and the default | ||
2930 | is 1 (the least-favored priority). | ||
2931 | |||
2925 | rcutree.rcu_nocb_leader_stride= [KNL] | 2932 | rcutree.rcu_nocb_leader_stride= [KNL] |
2926 | Set the number of NOCB kthread groups, which | 2933 | Set the number of NOCB kthread groups, which |
2927 | defaults to the square root of the number of | 2934 | defaults to the square root of the number of |
@@ -3071,6 +3078,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
3071 | messages. Disable with a value less than or equal | 3078 | messages. Disable with a value less than or equal |
3072 | to zero. | 3079 | to zero. |
3073 | 3080 | ||
3081 | rcupdate.rcu_self_test= [KNL] | ||
3082 | Run the RCU early boot self tests | ||
3083 | |||
3084 | rcupdate.rcu_self_test_bh= [KNL] | ||
3085 | Run the RCU bh early boot self tests | ||
3086 | |||
3087 | rcupdate.rcu_self_test_sched= [KNL] | ||
3088 | Run the RCU sched early boot self tests | ||
3089 | |||
3074 | rdinit= [KNL] | 3090 | rdinit= [KNL] |
3075 | Format: <full_path> | 3091 | Format: <full_path> |
3076 | Run specified binary instead of /init from the ramdisk, | 3092 | Run specified binary instead of /init from the ramdisk, |
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 22a969cdd476..f7fa63508aba 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt | |||
@@ -121,22 +121,22 @@ For example, consider the following sequence of events: | |||
121 | The set of accesses as seen by the memory system in the middle can be arranged | 121 | The set of accesses as seen by the memory system in the middle can be arranged |
122 | in 24 different combinations: | 122 | in 24 different combinations: |
123 | 123 | ||
124 | STORE A=3, STORE B=4, x=LOAD A->3, y=LOAD B->4 | 124 | STORE A=3, STORE B=4, y=LOAD A->3, x=LOAD B->4 |
125 | STORE A=3, STORE B=4, y=LOAD B->4, x=LOAD A->3 | 125 | STORE A=3, STORE B=4, x=LOAD B->4, y=LOAD A->3 |
126 | STORE A=3, x=LOAD A->3, STORE B=4, y=LOAD B->4 | 126 | STORE A=3, y=LOAD A->3, STORE B=4, x=LOAD B->4 |
127 | STORE A=3, x=LOAD A->3, y=LOAD B->2, STORE B=4 | 127 | STORE A=3, y=LOAD A->3, x=LOAD B->2, STORE B=4 |
128 | STORE A=3, y=LOAD B->2, STORE B=4, x=LOAD A->3 | 128 | STORE A=3, x=LOAD B->2, STORE B=4, y=LOAD A->3 |
129 | STORE A=3, y=LOAD B->2, x=LOAD A->3, STORE B=4 | 129 | STORE A=3, x=LOAD B->2, y=LOAD A->3, STORE B=4 |
130 | STORE B=4, STORE A=3, x=LOAD A->3, y=LOAD B->4 | 130 | STORE B=4, STORE A=3, y=LOAD A->3, x=LOAD B->4 |
131 | STORE B=4, ... | 131 | STORE B=4, ... |
132 | ... | 132 | ... |
133 | 133 | ||
134 | and can thus result in four different combinations of values: | 134 | and can thus result in four different combinations of values: |
135 | 135 | ||
136 | x == 1, y == 2 | 136 | x == 2, y == 1 |
137 | x == 1, y == 4 | 137 | x == 2, y == 3 |
138 | x == 3, y == 2 | 138 | x == 4, y == 1 |
139 | x == 3, y == 4 | 139 | x == 4, y == 3 |
140 | 140 | ||
141 | 141 | ||
142 | Furthermore, the stores committed by a CPU to the memory system may not be | 142 | Furthermore, the stores committed by a CPU to the memory system may not be |
@@ -694,6 +694,24 @@ Please note once again that the stores to 'b' differ. If they were | |||
694 | identical, as noted earlier, the compiler could pull this store outside | 694 | identical, as noted earlier, the compiler could pull this store outside |
695 | of the 'if' statement. | 695 | of the 'if' statement. |
696 | 696 | ||
697 | You must also be careful not to rely too much on boolean short-circuit | ||
698 | evaluation. Consider this example: | ||
699 | |||
700 | q = ACCESS_ONCE(a); | ||
701 | if (a || 1 > 0) | ||
702 | ACCESS_ONCE(b) = 1; | ||
703 | |||
704 | Because the second condition is always true, the compiler can transform | ||
705 | this example as following, defeating control dependency: | ||
706 | |||
707 | q = ACCESS_ONCE(a); | ||
708 | ACCESS_ONCE(b) = 1; | ||
709 | |||
710 | This example underscores the need to ensure that the compiler cannot | ||
711 | out-guess your code. More generally, although ACCESS_ONCE() does force | ||
712 | the compiler to actually emit code for a given load, it does not force | ||
713 | the compiler to use the results. | ||
714 | |||
697 | Finally, control dependencies do -not- provide transitivity. This is | 715 | Finally, control dependencies do -not- provide transitivity. This is |
698 | demonstrated by two related examples, with the initial values of | 716 | demonstrated by two related examples, with the initial values of |
699 | x and y both being zero: | 717 | x and y both being zero: |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 77fc43f8fb72..d996aef8044f 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -102,7 +102,7 @@ extern struct group_info init_groups; | |||
102 | #define INIT_IDS | 102 | #define INIT_IDS |
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | #ifdef CONFIG_TREE_PREEMPT_RCU | 105 | #ifdef CONFIG_PREEMPT_RCU |
106 | #define INIT_TASK_RCU_TREE_PREEMPT() \ | 106 | #define INIT_TASK_RCU_TREE_PREEMPT() \ |
107 | .rcu_blocked_node = NULL, | 107 | .rcu_blocked_node = NULL, |
108 | #else | 108 | #else |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 4eb810832b19..9575c2d403b5 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -57,7 +57,7 @@ enum rcutorture_type { | |||
57 | INVALID_RCU_FLAVOR | 57 | INVALID_RCU_FLAVOR |
58 | }; | 58 | }; |
59 | 59 | ||
60 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) | 60 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) |
61 | void rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags, | 61 | void rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags, |
62 | unsigned long *gpnum, unsigned long *completed); | 62 | unsigned long *gpnum, unsigned long *completed); |
63 | void rcutorture_record_test_transition(void); | 63 | void rcutorture_record_test_transition(void); |
@@ -348,8 +348,8 @@ extern struct srcu_struct tasks_rcu_exit_srcu; | |||
348 | */ | 348 | */ |
349 | #define cond_resched_rcu_qs() \ | 349 | #define cond_resched_rcu_qs() \ |
350 | do { \ | 350 | do { \ |
351 | rcu_note_voluntary_context_switch(current); \ | 351 | if (!cond_resched()) \ |
352 | cond_resched(); \ | 352 | rcu_note_voluntary_context_switch(current); \ |
353 | } while (0) | 353 | } while (0) |
354 | 354 | ||
355 | #if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) || defined(CONFIG_SMP) | 355 | #if defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_RCU_TRACE) || defined(CONFIG_SMP) |
@@ -365,7 +365,7 @@ typedef void call_rcu_func_t(struct rcu_head *head, | |||
365 | void (*func)(struct rcu_head *head)); | 365 | void (*func)(struct rcu_head *head)); |
366 | void wait_rcu_gp(call_rcu_func_t crf); | 366 | void wait_rcu_gp(call_rcu_func_t crf); |
367 | 367 | ||
368 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) | 368 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) |
369 | #include <linux/rcutree.h> | 369 | #include <linux/rcutree.h> |
370 | #elif defined(CONFIG_TINY_RCU) | 370 | #elif defined(CONFIG_TINY_RCU) |
371 | #include <linux/rcutiny.h> | 371 | #include <linux/rcutiny.h> |
@@ -852,7 +852,7 @@ static inline void rcu_preempt_sleep_check(void) | |||
852 | * | 852 | * |
853 | * In non-preemptible RCU implementations (TREE_RCU and TINY_RCU), | 853 | * In non-preemptible RCU implementations (TREE_RCU and TINY_RCU), |
854 | * it is illegal to block while in an RCU read-side critical section. | 854 | * it is illegal to block while in an RCU read-side critical section. |
855 | * In preemptible RCU implementations (TREE_PREEMPT_RCU) in CONFIG_PREEMPT | 855 | * In preemptible RCU implementations (PREEMPT_RCU) in CONFIG_PREEMPT |
856 | * kernel builds, RCU read-side critical sections may be preempted, | 856 | * kernel builds, RCU read-side critical sections may be preempted, |
857 | * but explicit blocking is illegal. Finally, in preemptible RCU | 857 | * but explicit blocking is illegal. Finally, in preemptible RCU |
858 | * implementations in real-time (with -rt patchset) kernel builds, RCU | 858 | * implementations in real-time (with -rt patchset) kernel builds, RCU |
@@ -887,7 +887,9 @@ static inline void rcu_read_lock(void) | |||
887 | * Unfortunately, this function acquires the scheduler's runqueue and | 887 | * Unfortunately, this function acquires the scheduler's runqueue and |
888 | * priority-inheritance spinlocks. This means that deadlock could result | 888 | * priority-inheritance spinlocks. This means that deadlock could result |
889 | * if the caller of rcu_read_unlock() already holds one of these locks or | 889 | * if the caller of rcu_read_unlock() already holds one of these locks or |
890 | * any lock that is ever acquired while holding them. | 890 | * any lock that is ever acquired while holding them; or any lock which |
891 | * can be taken from interrupt context because rcu_boost()->rt_mutex_lock() | ||
892 | * does not disable irqs while taking ->wait_lock. | ||
891 | * | 893 | * |
892 | * That said, RCU readers are never priority boosted unless they were | 894 | * That said, RCU readers are never priority boosted unless they were |
893 | * preempted. Therefore, one way to avoid deadlock is to make sure | 895 | * preempted. Therefore, one way to avoid deadlock is to make sure |
@@ -1047,6 +1049,7 @@ static inline notrace void rcu_read_unlock_sched_notrace(void) | |||
1047 | */ | 1049 | */ |
1048 | #define RCU_INIT_POINTER(p, v) \ | 1050 | #define RCU_INIT_POINTER(p, v) \ |
1049 | do { \ | 1051 | do { \ |
1052 | rcu_dereference_sparse(p, __rcu); \ | ||
1050 | p = RCU_INITIALIZER(v); \ | 1053 | p = RCU_INITIALIZER(v); \ |
1051 | } while (0) | 1054 | } while (0) |
1052 | 1055 | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index 5e344bbe63ec..706a9f744909 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1278,9 +1278,9 @@ struct task_struct { | |||
1278 | union rcu_special rcu_read_unlock_special; | 1278 | union rcu_special rcu_read_unlock_special; |
1279 | struct list_head rcu_node_entry; | 1279 | struct list_head rcu_node_entry; |
1280 | #endif /* #ifdef CONFIG_PREEMPT_RCU */ | 1280 | #endif /* #ifdef CONFIG_PREEMPT_RCU */ |
1281 | #ifdef CONFIG_TREE_PREEMPT_RCU | 1281 | #ifdef CONFIG_PREEMPT_RCU |
1282 | struct rcu_node *rcu_blocked_node; | 1282 | struct rcu_node *rcu_blocked_node; |
1283 | #endif /* #ifdef CONFIG_TREE_PREEMPT_RCU */ | 1283 | #endif /* #ifdef CONFIG_PREEMPT_RCU */ |
1284 | #ifdef CONFIG_TASKS_RCU | 1284 | #ifdef CONFIG_TASKS_RCU |
1285 | unsigned long rcu_tasks_nvcsw; | 1285 | unsigned long rcu_tasks_nvcsw; |
1286 | bool rcu_tasks_holdout; | 1286 | bool rcu_tasks_holdout; |
diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index e335e7d8c6c2..c78e88ce5ea3 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h | |||
@@ -36,7 +36,7 @@ TRACE_EVENT(rcu_utilization, | |||
36 | 36 | ||
37 | #ifdef CONFIG_RCU_TRACE | 37 | #ifdef CONFIG_RCU_TRACE |
38 | 38 | ||
39 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) | 39 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * Tracepoint for grace-period events. Takes a string identifying the | 42 | * Tracepoint for grace-period events. Takes a string identifying the |
@@ -345,7 +345,7 @@ TRACE_EVENT(rcu_fqs, | |||
345 | __entry->cpu, __entry->qsevent) | 345 | __entry->cpu, __entry->qsevent) |
346 | ); | 346 | ); |
347 | 347 | ||
348 | #endif /* #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) */ | 348 | #endif /* #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) */ |
349 | 349 | ||
350 | /* | 350 | /* |
351 | * Tracepoint for dyntick-idle entry/exit events. These take a string | 351 | * Tracepoint for dyntick-idle entry/exit events. These take a string |
diff --git a/init/Kconfig b/init/Kconfig index 3ee28ae02cc8..5ac596e2cb4b 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -477,7 +477,7 @@ config TREE_RCU | |||
477 | thousands of CPUs. It also scales down nicely to | 477 | thousands of CPUs. It also scales down nicely to |
478 | smaller systems. | 478 | smaller systems. |
479 | 479 | ||
480 | config TREE_PREEMPT_RCU | 480 | config PREEMPT_RCU |
481 | bool "Preemptible tree-based hierarchical RCU" | 481 | bool "Preemptible tree-based hierarchical RCU" |
482 | depends on PREEMPT | 482 | depends on PREEMPT |
483 | select IRQ_WORK | 483 | select IRQ_WORK |
@@ -501,12 +501,6 @@ config TINY_RCU | |||
501 | 501 | ||
502 | endchoice | 502 | endchoice |
503 | 503 | ||
504 | config PREEMPT_RCU | ||
505 | def_bool TREE_PREEMPT_RCU | ||
506 | help | ||
507 | This option enables preemptible-RCU code that is common between | ||
508 | TREE_PREEMPT_RCU and, in the old days, TINY_PREEMPT_RCU. | ||
509 | |||
510 | config TASKS_RCU | 504 | config TASKS_RCU |
511 | bool "Task_based RCU implementation using voluntary context switch" | 505 | bool "Task_based RCU implementation using voluntary context switch" |
512 | default n | 506 | default n |
@@ -518,7 +512,7 @@ config TASKS_RCU | |||
518 | If unsure, say N. | 512 | If unsure, say N. |
519 | 513 | ||
520 | config RCU_STALL_COMMON | 514 | config RCU_STALL_COMMON |
521 | def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE ) | 515 | def_bool ( TREE_RCU || PREEMPT_RCU || RCU_TRACE ) |
522 | help | 516 | help |
523 | This option enables RCU CPU stall code that is common between | 517 | This option enables RCU CPU stall code that is common between |
524 | the TINY and TREE variants of RCU. The purpose is to allow | 518 | the TINY and TREE variants of RCU. The purpose is to allow |
@@ -576,7 +570,7 @@ config RCU_FANOUT | |||
576 | int "Tree-based hierarchical RCU fanout value" | 570 | int "Tree-based hierarchical RCU fanout value" |
577 | range 2 64 if 64BIT | 571 | range 2 64 if 64BIT |
578 | range 2 32 if !64BIT | 572 | range 2 32 if !64BIT |
579 | depends on TREE_RCU || TREE_PREEMPT_RCU | 573 | depends on TREE_RCU || PREEMPT_RCU |
580 | default 64 if 64BIT | 574 | default 64 if 64BIT |
581 | default 32 if !64BIT | 575 | default 32 if !64BIT |
582 | help | 576 | help |
@@ -596,7 +590,7 @@ config RCU_FANOUT_LEAF | |||
596 | int "Tree-based hierarchical RCU leaf-level fanout value" | 590 | int "Tree-based hierarchical RCU leaf-level fanout value" |
597 | range 2 RCU_FANOUT if 64BIT | 591 | range 2 RCU_FANOUT if 64BIT |
598 | range 2 RCU_FANOUT if !64BIT | 592 | range 2 RCU_FANOUT if !64BIT |
599 | depends on TREE_RCU || TREE_PREEMPT_RCU | 593 | depends on TREE_RCU || PREEMPT_RCU |
600 | default 16 | 594 | default 16 |
601 | help | 595 | help |
602 | This option controls the leaf-level fanout of hierarchical | 596 | This option controls the leaf-level fanout of hierarchical |
@@ -621,7 +615,7 @@ config RCU_FANOUT_LEAF | |||
621 | 615 | ||
622 | config RCU_FANOUT_EXACT | 616 | config RCU_FANOUT_EXACT |
623 | bool "Disable tree-based hierarchical RCU auto-balancing" | 617 | bool "Disable tree-based hierarchical RCU auto-balancing" |
624 | depends on TREE_RCU || TREE_PREEMPT_RCU | 618 | depends on TREE_RCU || PREEMPT_RCU |
625 | default n | 619 | default n |
626 | help | 620 | help |
627 | This option forces use of the exact RCU_FANOUT value specified, | 621 | This option forces use of the exact RCU_FANOUT value specified, |
@@ -652,11 +646,11 @@ config RCU_FAST_NO_HZ | |||
652 | Say N if you are unsure. | 646 | Say N if you are unsure. |
653 | 647 | ||
654 | config TREE_RCU_TRACE | 648 | config TREE_RCU_TRACE |
655 | def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU ) | 649 | def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU ) |
656 | select DEBUG_FS | 650 | select DEBUG_FS |
657 | help | 651 | help |
658 | This option provides tracing for the TREE_RCU and | 652 | This option provides tracing for the TREE_RCU and |
659 | TREE_PREEMPT_RCU implementations, permitting Makefile to | 653 | PREEMPT_RCU implementations, permitting Makefile to |
660 | trivially select kernel/rcutree_trace.c. | 654 | trivially select kernel/rcutree_trace.c. |
661 | 655 | ||
662 | config RCU_BOOST | 656 | config RCU_BOOST |
@@ -672,30 +666,31 @@ config RCU_BOOST | |||
672 | Say Y here if you are working with real-time apps or heavy loads | 666 | Say Y here if you are working with real-time apps or heavy loads |
673 | Say N here if you are unsure. | 667 | Say N here if you are unsure. |
674 | 668 | ||
675 | config RCU_BOOST_PRIO | 669 | config RCU_KTHREAD_PRIO |
676 | int "Real-time priority to boost RCU readers to" | 670 | int "Real-time priority to use for RCU worker threads" |
677 | range 1 99 | 671 | range 1 99 |
678 | depends on RCU_BOOST | 672 | depends on RCU_BOOST |
679 | default 1 | 673 | default 1 |
680 | help | 674 | help |
681 | This option specifies the real-time priority to which long-term | 675 | This option specifies the SCHED_FIFO priority value that will be |
682 | preempted RCU readers are to be boosted. If you are working | 676 | assigned to the rcuc/n and rcub/n threads and is also the value |
683 | with a real-time application that has one or more CPU-bound | 677 | used for RCU_BOOST (if enabled). If you are working with a |
684 | threads running at a real-time priority level, you should set | 678 | real-time application that has one or more CPU-bound threads |
685 | RCU_BOOST_PRIO to a priority higher then the highest-priority | 679 | running at a real-time priority level, you should set |
686 | real-time CPU-bound thread. The default RCU_BOOST_PRIO value | 680 | RCU_KTHREAD_PRIO to a priority higher than the highest-priority |
687 | of 1 is appropriate in the common case, which is real-time | 681 | real-time CPU-bound application thread. The default RCU_KTHREAD_PRIO |
682 | value of 1 is appropriate in the common case, which is real-time | ||
688 | applications that do not have any CPU-bound threads. | 683 | applications that do not have any CPU-bound threads. |
689 | 684 | ||
690 | Some real-time applications might not have a single real-time | 685 | Some real-time applications might not have a single real-time |
691 | thread that saturates a given CPU, but instead might have | 686 | thread that saturates a given CPU, but instead might have |
692 | multiple real-time threads that, taken together, fully utilize | 687 | multiple real-time threads that, taken together, fully utilize |
693 | that CPU. In this case, you should set RCU_BOOST_PRIO to | 688 | that CPU. In this case, you should set RCU_KTHREAD_PRIO to |
694 | a priority higher than the lowest-priority thread that is | 689 | a priority higher than the lowest-priority thread that is |
695 | conspiring to prevent the CPU from running any non-real-time | 690 | conspiring to prevent the CPU from running any non-real-time |
696 | tasks. For example, if one thread at priority 10 and another | 691 | tasks. For example, if one thread at priority 10 and another |
697 | thread at priority 5 are between themselves fully consuming | 692 | thread at priority 5 are between themselves fully consuming |
698 | the CPU time on a given CPU, then RCU_BOOST_PRIO should be | 693 | the CPU time on a given CPU, then RCU_KTHREAD_PRIO should be |
699 | set to priority 6 or higher. | 694 | set to priority 6 or higher. |
700 | 695 | ||
701 | Specify the real-time priority, or take the default if unsure. | 696 | Specify the real-time priority, or take the default if unsure. |
@@ -715,7 +710,7 @@ config RCU_BOOST_DELAY | |||
715 | 710 | ||
716 | config RCU_NOCB_CPU | 711 | config RCU_NOCB_CPU |
717 | bool "Offload RCU callback processing from boot-selected CPUs" | 712 | bool "Offload RCU callback processing from boot-selected CPUs" |
718 | depends on TREE_RCU || TREE_PREEMPT_RCU | 713 | depends on TREE_RCU || PREEMPT_RCU |
719 | default n | 714 | default n |
720 | help | 715 | help |
721 | Use this option to reduce OS jitter for aggressive HPC or | 716 | Use this option to reduce OS jitter for aggressive HPC or |
@@ -739,6 +734,7 @@ config RCU_NOCB_CPU | |||
739 | choice | 734 | choice |
740 | prompt "Build-forced no-CBs CPUs" | 735 | prompt "Build-forced no-CBs CPUs" |
741 | default RCU_NOCB_CPU_NONE | 736 | default RCU_NOCB_CPU_NONE |
737 | depends on RCU_NOCB_CPU | ||
742 | help | 738 | help |
743 | This option allows no-CBs CPUs (whose RCU callbacks are invoked | 739 | This option allows no-CBs CPUs (whose RCU callbacks are invoked |
744 | from kthreads rather than from softirq context) to be specified | 740 | from kthreads rather than from softirq context) to be specified |
@@ -747,7 +743,6 @@ choice | |||
747 | 743 | ||
748 | config RCU_NOCB_CPU_NONE | 744 | config RCU_NOCB_CPU_NONE |
749 | bool "No build_forced no-CBs CPUs" | 745 | bool "No build_forced no-CBs CPUs" |
750 | depends on RCU_NOCB_CPU | ||
751 | help | 746 | help |
752 | This option does not force any of the CPUs to be no-CBs CPUs. | 747 | This option does not force any of the CPUs to be no-CBs CPUs. |
753 | Only CPUs designated by the rcu_nocbs= boot parameter will be | 748 | Only CPUs designated by the rcu_nocbs= boot parameter will be |
@@ -761,7 +756,6 @@ config RCU_NOCB_CPU_NONE | |||
761 | 756 | ||
762 | config RCU_NOCB_CPU_ZERO | 757 | config RCU_NOCB_CPU_ZERO |
763 | bool "CPU 0 is a build_forced no-CBs CPU" | 758 | bool "CPU 0 is a build_forced no-CBs CPU" |
764 | depends on RCU_NOCB_CPU | ||
765 | help | 759 | help |
766 | This option forces CPU 0 to be a no-CBs CPU, so that its RCU | 760 | This option forces CPU 0 to be a no-CBs CPU, so that its RCU |
767 | callbacks are invoked by a per-CPU kthread whose name begins | 761 | callbacks are invoked by a per-CPU kthread whose name begins |
@@ -776,7 +770,6 @@ config RCU_NOCB_CPU_ZERO | |||
776 | 770 | ||
777 | config RCU_NOCB_CPU_ALL | 771 | config RCU_NOCB_CPU_ALL |
778 | bool "All CPUs are build_forced no-CBs CPUs" | 772 | bool "All CPUs are build_forced no-CBs CPUs" |
779 | depends on RCU_NOCB_CPU | ||
780 | help | 773 | help |
781 | This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs= | 774 | This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs= |
782 | boot parameter will be ignored. All CPUs' RCU callbacks will | 775 | boot parameter will be ignored. All CPUs' RCU callbacks will |
diff --git a/kernel/fork.c b/kernel/fork.c index 9b7d746d6d62..9ca84189cfc2 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1022,11 +1022,14 @@ void __cleanup_sighand(struct sighand_struct *sighand) | |||
1022 | { | 1022 | { |
1023 | if (atomic_dec_and_test(&sighand->count)) { | 1023 | if (atomic_dec_and_test(&sighand->count)) { |
1024 | signalfd_cleanup(sighand); | 1024 | signalfd_cleanup(sighand); |
1025 | /* | ||
1026 | * sighand_cachep is SLAB_DESTROY_BY_RCU so we can free it | ||
1027 | * without an RCU grace period, see __lock_task_sighand(). | ||
1028 | */ | ||
1025 | kmem_cache_free(sighand_cachep, sighand); | 1029 | kmem_cache_free(sighand_cachep, sighand); |
1026 | } | 1030 | } |
1027 | } | 1031 | } |
1028 | 1032 | ||
1029 | |||
1030 | /* | 1033 | /* |
1031 | * Initialize POSIX timer handling for a thread group. | 1034 | * Initialize POSIX timer handling for a thread group. |
1032 | */ | 1035 | */ |
diff --git a/kernel/rcu/Makefile b/kernel/rcu/Makefile index 807ccfbf69b3..e6fae503d1bc 100644 --- a/kernel/rcu/Makefile +++ b/kernel/rcu/Makefile | |||
@@ -1,6 +1,6 @@ | |||
1 | obj-y += update.o srcu.o | 1 | obj-y += update.o srcu.o |
2 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o | 2 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o |
3 | obj-$(CONFIG_TREE_RCU) += tree.o | 3 | obj-$(CONFIG_TREE_RCU) += tree.o |
4 | obj-$(CONFIG_TREE_PREEMPT_RCU) += tree.o | 4 | obj-$(CONFIG_PREEMPT_RCU) += tree.o |
5 | obj-$(CONFIG_TREE_RCU_TRACE) += tree_trace.o | 5 | obj-$(CONFIG_TREE_RCU_TRACE) += tree_trace.o |
6 | obj-$(CONFIG_TINY_RCU) += tiny.o | 6 | obj-$(CONFIG_TINY_RCU) += tiny.o |
diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index ff1a6de62f17..07bb02eda844 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h | |||
@@ -135,4 +135,6 @@ int rcu_jiffies_till_stall_check(void); | |||
135 | */ | 135 | */ |
136 | #define TPS(x) tracepoint_string(x) | 136 | #define TPS(x) tracepoint_string(x) |
137 | 137 | ||
138 | void rcu_early_boot_tests(void); | ||
139 | |||
138 | #endif /* __LINUX_RCU_H */ | 140 | #endif /* __LINUX_RCU_H */ |
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 240fa9094f83..4d559baf06e0 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c | |||
@@ -812,6 +812,7 @@ rcu_torture_cbflood(void *arg) | |||
812 | cur_ops->cb_barrier(); | 812 | cur_ops->cb_barrier(); |
813 | stutter_wait("rcu_torture_cbflood"); | 813 | stutter_wait("rcu_torture_cbflood"); |
814 | } while (!torture_must_stop()); | 814 | } while (!torture_must_stop()); |
815 | vfree(rhp); | ||
815 | torture_kthread_stopping("rcu_torture_cbflood"); | 816 | torture_kthread_stopping("rcu_torture_cbflood"); |
816 | return 0; | 817 | return 0; |
817 | } | 818 | } |
diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c index 01570c68d237..0db5649f8817 100644 --- a/kernel/rcu/tiny.c +++ b/kernel/rcu/tiny.c | |||
@@ -380,7 +380,9 @@ void call_rcu_bh(struct rcu_head *head, void (*func)(struct rcu_head *rcu)) | |||
380 | } | 380 | } |
381 | EXPORT_SYMBOL_GPL(call_rcu_bh); | 381 | EXPORT_SYMBOL_GPL(call_rcu_bh); |
382 | 382 | ||
383 | void rcu_init(void) | 383 | void __init rcu_init(void) |
384 | { | 384 | { |
385 | open_softirq(RCU_SOFTIRQ, rcu_process_callbacks); | 385 | open_softirq(RCU_SOFTIRQ, rcu_process_callbacks); |
386 | |||
387 | rcu_early_boot_tests(); | ||
386 | } | 388 | } |
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index fa76fd3c219c..7680fc275036 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -152,19 +152,6 @@ EXPORT_SYMBOL_GPL(rcu_scheduler_active); | |||
152 | */ | 152 | */ |
153 | static int rcu_scheduler_fully_active __read_mostly; | 153 | static int rcu_scheduler_fully_active __read_mostly; |
154 | 154 | ||
155 | #ifdef CONFIG_RCU_BOOST | ||
156 | |||
157 | /* | ||
158 | * Control variables for per-CPU and per-rcu_node kthreads. These | ||
159 | * handle all flavors of RCU. | ||
160 | */ | ||
161 | static DEFINE_PER_CPU(struct task_struct *, rcu_cpu_kthread_task); | ||
162 | DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_status); | ||
163 | DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_loops); | ||
164 | DEFINE_PER_CPU(char, rcu_cpu_has_work); | ||
165 | |||
166 | #endif /* #ifdef CONFIG_RCU_BOOST */ | ||
167 | |||
168 | static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu); | 155 | static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu); |
169 | static void invoke_rcu_core(void); | 156 | static void invoke_rcu_core(void); |
170 | static void invoke_rcu_callbacks(struct rcu_state *rsp, struct rcu_data *rdp); | 157 | static void invoke_rcu_callbacks(struct rcu_state *rsp, struct rcu_data *rdp); |
@@ -2964,6 +2951,9 @@ static int synchronize_sched_expedited_cpu_stop(void *data) | |||
2964 | */ | 2951 | */ |
2965 | void synchronize_sched_expedited(void) | 2952 | void synchronize_sched_expedited(void) |
2966 | { | 2953 | { |
2954 | cpumask_var_t cm; | ||
2955 | bool cma = false; | ||
2956 | int cpu; | ||
2967 | long firstsnap, s, snap; | 2957 | long firstsnap, s, snap; |
2968 | int trycount = 0; | 2958 | int trycount = 0; |
2969 | struct rcu_state *rsp = &rcu_sched_state; | 2959 | struct rcu_state *rsp = &rcu_sched_state; |
@@ -2998,11 +2988,26 @@ void synchronize_sched_expedited(void) | |||
2998 | } | 2988 | } |
2999 | WARN_ON_ONCE(cpu_is_offline(raw_smp_processor_id())); | 2989 | WARN_ON_ONCE(cpu_is_offline(raw_smp_processor_id())); |
3000 | 2990 | ||
2991 | /* Offline CPUs, idle CPUs, and any CPU we run on are quiescent. */ | ||
2992 | cma = zalloc_cpumask_var(&cm, GFP_KERNEL); | ||
2993 | if (cma) { | ||
2994 | cpumask_copy(cm, cpu_online_mask); | ||
2995 | cpumask_clear_cpu(raw_smp_processor_id(), cm); | ||
2996 | for_each_cpu(cpu, cm) { | ||
2997 | struct rcu_dynticks *rdtp = &per_cpu(rcu_dynticks, cpu); | ||
2998 | |||
2999 | if (!(atomic_add_return(0, &rdtp->dynticks) & 0x1)) | ||
3000 | cpumask_clear_cpu(cpu, cm); | ||
3001 | } | ||
3002 | if (cpumask_weight(cm) == 0) | ||
3003 | goto all_cpus_idle; | ||
3004 | } | ||
3005 | |||
3001 | /* | 3006 | /* |
3002 | * Each pass through the following loop attempts to force a | 3007 | * Each pass through the following loop attempts to force a |
3003 | * context switch on each CPU. | 3008 | * context switch on each CPU. |
3004 | */ | 3009 | */ |
3005 | while (try_stop_cpus(cpu_online_mask, | 3010 | while (try_stop_cpus(cma ? cm : cpu_online_mask, |
3006 | synchronize_sched_expedited_cpu_stop, | 3011 | synchronize_sched_expedited_cpu_stop, |
3007 | NULL) == -EAGAIN) { | 3012 | NULL) == -EAGAIN) { |
3008 | put_online_cpus(); | 3013 | put_online_cpus(); |
@@ -3014,6 +3019,7 @@ void synchronize_sched_expedited(void) | |||
3014 | /* ensure test happens before caller kfree */ | 3019 | /* ensure test happens before caller kfree */ |
3015 | smp_mb__before_atomic(); /* ^^^ */ | 3020 | smp_mb__before_atomic(); /* ^^^ */ |
3016 | atomic_long_inc(&rsp->expedited_workdone1); | 3021 | atomic_long_inc(&rsp->expedited_workdone1); |
3022 | free_cpumask_var(cm); | ||
3017 | return; | 3023 | return; |
3018 | } | 3024 | } |
3019 | 3025 | ||
@@ -3023,6 +3029,7 @@ void synchronize_sched_expedited(void) | |||
3023 | } else { | 3029 | } else { |
3024 | wait_rcu_gp(call_rcu_sched); | 3030 | wait_rcu_gp(call_rcu_sched); |
3025 | atomic_long_inc(&rsp->expedited_normal); | 3031 | atomic_long_inc(&rsp->expedited_normal); |
3032 | free_cpumask_var(cm); | ||
3026 | return; | 3033 | return; |
3027 | } | 3034 | } |
3028 | 3035 | ||
@@ -3032,6 +3039,7 @@ void synchronize_sched_expedited(void) | |||
3032 | /* ensure test happens before caller kfree */ | 3039 | /* ensure test happens before caller kfree */ |
3033 | smp_mb__before_atomic(); /* ^^^ */ | 3040 | smp_mb__before_atomic(); /* ^^^ */ |
3034 | atomic_long_inc(&rsp->expedited_workdone2); | 3041 | atomic_long_inc(&rsp->expedited_workdone2); |
3042 | free_cpumask_var(cm); | ||
3035 | return; | 3043 | return; |
3036 | } | 3044 | } |
3037 | 3045 | ||
@@ -3046,6 +3054,7 @@ void synchronize_sched_expedited(void) | |||
3046 | /* CPU hotplug operation in flight, use normal GP. */ | 3054 | /* CPU hotplug operation in flight, use normal GP. */ |
3047 | wait_rcu_gp(call_rcu_sched); | 3055 | wait_rcu_gp(call_rcu_sched); |
3048 | atomic_long_inc(&rsp->expedited_normal); | 3056 | atomic_long_inc(&rsp->expedited_normal); |
3057 | free_cpumask_var(cm); | ||
3049 | return; | 3058 | return; |
3050 | } | 3059 | } |
3051 | snap = atomic_long_read(&rsp->expedited_start); | 3060 | snap = atomic_long_read(&rsp->expedited_start); |
@@ -3053,6 +3062,9 @@ void synchronize_sched_expedited(void) | |||
3053 | } | 3062 | } |
3054 | atomic_long_inc(&rsp->expedited_stoppedcpus); | 3063 | atomic_long_inc(&rsp->expedited_stoppedcpus); |
3055 | 3064 | ||
3065 | all_cpus_idle: | ||
3066 | free_cpumask_var(cm); | ||
3067 | |||
3056 | /* | 3068 | /* |
3057 | * Everyone up to our most recent fetch is covered by our grace | 3069 | * Everyone up to our most recent fetch is covered by our grace |
3058 | * period. Update the counter, but only if our work is still | 3070 | * period. Update the counter, but only if our work is still |
@@ -3486,8 +3498,10 @@ static int rcu_cpu_notify(struct notifier_block *self, | |||
3486 | case CPU_DEAD_FROZEN: | 3498 | case CPU_DEAD_FROZEN: |
3487 | case CPU_UP_CANCELED: | 3499 | case CPU_UP_CANCELED: |
3488 | case CPU_UP_CANCELED_FROZEN: | 3500 | case CPU_UP_CANCELED_FROZEN: |
3489 | for_each_rcu_flavor(rsp) | 3501 | for_each_rcu_flavor(rsp) { |
3490 | rcu_cleanup_dead_cpu(cpu, rsp); | 3502 | rcu_cleanup_dead_cpu(cpu, rsp); |
3503 | do_nocb_deferred_wakeup(per_cpu_ptr(rsp->rda, cpu)); | ||
3504 | } | ||
3491 | break; | 3505 | break; |
3492 | default: | 3506 | default: |
3493 | break; | 3507 | break; |
@@ -3767,6 +3781,8 @@ void __init rcu_init(void) | |||
3767 | pm_notifier(rcu_pm_notify, 0); | 3781 | pm_notifier(rcu_pm_notify, 0); |
3768 | for_each_online_cpu(cpu) | 3782 | for_each_online_cpu(cpu) |
3769 | rcu_cpu_notify(NULL, CPU_UP_PREPARE, (void *)(long)cpu); | 3783 | rcu_cpu_notify(NULL, CPU_UP_PREPARE, (void *)(long)cpu); |
3784 | |||
3785 | rcu_early_boot_tests(); | ||
3770 | } | 3786 | } |
3771 | 3787 | ||
3772 | #include "tree_plugin.h" | 3788 | #include "tree_plugin.h" |
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 36c30390e4e9..8e7b1843896e 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h | |||
@@ -139,7 +139,7 @@ struct rcu_node { | |||
139 | unsigned long expmask; /* Groups that have ->blkd_tasks */ | 139 | unsigned long expmask; /* Groups that have ->blkd_tasks */ |
140 | /* elements that need to drain to allow the */ | 140 | /* elements that need to drain to allow the */ |
141 | /* current expedited grace period to */ | 141 | /* current expedited grace period to */ |
142 | /* complete (only for TREE_PREEMPT_RCU). */ | 142 | /* complete (only for PREEMPT_RCU). */ |
143 | unsigned long qsmaskinit; | 143 | unsigned long qsmaskinit; |
144 | /* Per-GP initial value for qsmask & expmask. */ | 144 | /* Per-GP initial value for qsmask & expmask. */ |
145 | unsigned long grpmask; /* Mask to apply to parent qsmask. */ | 145 | unsigned long grpmask; /* Mask to apply to parent qsmask. */ |
@@ -530,10 +530,10 @@ DECLARE_PER_CPU(struct rcu_data, rcu_sched_data); | |||
530 | extern struct rcu_state rcu_bh_state; | 530 | extern struct rcu_state rcu_bh_state; |
531 | DECLARE_PER_CPU(struct rcu_data, rcu_bh_data); | 531 | DECLARE_PER_CPU(struct rcu_data, rcu_bh_data); |
532 | 532 | ||
533 | #ifdef CONFIG_TREE_PREEMPT_RCU | 533 | #ifdef CONFIG_PREEMPT_RCU |
534 | extern struct rcu_state rcu_preempt_state; | 534 | extern struct rcu_state rcu_preempt_state; |
535 | DECLARE_PER_CPU(struct rcu_data, rcu_preempt_data); | 535 | DECLARE_PER_CPU(struct rcu_data, rcu_preempt_data); |
536 | #endif /* #ifdef CONFIG_TREE_PREEMPT_RCU */ | 536 | #endif /* #ifdef CONFIG_PREEMPT_RCU */ |
537 | 537 | ||
538 | #ifdef CONFIG_RCU_BOOST | 538 | #ifdef CONFIG_RCU_BOOST |
539 | DECLARE_PER_CPU(unsigned int, rcu_cpu_kthread_status); | 539 | DECLARE_PER_CPU(unsigned int, rcu_cpu_kthread_status); |
@@ -563,10 +563,10 @@ static int rcu_preempt_offline_tasks(struct rcu_state *rsp, | |||
563 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ | 563 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ |
564 | static void rcu_preempt_check_callbacks(void); | 564 | static void rcu_preempt_check_callbacks(void); |
565 | void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)); | 565 | void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)); |
566 | #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_TREE_PREEMPT_RCU) | 566 | #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PREEMPT_RCU) |
567 | static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp, | 567 | static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp, |
568 | bool wake); | 568 | bool wake); |
569 | #endif /* #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_TREE_PREEMPT_RCU) */ | 569 | #endif /* #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PREEMPT_RCU) */ |
570 | static void __init __rcu_init_preempt(void); | 570 | static void __init __rcu_init_preempt(void); |
571 | static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); | 571 | static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); |
572 | static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); | 572 | static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); |
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index 2443282737ba..3ec85cb5d544 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h | |||
@@ -30,14 +30,24 @@ | |||
30 | #include <linux/smpboot.h> | 30 | #include <linux/smpboot.h> |
31 | #include "../time/tick-internal.h" | 31 | #include "../time/tick-internal.h" |
32 | 32 | ||
33 | #define RCU_KTHREAD_PRIO 1 | ||
34 | |||
35 | #ifdef CONFIG_RCU_BOOST | 33 | #ifdef CONFIG_RCU_BOOST |
34 | |||
36 | #include "../locking/rtmutex_common.h" | 35 | #include "../locking/rtmutex_common.h" |
37 | #define RCU_BOOST_PRIO CONFIG_RCU_BOOST_PRIO | 36 | |
38 | #else | 37 | /* rcuc/rcub kthread realtime priority */ |
39 | #define RCU_BOOST_PRIO RCU_KTHREAD_PRIO | 38 | static int kthread_prio = CONFIG_RCU_KTHREAD_PRIO; |
40 | #endif | 39 | module_param(kthread_prio, int, 0644); |
40 | |||
41 | /* | ||
42 | * Control variables for per-CPU and per-rcu_node kthreads. These | ||
43 | * handle all flavors of RCU. | ||
44 | */ | ||
45 | static DEFINE_PER_CPU(struct task_struct *, rcu_cpu_kthread_task); | ||
46 | DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_status); | ||
47 | DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_loops); | ||
48 | DEFINE_PER_CPU(char, rcu_cpu_has_work); | ||
49 | |||
50 | #endif /* #ifdef CONFIG_RCU_BOOST */ | ||
41 | 51 | ||
42 | #ifdef CONFIG_RCU_NOCB_CPU | 52 | #ifdef CONFIG_RCU_NOCB_CPU |
43 | static cpumask_var_t rcu_nocb_mask; /* CPUs to have callbacks offloaded. */ | 53 | static cpumask_var_t rcu_nocb_mask; /* CPUs to have callbacks offloaded. */ |
@@ -72,9 +82,6 @@ static void __init rcu_bootup_announce_oddness(void) | |||
72 | #ifdef CONFIG_RCU_TORTURE_TEST_RUNNABLE | 82 | #ifdef CONFIG_RCU_TORTURE_TEST_RUNNABLE |
73 | pr_info("\tRCU torture testing starts during boot.\n"); | 83 | pr_info("\tRCU torture testing starts during boot.\n"); |
74 | #endif | 84 | #endif |
75 | #if defined(CONFIG_TREE_PREEMPT_RCU) && !defined(CONFIG_RCU_CPU_STALL_VERBOSE) | ||
76 | pr_info("\tDump stacks of tasks blocking RCU-preempt GP.\n"); | ||
77 | #endif | ||
78 | #if defined(CONFIG_RCU_CPU_STALL_INFO) | 85 | #if defined(CONFIG_RCU_CPU_STALL_INFO) |
79 | pr_info("\tAdditional per-CPU info printed with stalls.\n"); | 86 | pr_info("\tAdditional per-CPU info printed with stalls.\n"); |
80 | #endif | 87 | #endif |
@@ -85,9 +92,12 @@ static void __init rcu_bootup_announce_oddness(void) | |||
85 | pr_info("\tBoot-time adjustment of leaf fanout to %d.\n", rcu_fanout_leaf); | 92 | pr_info("\tBoot-time adjustment of leaf fanout to %d.\n", rcu_fanout_leaf); |
86 | if (nr_cpu_ids != NR_CPUS) | 93 | if (nr_cpu_ids != NR_CPUS) |
87 | pr_info("\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids); | 94 | pr_info("\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids); |
95 | #ifdef CONFIG_RCU_BOOST | ||
96 | pr_info("\tRCU kthread priority: %d.\n", kthread_prio); | ||
97 | #endif | ||
88 | } | 98 | } |
89 | 99 | ||
90 | #ifdef CONFIG_TREE_PREEMPT_RCU | 100 | #ifdef CONFIG_PREEMPT_RCU |
91 | 101 | ||
92 | RCU_STATE_INITIALIZER(rcu_preempt, 'p', call_rcu); | 102 | RCU_STATE_INITIALIZER(rcu_preempt, 'p', call_rcu); |
93 | static struct rcu_state *rcu_state_p = &rcu_preempt_state; | 103 | static struct rcu_state *rcu_state_p = &rcu_preempt_state; |
@@ -415,8 +425,6 @@ void rcu_read_unlock_special(struct task_struct *t) | |||
415 | } | 425 | } |
416 | } | 426 | } |
417 | 427 | ||
418 | #ifdef CONFIG_RCU_CPU_STALL_VERBOSE | ||
419 | |||
420 | /* | 428 | /* |
421 | * Dump detailed information for all tasks blocking the current RCU | 429 | * Dump detailed information for all tasks blocking the current RCU |
422 | * grace period on the specified rcu_node structure. | 430 | * grace period on the specified rcu_node structure. |
@@ -451,14 +459,6 @@ static void rcu_print_detail_task_stall(struct rcu_state *rsp) | |||
451 | rcu_print_detail_task_stall_rnp(rnp); | 459 | rcu_print_detail_task_stall_rnp(rnp); |
452 | } | 460 | } |
453 | 461 | ||
454 | #else /* #ifdef CONFIG_RCU_CPU_STALL_VERBOSE */ | ||
455 | |||
456 | static void rcu_print_detail_task_stall(struct rcu_state *rsp) | ||
457 | { | ||
458 | } | ||
459 | |||
460 | #endif /* #else #ifdef CONFIG_RCU_CPU_STALL_VERBOSE */ | ||
461 | |||
462 | #ifdef CONFIG_RCU_CPU_STALL_INFO | 462 | #ifdef CONFIG_RCU_CPU_STALL_INFO |
463 | 463 | ||
464 | static void rcu_print_task_stall_begin(struct rcu_node *rnp) | 464 | static void rcu_print_task_stall_begin(struct rcu_node *rnp) |
@@ -919,7 +919,7 @@ void exit_rcu(void) | |||
919 | __rcu_read_unlock(); | 919 | __rcu_read_unlock(); |
920 | } | 920 | } |
921 | 921 | ||
922 | #else /* #ifdef CONFIG_TREE_PREEMPT_RCU */ | 922 | #else /* #ifdef CONFIG_PREEMPT_RCU */ |
923 | 923 | ||
924 | static struct rcu_state *rcu_state_p = &rcu_sched_state; | 924 | static struct rcu_state *rcu_state_p = &rcu_sched_state; |
925 | 925 | ||
@@ -1070,7 +1070,7 @@ void exit_rcu(void) | |||
1070 | { | 1070 | { |
1071 | } | 1071 | } |
1072 | 1072 | ||
1073 | #endif /* #else #ifdef CONFIG_TREE_PREEMPT_RCU */ | 1073 | #endif /* #else #ifdef CONFIG_PREEMPT_RCU */ |
1074 | 1074 | ||
1075 | #ifdef CONFIG_RCU_BOOST | 1075 | #ifdef CONFIG_RCU_BOOST |
1076 | 1076 | ||
@@ -1326,7 +1326,7 @@ static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp, | |||
1326 | smp_mb__after_unlock_lock(); | 1326 | smp_mb__after_unlock_lock(); |
1327 | rnp->boost_kthread_task = t; | 1327 | rnp->boost_kthread_task = t; |
1328 | raw_spin_unlock_irqrestore(&rnp->lock, flags); | 1328 | raw_spin_unlock_irqrestore(&rnp->lock, flags); |
1329 | sp.sched_priority = RCU_BOOST_PRIO; | 1329 | sp.sched_priority = kthread_prio; |
1330 | sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); | 1330 | sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); |
1331 | wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */ | 1331 | wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */ |
1332 | return 0; | 1332 | return 0; |
@@ -1343,7 +1343,7 @@ static void rcu_cpu_kthread_setup(unsigned int cpu) | |||
1343 | { | 1343 | { |
1344 | struct sched_param sp; | 1344 | struct sched_param sp; |
1345 | 1345 | ||
1346 | sp.sched_priority = RCU_KTHREAD_PRIO; | 1346 | sp.sched_priority = kthread_prio; |
1347 | sched_setscheduler_nocheck(current, SCHED_FIFO, &sp); | 1347 | sched_setscheduler_nocheck(current, SCHED_FIFO, &sp); |
1348 | } | 1348 | } |
1349 | 1349 | ||
@@ -2573,9 +2573,13 @@ static void rcu_spawn_one_nocb_kthread(struct rcu_state *rsp, int cpu) | |||
2573 | rdp->nocb_leader = rdp_spawn; | 2573 | rdp->nocb_leader = rdp_spawn; |
2574 | if (rdp_last && rdp != rdp_spawn) | 2574 | if (rdp_last && rdp != rdp_spawn) |
2575 | rdp_last->nocb_next_follower = rdp; | 2575 | rdp_last->nocb_next_follower = rdp; |
2576 | rdp_last = rdp; | 2576 | if (rdp == rdp_spawn) { |
2577 | rdp = rdp->nocb_next_follower; | 2577 | rdp = rdp->nocb_next_follower; |
2578 | rdp_last->nocb_next_follower = NULL; | 2578 | } else { |
2579 | rdp_last = rdp; | ||
2580 | rdp = rdp->nocb_next_follower; | ||
2581 | rdp_last->nocb_next_follower = NULL; | ||
2582 | } | ||
2579 | } while (rdp); | 2583 | } while (rdp); |
2580 | rdp_spawn->nocb_next_follower = rdp_old_leader; | 2584 | rdp_spawn->nocb_next_follower = rdp_old_leader; |
2581 | } | 2585 | } |
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 3ef8ba58694e..e0d31a345ee6 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c | |||
@@ -306,7 +306,7 @@ struct debug_obj_descr rcuhead_debug_descr = { | |||
306 | EXPORT_SYMBOL_GPL(rcuhead_debug_descr); | 306 | EXPORT_SYMBOL_GPL(rcuhead_debug_descr); |
307 | #endif /* #ifdef CONFIG_DEBUG_OBJECTS_RCU_HEAD */ | 307 | #endif /* #ifdef CONFIG_DEBUG_OBJECTS_RCU_HEAD */ |
308 | 308 | ||
309 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) || defined(CONFIG_RCU_TRACE) | 309 | #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) || defined(CONFIG_RCU_TRACE) |
310 | void do_trace_rcu_torture_read(const char *rcutorturename, struct rcu_head *rhp, | 310 | void do_trace_rcu_torture_read(const char *rcutorturename, struct rcu_head *rhp, |
311 | unsigned long secs, | 311 | unsigned long secs, |
312 | unsigned long c_old, unsigned long c) | 312 | unsigned long c_old, unsigned long c) |
@@ -531,7 +531,8 @@ static int __noreturn rcu_tasks_kthread(void *arg) | |||
531 | struct rcu_head *next; | 531 | struct rcu_head *next; |
532 | LIST_HEAD(rcu_tasks_holdouts); | 532 | LIST_HEAD(rcu_tasks_holdouts); |
533 | 533 | ||
534 | /* FIXME: Add housekeeping affinity. */ | 534 | /* Run on housekeeping CPUs by default. Sysadm can move if desired. */ |
535 | housekeeping_affine(current); | ||
535 | 536 | ||
536 | /* | 537 | /* |
537 | * Each pass through the following loop makes one check for | 538 | * Each pass through the following loop makes one check for |
@@ -690,3 +691,87 @@ static void rcu_spawn_tasks_kthread(void) | |||
690 | } | 691 | } |
691 | 692 | ||
692 | #endif /* #ifdef CONFIG_TASKS_RCU */ | 693 | #endif /* #ifdef CONFIG_TASKS_RCU */ |
694 | |||
695 | #ifdef CONFIG_PROVE_RCU | ||
696 | |||
697 | /* | ||
698 | * Early boot self test parameters, one for each flavor | ||
699 | */ | ||
700 | static bool rcu_self_test; | ||
701 | static bool rcu_self_test_bh; | ||
702 | static bool rcu_self_test_sched; | ||
703 | |||
704 | module_param(rcu_self_test, bool, 0444); | ||
705 | module_param(rcu_self_test_bh, bool, 0444); | ||
706 | module_param(rcu_self_test_sched, bool, 0444); | ||
707 | |||
708 | static int rcu_self_test_counter; | ||
709 | |||
710 | static void test_callback(struct rcu_head *r) | ||
711 | { | ||
712 | rcu_self_test_counter++; | ||
713 | pr_info("RCU test callback executed %d\n", rcu_self_test_counter); | ||
714 | } | ||
715 | |||
716 | static void early_boot_test_call_rcu(void) | ||
717 | { | ||
718 | static struct rcu_head head; | ||
719 | |||
720 | call_rcu(&head, test_callback); | ||
721 | } | ||
722 | |||
723 | static void early_boot_test_call_rcu_bh(void) | ||
724 | { | ||
725 | static struct rcu_head head; | ||
726 | |||
727 | call_rcu_bh(&head, test_callback); | ||
728 | } | ||
729 | |||
730 | static void early_boot_test_call_rcu_sched(void) | ||
731 | { | ||
732 | static struct rcu_head head; | ||
733 | |||
734 | call_rcu_sched(&head, test_callback); | ||
735 | } | ||
736 | |||
737 | void rcu_early_boot_tests(void) | ||
738 | { | ||
739 | pr_info("Running RCU self tests\n"); | ||
740 | |||
741 | if (rcu_self_test) | ||
742 | early_boot_test_call_rcu(); | ||
743 | if (rcu_self_test_bh) | ||
744 | early_boot_test_call_rcu_bh(); | ||
745 | if (rcu_self_test_sched) | ||
746 | early_boot_test_call_rcu_sched(); | ||
747 | } | ||
748 | |||
749 | static int rcu_verify_early_boot_tests(void) | ||
750 | { | ||
751 | int ret = 0; | ||
752 | int early_boot_test_counter = 0; | ||
753 | |||
754 | if (rcu_self_test) { | ||
755 | early_boot_test_counter++; | ||
756 | rcu_barrier(); | ||
757 | } | ||
758 | if (rcu_self_test_bh) { | ||
759 | early_boot_test_counter++; | ||
760 | rcu_barrier_bh(); | ||
761 | } | ||
762 | if (rcu_self_test_sched) { | ||
763 | early_boot_test_counter++; | ||
764 | rcu_barrier_sched(); | ||
765 | } | ||
766 | |||
767 | if (rcu_self_test_counter != early_boot_test_counter) { | ||
768 | WARN_ON(1); | ||
769 | ret = -1; | ||
770 | } | ||
771 | |||
772 | return ret; | ||
773 | } | ||
774 | late_initcall(rcu_verify_early_boot_tests); | ||
775 | #else | ||
776 | void rcu_early_boot_tests(void) {} | ||
777 | #endif /* CONFIG_PROVE_RCU */ | ||
diff --git a/kernel/signal.c b/kernel/signal.c index 8f0876f9f6dd..19e35135fc60 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -1275,7 +1275,17 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, | |||
1275 | local_irq_restore(*flags); | 1275 | local_irq_restore(*flags); |
1276 | break; | 1276 | break; |
1277 | } | 1277 | } |
1278 | 1278 | /* | |
1279 | * This sighand can be already freed and even reused, but | ||
1280 | * we rely on SLAB_DESTROY_BY_RCU and sighand_ctor() which | ||
1281 | * initializes ->siglock: this slab can't go away, it has | ||
1282 | * the same object type, ->siglock can't be reinitialized. | ||
1283 | * | ||
1284 | * We need to ensure that tsk->sighand is still the same | ||
1285 | * after we take the lock, we can race with de_thread() or | ||
1286 | * __exit_signal(). In the latter case the next iteration | ||
1287 | * must see ->sighand == NULL. | ||
1288 | */ | ||
1279 | spin_lock(&sighand->siglock); | 1289 | spin_lock(&sighand->siglock); |
1280 | if (likely(sighand == tsk->sighand)) { | 1290 | if (likely(sighand == tsk->sighand)) { |
1281 | rcu_read_unlock(); | 1291 | rcu_read_unlock(); |
@@ -1331,23 +1341,21 @@ int kill_pid_info(int sig, struct siginfo *info, struct pid *pid) | |||
1331 | int error = -ESRCH; | 1341 | int error = -ESRCH; |
1332 | struct task_struct *p; | 1342 | struct task_struct *p; |
1333 | 1343 | ||
1334 | rcu_read_lock(); | 1344 | for (;;) { |
1335 | retry: | 1345 | rcu_read_lock(); |
1336 | p = pid_task(pid, PIDTYPE_PID); | 1346 | p = pid_task(pid, PIDTYPE_PID); |
1337 | if (p) { | 1347 | if (p) |
1338 | error = group_send_sig_info(sig, info, p); | 1348 | error = group_send_sig_info(sig, info, p); |
1339 | if (unlikely(error == -ESRCH)) | 1349 | rcu_read_unlock(); |
1340 | /* | 1350 | if (likely(!p || error != -ESRCH)) |
1341 | * The task was unhashed in between, try again. | 1351 | return error; |
1342 | * If it is dead, pid_task() will return NULL, | ||
1343 | * if we race with de_thread() it will find the | ||
1344 | * new leader. | ||
1345 | */ | ||
1346 | goto retry; | ||
1347 | } | ||
1348 | rcu_read_unlock(); | ||
1349 | 1352 | ||
1350 | return error; | 1353 | /* |
1354 | * The task was unhashed in between, try again. If it | ||
1355 | * is dead, pid_task() will return NULL, if we race with | ||
1356 | * de_thread() it will find the new leader. | ||
1357 | */ | ||
1358 | } | ||
1351 | } | 1359 | } |
1352 | 1360 | ||
1353 | int kill_proc_info(int sig, struct siginfo *info, pid_t pid) | 1361 | int kill_proc_info(int sig, struct siginfo *info, pid_t pid) |
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 4e35a5d767ed..d780351835e9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -1238,21 +1238,9 @@ config RCU_CPU_STALL_TIMEOUT | |||
1238 | RCU grace period persists, additional CPU stall warnings are | 1238 | RCU grace period persists, additional CPU stall warnings are |
1239 | printed at more widely spaced intervals. | 1239 | printed at more widely spaced intervals. |
1240 | 1240 | ||
1241 | config RCU_CPU_STALL_VERBOSE | ||
1242 | bool "Print additional per-task information for RCU_CPU_STALL_DETECTOR" | ||
1243 | depends on TREE_PREEMPT_RCU | ||
1244 | default y | ||
1245 | help | ||
1246 | This option causes RCU to printk detailed per-task information | ||
1247 | for any tasks that are stalling the current RCU grace period. | ||
1248 | |||
1249 | Say N if you are unsure. | ||
1250 | |||
1251 | Say Y if you want to enable such checks. | ||
1252 | |||
1253 | config RCU_CPU_STALL_INFO | 1241 | config RCU_CPU_STALL_INFO |
1254 | bool "Print additional diagnostics on RCU CPU stall" | 1242 | bool "Print additional diagnostics on RCU CPU stall" |
1255 | depends on (TREE_RCU || TREE_PREEMPT_RCU) && DEBUG_KERNEL | 1243 | depends on (TREE_RCU || PREEMPT_RCU) && DEBUG_KERNEL |
1256 | default n | 1244 | default n |
1257 | help | 1245 | help |
1258 | For each stalled CPU that is aware of the current RCU grace | 1246 | For each stalled CPU that is aware of the current RCU grace |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh index f6b2b4771b78..8ca9f21f2efc 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | |||
@@ -45,7 +45,7 @@ trap 'rm -rf $T' 0 | |||
45 | touch $T | 45 | touch $T |
46 | 46 | ||
47 | . $KVM/bin/functions.sh | 47 | . $KVM/bin/functions.sh |
48 | . $KVPATH/ver_functions.sh | 48 | . $CONFIGFRAG/ver_functions.sh |
49 | 49 | ||
50 | config_template=${1} | 50 | config_template=${1} |
51 | config_dir=`echo $config_template | sed -e 's,/[^/]*$,,'` | 51 | config_dir=`echo $config_template | sed -e 's,/[^/]*$,,'` |
@@ -168,8 +168,8 @@ then | |||
168 | touch $resdir/buildonly | 168 | touch $resdir/buildonly |
169 | exit 0 | 169 | exit 0 |
170 | fi | 170 | fi |
171 | echo $QEMU $qemu_args -m 512 -kernel $builddir/$BOOT_IMAGE -append \"$qemu_append $boot_args\" > $resdir/qemu-cmd | 171 | echo $QEMU $qemu_args -m 512 -kernel $resdir/bzImage -append \"$qemu_append $boot_args\" > $resdir/qemu-cmd |
172 | ( $QEMU $qemu_args -m 512 -kernel $builddir/$BOOT_IMAGE -append "$qemu_append $boot_args"; echo $? > $resdir/qemu-retval ) & | 172 | ( $QEMU $qemu_args -m 512 -kernel $resdir/bzImage -append "$qemu_append $boot_args"; echo $? > $resdir/qemu-retval ) & |
173 | qemu_pid=$! | 173 | qemu_pid=$! |
174 | commandcompleted=0 | 174 | commandcompleted=0 |
175 | echo Monitoring qemu job at pid $qemu_pid | 175 | echo Monitoring qemu job at pid $qemu_pid |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh index e527dc952eb0..368d64ac779e 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh | |||
@@ -47,7 +47,6 @@ resdir="" | |||
47 | configs="" | 47 | configs="" |
48 | cpus=0 | 48 | cpus=0 |
49 | ds=`date +%Y.%m.%d-%H:%M:%S` | 49 | ds=`date +%Y.%m.%d-%H:%M:%S` |
50 | kversion="" | ||
51 | 50 | ||
52 | . functions.sh | 51 | . functions.sh |
53 | 52 | ||
@@ -64,7 +63,6 @@ usage () { | |||
64 | echo " --duration minutes" | 63 | echo " --duration minutes" |
65 | echo " --interactive" | 64 | echo " --interactive" |
66 | echo " --kmake-arg kernel-make-arguments" | 65 | echo " --kmake-arg kernel-make-arguments" |
67 | echo " --kversion vN.NN" | ||
68 | echo " --mac nn:nn:nn:nn:nn:nn" | 66 | echo " --mac nn:nn:nn:nn:nn:nn" |
69 | echo " --no-initrd" | 67 | echo " --no-initrd" |
70 | echo " --qemu-args qemu-system-..." | 68 | echo " --qemu-args qemu-system-..." |
@@ -128,11 +126,6 @@ do | |||
128 | TORTURE_KMAKE_ARG="$2" | 126 | TORTURE_KMAKE_ARG="$2" |
129 | shift | 127 | shift |
130 | ;; | 128 | ;; |
131 | --kversion) | ||
132 | checkarg --kversion "(kernel version)" $# "$2" '^v[0-9.]*$' '^error' | ||
133 | kversion=$2 | ||
134 | shift | ||
135 | ;; | ||
136 | --mac) | 129 | --mac) |
137 | checkarg --mac "(MAC address)" $# "$2" '^\([0-9a-fA-F]\{2\}:\)\{5\}[0-9a-fA-F]\{2\}$' error | 130 | checkarg --mac "(MAC address)" $# "$2" '^\([0-9a-fA-F]\{2\}:\)\{5\}[0-9a-fA-F]\{2\}$' error |
138 | TORTURE_QEMU_MAC=$2 | 131 | TORTURE_QEMU_MAC=$2 |
@@ -170,11 +163,10 @@ do | |||
170 | done | 163 | done |
171 | 164 | ||
172 | CONFIGFRAG=${KVM}/configs/${TORTURE_SUITE}; export CONFIGFRAG | 165 | CONFIGFRAG=${KVM}/configs/${TORTURE_SUITE}; export CONFIGFRAG |
173 | KVPATH=${CONFIGFRAG}/$kversion; export KVPATH | ||
174 | 166 | ||
175 | if test -z "$configs" | 167 | if test -z "$configs" |
176 | then | 168 | then |
177 | configs="`cat $CONFIGFRAG/$kversion/CFLIST`" | 169 | configs="`cat $CONFIGFRAG/CFLIST`" |
178 | fi | 170 | fi |
179 | 171 | ||
180 | if test -z "$resdir" | 172 | if test -z "$resdir" |
@@ -186,10 +178,10 @@ fi | |||
186 | touch $T/cfgcpu | 178 | touch $T/cfgcpu |
187 | for CF in $configs | 179 | for CF in $configs |
188 | do | 180 | do |
189 | if test -f "$CONFIGFRAG/$kversion/$CF" | 181 | if test -f "$CONFIGFRAG/$CF" |
190 | then | 182 | then |
191 | cpu_count=`configNR_CPUS.sh $CONFIGFRAG/$kversion/$CF` | 183 | cpu_count=`configNR_CPUS.sh $CONFIGFRAG/$CF` |
192 | cpu_count=`configfrag_boot_cpus "$TORTURE_BOOTARGS" "$CONFIGFRAG/$kversion/$CF" "$cpu_count"` | 184 | cpu_count=`configfrag_boot_cpus "$TORTURE_BOOTARGS" "$CONFIGFRAG/$CF" "$cpu_count"` |
193 | echo $CF $cpu_count >> $T/cfgcpu | 185 | echo $CF $cpu_count >> $T/cfgcpu |
194 | else | 186 | else |
195 | echo "The --configs file $CF does not exist, terminating." | 187 | echo "The --configs file $CF does not exist, terminating." |
@@ -252,7 +244,6 @@ END { | |||
252 | cat << ___EOF___ > $T/script | 244 | cat << ___EOF___ > $T/script |
253 | CONFIGFRAG="$CONFIGFRAG"; export CONFIGFRAG | 245 | CONFIGFRAG="$CONFIGFRAG"; export CONFIGFRAG |
254 | KVM="$KVM"; export KVM | 246 | KVM="$KVM"; export KVM |
255 | KVPATH="$KVPATH"; export KVPATH | ||
256 | PATH="$PATH"; export PATH | 247 | PATH="$PATH"; export PATH |
257 | TORTURE_BOOT_IMAGE="$TORTURE_BOOT_IMAGE"; export TORTURE_BOOT_IMAGE | 248 | TORTURE_BOOT_IMAGE="$TORTURE_BOOT_IMAGE"; export TORTURE_BOOT_IMAGE |
258 | TORTURE_BUILDONLY="$TORTURE_BUILDONLY"; export TORTURE_BUILDONLY | 249 | TORTURE_BUILDONLY="$TORTURE_BUILDONLY"; export TORTURE_BUILDONLY |
@@ -285,7 +276,7 @@ then | |||
285 | fi | 276 | fi |
286 | ___EOF___ | 277 | ___EOF___ |
287 | awk < $T/cfgcpu.pack \ | 278 | awk < $T/cfgcpu.pack \ |
288 | -v CONFIGDIR="$CONFIGFRAG/$kversion/" \ | 279 | -v CONFIGDIR="$CONFIGFRAG/" \ |
289 | -v KVM="$KVM" \ | 280 | -v KVM="$KVM" \ |
290 | -v ncpus=$cpus \ | 281 | -v ncpus=$cpus \ |
291 | -v rd=$resdir/$ds/ \ | 282 | -v rd=$resdir/$ds/ \ |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TINY02 b/tools/testing/selftests/rcutorture/configs/rcu/TINY02 index f4feaee40776..36e41df3d27a 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TINY02 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TINY02 | |||
@@ -7,6 +7,8 @@ CONFIG_HZ_PERIODIC=y | |||
7 | CONFIG_NO_HZ_IDLE=n | 7 | CONFIG_NO_HZ_IDLE=n |
8 | CONFIG_NO_HZ_FULL=n | 8 | CONFIG_NO_HZ_FULL=n |
9 | CONFIG_RCU_TRACE=y | 9 | CONFIG_RCU_TRACE=y |
10 | CONFIG_PROVE_LOCKING=y | ||
11 | CONFIG_PROVE_RCU=y | ||
10 | CONFIG_DEBUG_LOCK_ALLOC=y | 12 | CONFIG_DEBUG_LOCK_ALLOC=y |
11 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 13 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
12 | CONFIG_PREEMPT_COUNT=y | 14 | CONFIG_PREEMPT_COUNT=y |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TINY02.boot b/tools/testing/selftests/rcutorture/configs/rcu/TINY02.boot new file mode 100644 index 000000000000..0f0802730014 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TINY02.boot | |||
@@ -0,0 +1,2 @@ | |||
1 | rcupdate.rcu_self_test=1 | ||
2 | rcupdate.rcu_self_test_bh=1 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE01 b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 index 38e3895759dd..f8a10a7500c6 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE01 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 | |||
@@ -2,7 +2,7 @@ CONFIG_SMP=y | |||
2 | CONFIG_PREEMPT_NONE=n | 2 | CONFIG_PREEMPT_NONE=n |
3 | CONFIG_PREEMPT_VOLUNTARY=n | 3 | CONFIG_PREEMPT_VOLUNTARY=n |
4 | CONFIG_PREEMPT=y | 4 | CONFIG_PREEMPT=y |
5 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 5 | #CHECK#CONFIG_PREEMPT_RCU=y |
6 | CONFIG_HZ_PERIODIC=n | 6 | CONFIG_HZ_PERIODIC=n |
7 | CONFIG_NO_HZ_IDLE=y | 7 | CONFIG_NO_HZ_IDLE=y |
8 | CONFIG_NO_HZ_FULL=n | 8 | CONFIG_NO_HZ_FULL=n |
@@ -14,6 +14,5 @@ CONFIG_RCU_NOCB_CPU=y | |||
14 | CONFIG_RCU_NOCB_CPU_ZERO=y | 14 | CONFIG_RCU_NOCB_CPU_ZERO=y |
15 | CONFIG_DEBUG_LOCK_ALLOC=n | 15 | CONFIG_DEBUG_LOCK_ALLOC=n |
16 | CONFIG_RCU_CPU_STALL_INFO=n | 16 | CONFIG_RCU_CPU_STALL_INFO=n |
17 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
18 | CONFIG_RCU_BOOST=n | 17 | CONFIG_RCU_BOOST=n |
19 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 18 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE02 b/tools/testing/selftests/rcutorture/configs/rcu/TREE02 index ea119ba2f7d4..629122fb8b4a 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE02 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE02 | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=8 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=n | 7 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=y | 8 | CONFIG_NO_HZ_IDLE=y |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -19,6 +19,5 @@ CONFIG_RCU_NOCB_CPU=n | |||
19 | CONFIG_DEBUG_LOCK_ALLOC=y | 19 | CONFIG_DEBUG_LOCK_ALLOC=y |
20 | CONFIG_PROVE_LOCKING=n | 20 | CONFIG_PROVE_LOCKING=n |
21 | CONFIG_RCU_CPU_STALL_INFO=n | 21 | CONFIG_RCU_CPU_STALL_INFO=n |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
23 | CONFIG_RCU_BOOST=n | 22 | CONFIG_RCU_BOOST=n |
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T index 19cf9485f48a..a25de47888a4 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=8 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=n | 7 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=y | 8 | CONFIG_NO_HZ_IDLE=y |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -19,6 +19,5 @@ CONFIG_RCU_NOCB_CPU=n | |||
19 | CONFIG_DEBUG_LOCK_ALLOC=y | 19 | CONFIG_DEBUG_LOCK_ALLOC=y |
20 | CONFIG_PROVE_LOCKING=n | 20 | CONFIG_PROVE_LOCKING=n |
21 | CONFIG_RCU_CPU_STALL_INFO=n | 21 | CONFIG_RCU_CPU_STALL_INFO=n |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
23 | CONFIG_RCU_BOOST=n | 22 | CONFIG_RCU_BOOST=n |
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE03 b/tools/testing/selftests/rcutorture/configs/rcu/TREE03 index f4567fb3e332..53f24e0a0ab6 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE03 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE03 | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=8 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=y | 7 | CONFIG_HZ_PERIODIC=y |
8 | CONFIG_NO_HZ_IDLE=n | 8 | CONFIG_NO_HZ_IDLE=n |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -15,7 +15,6 @@ CONFIG_RCU_FANOUT_EXACT=n | |||
15 | CONFIG_RCU_NOCB_CPU=n | 15 | CONFIG_RCU_NOCB_CPU=n |
16 | CONFIG_DEBUG_LOCK_ALLOC=n | 16 | CONFIG_DEBUG_LOCK_ALLOC=n |
17 | CONFIG_RCU_CPU_STALL_INFO=n | 17 | CONFIG_RCU_CPU_STALL_INFO=n |
18 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
19 | CONFIG_RCU_BOOST=y | 18 | CONFIG_RCU_BOOST=y |
20 | CONFIG_RCU_BOOST_PRIO=2 | 19 | CONFIG_RCU_KTHREAD_PRIO=2 |
21 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 20 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 index 0a262fbb0c12..0f84db35b36d 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 | |||
@@ -19,5 +19,4 @@ CONFIG_RCU_FANOUT_EXACT=n | |||
19 | CONFIG_RCU_NOCB_CPU=n | 19 | CONFIG_RCU_NOCB_CPU=n |
20 | CONFIG_DEBUG_LOCK_ALLOC=n | 20 | CONFIG_DEBUG_LOCK_ALLOC=n |
21 | CONFIG_RCU_CPU_STALL_INFO=y | 21 | CONFIG_RCU_CPU_STALL_INFO=y |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 22 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE05 b/tools/testing/selftests/rcutorture/configs/rcu/TREE05 index 3a06b97e9a73..212e3bfd2b2a 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE05 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE05 | |||
@@ -19,5 +19,4 @@ CONFIG_DEBUG_LOCK_ALLOC=y | |||
19 | CONFIG_PROVE_LOCKING=y | 19 | CONFIG_PROVE_LOCKING=y |
20 | CONFIG_PROVE_RCU=y | 20 | CONFIG_PROVE_RCU=y |
21 | CONFIG_RCU_CPU_STALL_INFO=n | 21 | CONFIG_RCU_CPU_STALL_INFO=n |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 22 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot b/tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot index 3b42b8b033cd..15b3e1a86f74 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot | |||
@@ -1 +1,2 @@ | |||
1 | rcutorture.torture_type=sched | 1 | rcutorture.torture_type=sched |
2 | rcupdate.rcu_self_test_sched=1 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE06 b/tools/testing/selftests/rcutorture/configs/rcu/TREE06 index 8f084cca91bf..7eee63b44218 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE06 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE06 | |||
@@ -20,5 +20,4 @@ CONFIG_DEBUG_LOCK_ALLOC=y | |||
20 | CONFIG_PROVE_LOCKING=y | 20 | CONFIG_PROVE_LOCKING=y |
21 | CONFIG_PROVE_RCU=y | 21 | CONFIG_PROVE_RCU=y |
22 | CONFIG_RCU_CPU_STALL_INFO=n | 22 | CONFIG_RCU_CPU_STALL_INFO=n |
23 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | 23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE06.boot b/tools/testing/selftests/rcutorture/configs/rcu/TREE06.boot new file mode 100644 index 000000000000..da9a03a398db --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE06.boot | |||
@@ -0,0 +1,3 @@ | |||
1 | rcupdate.rcu_self_test=1 | ||
2 | rcupdate.rcu_self_test_bh=1 | ||
3 | rcupdate.rcu_self_test_sched=1 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE07 b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 index 8f1017666aa7..92a97fa97dec 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE07 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 | |||
@@ -19,5 +19,4 @@ CONFIG_RCU_FANOUT_EXACT=n | |||
19 | CONFIG_RCU_NOCB_CPU=n | 19 | CONFIG_RCU_NOCB_CPU=n |
20 | CONFIG_DEBUG_LOCK_ALLOC=n | 20 | CONFIG_DEBUG_LOCK_ALLOC=n |
21 | CONFIG_RCU_CPU_STALL_INFO=y | 21 | CONFIG_RCU_CPU_STALL_INFO=y |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 22 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE08 b/tools/testing/selftests/rcutorture/configs/rcu/TREE08 index 69a2e255bf98..5812027d6f9f 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE08 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE08 | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=16 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=n | 7 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=y | 8 | CONFIG_NO_HZ_IDLE=y |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -18,7 +18,8 @@ CONFIG_RCU_FANOUT_LEAF=2 | |||
18 | CONFIG_RCU_NOCB_CPU=y | 18 | CONFIG_RCU_NOCB_CPU=y |
19 | CONFIG_RCU_NOCB_CPU_ALL=y | 19 | CONFIG_RCU_NOCB_CPU_ALL=y |
20 | CONFIG_DEBUG_LOCK_ALLOC=n | 20 | CONFIG_DEBUG_LOCK_ALLOC=n |
21 | CONFIG_PROVE_LOCKING=y | ||
22 | CONFIG_PROVE_RCU=y | ||
21 | CONFIG_RCU_CPU_STALL_INFO=n | 23 | CONFIG_RCU_CPU_STALL_INFO=n |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
23 | CONFIG_RCU_BOOST=n | 24 | CONFIG_RCU_BOOST=n |
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 25 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T index a0f32fb8f17e..3eaeccacb083 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=16 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=n | 7 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=y | 8 | CONFIG_NO_HZ_IDLE=y |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -19,6 +19,5 @@ CONFIG_RCU_NOCB_CPU=y | |||
19 | CONFIG_RCU_NOCB_CPU_ALL=y | 19 | CONFIG_RCU_NOCB_CPU_ALL=y |
20 | CONFIG_DEBUG_LOCK_ALLOC=n | 20 | CONFIG_DEBUG_LOCK_ALLOC=n |
21 | CONFIG_RCU_CPU_STALL_INFO=n | 21 | CONFIG_RCU_CPU_STALL_INFO=n |
22 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
23 | CONFIG_RCU_BOOST=n | 22 | CONFIG_RCU_BOOST=n |
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 23 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot index 3b42b8b033cd..2561daf605ad 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot | |||
@@ -1 +1,3 @@ | |||
1 | rcutorture.torture_type=sched | 1 | rcutorture.torture_type=sched |
2 | rcupdate.rcu_self_test=1 | ||
3 | rcupdate.rcu_self_test_sched=1 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE09 b/tools/testing/selftests/rcutorture/configs/rcu/TREE09 index b7a62a540ad1..6076b36f6c0b 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE09 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE09 | |||
@@ -3,7 +3,7 @@ CONFIG_NR_CPUS=1 | |||
3 | CONFIG_PREEMPT_NONE=n | 3 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 4 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
6 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | 6 | #CHECK#CONFIG_PREEMPT_RCU=y |
7 | CONFIG_HZ_PERIODIC=n | 7 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=y | 8 | CONFIG_NO_HZ_IDLE=y |
9 | CONFIG_NO_HZ_FULL=n | 9 | CONFIG_NO_HZ_FULL=n |
@@ -14,6 +14,5 @@ CONFIG_HIBERNATION=n | |||
14 | CONFIG_RCU_NOCB_CPU=n | 14 | CONFIG_RCU_NOCB_CPU=n |
15 | CONFIG_DEBUG_LOCK_ALLOC=n | 15 | CONFIG_DEBUG_LOCK_ALLOC=n |
16 | CONFIG_RCU_CPU_STALL_INFO=n | 16 | CONFIG_RCU_CPU_STALL_INFO=n |
17 | CONFIG_RCU_CPU_STALL_VERBOSE=n | ||
18 | CONFIG_RCU_BOOST=n | 17 | CONFIG_RCU_BOOST=n |
19 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | 18 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/CFLIST b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/CFLIST deleted file mode 100644 index 18223947bbcb..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/CFLIST +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | P1-S-T-NH-SD-SMP-HP | ||
2 | P2-2-t-nh-sd-SMP-hp | ||
3 | P3-3-T-nh-SD-SMP-hp | ||
4 | P4-A-t-NH-sd-SMP-HP | ||
5 | P5-U-T-NH-sd-SMP-hp | ||
6 | N1-S-T-NH-SD-SMP-HP | ||
7 | N2-2-t-nh-sd-SMP-hp | ||
8 | N3-3-T-nh-SD-SMP-hp | ||
9 | N4-A-t-NH-sd-SMP-HP | ||
10 | N5-U-T-NH-sd-SMP-hp | ||
11 | PT1-nh | ||
12 | PT2-NH | ||
13 | NT1-nh | ||
14 | NT3-NH | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N1-S-T-NH-SD-SMP-HP deleted file mode 100644 index d3ef873eb6e7..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=8 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=y | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=n | ||
11 | #CHECK#CONFIG_TREE_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 02e418572b1b..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b3100f69c8cf..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N4-A-t-NH-sd-SMP-HP deleted file mode 100644 index c56b44530725..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=y | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=n | ||
11 | #CHECK#CONFIG_TREE_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N5-U-T-NH-sd-SMP-hp deleted file mode 100644 index 90d924fea9e9..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/N5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=6 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=y | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | CONFIG_SUSPEND=n | ||
11 | CONFIG_HIBERNATION=n | ||
12 | CONFIG_PREEMPT_NONE=y | ||
13 | CONFIG_PREEMPT_VOLUNTARY=n | ||
14 | CONFIG_PREEMPT=n | ||
15 | #CHECK#CONFIG_TREE_RCU=y | ||
16 | CONFIG_RCU_TORTURE_TEST=m | ||
17 | CONFIG_MODULE_UNLOAD=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT1-nh deleted file mode 100644 index 023f312a931c..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TRACE=y | ||
3 | CONFIG_RCU_TORTURE_TEST=m | ||
4 | CONFIG_MODULE_UNLOAD=y | ||
5 | CONFIG_SUSPEND=n | ||
6 | CONFIG_HIBERNATION=n | ||
7 | # | ||
8 | CONFIG_SMP=n | ||
9 | # | ||
10 | CONFIG_HOTPLUG_CPU=n | ||
11 | # | ||
12 | CONFIG_NO_HZ=n | ||
13 | # | ||
14 | CONFIG_PREEMPT_NONE=y | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=n | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT3-NH b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT3-NH deleted file mode 100644 index 6fd0235dae73..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT3-NH +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=y | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=n | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P1-S-T-NH-SD-SMP-HP deleted file mode 100644 index f72402d7c13d..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=8 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=n | ||
8 | CONFIG_HOTPLUG_CPU=y | ||
9 | CONFIG_PREEMPT_NONE=n | ||
10 | CONFIG_PREEMPT_VOLUNTARY=n | ||
11 | CONFIG_PREEMPT=y | ||
12 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
13 | CONFIG_RCU_TORTURE_TEST=m | ||
14 | CONFIG_MODULE_UNLOAD=y | ||
15 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
16 | CONFIG_IKCONFIG=y | ||
17 | CONFIG_IKCONFIG_PROC=y | ||
18 | CONFIG_PRINTK_TIME=y | ||
19 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 0f3b667d2a9f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b035e141bf2a..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P4-A-t-NH-sd-SMP-HP deleted file mode 100644 index 3ccf6a9447f5..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=n | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=y | ||
11 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_RT_MUTEXES=y | ||
15 | CONFIG_RCU_BOOST=y | ||
16 | CONFIG_RCU_BOOST_PRIO=2 | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P5-U-T-NH-sd-SMP-hp deleted file mode 100644 index a55c00877fe4..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/P5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=6 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=y | ||
8 | CONFIG_HOTPLUG_CPU=n | ||
9 | CONFIG_SUSPEND=n | ||
10 | CONFIG_HIBERNATION=n | ||
11 | CONFIG_PREEMPT_NONE=n | ||
12 | CONFIG_PREEMPT_VOLUNTARY=n | ||
13 | CONFIG_PREEMPT=y | ||
14 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
15 | CONFIG_DEBUG_KERNEL=y | ||
16 | CONFIG_DEBUG_OBJECTS=y | ||
17 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
18 | CONFIG_RT_MUTEXES=y | ||
19 | CONFIG_RCU_BOOST=y | ||
20 | CONFIG_RCU_BOOST_PRIO=2 | ||
21 | CONFIG_RCU_TORTURE_TEST=m | ||
22 | CONFIG_MODULE_UNLOAD=y | ||
23 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
24 | CONFIG_IKCONFIG=y | ||
25 | CONFIG_IKCONFIG_PROC=y | ||
26 | CONFIG_PRINTK_TIME=y | ||
27 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT1-nh deleted file mode 100644 index e3361c3894a1..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_BOOST=y | ||
3 | CONFIG_RCU_BOOST_PRIO=2 | ||
4 | CONFIG_RCU_TRACE=y | ||
5 | CONFIG_RCU_TORTURE_TEST=m | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | # | ||
10 | CONFIG_SMP=n | ||
11 | # | ||
12 | CONFIG_HOTPLUG_CPU=n | ||
13 | # | ||
14 | CONFIG_NO_HZ=n | ||
15 | # | ||
16 | CONFIG_PREEMPT_NONE=n | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT2-NH b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT2-NH deleted file mode 100644 index 64abfc3b4d94..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT2-NH +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=n | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/ver_functions.sh b/tools/testing/selftests/rcutorture/configs/rcu/v0.0/ver_functions.sh deleted file mode 100644 index 5ace37a89780..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v0.0/ver_functions.sh +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # Kernel-version-dependent shell functions for the rest of the scripts. | ||
4 | # | ||
5 | # This program is free software; you can redistribute it and/or modify | ||
6 | # it under the terms of the GNU General Public License as published by | ||
7 | # the Free Software Foundation; either version 2 of the License, or | ||
8 | # (at your option) any later version. | ||
9 | # | ||
10 | # This program is distributed in the hope that it will be useful, | ||
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | # GNU General Public License for more details. | ||
14 | # | ||
15 | # You should have received a copy of the GNU General Public License | ||
16 | # along with this program; if not, you can access it online at | ||
17 | # http://www.gnu.org/licenses/gpl-2.0.html. | ||
18 | # | ||
19 | # Copyright (C) IBM Corporation, 2013 | ||
20 | # | ||
21 | # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com> | ||
22 | |||
23 | # per_version_boot_params bootparam-string config-file seconds | ||
24 | # | ||
25 | # Adds per-version torture-module parameters to kernels supporting them. | ||
26 | # Which old kernels do not. | ||
27 | per_version_boot_params () { | ||
28 | echo rcutorture.stat_interval=15 \ | ||
29 | rcutorture.shutdown_secs=$3 \ | ||
30 | rcutorture.rcutorture_runnable=1 \ | ||
31 | rcutorture.test_no_idle_hz=1 \ | ||
32 | rcutorture.verbose=1 | ||
33 | } | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/CFLIST b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/CFLIST deleted file mode 100644 index da4cbc668f2a..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/CFLIST +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | sysidleY.2013.06.19a | ||
2 | sysidleN.2013.06.19a | ||
3 | P1-S-T-NH-SD-SMP-HP | ||
4 | P2-2-t-nh-sd-SMP-hp | ||
5 | P3-3-T-nh-SD-SMP-hp | ||
6 | P4-A-t-NH-sd-SMP-HP | ||
7 | P5-U-T-NH-sd-SMP-hp | ||
8 | P6---t-nh-SD-smp-hp | ||
9 | N1-S-T-NH-SD-SMP-HP | ||
10 | N2-2-t-nh-sd-SMP-hp | ||
11 | N3-3-T-nh-SD-SMP-hp | ||
12 | N4-A-t-NH-sd-SMP-HP | ||
13 | N5-U-T-NH-sd-SMP-hp | ||
14 | PT1-nh | ||
15 | PT2-NH | ||
16 | NT1-nh | ||
17 | NT3-NH | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N1-S-T-NH-SD-SMP-HP deleted file mode 100644 index d81e11d280aa..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_FAST_NO_HZ=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=8 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=n | ||
8 | CONFIG_HOTPLUG_CPU=y | ||
9 | CONFIG_PREEMPT_NONE=y | ||
10 | CONFIG_PREEMPT_VOLUNTARY=n | ||
11 | CONFIG_PREEMPT=n | ||
12 | #CHECK#CONFIG_TREE_RCU=y | ||
13 | CONFIG_RCU_TORTURE_TEST=m | ||
14 | CONFIG_MODULE_UNLOAD=y | ||
15 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
16 | CONFIG_IKCONFIG=y | ||
17 | CONFIG_IKCONFIG_PROC=y | ||
18 | CONFIG_PRINTK_TIME=y | ||
19 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 02e418572b1b..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b3100f69c8cf..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N4-A-t-NH-sd-SMP-HP deleted file mode 100644 index c56b44530725..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=y | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=n | ||
11 | #CHECK#CONFIG_TREE_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N5-U-T-NH-sd-SMP-hp deleted file mode 100644 index 90d924fea9e9..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=6 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=y | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | CONFIG_SUSPEND=n | ||
11 | CONFIG_HIBERNATION=n | ||
12 | CONFIG_PREEMPT_NONE=y | ||
13 | CONFIG_PREEMPT_VOLUNTARY=n | ||
14 | CONFIG_PREEMPT=n | ||
15 | #CHECK#CONFIG_TREE_RCU=y | ||
16 | CONFIG_RCU_TORTURE_TEST=m | ||
17 | CONFIG_MODULE_UNLOAD=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N6---t-nh-SD-smp-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N6---t-nh-SD-smp-hp deleted file mode 100644 index 0ccc36d72738..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N6---t-nh-SD-smp-hp +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_NR_CPUS=1 | ||
5 | CONFIG_RCU_FANOUT_EXACT=n | ||
6 | CONFIG_HOTPLUG_CPU=n | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | CONFIG_PREEMPT_NONE=y | ||
10 | CONFIG_PREEMPT_VOLUNTARY=n | ||
11 | CONFIG_PREEMPT=n | ||
12 | #CHECK#CONFIG_TREE_RCU=y | ||
13 | CONFIG_RCU_TORTURE_TEST=m | ||
14 | CONFIG_MODULE_UNLOAD=y | ||
15 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
16 | CONFIG_IKCONFIG=y | ||
17 | CONFIG_IKCONFIG_PROC=y | ||
18 | CONFIG_PRINTK_TIME=y | ||
19 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N7-4-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N7-4-T-NH-SD-SMP-HP deleted file mode 100644 index 3f640cf84973..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N7-4-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=2 | ||
7 | CONFIG_NR_CPUS=16 | ||
8 | CONFIG_RCU_FANOUT_EXACT=n | ||
9 | CONFIG_HOTPLUG_CPU=y | ||
10 | CONFIG_RCU_NOCB_CPU=y | ||
11 | CONFIG_RCU_NOCB_CPU_NONE=y | ||
12 | CONFIG_RCU_NOCB_CPU_ZERO=n | ||
13 | CONFIG_RCU_NOCB_CPU_ALL=n | ||
14 | CONFIG_SUSPEND=n | ||
15 | CONFIG_HIBERNATION=n | ||
16 | CONFIG_PREEMPT_NONE=y | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=n | ||
19 | #CHECK#CONFIG_TREE_RCU=y | ||
20 | CONFIG_RCU_TORTURE_TEST=m | ||
21 | CONFIG_MODULE_UNLOAD=y | ||
22 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
23 | CONFIG_IKCONFIG=y | ||
24 | CONFIG_IKCONFIG_PROC=y | ||
25 | CONFIG_PRINTK_TIME=y | ||
26 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N8-2-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N8-2-T-NH-SD-SMP-HP deleted file mode 100644 index 285da2dd8ac3..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/N8-2-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=14 | ||
7 | CONFIG_NR_CPUS=16 | ||
8 | CONFIG_RCU_FANOUT_EXACT=y | ||
9 | CONFIG_HOTPLUG_CPU=y | ||
10 | CONFIG_SUSPEND=n | ||
11 | CONFIG_HIBERNATION=n | ||
12 | CONFIG_PREEMPT_NONE=y | ||
13 | CONFIG_PREEMPT_VOLUNTARY=n | ||
14 | CONFIG_PREEMPT=n | ||
15 | #CHECK#CONFIG_TREE_RCU=y | ||
16 | CONFIG_RCU_TORTURE_TEST=m | ||
17 | CONFIG_MODULE_UNLOAD=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT1-nh deleted file mode 100644 index 023f312a931c..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TRACE=y | ||
3 | CONFIG_RCU_TORTURE_TEST=m | ||
4 | CONFIG_MODULE_UNLOAD=y | ||
5 | CONFIG_SUSPEND=n | ||
6 | CONFIG_HIBERNATION=n | ||
7 | # | ||
8 | CONFIG_SMP=n | ||
9 | # | ||
10 | CONFIG_HOTPLUG_CPU=n | ||
11 | # | ||
12 | CONFIG_NO_HZ=n | ||
13 | # | ||
14 | CONFIG_PREEMPT_NONE=y | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=n | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT3-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT3-NH deleted file mode 100644 index 6fd0235dae73..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT3-NH +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=y | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=n | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P1-S-T-NH-SD-SMP-HP deleted file mode 100644 index 9647c44cf4b7..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_RCU_FAST_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=8 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=n | ||
9 | CONFIG_HOTPLUG_CPU=y | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 0f3b667d2a9f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b035e141bf2a..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P4-A-t-NH-sd-SMP-HP deleted file mode 100644 index 3ccf6a9447f5..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=n | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=y | ||
11 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_RT_MUTEXES=y | ||
15 | CONFIG_RCU_BOOST=y | ||
16 | CONFIG_RCU_BOOST_PRIO=2 | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P5-U-T-NH-sd-SMP-hp deleted file mode 100644 index a55c00877fe4..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=6 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=y | ||
8 | CONFIG_HOTPLUG_CPU=n | ||
9 | CONFIG_SUSPEND=n | ||
10 | CONFIG_HIBERNATION=n | ||
11 | CONFIG_PREEMPT_NONE=n | ||
12 | CONFIG_PREEMPT_VOLUNTARY=n | ||
13 | CONFIG_PREEMPT=y | ||
14 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
15 | CONFIG_DEBUG_KERNEL=y | ||
16 | CONFIG_DEBUG_OBJECTS=y | ||
17 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
18 | CONFIG_RT_MUTEXES=y | ||
19 | CONFIG_RCU_BOOST=y | ||
20 | CONFIG_RCU_BOOST_PRIO=2 | ||
21 | CONFIG_RCU_TORTURE_TEST=m | ||
22 | CONFIG_MODULE_UNLOAD=y | ||
23 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
24 | CONFIG_IKCONFIG=y | ||
25 | CONFIG_IKCONFIG_PROC=y | ||
26 | CONFIG_PRINTK_TIME=y | ||
27 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P6---t-nh-SD-smp-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P6---t-nh-SD-smp-hp deleted file mode 100644 index f4c9175828bf..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P6---t-nh-SD-smp-hp +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=n | ||
4 | CONFIG_RCU_FANOUT_EXACT=n | ||
5 | CONFIG_HOTPLUG_CPU=n | ||
6 | CONFIG_SUSPEND=n | ||
7 | CONFIG_HIBERNATION=n | ||
8 | CONFIG_PREEMPT_NONE=n | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=y | ||
11 | CONFIG_TREE_PREEMPT_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP deleted file mode 100644 index 77a8c5b75763..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=16 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_RCU_NOCB_CPU=y | ||
9 | CONFIG_RCU_NOCB_CPU_NONE=n | ||
10 | CONFIG_RCU_NOCB_CPU_ZERO=n | ||
11 | CONFIG_RCU_NOCB_CPU_ALL=y | ||
12 | CONFIG_SUSPEND=n | ||
13 | CONFIG_HIBERNATION=n | ||
14 | CONFIG_PREEMPT_NONE=n | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=y | ||
17 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
18 | CONFIG_RCU_TORTURE_TEST=m | ||
19 | CONFIG_MODULE_UNLOAD=y | ||
20 | CONFIG_PROVE_LOCKING=y | ||
21 | CONFIG_PROVE_RCU=y | ||
22 | CONFIG_DEBUG_KERNEL=y | ||
23 | CONFIG_DEBUG_OBJECTS=y | ||
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
25 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
26 | CONFIG_SLUB=y | ||
27 | CONFIG_IKCONFIG=y | ||
28 | CONFIG_IKCONFIG_PROC=y | ||
29 | CONFIG_PRINTK_TIME=y | ||
30 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-all b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-all deleted file mode 100644 index 0eecebc6e95f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-all +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=16 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_RCU_NOCB_CPU=y | ||
9 | CONFIG_RCU_NOCB_CPU_NONE=y | ||
10 | CONFIG_RCU_NOCB_CPU_ZERO=n | ||
11 | CONFIG_RCU_NOCB_CPU_ALL=n | ||
12 | CONFIG_SUSPEND=n | ||
13 | CONFIG_HIBERNATION=n | ||
14 | CONFIG_PREEMPT_NONE=n | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=y | ||
17 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
18 | CONFIG_RCU_TORTURE_TEST=m | ||
19 | CONFIG_MODULE_UNLOAD=y | ||
20 | CONFIG_PROVE_LOCKING=y | ||
21 | CONFIG_PROVE_RCU=y | ||
22 | CONFIG_DEBUG_KERNEL=y | ||
23 | CONFIG_DEBUG_OBJECTS=y | ||
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
25 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
26 | CONFIG_SLUB=y | ||
27 | CONFIG_IKCONFIG=y | ||
28 | CONFIG_IKCONFIG_PROC=y | ||
29 | CONFIG_PRINTK_TIME=y | ||
30 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-none b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-none deleted file mode 100644 index 0eecebc6e95f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-none +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=16 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_RCU_NOCB_CPU=y | ||
9 | CONFIG_RCU_NOCB_CPU_NONE=y | ||
10 | CONFIG_RCU_NOCB_CPU_ZERO=n | ||
11 | CONFIG_RCU_NOCB_CPU_ALL=n | ||
12 | CONFIG_SUSPEND=n | ||
13 | CONFIG_HIBERNATION=n | ||
14 | CONFIG_PREEMPT_NONE=n | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=y | ||
17 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
18 | CONFIG_RCU_TORTURE_TEST=m | ||
19 | CONFIG_MODULE_UNLOAD=y | ||
20 | CONFIG_PROVE_LOCKING=y | ||
21 | CONFIG_PROVE_RCU=y | ||
22 | CONFIG_DEBUG_KERNEL=y | ||
23 | CONFIG_DEBUG_OBJECTS=y | ||
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
25 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
26 | CONFIG_SLUB=y | ||
27 | CONFIG_IKCONFIG=y | ||
28 | CONFIG_IKCONFIG_PROC=y | ||
29 | CONFIG_PRINTK_TIME=y | ||
30 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-hp deleted file mode 100644 index 588bc70420cd..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-hp +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=16 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_RCU_NOCB_CPU=y | ||
9 | CONFIG_RCU_NOCB_CPU_NONE=n | ||
10 | CONFIG_RCU_NOCB_CPU_ZERO=y | ||
11 | CONFIG_RCU_NOCB_CPU_ALL=n | ||
12 | CONFIG_SUSPEND=n | ||
13 | CONFIG_HIBERNATION=n | ||
14 | CONFIG_PREEMPT_NONE=n | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=y | ||
17 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
18 | CONFIG_RCU_TORTURE_TEST=m | ||
19 | CONFIG_MODULE_UNLOAD=y | ||
20 | CONFIG_PROVE_LOCKING=y | ||
21 | CONFIG_PROVE_RCU=y | ||
22 | CONFIG_DEBUG_KERNEL=y | ||
23 | CONFIG_DEBUG_OBJECTS=y | ||
24 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
25 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
26 | CONFIG_SLUB=y | ||
27 | CONFIG_IKCONFIG=y | ||
28 | CONFIG_IKCONFIG_PROC=y | ||
29 | CONFIG_PRINTK_TIME=y | ||
30 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT1-nh deleted file mode 100644 index e3361c3894a1..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_BOOST=y | ||
3 | CONFIG_RCU_BOOST_PRIO=2 | ||
4 | CONFIG_RCU_TRACE=y | ||
5 | CONFIG_RCU_TORTURE_TEST=m | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | # | ||
10 | CONFIG_SMP=n | ||
11 | # | ||
12 | CONFIG_HOTPLUG_CPU=n | ||
13 | # | ||
14 | CONFIG_NO_HZ=n | ||
15 | # | ||
16 | CONFIG_PREEMPT_NONE=n | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT2-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT2-NH deleted file mode 100644 index 64abfc3b4d94..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT2-NH +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=n | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/CFLIST b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/CFLIST deleted file mode 100644 index 18223947bbcb..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/CFLIST +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | P1-S-T-NH-SD-SMP-HP | ||
2 | P2-2-t-nh-sd-SMP-hp | ||
3 | P3-3-T-nh-SD-SMP-hp | ||
4 | P4-A-t-NH-sd-SMP-HP | ||
5 | P5-U-T-NH-sd-SMP-hp | ||
6 | N1-S-T-NH-SD-SMP-HP | ||
7 | N2-2-t-nh-sd-SMP-hp | ||
8 | N3-3-T-nh-SD-SMP-hp | ||
9 | N4-A-t-NH-sd-SMP-HP | ||
10 | N5-U-T-NH-sd-SMP-hp | ||
11 | PT1-nh | ||
12 | PT2-NH | ||
13 | NT1-nh | ||
14 | NT3-NH | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N1-S-T-NH-SD-SMP-HP deleted file mode 100644 index d81e11d280aa..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_FAST_NO_HZ=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=8 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=n | ||
8 | CONFIG_HOTPLUG_CPU=y | ||
9 | CONFIG_PREEMPT_NONE=y | ||
10 | CONFIG_PREEMPT_VOLUNTARY=n | ||
11 | CONFIG_PREEMPT=n | ||
12 | #CHECK#CONFIG_TREE_RCU=y | ||
13 | CONFIG_RCU_TORTURE_TEST=m | ||
14 | CONFIG_MODULE_UNLOAD=y | ||
15 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
16 | CONFIG_IKCONFIG=y | ||
17 | CONFIG_IKCONFIG_PROC=y | ||
18 | CONFIG_PRINTK_TIME=y | ||
19 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 02e418572b1b..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b3100f69c8cf..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N4-A-t-NH-sd-SMP-HP deleted file mode 100644 index c56b44530725..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=y | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=n | ||
11 | #CHECK#CONFIG_TREE_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N5-U-T-NH-sd-SMP-hp deleted file mode 100644 index 90d924fea9e9..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/N5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=6 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=y | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | CONFIG_SUSPEND=n | ||
11 | CONFIG_HIBERNATION=n | ||
12 | CONFIG_PREEMPT_NONE=y | ||
13 | CONFIG_PREEMPT_VOLUNTARY=n | ||
14 | CONFIG_PREEMPT=n | ||
15 | #CHECK#CONFIG_TREE_RCU=y | ||
16 | CONFIG_RCU_TORTURE_TEST=m | ||
17 | CONFIG_MODULE_UNLOAD=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT1-nh deleted file mode 100644 index 023f312a931c..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TRACE=y | ||
3 | CONFIG_RCU_TORTURE_TEST=m | ||
4 | CONFIG_MODULE_UNLOAD=y | ||
5 | CONFIG_SUSPEND=n | ||
6 | CONFIG_HIBERNATION=n | ||
7 | # | ||
8 | CONFIG_SMP=n | ||
9 | # | ||
10 | CONFIG_HOTPLUG_CPU=n | ||
11 | # | ||
12 | CONFIG_NO_HZ=n | ||
13 | # | ||
14 | CONFIG_PREEMPT_NONE=y | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=n | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT3-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT3-NH deleted file mode 100644 index 6fd0235dae73..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT3-NH +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=y | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=n | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P1-S-T-NH-SD-SMP-HP deleted file mode 100644 index 9647c44cf4b7..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_RCU_FAST_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=8 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=n | ||
9 | CONFIG_HOTPLUG_CPU=y | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 0f3b667d2a9f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b035e141bf2a..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P4-A-t-NH-sd-SMP-HP deleted file mode 100644 index 3ccf6a9447f5..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=n | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=y | ||
11 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_RT_MUTEXES=y | ||
15 | CONFIG_RCU_BOOST=y | ||
16 | CONFIG_RCU_BOOST_PRIO=2 | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P5-U-T-NH-sd-SMP-hp deleted file mode 100644 index a55c00877fe4..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/P5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=6 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=y | ||
8 | CONFIG_HOTPLUG_CPU=n | ||
9 | CONFIG_SUSPEND=n | ||
10 | CONFIG_HIBERNATION=n | ||
11 | CONFIG_PREEMPT_NONE=n | ||
12 | CONFIG_PREEMPT_VOLUNTARY=n | ||
13 | CONFIG_PREEMPT=y | ||
14 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
15 | CONFIG_DEBUG_KERNEL=y | ||
16 | CONFIG_DEBUG_OBJECTS=y | ||
17 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
18 | CONFIG_RT_MUTEXES=y | ||
19 | CONFIG_RCU_BOOST=y | ||
20 | CONFIG_RCU_BOOST_PRIO=2 | ||
21 | CONFIG_RCU_TORTURE_TEST=m | ||
22 | CONFIG_MODULE_UNLOAD=y | ||
23 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
24 | CONFIG_IKCONFIG=y | ||
25 | CONFIG_IKCONFIG_PROC=y | ||
26 | CONFIG_PRINTK_TIME=y | ||
27 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT1-nh deleted file mode 100644 index e3361c3894a1..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_BOOST=y | ||
3 | CONFIG_RCU_BOOST_PRIO=2 | ||
4 | CONFIG_RCU_TRACE=y | ||
5 | CONFIG_RCU_TORTURE_TEST=m | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | # | ||
10 | CONFIG_SMP=n | ||
11 | # | ||
12 | CONFIG_HOTPLUG_CPU=n | ||
13 | # | ||
14 | CONFIG_NO_HZ=n | ||
15 | # | ||
16 | CONFIG_PREEMPT_NONE=n | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT2-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT2-NH deleted file mode 100644 index 64abfc3b4d94..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT2-NH +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=n | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/ver_functions.sh b/tools/testing/selftests/rcutorture/configs/rcu/v3.3/ver_functions.sh deleted file mode 100644 index bae55692ce6e..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.3/ver_functions.sh +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # Kernel-version-dependent shell functions for the rest of the scripts. | ||
4 | # | ||
5 | # This program is free software; you can redistribute it and/or modify | ||
6 | # it under the terms of the GNU General Public License as published by | ||
7 | # the Free Software Foundation; either version 2 of the License, or | ||
8 | # (at your option) any later version. | ||
9 | # | ||
10 | # This program is distributed in the hope that it will be useful, | ||
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | # GNU General Public License for more details. | ||
14 | # | ||
15 | # You should have received a copy of the GNU General Public License | ||
16 | # along with this program; if not, you can access it online at | ||
17 | # http://www.gnu.org/licenses/gpl-2.0.html. | ||
18 | # | ||
19 | # Copyright (C) IBM Corporation, 2013 | ||
20 | # | ||
21 | # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com> | ||
22 | |||
23 | # rcutorture_param_onoff bootparam-string config-file | ||
24 | # | ||
25 | # Adds onoff rcutorture module parameters to kernels having it. | ||
26 | rcutorture_param_onoff () { | ||
27 | if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2" | ||
28 | then | ||
29 | echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2 | ||
30 | echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30 | ||
31 | fi | ||
32 | } | ||
33 | |||
34 | # per_version_boot_params bootparam-string config-file seconds | ||
35 | # | ||
36 | # Adds per-version torture-module parameters to kernels supporting them. | ||
37 | per_version_boot_params () { | ||
38 | echo $1 `rcutorture_param_onoff "$1" "$2"` \ | ||
39 | rcutorture.stat_interval=15 \ | ||
40 | rcutorture.shutdown_secs=$3 \ | ||
41 | rcutorture.rcutorture_runnable=1 \ | ||
42 | rcutorture.test_no_idle_hz=1 \ | ||
43 | rcutorture.verbose=1 | ||
44 | } | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/CFLIST b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/CFLIST deleted file mode 100644 index 18223947bbcb..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/CFLIST +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | P1-S-T-NH-SD-SMP-HP | ||
2 | P2-2-t-nh-sd-SMP-hp | ||
3 | P3-3-T-nh-SD-SMP-hp | ||
4 | P4-A-t-NH-sd-SMP-HP | ||
5 | P5-U-T-NH-sd-SMP-hp | ||
6 | N1-S-T-NH-SD-SMP-HP | ||
7 | N2-2-t-nh-sd-SMP-hp | ||
8 | N3-3-T-nh-SD-SMP-hp | ||
9 | N4-A-t-NH-sd-SMP-HP | ||
10 | N5-U-T-NH-sd-SMP-hp | ||
11 | PT1-nh | ||
12 | PT2-NH | ||
13 | NT1-nh | ||
14 | NT3-NH | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N1-S-T-NH-SD-SMP-HP deleted file mode 100644 index d81e11d280aa..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_FAST_NO_HZ=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=8 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=n | ||
8 | CONFIG_HOTPLUG_CPU=y | ||
9 | CONFIG_PREEMPT_NONE=y | ||
10 | CONFIG_PREEMPT_VOLUNTARY=n | ||
11 | CONFIG_PREEMPT=n | ||
12 | #CHECK#CONFIG_TREE_RCU=y | ||
13 | CONFIG_RCU_TORTURE_TEST=m | ||
14 | CONFIG_MODULE_UNLOAD=y | ||
15 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
16 | CONFIG_IKCONFIG=y | ||
17 | CONFIG_IKCONFIG_PROC=y | ||
18 | CONFIG_PRINTK_TIME=y | ||
19 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 02e418572b1b..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b3100f69c8cf..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=y | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=n | ||
13 | #CHECK#CONFIG_TREE_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N4-A-t-NH-sd-SMP-HP deleted file mode 100644 index c56b44530725..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=y | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=n | ||
11 | #CHECK#CONFIG_TREE_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
15 | CONFIG_IKCONFIG=y | ||
16 | CONFIG_IKCONFIG_PROC=y | ||
17 | CONFIG_PRINTK_TIME=y | ||
18 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N5-U-T-NH-sd-SMP-hp deleted file mode 100644 index 90d924fea9e9..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/N5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_RCU_CPU_STALL_INFO=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=6 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=y | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | CONFIG_SUSPEND=n | ||
11 | CONFIG_HIBERNATION=n | ||
12 | CONFIG_PREEMPT_NONE=y | ||
13 | CONFIG_PREEMPT_VOLUNTARY=n | ||
14 | CONFIG_PREEMPT=n | ||
15 | #CHECK#CONFIG_TREE_RCU=y | ||
16 | CONFIG_RCU_TORTURE_TEST=m | ||
17 | CONFIG_MODULE_UNLOAD=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT1-nh deleted file mode 100644 index 023f312a931c..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TRACE=y | ||
3 | CONFIG_RCU_TORTURE_TEST=m | ||
4 | CONFIG_MODULE_UNLOAD=y | ||
5 | CONFIG_SUSPEND=n | ||
6 | CONFIG_HIBERNATION=n | ||
7 | # | ||
8 | CONFIG_SMP=n | ||
9 | # | ||
10 | CONFIG_HOTPLUG_CPU=n | ||
11 | # | ||
12 | CONFIG_NO_HZ=n | ||
13 | # | ||
14 | CONFIG_PREEMPT_NONE=y | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=n | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT3-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT3-NH deleted file mode 100644 index 6fd0235dae73..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT3-NH +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #CHECK#CONFIG_TINY_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=y | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=n | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P1-S-T-NH-SD-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P1-S-T-NH-SD-SMP-HP deleted file mode 100644 index 9647c44cf4b7..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P1-S-T-NH-SD-SMP-HP +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_RCU_FAST_NO_HZ=y | ||
5 | CONFIG_SMP=y | ||
6 | CONFIG_RCU_FANOUT=8 | ||
7 | CONFIG_NR_CPUS=8 | ||
8 | CONFIG_RCU_FANOUT_EXACT=n | ||
9 | CONFIG_HOTPLUG_CPU=y | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P2-2-t-nh-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P2-2-t-nh-sd-SMP-hp deleted file mode 100644 index 0f3b667d2a9f..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P2-2-t-nh-sd-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=4 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P3-3-T-nh-SD-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P3-3-T-nh-SD-SMP-hp deleted file mode 100644 index b035e141bf2a..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P3-3-T-nh-SD-SMP-hp +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_NO_HZ=n | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=2 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=n | ||
8 | CONFIG_SUSPEND=n | ||
9 | CONFIG_HIBERNATION=n | ||
10 | CONFIG_PREEMPT_NONE=n | ||
11 | CONFIG_PREEMPT_VOLUNTARY=n | ||
12 | CONFIG_PREEMPT=y | ||
13 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
14 | CONFIG_RCU_TORTURE_TEST=m | ||
15 | CONFIG_MODULE_UNLOAD=y | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_PRINTK_TIME=y | ||
20 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P4-A-t-NH-sd-SMP-HP b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P4-A-t-NH-sd-SMP-HP deleted file mode 100644 index 3ccf6a9447f5..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P4-A-t-NH-sd-SMP-HP +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=n | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_RCU_FANOUT=6 | ||
5 | CONFIG_NR_CPUS=8 | ||
6 | CONFIG_RCU_FANOUT_EXACT=n | ||
7 | CONFIG_HOTPLUG_CPU=y | ||
8 | CONFIG_PREEMPT_NONE=n | ||
9 | CONFIG_PREEMPT_VOLUNTARY=n | ||
10 | CONFIG_PREEMPT=y | ||
11 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
12 | CONFIG_RCU_TORTURE_TEST=m | ||
13 | CONFIG_MODULE_UNLOAD=y | ||
14 | CONFIG_RT_MUTEXES=y | ||
15 | CONFIG_RCU_BOOST=y | ||
16 | CONFIG_RCU_BOOST_PRIO=2 | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P5-U-T-NH-sd-SMP-hp b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P5-U-T-NH-sd-SMP-hp deleted file mode 100644 index a55c00877fe4..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/P5-U-T-NH-sd-SMP-hp +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | CONFIG_RCU_TRACE=y | ||
2 | CONFIG_RCU_CPU_STALL_INFO=y | ||
3 | CONFIG_NO_HZ=y | ||
4 | CONFIG_SMP=y | ||
5 | CONFIG_RCU_FANOUT=6 | ||
6 | CONFIG_NR_CPUS=8 | ||
7 | CONFIG_RCU_FANOUT_EXACT=y | ||
8 | CONFIG_HOTPLUG_CPU=n | ||
9 | CONFIG_SUSPEND=n | ||
10 | CONFIG_HIBERNATION=n | ||
11 | CONFIG_PREEMPT_NONE=n | ||
12 | CONFIG_PREEMPT_VOLUNTARY=n | ||
13 | CONFIG_PREEMPT=y | ||
14 | #CHECK#CONFIG_TREE_PREEMPT_RCU=y | ||
15 | CONFIG_DEBUG_KERNEL=y | ||
16 | CONFIG_DEBUG_OBJECTS=y | ||
17 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | ||
18 | CONFIG_RT_MUTEXES=y | ||
19 | CONFIG_RCU_BOOST=y | ||
20 | CONFIG_RCU_BOOST_PRIO=2 | ||
21 | CONFIG_RCU_TORTURE_TEST=m | ||
22 | CONFIG_MODULE_UNLOAD=y | ||
23 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
24 | CONFIG_IKCONFIG=y | ||
25 | CONFIG_IKCONFIG_PROC=y | ||
26 | CONFIG_PRINTK_TIME=y | ||
27 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT1-nh b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT1-nh deleted file mode 100644 index e3361c3894a1..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT1-nh +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_BOOST=y | ||
3 | CONFIG_RCU_BOOST_PRIO=2 | ||
4 | CONFIG_RCU_TRACE=y | ||
5 | CONFIG_RCU_TORTURE_TEST=m | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | # | ||
10 | CONFIG_SMP=n | ||
11 | # | ||
12 | CONFIG_HOTPLUG_CPU=n | ||
13 | # | ||
14 | CONFIG_NO_HZ=n | ||
15 | # | ||
16 | CONFIG_PREEMPT_NONE=n | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_PRINTK_TIME=y | ||
23 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT2-NH b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT2-NH deleted file mode 100644 index 64abfc3b4d94..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT2-NH +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=n | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_PRINTK_TIME=y | ||
22 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/ver_functions.sh b/tools/testing/selftests/rcutorture/configs/rcu/v3.5/ver_functions.sh deleted file mode 100644 index 8977d8d31b19..000000000000 --- a/tools/testing/selftests/rcutorture/configs/rcu/v3.5/ver_functions.sh +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # Kernel-version-dependent shell functions for the rest of the scripts. | ||
4 | # | ||
5 | # This program is free software; you can redistribute it and/or modify | ||
6 | # it under the terms of the GNU General Public License as published by | ||
7 | # the Free Software Foundation; either version 2 of the License, or | ||
8 | # (at your option) any later version. | ||
9 | # | ||
10 | # This program is distributed in the hope that it will be useful, | ||
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | # GNU General Public License for more details. | ||
14 | # | ||
15 | # You should have received a copy of the GNU General Public License | ||
16 | # along with this program; if not, you can access it online at | ||
17 | # http://www.gnu.org/licenses/gpl-2.0.html. | ||
18 | # | ||
19 | # Copyright (C) IBM Corporation, 2013 | ||
20 | # | ||
21 | # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com> | ||
22 | |||
23 | # rcutorture_param_n_barrier_cbs bootparam-string | ||
24 | # | ||
25 | # Adds n_barrier_cbs rcutorture module parameter to kernels having it. | ||
26 | rcutorture_param_n_barrier_cbs () { | ||
27 | if echo $1 | grep -q "rcutorture\.n_barrier_cbs" | ||
28 | then | ||
29 | : | ||
30 | else | ||
31 | echo rcutorture.n_barrier_cbs=4 | ||
32 | fi | ||
33 | } | ||
34 | |||
35 | # rcutorture_param_onoff bootparam-string config-file | ||
36 | # | ||
37 | # Adds onoff rcutorture module parameters to kernels having it. | ||
38 | rcutorture_param_onoff () { | ||
39 | if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2" | ||
40 | then | ||
41 | echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2 | ||
42 | echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30 | ||
43 | fi | ||
44 | } | ||
45 | |||
46 | # per_version_boot_params bootparam-string config-file seconds | ||
47 | # | ||
48 | # Adds per-version torture-module parameters to kernels supporting them. | ||
49 | per_version_boot_params () { | ||
50 | echo $1 `rcutorture_param_onoff "$1" "$2"` \ | ||
51 | `rcutorture_param_n_barrier_cbs "$1"` \ | ||
52 | rcutorture.stat_interval=15 \ | ||
53 | rcutorture.shutdown_secs=$3 \ | ||
54 | rcutorture.rcutorture_runnable=1 \ | ||
55 | rcutorture.test_no_idle_hz=1 \ | ||
56 | rcutorture.verbose=1 | ||
57 | } | ||
diff --git a/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt b/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt index 28db67b54e55..9ef33a743b73 100644 --- a/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt +++ b/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt | |||
@@ -34,7 +34,7 @@ CONFIG_PREEMPT | |||
34 | CONFIG_PREEMPT_RCU | 34 | CONFIG_PREEMPT_RCU |
35 | CONFIG_SMP | 35 | CONFIG_SMP |
36 | CONFIG_TINY_RCU | 36 | CONFIG_TINY_RCU |
37 | CONFIG_TREE_PREEMPT_RCU | 37 | CONFIG_PREEMPT_RCU |
38 | CONFIG_TREE_RCU | 38 | CONFIG_TREE_RCU |
39 | 39 | ||
40 | All forced by CONFIG_TINY_RCU. | 40 | All forced by CONFIG_TINY_RCU. |
diff --git a/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt index 3e588db86a17..ec03c883db00 100644 --- a/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt +++ b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | This document gives a brief rationale for the TREE_RCU-related test | 1 | This document gives a brief rationale for the TREE_RCU-related test |
2 | cases, a group that includes TREE_PREEMPT_RCU. | 2 | cases, a group that includes PREEMPT_RCU. |
3 | 3 | ||
4 | 4 | ||
5 | Kconfig Parameters: | 5 | Kconfig Parameters: |
@@ -14,10 +14,9 @@ CONFIG_NO_HZ_FULL_SYSIDLE -- Do one. | |||
14 | CONFIG_PREEMPT -- Do half. (First three and #8.) | 14 | CONFIG_PREEMPT -- Do half. (First three and #8.) |
15 | CONFIG_PROVE_LOCKING -- Do all but two, covering CONFIG_PROVE_RCU and not. | 15 | CONFIG_PROVE_LOCKING -- Do all but two, covering CONFIG_PROVE_RCU and not. |
16 | CONFIG_PROVE_RCU -- Do all but one under CONFIG_PROVE_LOCKING. | 16 | CONFIG_PROVE_RCU -- Do all but one under CONFIG_PROVE_LOCKING. |
17 | CONFIG_RCU_BOOST -- one of TREE_PREEMPT_RCU. | 17 | CONFIG_RCU_BOOST -- one of PREEMPT_RCU. |
18 | CONFIG_RCU_BOOST_PRIO -- set to 2 for _BOOST testing. | 18 | CONFIG_RCU_KTHREAD_PRIO -- set to 2 for _BOOST testing. |
19 | CONFIG_RCU_CPU_STALL_INFO -- do one with and without _VERBOSE. | 19 | CONFIG_RCU_CPU_STALL_INFO -- Do one. |
20 | CONFIG_RCU_CPU_STALL_VERBOSE -- do one with and without _INFO. | ||
21 | CONFIG_RCU_FANOUT -- Cover hierarchy as currently, but overlap with others. | 20 | CONFIG_RCU_FANOUT -- Cover hierarchy as currently, but overlap with others. |
22 | CONFIG_RCU_FANOUT_EXACT -- Do one. | 21 | CONFIG_RCU_FANOUT_EXACT -- Do one. |
23 | CONFIG_RCU_FANOUT_LEAF -- Do one non-default. | 22 | CONFIG_RCU_FANOUT_LEAF -- Do one non-default. |
@@ -27,7 +26,7 @@ CONFIG_RCU_NOCB_CPU_ALL -- Do one. | |||
27 | CONFIG_RCU_NOCB_CPU_NONE -- Do one. | 26 | CONFIG_RCU_NOCB_CPU_NONE -- Do one. |
28 | CONFIG_RCU_NOCB_CPU_ZERO -- Do one. | 27 | CONFIG_RCU_NOCB_CPU_ZERO -- Do one. |
29 | CONFIG_RCU_TRACE -- Do half. | 28 | CONFIG_RCU_TRACE -- Do half. |
30 | CONFIG_SMP -- Need one !SMP for TREE_PREEMPT_RCU. | 29 | CONFIG_SMP -- Need one !SMP for PREEMPT_RCU. |
31 | RCU-bh: Do one with PREEMPT and one with !PREEMPT. | 30 | RCU-bh: Do one with PREEMPT and one with !PREEMPT. |
32 | RCU-sched: Do one with PREEMPT but not BOOST. | 31 | RCU-sched: Do one with PREEMPT but not BOOST. |
33 | 32 | ||
@@ -77,7 +76,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT | |||
77 | 76 | ||
78 | CONFIG_RCU_STALL_COMMON | 77 | CONFIG_RCU_STALL_COMMON |
79 | 78 | ||
80 | Implied by TREE_RCU and TREE_PREEMPT_RCU. | 79 | Implied by TREE_RCU and PREEMPT_RCU. |
81 | 80 | ||
82 | CONFIG_RCU_TORTURE_TEST | 81 | CONFIG_RCU_TORTURE_TEST |
83 | CONFIG_RCU_TORTURE_TEST_RUNNABLE | 82 | CONFIG_RCU_TORTURE_TEST_RUNNABLE |
@@ -88,7 +87,7 @@ CONFIG_RCU_USER_QS | |||
88 | 87 | ||
89 | Redundant with CONFIG_NO_HZ_FULL. | 88 | Redundant with CONFIG_NO_HZ_FULL. |
90 | 89 | ||
91 | CONFIG_TREE_PREEMPT_RCU | 90 | CONFIG_PREEMPT_RCU |
92 | CONFIG_TREE_RCU | 91 | CONFIG_TREE_RCU |
93 | 92 | ||
94 | These are controlled by CONFIG_PREEMPT. | 93 | These are controlled by CONFIG_PREEMPT. |