On Thu, Aug 15, 2019 at 08:02:01PM -0400, Joel Fernandes wrote: > On Thu, Aug 15, 2019 at 02:45:42PM -0700, Paul E. McKenney wrote: > > As I understand it, tick_dep_mask forces the tick on globally, > > ts->tick_dep_mask forces it on for a specific CPU (which RCU uses when it > > needs a quiescent state from that CPU), current->tick_dep_mask forces > > it on for a specific task (which RCU uses for callback invocation > > and certain rcutorture kthreads), and I don't pretend to understand > > current->signal->tick_dep_mask (the comment says something about POSIX > > CPU timers). > > Right. I am pretty new to all of these so I could have something incorrect in > a hurry. But thanks for the explanation of your understanding of these. > > Yes this commit talks about timers as well for the signal->tick_dep_mask: > d027d45d8a17 ("nohz: New tick dependency mask") FWIW, the signal->tick_dep_mask is a thread group wide tick dependency. I'm not proud of that requirement but we need to keep it for posix CPU timers that can elapse a timer on all threads of a same process and the tick is the cheapest way to account for that.