On Wednesday, March 19, 2014 03:39:16 PM Viresh Kumar wrote: > On 19 March 2014 15:20, Srivatsa S. Bhat > <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> wrote: > > No, its not about burden. Its about the elegance of the design. We should > > not be overly "smart" in the cpufreq core. Hiding the synchronization inside > > the cpufreq core only encourages people to write buggy code in their drivers. > > What kind of buggy code can be there? They are supposed to call notifiers > in the order mentioned and so it shouldn't be a problem at all.. Don't know.. > > > Why don't we go with what Rafael suggested? We can have dedicated > > begin_transition() and end_transition() calls to demarcate the frequency > > transitions. That way, it makes it very clear how the synchronization is > > done. Of course, these functions would be provided (exported) by the cpufreq > > core, by implementing them using locks/counters/whatever. > > > > Basically what I'm arguing against, is the idea of having the cpufreq > > core figure out what the driver _intended_ to do, from inside the > > cpufreq_notify_transition() call. > > > > What I would prefer instead is to have the cpufreq driver do something > > like this: > > > > cpufreq_freq_transition_begin(); > > > > cpufreq_notify_transition(CPUFREQ_PRECHANGE); > > Why do we need two routines then? What about doing notification from > inside cpufreq_freq_transition_begin()? We can do that in my opinion. > This is a burden for driver writers, who don't normally understand the > relevance of these calls in detail and may think, only the first one is > enough or the second one is.. > > Its better if they simply let the core that they are starting to do transitions, > i.e. cpufreq_freq_transition_begin() and then the core should send > notifications. > > > //perform the frequency change > > > > cpufreq_notify_transition(CPUFREQ_POSTCHANGE); > > > > cpufreq_freq_transition_end(); > > > > [ASYNC_NOTIFICATION drivers will invoke the last two functions in a > > separate context/thread.] > > Same for the last two routines and yes they would be called from > separate thread for ASYNC_NOTIFICATION drivers.. That'd be fine by me in principle. -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html