On 18-Dec 17:29, Viresh Kumar wrote: > On 18-12-17, 12:35, Rafael J. Wysocki wrote: > > Well, if SCHED_CPUFRREQ_CLEAR means "this CPU is going to enter the > > idle loop" really, then it is better to call it > > SCHED_CPUFRREQ_ENTER_IDLE, for example. > > > > SCHED_CPUFRREQ_CLEAR meaning basically "you should clear these flags > > now" doesn't seem to convey any information to whoever doesn't > > squirrel the flags in the first place. > > Right, but when all the flags are cleared, then we can infer that we > are going to idle in the most probable case. > > Anyway, I will implement RT and DL clear flags as you suggested in the > next version.
I think Rafael is right, the current API is a big odd since we cannot really set the CLEAR flags by itself. I mean, you can but it will not have effects. Thus, it's probably better from an API standpoint to have a dedicated single clear flag... unfortunately it has to be one per class, which is still not optimal and will likely make the policy code a bit odd. What about extending the signature of the callback method? For example, swithing from: - void (*func)(struct update_util_data *data, u64 time, - unsigned int flags)) + void (*func)(struct update_util_data *data, u64 time, + unsigned int flags, bool set)) Where the additional boolean is actually used to define which operation we wanna perform on the flags? -- #include <best/regards.h> Patrick Bellasi