mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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@citrix.com> Acked-by: Dario Faggioli <dfaggioli@suse.com>
This commit is contained in:
1 parent
1ecb1ee4d8
commit
dafd936ddd
1 file changed
+2
-2
+2
-2
@@ -241,7 +241,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
|
||||
@@ -262,7 +262,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
|
||||
|
||||
|
||||