|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 0/8] x86/hvm, libxl: HVM SMT topology support
Hey!
This series are a follow-up on the thread about the performance
of hard-pinned HVM guests. Here we propose allowing libxl to
change how the CPU topology looks like for the HVM guest, which can
favor certain workloads as depicted by Elena on this thread [0].
It shows around 22-23% gain on io bound workloads having the guest
vCPUs hard pinned to the pCPUs with a matching core+thread.
This series is divided as following:
* Patch 1 : Sets initial apicid to be the vcpuid as opposed
to vcpuid * 2 for each core;
* Patch 2 : Whitespace cleanup
* Patch 3 : Adds new leafs to describe Intel/AMD cache
topology. Though it's only internal to libxl;
* Patch 4 : Internal call to set per package CPUID values.
* Patch 5 - 8 : Interfaces for xl and libxl for setting topology.
I couldn't quite figure out which user interface was better so I
included both our "smt" option and full description of the topology
i.e. "sockets", "cores", "threads" option same as the "-smp"
option on QEMU. Note that the latter could also be used on
libvirt since topology is described in their XML configs.
It's also an RFC as AMD support isn't implemented yet.
Any comments are appreciated!
Thanks,
Joao
[0] http://lists.xen.org/archives/html/xen-devel/2016-01/msg02874.html
Joao Martins (8):
x86/hvm: set initial apicid to vcpu_id
libxl: remove whitespace on libxl_types.idl
libxl: cpuid: add cache core count support
libxl: cpuid: add guest topology support
libxl: introduce smt field
xl: introduce smt option
libxl: introduce topology fields
xl: introduce topology options
docs/man/xl.cfg.pod.5 | 24 ++++++++++++++++++++++++
tools/libxc/xc_cpuid_x86.c | 18 +++++++++++++-----
tools/libxl/libxl_cpuid.c | 42 ++++++++++++++++++++++++++++++++++++++++++
tools/libxl/libxl_create.c | 2 ++
tools/libxl/libxl_dom.c | 16 ++++++++++++++++
tools/libxl/libxl_internal.h | 3 +++
tools/libxl/libxl_types.idl | 11 ++++++++---
tools/libxl/libxl_utils.c | 17 +++++++++++++++++
tools/libxl/xl_cmdimpl.c | 9 +++++++++
xen/arch/x86/hvm/hvm.c | 2 +-
10 files changed, 135 insertions(+), 9 deletions(-)
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |