• Arjan van de Ven's avatar
    cpuidle: fix the menu governor to boost IO performance · 69d25870
    Arjan van de Ven authored
    Fix the menu idle governor which balances power savings, energy efficiency
    and performance impact.
    
    The reason for a reworked governor is that there have been serious
    performance issues reported with the existing code on Nehalem server
    systems.
    
    To show this I'm sure Andrew wants to see benchmark results:
    (benchmark is "fio", "no cstates" is using "idle=poll")
    
    		no cstates	current linux	new algorithm
    1 disk		107 Mb/s	85 Mb/s		105 Mb/s
    2 disks		215 Mb/s	123 Mb/s	209 Mb/s
    12 disks	590 Mb/s	320 Mb/s	585 Mb/s
    
    In various power benchmark measurements, no degredation was found by our
    measurement&diagnostics team.  Obviously a small percentage more power was
    used in the "fio" benchmark, due to the much higher performance.
    
    While it would be a novel idea to describe the new algorithm in this
    commit message, I cheaped out and described it in comments in the code
    instead.
    
    [changes since first post: spelling fixes from akpm, review feedback,
    folded menu-tng into menu.c]
    Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
    Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Yanmin Zhang <yanmin_zhang@linux.intel.com>
    Acked-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    69d25870
sched.c 265 KB