[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] ppc: add helpful message when KVM fails to start
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-ppc] [PATCH] ppc: add helpful message when KVM fails to start VCPU |
Date: |
Tue, 19 May 2015 10:07:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 18/05/2015 21:06, Laurent Vivier wrote:
> On POWER8 systems, KVM checks if VCPU is running on primary threads,
> and that secondary threads are offline. If this is not the case,
> ioctl() fails with errno set to EBUSY.
>
> QEMU aborts with a non explicit error message:
> $ ./qemu-system-ppc64 --nographic -machine pseries,accel=kvm
> error: kvm run failed Device or resource busy
>
> To help user to diagnose the problem, this patch adds an informative
> error message.
>
> There is no easy way to check if SMT is enabled before starting the VCPU,
> and as this case is the only one setting errno to EBUSY, we just check
> the errno value to display a message.
>
> Signed-off-by: Laurent Vivier <address@hidden>
Thanks, applied to my queue for 2.4.
Paolo
> ---
> kvm-all.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/kvm-all.c b/kvm-all.c
> index 17a3771..7b57826 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -1828,6 +1828,14 @@ int kvm_cpu_exec(CPUState *cpu)
> }
> fprintf(stderr, "error: kvm run failed %s\n",
> strerror(-run_ret));
> +#ifdef TARGET_PPC
> + if (run_ret == -EBUSY) {
> + fprintf(stderr,
> + "This is probably because your SMT is enabled.\n"
> + "VCPU can only run on primary threads with all "
> + "secondary threads offline.\n");
> + }
> +#endif
> ret = -1;
> break;
> }
>