[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] Make credit2 the default scheduler



commit ec6662445b1ec9231ca69583863de644206ef313
Author:     George Dunlap <george.dunlap@xxxxxxxxxx>
AuthorDate: Tue Sep 25 10:47:10 2018 +0100
Commit:     George Dunlap <george.dunlap@xxxxxxxxxx>
CommitDate: Tue Sep 25 10:49:15 2018 +0100

    Make credit2 the default scheduler
    
    Credit2 was declared "supported" in 4.8, and as of 4.10 had two other
    critical features implemented (soft affinity / NUMA and caps).
    
    Why change the default?
    
    The code is better: more predictable, less jitter, easier to determine
    how modifications will affect overall behavior, easier in the future
    to make load-balancing behavior more subtle (e.g., taking into account
    the cost of powering up extra cores, &c).
    
    Overall performance compared to Credit1 is somewhat of a mixed bag.
    Unfortunately most of what I have are tests using XenServer's internal
    perf testing system, so I can't share the raw data (via links anyway).
    
    Here is a summary of data from an internal e-mail Dario sent in the
    past:
    
    * DVDbench: On underloaded systems, credit2 outperformed credit1 by
    about 4%.  On overloaded systems, credit2 underperformed by about 3%.
    
    * On a range of tests (unixbench, lmbench, &c), credit and credit2
    perform within 5% of each other (up and down).
    
    * Credit2 fairly consistently beats credit for TCP-style workloads.
    
    * Credit2 is sometimes equal to, sometimes 5-15% worse than, credit for
    synthetic CPU workloads (e.g., Dhrystone).
    
    * On LoginVSI, credit2 fairly consistently outperforms credit by about 10%.
    
    Credit2, like credit, has a number of workloads / setups for which
    performance could be improved.  Personally I think networking and
    partially-loaded systems is going to be more representative of what
    Xen is actually used for; so I think credit2 is on the whole the
    better scheduler to use by default.  And in any case, making those
    improvements on credit2 will be easier than on credit.
    
    Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxx>
    Acked-by: Dario Faggioli <dfaggioli@xxxxxxxx>
---
 xen/common/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 1a6d6281c1..3a1c585d25 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -215,7 +215,7 @@ config SCHED_NULL
 
 choice
        prompt "Default Scheduler?"
-       default SCHED_CREDIT_DEFAULT
+       default SCHED_CREDIT2_DEFAULT
 
        config SCHED_CREDIT_DEFAULT
                bool "Credit Scheduler" if SCHED_CREDIT
@@ -236,7 +236,7 @@ config SCHED_DEFAULT
        default "rtds" if SCHED_RTDS_DEFAULT
        default "arinc653" if SCHED_ARINC653_DEFAULT
        default "null" if SCHED_NULL_DEFAULT
-       default "credit"
+       default "credit2"
 
 endmenu
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.