On 07/31, Frederic Weisbecker wrote: > > 2014-07-31 20:47 GMT+02:00 Frederic Weisbecker <fweisbec@xxxxxxxxx>: > > On Thu, Jul 31, 2014 at 08:12:30PM +0200, Oleg Nesterov wrote: > >> On 07/31, Frederic Weisbecker wrote: > > No, because preempt_schedule_irq() does the ctx_state save and restore with > > exception_enter/exception_exit. > > Similar thing happens with schedule_user(). > > preempt_schedule_irq() handles kernel preemption and schedule_user() > the user preemption. On both cases we save and restore the context > tracking state. > > This might be the missing piece you were missing :) YYYYYEEEEESSSS, thanks!! And in fact I was going to suggest to add this logic into preempt schedule paths to improve the situation if we can't make TIF_NOHZ per-cpu. But Frederic, perhaps I'll return here tomorrow with another question, it is too late for me now ;) Thanks! Oleg.