On Fri, Apr 21, 2017 at 10:49:29PM -0400, Steven Rostedt wrote: > +#ifdef HAVE_RT_PUSH_IPI > + /* > + * For IPI pull requests, loop across the rto_mask. > + */ > + struct irq_work rto_push_work; > + raw_spinlock_t rto_lock; > + /* These atomics are updated outside of a lock */ > + atomic_t rto_loop_next; > + atomic_t rto_loop_start; > + /* These are only updated and read withn rto_lock */ > + int rto_loop; > + int rto_cpu; > +#endif
Don't you think it would make sense to place the rto_lock near the variables it protects? And if those atomics are supposed to increase performance, do they want to share the same cacheline with the lock?