All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Alexey Kardashevskiy <aik@ozlabs.ru>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 7/9] spapr: Limit threads per core according to current compatibility mode
Date: Fri, 16 May 2014 16:09:54 +0200	[thread overview]
Message-ID: <53761C32.3050300@suse.de> (raw)
In-Reply-To: <1400153291-20759-8-git-send-email-aik@ozlabs.ru>


On 15.05.14 13:28, Alexey Kardashevskiy wrote:
> This puts a limit to the number of threads per core based on the current
> compatibility mode. Although PowerISA specs do not specify the maximum
> threads per core number, the linux guest still expects that
> PowerISA2.05-compatible CPU supports only 2 threads per core as this
> is what POWER6 (2.05 compliant CPU) implements, same is true for
> POWER7 (2.06, 4 threads) and POWER8 (2.07, 8 threads).
>
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> ---
>   hw/ppc/spapr.c | 31 ++++++++++++++++++++++++++++---
>   1 file changed, 28 insertions(+), 3 deletions(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index cf53a7a..a2c9106 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -34,6 +34,7 @@
>   #include "sysemu/kvm.h"
>   #include "kvm_ppc.h"
>   #include "mmu-hash64.h"
> +#include "cpu-models.h"
>   
>   #include "hw/boards.h"
>   #include "hw/ppc/ppc.h"
> @@ -203,6 +204,29 @@ static XICSState *xics_system_init(int nr_servers, int nr_irqs)
>       return icp;
>   }
>   
> +static int spapr_get_compat_smp_threads(PowerPCCPU *cpu)
> +{
> +    int ret = -1;
> +
> +    switch (cpu->cpu_version) {
> +    case CPU_POWERPC_LOGICAL_2_05:
> +        ret = 2;
> +        break;
> +    case CPU_POWERPC_LOGICAL_2_06:
> +        ret = 4;
> +        break;
> +    case CPU_POWERPC_LOGICAL_2_07:
> +        ret = 8;
> +        break;
> +    default:
> +        ret = smp_threads;
> +        break;
> +    }
> +    ret = MIN(ret, smp_threads);

Just call this in the function where you set the compat property and 
error out if threads > supported_threads. We always default to 1 thread 
anyway, so the only thing that could get us a broken configuration is 
the user.


Alex

  reply	other threads:[~2014-05-16 14:10 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-15 11:28 [Qemu-devel] [PATCH 0/9] spapr: Enable ibm, client-architecture-support Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 1/9] kvm: add set_one_reg/get_one_reg helpers Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 2/9] target-ppc: Add "compat" CPU option Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 3/9] spapr: Move server# property out of skeleton fdt Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 4/9] target-ppc: Implement "compat" CPU option Alexey Kardashevskiy
2014-05-16 14:05   ` Alexander Graf
2014-05-16 15:17     ` Alexey Kardashevskiy
2014-05-16 20:47       ` Alexander Graf
2014-05-21  6:57         ` Alexey Kardashevskiy
2014-05-21  7:29           ` Alexander Graf
2014-05-21  7:59             ` Alexey Kardashevskiy
2014-05-21  8:00               ` Alexander Graf
2014-05-21  8:08                 ` Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 5/9] target-ppc: Define Processor Compatibility Masks Alexey Kardashevskiy
2014-05-15 11:28 ` [Qemu-devel] [PATCH 6/9] spapr: Add ibm, client-architecture-support call Alexey Kardashevskiy
2014-05-19  3:47   ` [Qemu-devel] [Qemu-ppc] " Nikunj A Dadhania
2014-05-15 11:28 ` [Qemu-devel] [PATCH 7/9] spapr: Limit threads per core according to current compatibility mode Alexey Kardashevskiy
2014-05-16 14:09   ` Alexander Graf [this message]
2014-05-15 11:28 ` [Qemu-devel] [PATCH 8/9] spapr: Implement processor compatibility in ibm, client-architecture-support Alexey Kardashevskiy
2014-05-16 14:16   ` Alexander Graf
2014-05-16 15:57     ` Alexey Kardashevskiy
2014-05-16 20:46       ` Alexander Graf
2014-05-17  1:45         ` Alexey Kardashevskiy
2014-05-19  3:09           ` Alexey Kardashevskiy
2014-05-19  9:01           ` Alexander Graf
2014-05-15 11:28 ` [Qemu-devel] [PATCH 9/9] KVM: PPC: Enable compatibility mode Alexey Kardashevskiy
2014-05-16 14:18   ` Alexander Graf
2014-05-16 14:27     ` Alexey Kardashevskiy
2014-05-16 14:35       ` Alexander Graf

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=53761C32.3050300@suse.de \
    --to=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --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.