Messages in this thread | | | Date | Tue, 10 Nov 2015 18:00:10 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH v2 3/3] sched: introduce synchronized idle injection |
| |
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@infradead.org> 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.
| |