public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Reduce overhead of menu governor
@ 2014-08-06 13:19 Mel Gorman
  2014-08-06 13:19 ` [PATCH 1/4] cpuidle: menu: Use shifts when calculating averages where possible Mel Gorman
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Mel Gorman @ 2014-08-06 13:19 UTC (permalink / raw)
  To: Rafael J Wysocki, Nicolas Pitre; +Cc: Mike Galbraith, LKML, Mel Gorman

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-08-06 18:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-06 13:19 [PATCH 0/4] Reduce overhead of menu governor Mel Gorman
2014-08-06 13:19 ` [PATCH 1/4] cpuidle: menu: Use shifts when calculating averages where possible Mel Gorman
2014-08-06 13:19 ` [PATCH 2/4] cpuidle: menu: Use ktime_to_us instead of reinventing the wheel Mel Gorman
2014-08-06 14:17   ` Daniel Lezcano
2014-08-06 13:19 ` [PATCH 3/4] cpuidle: menu: Call nr_iowait_cpu less times Mel Gorman
2014-08-06 13:19 ` [PATCH 4/4] cpuidle: menu: Lookup CPU runqueues less Mel Gorman
2014-08-06 19:17 ` [PATCH 0/4] Reduce overhead of menu governor Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox