Off-topic, but... On 07/28, Oleg Nesterov wrote: > > But we should always call user_exit() unconditionally? Frederic, don't we need the patch below? In fact clear_() can be moved under "if ()" too. and probably copy_process() should clear this flag... Or. __context_tracking_task_switch() can simply do if (context_tracking_cpu_is_enabled()) set_tsk_thread_flag(next, TIF_NOHZ); else clear_tsk_thread_flag(next, TIF_NOHZ); and then we can forget about copy_process(). Or I am totally confused? I am also wondering if we can extend user_return_notifier to handle enter/exit and kill TIF_NOHZ. Oleg. --- x/kernel/context_tracking.c +++ x/kernel/context_tracking.c @@ -202,7 +202,8 @@ void __context_tracking_task_switch(stru struct task_struct *next) { clear_tsk_thread_flag(prev, TIF_NOHZ); - set_tsk_thread_flag(next, TIF_NOHZ); + if (context_tracking_cpu_is_enabled()) + set_tsk_thread_flag(next, TIF_NOHZ); } #ifdef CONFIG_CONTEXT_TRACKING_FORCE