Messages in this thread | | | Date | Fri, 12 Oct 2018 10:28:26 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH V2 2/2] cpuidle/drivers/menu: Remove get_loadavg in the performance multiplier |
| |
On Thu, Oct 04, 2018 at 02:04:03PM +0200, Daniel Lezcano wrote: > The function get_loadavg() returns almost always zero. To be more > precise, statistically speaking for a total of 1023379 times passing > in the function, the load is equal to zero 1020728 times, greater than > 100, 610 times, the remaining is between 0 and 5. > > In 2011, the get_loadavg() was removed from the Android tree because > of the above [1]. At this time, the load was: > > unsigned long this_cpu_load(void) > { > struct rq *this = this_rq(); > return this->cpu_load[0]; > } > > In 2014, the code was changed by commit 372ba8cb46b2 (cpuidle: menu: Lookup CPU > runqueues less) and the load is: > > void get_iowait_load(unsigned long *nr_waiters, unsigned long *load) > { > struct rq *rq = this_rq(); > *nr_waiters = atomic_read(&rq->nr_iowait); > *load = rq->load.weight; > } > > with the same result. > > Both measurements show using the load in this code path does no matter > anymore. Removing it. > > [1] https://android.googlesource.com/kernel/common/+/4dedd9f124703207895777ac6e91dacde0f7cc17 > > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Todd Kjos <tkjos@google.com> > Cc: Joel Fernandes <joelaf@google.com> > Cc: Colin Cross <ccross@android.com> > Cc: Ramesh Thomas <ramesh.thomas@intel.com> > Cc: Mel Gorman <mgorman@suse.de> > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
| |