| Date | Tue, 15 Mar 2016 22:25:20 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util |
| |
On Sun, Mar 13, 2016 at 10:22:09PM -0700, Michael Turquette wrote: > +++ b/include/linux/sched.h > @@ -2362,15 +2362,25 @@ extern u64 scheduler_tick_max_deferment(void); > static inline bool sched_can_stop_tick(void) { return false; } > #endif > > +enum sched_class_util { > + cfs_util, > + rt_util, > + dl_util, > + nr_util_types, > +}; > + > #ifdef CONFIG_CPU_FREQ > struct freq_update_hook { > + void (*func)(struct freq_update_hook *hook, > + enum sched_class_util sched_class, u64 time, > unsigned long util, unsigned long max); > }; > > void cpufreq_set_freq_update_hook(int cpu, struct freq_update_hook *hook, > + void (*func)(struct freq_update_hook *hook, > + enum sched_class_util sched_class, > + u64 time, unsigned long util, > + unsigned long max));
Have you looked at the asm that generated? At some point you'll start spilling on the stack and it'll be a god awful mess.
|