Re: [RFC][PATCH tip/sched/core] sched/rt: Simplify the IPI rt balancing logic

From: Steven Rostedt
Date: Mon Apr 24 2017 - 08:44:13 EST


On Mon, 24 Apr 2017 10:57:00 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> 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?

Good point! I'll update.

-- Steve