File tree Expand file tree Collapse file tree 8 files changed +19
-5
lines changed Expand file tree Collapse file tree 8 files changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -540,11 +540,17 @@ config HAVE_CONTEXT_TRACKING
540
540
help
541
541
Provide kernel/user boundaries probes necessary for subsystems
542
542
that need it, such as userspace RCU extended quiescent state.
543
- Syscalls need to be wrapped inside user_exit()-user_enter() through
544
- the slow path using TIF_NOHZ flag. Exceptions handlers must be
545
- wrapped as well. Irqs are already protected inside
546
- rcu_irq_enter/rcu_irq_exit() but preemption or signal handling on
547
- irq exit still need to be protected.
543
+ Syscalls need to be wrapped inside user_exit()-user_enter(), either
544
+ optimized behind static key or through the slow path using TIF_NOHZ
545
+ flag. Exceptions handlers must be wrapped as well. Irqs are already
546
+ protected inside rcu_irq_enter/rcu_irq_exit() but preemption or signal
547
+ handling on irq exit still need to be protected.
548
+
549
+ config HAVE_TIF_NOHZ
550
+ bool
551
+ help
552
+ Arch relies on TIF_NOHZ and syscall slow path to implement context
553
+ tracking calls to user_enter()/user_exit().
548
554
549
555
config HAVE_VIRT_CPU_ACCOUNTING
550
556
bool
Original file line number Diff line number Diff line change @@ -72,6 +72,7 @@ config ARM
72
72
select HAVE_ARM_SMCCC if CPU_V7
73
73
select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32
74
74
select HAVE_CONTEXT_TRACKING
75
+ select HAVE_TIF_NOHZ
75
76
select HAVE_COPY_THREAD_TLS
76
77
select HAVE_C_RECORDMCOUNT
77
78
select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
Original file line number Diff line number Diff line change @@ -140,6 +140,7 @@ config ARM64
140
140
select HAVE_CMPXCHG_DOUBLE
141
141
select HAVE_CMPXCHG_LOCAL
142
142
select HAVE_CONTEXT_TRACKING
143
+ select HAVE_TIF_NOHZ
143
144
select HAVE_COPY_THREAD_TLS
144
145
select HAVE_DEBUG_BUGVERBOSE
145
146
select HAVE_DEBUG_KMEMLEAK
Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ config MIPS
51
51
select HAVE_ASM_MODVERSIONS
52
52
select HAVE_CBPF_JIT if !64BIT && !CPU_MICROMIPS
53
53
select HAVE_CONTEXT_TRACKING
54
+ select HAVE_TIF_NOHZ
54
55
select HAVE_COPY_THREAD_TLS
55
56
select HAVE_C_RECORDMCOUNT
56
57
select HAVE_DEBUG_KMEMLEAK
Original file line number Diff line number Diff line change @@ -182,6 +182,7 @@ config PPC
182
182
select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13)
183
183
select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2)
184
184
select HAVE_CONTEXT_TRACKING if PPC64
185
+ select HAVE_TIF_NOHZ if PPC64
185
186
select HAVE_COPY_THREAD_TLS
186
187
select HAVE_DEBUG_KMEMLEAK
187
188
select HAVE_DEBUG_STACKOVERFLOW
Original file line number Diff line number Diff line change @@ -71,6 +71,7 @@ config SPARC64
71
71
select HAVE_FTRACE_MCOUNT_RECORD
72
72
select HAVE_SYSCALL_TRACEPOINTS
73
73
select HAVE_CONTEXT_TRACKING
74
+ select HAVE_TIF_NOHZ
74
75
select HAVE_DEBUG_KMEMLEAK
75
76
select IOMMU_HELPER
76
77
select SPARSE_IRQ
Original file line number Diff line number Diff line change @@ -211,6 +211,7 @@ config X86
211
211
select HAVE_STACK_VALIDATION if X86_64
212
212
select HAVE_RSEQ
213
213
select HAVE_SYSCALL_TRACEPOINTS
214
+ select HAVE_TIF_NOHZ if X86_64
214
215
select HAVE_UNSTABLE_SCHED_CLOCK
215
216
select HAVE_USER_RETURN_NOTIFIER
216
217
select HAVE_GENERIC_VDSO
Original file line number Diff line number Diff line change @@ -198,11 +198,13 @@ void __init context_tracking_cpu_set(int cpu)
198
198
if (initialized )
199
199
return ;
200
200
201
+ #ifdef CONFIG_HAVE_TIF_NOHZ
201
202
/*
202
203
* Set TIF_NOHZ to init/0 and let it propagate to all tasks through fork
203
204
* This assumes that init is the only task at this early boot stage.
204
205
*/
205
206
set_tsk_thread_flag (& init_task , TIF_NOHZ );
207
+ #endif
206
208
WARN_ON_ONCE (!tasklist_empty ());
207
209
208
210
initialized = true;
You can’t perform that action at this time.
0 commit comments