qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 1/3] accel/kvm: Introduce kvm_create_and_park_vcpu() helpe


From: Nicholas Piggin
Subject: Re: [PATCH v3 1/3] accel/kvm: Introduce kvm_create_and_park_vcpu() helper
Date: Thu, 30 May 2024 18:31:40 +1000

On Thu May 23, 2024 at 5:26 PM AEST, Harsh Prateek Bora wrote:
> There are distinct helpers for creating and parking a KVM vCPU.
> However, there can be cases where a platform needs to create and
> immediately park the vCPU during early stages of vcpu init which
> can later be reused when vcpu thread gets initialized. This would
> help detect failures with kvm_create_vcpu at an early stage.
>
> Based on api refactoring to create/park vcpus introduced in 1/8 of patch 
> series:
> https://lore.kernel.org/qemu-devel/20240522211111.232114-1-salil.mehta@huawei.com/
>

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>

> Suggested-by: Nicholas Piggin <npiggin@gmail.com>
> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> ---
>  accel/kvm/kvm-cpus.h |  8 ++++++++
>  accel/kvm/kvm-all.c  | 12 ++++++++++++
>  2 files changed, 20 insertions(+)
>
> diff --git a/accel/kvm/kvm-cpus.h b/accel/kvm/kvm-cpus.h
> index 2e6bb38b5d..00e534b3b9 100644
> --- a/accel/kvm/kvm-cpus.h
> +++ b/accel/kvm/kvm-cpus.h
> @@ -46,4 +46,12 @@ void kvm_park_vcpu(CPUState *cpu);
>   * @returns: KVM fd
>   */
>  int kvm_unpark_vcpu(KVMState *s, unsigned long vcpu_id);
> +
> +/**
> + *  * kvm_create_and_park_vcpu - Create and park a KVM vCPU
> + *   * @cpu: QOM CPUState object for which KVM vCPU has to be created and 
> parked.
> + *    *
> + *     * @returns: 0 when success, errno (<0) when failed.
> + *      */

Something went wrong with re-flowing the comment?

Don't worry about resending for that just now, at least until we work
out the dependency with Salil's series and ready to merge.

Thanks,
Nick

> +int kvm_create_and_park_vcpu(CPUState *cpu);
>  #endif /* KVM_CPUS_H */
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index fc30e5d5b8..d70ca62ff5 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -398,6 +398,18 @@ int kvm_create_vcpu(CPUState *cpu)
>      return 0;
>  }
>  
> +int kvm_create_and_park_vcpu(CPUState *cpu)
> +{
> +    int ret = 0;
> +
> +    ret = kvm_create_vcpu(cpu);
> +    if (!ret) {
> +        kvm_park_vcpu(cpu);
> +    }
> +
> +    return ret;
> +}
> +
>  static int do_kvm_destroy_vcpu(CPUState *cpu)
>  {
>      KVMState *s = kvm_state;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]