Skip to content

credit2 runqueue_per_core code

Uma Sharma xen-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest1 of 2 patches 24 repliesIn review
  2. v13 patches 9 repliesSuperseded

1 of 2 patches is in this archive. The cover letter announces 2.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
2/2sched_credit2.c: runqueue_per_core codedocs/misc/xen-command-line.markdown xen/common/sched_credit2.c+31 -724 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/2] credit2 runqueue_per_core code

Hi everyone,

This series of patch inserts runqueue_per_core code and creates a boot parameter to choose which type of runqueue mapping to perform i.e core or socket. Core is used by default as runqueue_per_core scheduler performs better than runqueue_per_socket.

This series mainly performs the following tasks :
-Provide helpers to access the core and socket
-Add runqueue_per_core code
-Adding boot parameter to decide the runqueue

This is relevant to credit2 scheduler only.

Performance Analysis :

Hardware Used: 4 core 2 HT per core machine.

Guest 1:
vcpu=4

Core 4 vcpu:

make -j  1 82.183
make -j  2 39.488
make -j  4 26.568
make -j  6 24.749
make -j  8 24.835

Socket 4 vcpu:

make -j  1 100.044
make -j  2 49.912
make -j  4 31.28
make -j  6 29.058
make -j  8 35.152

credit 4 vcpu:

make -j  1 87.466
make -j  2 42.159
make -j  4 26.922
make -j  6 25.638
make -j  8 25.619

Guest 1:
vcpu=8

Core 8 vcpu:

make -j  1 95.075
make -j  2 45.346
make -j  4 28.775
make -j  6 23.475
make -j  8 21.887

Socket 8 vcpu:

make -j  1 103.118
make -j  2 51.412
make -j  4 29.612
make -j  6 24.112
make -j  8 22.521

credit 8 vcpu:

make -j  1 90.104
make -j  2 44.932
make -j  4 27.168
make -j  6 24.423
make -j  8 22.109

So according to these analysis core scheduler is working better than socket.
And in the case of guest with 4 cores runqueue_per_core credit2 scheduler is working slightly better than credit scheduler.

Uma Sharma (2):
[Xen-devel] x86: identifying the boot cpu [Xen-devel] sched_credit2.c : runqueue_per_core code

 docs/misc/xen-command-line.markdown |  7 +++++++
 xen/arch/x86/setup.c                |  7 +++++--
 xen/arch/x86/smpboot.c              |  3 ++-
 xen/common/sched_credit2.c          | 27 ++++++++++++++++++++++-----
 xen/include/asm-x86/processor.h     |  2 ++
 5 files changed, 38 insertions(+), 8 deletions(-)
Signature · 1 line
1.9.1