From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: ian.jackson@eu.citrix.com, ian.campbell@citrix.com,
wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com
Cc: boris.ostrovsky@oracle.com, xen-devel@lists.xen.org
Subject: [PATCH v9 0/4] Display IO topology when PXM data is available (plus some cleanup)
Date: Mon, 11 May 2015 12:31:26 -0400 [thread overview]
Message-ID: <1431361890-3466-1-git-send-email-boris.ostrovsky@oracle.com> (raw)
Changes in v9:
* Re-work patch 3 to make set_xen_guest_handle_offset() take buffer offset in number of
elements, not bytes
* Update error printing in patch 4.
Changes in v8:
* Change sysctl's pcitopo interface such that if device is not found then XEN_INVALID_DEV
is returned in nodes array. Changes to patches 1 and 5.
* Get rid of first_dev and use num_devs in xen_sysctl_pcitopoinfo as an OUT argument
that reports how many devices have been processed. Changes to patches 1 and 5.
-- Add set_xen_guest_handle_offset macro to help toolstack handle this (new patch 4)
* Replace LOGEV with LOGE (patches 2, 3, 5)
Changes in v7:
* Allow one of arguments to NUMA info sysctls to be NULL, in which case only
the non-NULL buffer will be filled in by hypervisor (patches 1 and 4)
* Properly handle -ENODEVS in PCI topology sysctl (patch 2)
* Error handling changes in patch 5
Changes in v6:
* PCI topology interface changes: no continuations, userspace will be dealing
with "unfinished" sysctl (patches 2 and 5)
* Unknown device will cause ENODEV in sysctl
* No NULL tests in libxc
* Loop control initialization fix (similar to commit 26da081ac91a)
* Other minor changes (see per-patch notes)
Changes in v5:
* Make CPU topology and NUMA info sysctls behave more like XEN_DOMCTL_get_vcpu_msrs
when passed NULL buffers. This required toolstack changes as well
* Don't use 8-bit data types in interfaces
* Fold interface version update into patch#3
Changes in v4:
* Split cputopology and NUMA info changes into separate patches
* Added patch#1 (partly because patch#4 needs to know when when distance is invalid,
i.e. NUMA_NO_DISTANCE)
* Split sysctl version update into a separate patch
* Other changes are listed in each patch
* NOTE: I did not test python's xc changes since I don't think I know how.
Changes in v3:
* Added patch #1 to more consistently define nodes as a u8 and properly
use NUMA_NO_NODE.
* Make changes to xen_sysctl_numainfo, similar to those made to
xen_sysctl_topologyinfo. (Q: I kept both sets of changes in the same
patch #3 to avoid bumping interface version twice. Perhaps it's better
to split it into two?)
* Instead of copying data for each loop index allocate a buffer and copy
once for all three queries in sysctl.c.
* Move hypercall buffer management from libxl to libxc (as requested by
Dario, patches #5 and #6).
* Report topology info for offlined CPUs as well
* Added LIBXL_HAVE_PCITOPO macro
Changes in v2:
* Split topology sysctls into two --- one for CPU topology and the other
for devices
* Avoid long loops in the hypervisor by using continuations. (I am not
particularly happy about using first_dev in the interface, suggestions
for a better interface would be appreciated)
* Use proper libxl conventions for interfaces
* Avoid hypervisor stack corruption when copying PXM data from guest
A few patches that add interface for querying hypervisor about device
topology and allow 'xl info -n' display this information if PXM object
is provided by ACPI.
This series also makes some optimizations and cleanup of current CPU
topology and NUMA sysctl queries.
Boris Ostrovsky (4):
libxl/libxc: Move libxl_get_cpu_topology()'s hypercall buffer
management to libxc
libxl/libxc: Move libxl_get_numainfo()'s hypercall buffer management
to libxc
libxc: Provide set_xen_guest_handle_offset macro
libxl: Add interface for querying hypervisor about PCI topology
tools/libxc/include/xenctrl.h | 26 ++++++--
tools/libxc/xc_misc.c | 92 ++++++++++++++++++++++----
tools/libxl/libxl.c | 131 ++++++++++++++++++++----------------
tools/libxl/libxl.h | 12 ++++
tools/libxl/libxl_freebsd.c | 12 ++++
tools/libxl/libxl_internal.h | 5 ++
tools/libxl/libxl_linux.c | 70 ++++++++++++++++++++
tools/libxl/libxl_netbsd.c | 12 ++++
tools/libxl/libxl_types.idl | 7 ++
tools/libxl/libxl_utils.c | 8 ++
tools/libxl/xl_cmdimpl.c | 40 +++++++++--
tools/misc/xenpm.c | 51 ++++++--------
tools/python/xen/lowlevel/xc/xc.c | 58 ++++++----------
13 files changed, 374 insertions(+), 150 deletions(-)
next reply other threads:[~2015-05-11 16:31 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-11 16:31 Boris Ostrovsky [this message]
2015-05-11 16:31 ` [PATCH v9 1/4] libxl/libxc: Move libxl_get_cpu_topology()'s hypercall buffer management to libxc Boris Ostrovsky
2015-05-13 15:46 ` Olaf Hering
2015-05-13 15:56 ` Boris Ostrovsky
2015-05-13 16:51 ` Olaf Hering
2015-05-11 16:31 ` [PATCH v9 2/4] libxl/libxc: Move libxl_get_numainfo()'s " Boris Ostrovsky
2015-05-11 16:31 ` [PATCH v9 3/4] libxc: Provide set_xen_guest_handle_offset macro Boris Ostrovsky
2015-05-13 14:56 ` Ian Campbell
2015-05-11 16:31 ` [PATCH v9 4/4] libxl: Add interface for querying hypervisor about PCI topology Boris Ostrovsky
2015-05-15 8:43 ` Olaf Hering
2015-05-15 13:21 ` Boris Ostrovsky
2015-05-15 13:50 ` Olaf Hering
2015-05-15 14:01 ` Boris Ostrovsky
2015-05-15 14:23 ` Olaf Hering
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1431361890-3466-1-git-send-email-boris.ostrovsky@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).