All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: qemu-ppc@nongnu.org, "Cédric Le Goater" <clg@kaod.org>,
	"Frédéric Barrat" <fbarrat@linux.ibm.com>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH 2/8] ppc/spapr|pnv: Remove SAO from pa-features when running MTTCG
Date: Fri, 19 Jan 2024 11:23:22 +1100	[thread overview]
Message-ID: <ZanA-usH_Ec0uqie@zatzit> (raw)
In-Reply-To: <20240118140942.164319-3-npiggin@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2573 bytes --]

On Fri, Jan 19, 2024 at 12:09:36AM +1000, Nicholas Piggin wrote:
> SAO is a page table attribute that strengthens the memory ordering of
> accesses. QEMU with MTTCG does not implement this, so clear it in
> ibm,pa-features. There is a complication with spapr migration that is
> addressed with comments, it is not a new problem here.
> 
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> ---
>  hw/ppc/pnv.c   |  5 +++++
>  hw/ppc/spapr.c | 15 +++++++++++++++
>  2 files changed, 20 insertions(+)
> 
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index b949398689..4969fbdb05 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -158,6 +158,11 @@ static void pnv_dt_core(PnvChip *chip, PnvCore *pc, void *fdt)
>      char *nodename;
>      int cpus_offset = get_cpus_node(fdt);
>  
> +    if (qemu_tcg_mttcg_enabled()) {
> +        /* SSO (SAO) ordering is not supported under MTTCG. */
> +        pa_features[4 + 2] &= ~0x80;
> +    }
> +
>      nodename = g_strdup_printf("%s@%x", dc->fw_name, pc->pir);
>      offset = fdt_add_subnode(fdt, cpus_offset, nodename);
>      _FDT(offset);
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 021b1a00e1..1c79d5670d 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -284,6 +284,21 @@ static void spapr_dt_pa_features(SpaprMachineState *spapr,
>          return;
>      }
>  
> +    if (qemu_tcg_mttcg_enabled()) {
> +        /*
> +         * SSO (SAO) ordering is not supported under MTTCG, so disable it.
> +         * There is no cap for this, so there is a migration bug here.
> +         * However don't disable it entirely, to allow it to be used under
> +         * KVM. This is a minor concern because:
> +         * - SAO is an obscure an rarely (if ever) used feature.
> +         * - SAO is removed from POWER10 / v3.1, so there is already a
> +         *   migration problem today.
> +         * - Linux does not test this pa-features bit today anyway, so it's
> +         *   academic.
> +         */
> +        pa_features[4 + 2] &= ~0x80;

Oof.. I see the reasoning but modifying guest visible parameters based
on host capabilities without a cap really worries me nonetheless.

> +    }
> +
>      if (ppc_hash64_has(cpu, PPC_HASH64_CI_LARGEPAGE)) {
>          /*
>           * Note: we keep CI large pages off by default because a 64K capable

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-01-19  0:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-18 14:09 [PATCH 0/8] ppc: Update targets for Power machines (spapr and pnv) Nicholas Piggin
2024-01-18 14:09 ` [PATCH 1/8] target/ppc: POWER10 does not have transactional memory Nicholas Piggin
2024-01-18 14:09 ` [PATCH 2/8] ppc/spapr|pnv: Remove SAO from pa-features when running MTTCG Nicholas Piggin
2024-01-19  0:23   ` David Gibson [this message]
2024-01-23  1:57     ` Nicholas Piggin
2024-01-25  3:11       ` David Gibson
2024-01-25  7:08         ` Nicholas Piggin
2024-01-18 14:09 ` [PATCH 3/8] ppc/spapr: Remove copy-paste from pa-features under TCG Nicholas Piggin
2024-01-18 14:09 ` [PATCH 4/8] ppc/spapr: Adjust ibm,pa-features for POWER9 Nicholas Piggin
2024-01-18 14:09 ` [PATCH 5/8] ppc/spapr: Add pa-features for POWER10 machines Nicholas Piggin
2024-01-18 14:09 ` [PATCH 6/8] ppc/pnv: Permit ibm,pa-features set per machine variant Nicholas Piggin
2024-01-18 14:09 ` [PATCH 7/8] ppc/pnv: Set POWER9, POWER10 ibm,pa-features bits Nicholas Piggin
2024-01-18 14:09 ` [PATCH 8/8] ppc/pnv: Update skiboot to v7.1 Nicholas Piggin
2024-01-19  8:59   ` Cédric Le Goater

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=ZanA-usH_Ec0uqie@zatzit \
    --to=david@gibson.dropbear.id.au \
    --cc=clg@kaod.org \
    --cc=danielhb413@gmail.com \
    --cc=fbarrat@linux.ibm.com \
    --cc=harshpb@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.