qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@au1.ibm.com>
To: David Gibson <david@gibson.dropbear.id.au>,
	surajjs@au1.ibm.com, groug@kaod.org, lvivier@redhat.com
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, abologna@redhat.com,
	mdroth@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH 0/6] spapr: Add optional capabilities
Date: Thu, 21 Dec 2017 09:32:59 +1100	[thread overview]
Message-ID: <1513809179.2743.20.camel@au1.ibm.com> (raw)
In-Reply-To: <20171218092024.21645-1-david@gibson.dropbear.id.au>

On Mon, 2017-12-18 at 20:20 +1100, David Gibson wrote:
> This series is a first draft to add the notion of optional
> capabilities to the "pseries" machine type.  A default set of
> capabilities is selected based on the machine type version and
> selected cpu model, but this can be overridden with machine
> parameters.
> 
> The purpose of this is to get rid of a number of places where we
> implicitly decide what features to advertise to the guest based on
> capabilities of the host.  This is bad, because it means it's
> difficult to be certain if machines started at different ends of a
> migration really match from the guest's point of view.
> 
> By giving the user explicit control of these optional features, then
> validating that the chosen ones can be supplied on the host we make
> behaviour more predictable.
> 
> The more specific motivation for this is that POWER9 has bugs in its
> hardware transactional memory (HTM) implementation making it unsafe to
> migrate POWER8 guests to POWER9 if they use HTM

It might be worthwhile mentioning that we do plan to support TM and
migration from P8 for KVM guests at some point. Working on it ... there
are some SW workarounds involved in KVM to make it possible.

> Changes since RFC:
>  - Two preliminary patches not really related split off and already
>    merged.
>  - Assorted minor fixes based on review notes
>  - Change defaults to disable HTM on pseries-2.12 machine type
> 
> David Gibson (6):
>   spapr: Capabilities infrastructure
>   spapr: Treat Hardware Transactional Memory (HTM) as an optional
>     capability
>   spapr: Validate capabilities on migration
>   target/ppc: Clean up probing of VMX, VSX and DFP availability on KVM
>   spapr: Handle VMX/VSX presence as an spapr capability flag
>   spapr: Handle Decimal Floating Point (DFP) as an optional capability
> 
>  hw/ppc/Makefile.objs   |   2 +-
>  hw/ppc/spapr.c         |  47 +++++--
>  hw/ppc/spapr_caps.c    | 342 +++++++++++++++++++++++++++++++++++++++++++++++++
>  include/hw/ppc/spapr.h |  46 +++++++
>  target/ppc/kvm.c       |  27 +---
>  target/ppc/kvm_ppc.h   |   2 -
>  6 files changed, 429 insertions(+), 37 deletions(-)
>  create mode 100644 hw/ppc/spapr_caps.c
> 

      parent reply	other threads:[~2017-12-20 22:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-18  9:20 [Qemu-devel] [PATCH 0/6] spapr: Add optional capabilities David Gibson
2017-12-18  9:20 ` [Qemu-devel] [PATCH 1/6] spapr: Capabilities infrastructure David Gibson
2017-12-18  9:58   ` Greg Kurz
2017-12-18 10:15     ` David Gibson
2017-12-18  9:20 ` [Qemu-devel] [PATCH 2/6] spapr: Treat Hardware Transactional Memory (HTM) as an optional capability David Gibson
2017-12-18 11:10   ` Greg Kurz
2017-12-19  0:35     ` David Gibson
2017-12-18  9:20 ` [Qemu-devel] [PATCH 3/6] spapr: Validate capabilities on migration David Gibson
2017-12-18 11:31   ` Greg Kurz
2017-12-18  9:20 ` [Qemu-devel] [PATCH 4/6] target/ppc: Clean up probing of VMX, VSX and DFP availability on KVM David Gibson
2017-12-18 11:45   ` Greg Kurz
2017-12-18  9:20 ` [Qemu-devel] [PATCH 5/6] spapr: Handle VMX/VSX presence as an spapr capability flag David Gibson
2017-12-18 11:47   ` Greg Kurz
2017-12-18  9:20 ` [Qemu-devel] [PATCH 6/6] spapr: Handle Decimal Floating Point (DFP) as an optional capability David Gibson
2017-12-18 11:51   ` Greg Kurz
2017-12-19  0:37 ` [Qemu-devel] [PATCH 0/6] spapr: Add optional capabilities David Gibson
2017-12-20 22:32 ` Benjamin Herrenschmidt [this message]

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=1513809179.2743.20.camel@au1.ibm.com \
    --to=benh@au1.ibm.com \
    --cc=abologna@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=lvivier@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=surajjs@au1.ibm.com \
    /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).