Messages in this thread | | | From | Mel Gorman <> | Subject | [PATCH 0/4] Reduce overhead of menu governor | Date | Wed, 6 Aug 2014 14:19:17 +0100 |
| |
The menu_select function is heavy and is very noticable in profiles for workloads that enter/leave idle state a lot. This primarily happens for scheduler microbenchmarks. The biggest contibution is the standard deviation calculations and comparisons but the excessive calls into the scheduler core do not help.
It would be nice to reduce the number of times nr_iowait is checked to once per 8 intervals but I was not sure how to measure what the general impact of such a change could be.
Similiarly I looked at different ways the standard deviation could be calculated but the standard equivalent calculations potentially overflow. It could be done as rolling average and rolling deviation but again it was unclear how that could be evaluated. Tips on how the goodness/badness of governor changes are evalated would be nice.
In the meantime, here are patches against some of the obvious stuff.
drivers/cpuidle/governors/menu.c | 43 +++++++++++++++++++++------------------- include/linux/sched.h | 3 +-- kernel/sched/core.c | 7 +++++++ kernel/sched/proc.c | 7 ------- 4 files changed, 31 insertions(+), 29 deletions(-)
-- 1.8.4.5
| |