xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/8] x86/hvm, libxl: HVM SMT topology support
@ 2016-02-22 21:02 Joao Martins
  2016-02-22 21:02 ` [PATCH RFC 1/8] x86/hvm: set initial apicid to vcpu_id Joao Martins
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: Joao Martins @ 2016-02-22 21:02 UTC (permalink / raw)
  To: xen-devel
  Cc: Elena Ufimtseva, Wei Liu, Ian Campbell, Stefano Stabellini,
	Andrew Cooper, Dario Faggioli, Ian Jackson, Jan Beulich,
	Keir Fraser, Joao Martins

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2016-03-03 12:48 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-22 21:02 [PATCH RFC 0/8] x86/hvm, libxl: HVM SMT topology support Joao Martins
2016-02-22 21:02 ` [PATCH RFC 1/8] x86/hvm: set initial apicid to vcpu_id Joao Martins
2016-02-25 17:03   ` Jan Beulich
2016-03-02 18:49     ` Joao Martins
2016-02-22 21:02 ` [PATCH RFC 2/8] libxl: remove whitespace on libxl_types.idl Joao Martins
2016-02-25 16:28   ` Wei Liu
2016-03-02 19:14     ` Joao Martins
2016-02-22 21:02 ` [PATCH RFC 3/8] libxl: cpuid: add cache core count support Joao Martins
2016-02-22 21:02 ` [PATCH RFC 4/8] libxl: cpuid: add guest topology support Joao Martins
2016-02-25 16:29   ` Wei Liu
2016-03-02 19:14     ` Joao Martins
2016-02-22 21:02 ` [PATCH RFC 5/8] libxl: introduce smt field Joao Martins
2016-02-25 16:29   ` Wei Liu
2016-02-22 21:02 ` [PATCH RFC 6/8] xl: introduce smt option Joao Martins
2016-02-22 21:02 ` [PATCH RFC 7/8] libxl: introduce topology fields Joao Martins
2016-02-25 16:29   ` Wei Liu
2016-03-02 19:16     ` Joao Martins
2016-02-22 21:02 ` [PATCH RFC 8/8] xl: introduce topology options Joao Martins
2016-02-25 17:21 ` [PATCH RFC 0/8] x86/hvm, libxl: HVM SMT topology support Andrew Cooper
2016-02-26 15:03   ` Dario Faggioli
2016-02-26 15:27     ` Konrad Rzeszutek Wilk
2016-02-26 15:42       ` Dario Faggioli
2016-02-26 15:48         ` Andrew Cooper
2016-03-02 19:18   ` Joao Martins
2016-03-02 20:03     ` Andrew Cooper
2016-03-03  9:52       ` Joao Martins
2016-03-03 10:24         ` Andrew Cooper
2016-03-03 12:23           ` Joao Martins
2016-03-03 12:48             ` Andrew Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).