Re: [RFC PATCH v2 3/3] sched: introduce synchronized idle injection

From: Peter Zijlstra
Date: Tue Nov 10 2015 - 12:00:23 EST


On Tue, Nov 10, 2015 at 08:50:55AM -0800, Jacob Pan wrote:
> On Tue, 10 Nov 2015 17:36:46 +0100
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > > The downside is that we need to restart the timers every time if
> > > user were to change injection parameters, i.e. duration and percent.
> > > Or do locking which might be too expensive. In the previous
> > > approach, it will naturally catch up the parameter change.
> >
> > Why? the timer will fire and observe the new value for reprogramming
> > the next period. All you need to do is to ensure whole values are
> > written/read -- ie. avoid load/store tearing.
> Different per CPU timer may intercept parameter changes at slightly
> different time, so there is a race condition such that some CPUs may
> catch the period change later by one period, which results in a correct
> period change but at a different time, i.e. out of sync.

Ah yes. So if the locking hurts I can come up with a lockless algorithm
for this. Shouldn't be too hard.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/