On 21-05-18, 10:20, Joel Fernandes wrote: > On Mon, May 21, 2018 at 06:00:50PM +0100, Patrick Bellasi wrote: > > If that's the case, this means that if, for example, during a > > frequency switch you get a request to reduce the frequency (e.g. > > deadline task passing the 0-lag time) and right after a request to > > increase the frequency (e.g. the current FAIR task tick)... you will > > enqueue a freq drop followed by a freq increase and actually do two > > frequency hops?
I don't think so. Consider the kthread as running currently and has just cleared the work_in_progress flag. Sched update comes at that time and we decide to reduce the frequency, we queue another work and update next_freq. Now if another sched update comes before the kthread finishes its previous loop, we will simply update next_freq and return. So when the next time kthread runs, it will pick the most recent update. Where is the problem both of you see ? -- viresh