public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/11] sched: find_busiest_group() cleanup
@ 2009-03-25  9:13 Gautham R Shenoy
  2009-03-25  9:13 ` [RFC PATCH 01/11] sched: Simple helper functions for find_busiest_group() Gautham R Shenoy
                   ` (11 more replies)
  0 siblings, 12 replies; 33+ messages in thread
From: Gautham R Shenoy @ 2009-03-25  9:13 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra, Vaidyanathan Srinivasan
  Cc: linux-kernel, Suresh Siddha, Balbir Singh, Nick Piggin,
	Dhaval Giani, Bharata B Rao

Hi,

This patchset contains the cleanup of the humongous find_busiest_group()
function.

Vaidy had  tried a hand at this before. His approach can be
found here:
http://lkml.org/lkml/2008/9/24/201 and
http://lkml.org/lkml/2008/10/9/176

Though the code in this patchset has been written from scratch I have
reused some of the ideas that Vaidy had originally proposed.
Credit has been given whereever it is due :)

The patches in this series are incremental. Each one is a functional patch,
which compiles fine.

The steps followed in the cleanup are as follows:
- Fix indentations.

- Group variables that serve a common high-level purpose into a single
  structure.

- Use helper functions to perform all the calculatations, like calculating
  the sched_domain and sched_group statistics, calculating the imbalance, etc.

- Move the power_savings_balance part, which depends on
  (CONFIG_SCHED_MC || CONFIG_SCHED_SMT) into a different section, thereby
  eliminating the #ifdef jungle in helper functions.

- Add /** style comments for all the functions, including find_busiest_group()

- Add additional comments whereever appropriate.

After applying all the patches, the size of find_busiest_group() goes down
from 313 lines to 76 lines. Of course, there are the helpers, but effort
has been put to keep all the helper functions within the 80 line limit.

Any feedback on the patches and how the functionality can be tested is greatly
appreciated.

---

Gautham R Shenoy (11):
      sched: Add comments to find_busiest_group() function.
      sched: Refactor the power savings balance code.
      sched: Optimize the !power_savings_balance during find_busiest_group.
      sched: Create a helper function to calculate imbalance.
      sched: Create helper to calculate small_imbalance in find_busiest_group.
      sched: Create a helper function to calculate sched_domain stats for fbg()
      sched: Define structure to store the sched_domain statistics for fbg()
      sched: Create a helper function to calculate sched_group stats for fbg()
      sched: Define structure to store the sched_group statistics for fbg()
      sched: Fix indentations in find_busiest_group using gotos.
      sched: Simple helper functions for find_busiest_group()


 kernel/sched.c |  765 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 515 insertions(+), 250 deletions(-)

-- 
Thanks and Regards
gautham.

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

end of thread, other threads:[~2009-03-25 19:17 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-25  9:13 [RFC PATCH 00/11] sched: find_busiest_group() cleanup Gautham R Shenoy
2009-03-25  9:13 ` [RFC PATCH 01/11] sched: Simple helper functions for find_busiest_group() Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:13 ` [RFC PATCH 02/11] sched: Fix indentations in find_busiest_group using gotos Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] sched: Fix indentations in find_busiest_group() " Gautham R Shenoy
2009-03-25  9:13 ` [RFC PATCH 03/11] sched: Define structure to store the sched_group statistics for fbg() Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:13 ` [RFC PATCH 04/11] sched: Create a helper function to calculate sched_group stats " Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:13 ` [RFC PATCH 05/11] sched: Define structure to store the sched_domain statistics " Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 06/11] sched: Create a helper function to calculate sched_domain stats " Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 07/11] sched: Create helper to calculate small_imbalance in find_busiest_group Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] sched: Create helper to calculate small_imbalance in fbg() Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 08/11] sched: Create a helper function to calculate imbalance Gautham R Shenoy
2009-03-25  9:46   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 09/11] sched: Optimize the !power_savings_balance during find_busiest_group Gautham R Shenoy
2009-03-25  9:47   ` [tip:sched/balancing] sched: Optimize the !power_savings_balance during fbg() Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 10/11] sched: Refactor the power savings balance code Gautham R Shenoy
2009-03-25  9:47   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25  9:14 ` [RFC PATCH 11/11] sched: Add comments to find_busiest_group() function Gautham R Shenoy
2009-03-25  9:47   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25 11:43   ` [RFC PATCH 11/11] " Gautham R Shenoy
2009-03-25 12:29     ` Ingo Molnar
2009-03-25 13:07       ` Gautham R Shenoy
2009-03-25 13:10         ` Ingo Molnar
2009-03-25 12:30   ` [tip:sched/balancing] " Gautham R Shenoy
2009-03-25 16:04     ` Ray Lee
2009-03-25 16:17       ` Ingo Molnar
2009-03-25 19:17       ` Gautham R Shenoy
2009-03-25  9:30 ` [RFC PATCH 00/11] sched: find_busiest_group() cleanup Ingo Molnar
2009-03-25  9:42   ` Ingo Molnar

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