[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] accel/kvm: Make "kernel_irqchip" default on
From: |
Xiaoyao Li |
Subject: |
Re: [PATCH] accel/kvm: Make "kernel_irqchip" default on |
Date: |
Sat, 28 Dec 2019 18:16:24 +0800 |
On Sat, 2019-12-28 at 10:02 +0000, Paolo Bonzini wrote:
>
>
> Il sab 28 dic 2019, 09:48 Xiaoyao Li <address@hidden> ha scritto:
> > Commit 11bc4a13d1f4 ("kvm: convert "-machine kernel_irqchip" to an
> > accelerator property") moves kernel_irqchip property from "-machine" to
> > "-accel kvm", but it forgets to set the default value of
> > kernel_irqchip_allowed and kernel_irqchip_split.
> >
> > Also cleaning up the three useless members (kernel_irqchip_allowed,
> > kernel_irqchip_required, kernel_irqchip_split) in struct MachineState.
> >
> > Fixes: 11bc4a13d1f4 ("kvm: convert "-machine kernel_irqchip" to an
> > accelerator property")
> > Signed-off-by: Xiaoyao Li <address@hidden>
>
> Please also add a Reported-by line for Vitaly Kuznetsov.
Sure.
> > ---
> > accel/kvm/kvm-all.c | 3 +++
> > include/hw/boards.h | 3 ---
> > 2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> > index b2f1a5bcb5ef..40f74094f8d3 100644
> > --- a/accel/kvm/kvm-all.c
> > +++ b/accel/kvm/kvm-all.c
> > @@ -3044,8 +3044,11 @@ bool kvm_kernel_irqchip_split(void)
> > static void kvm_accel_instance_init(Object *obj)
> > {
> > KVMState *s = KVM_STATE(obj);
> > + MachineClass *mc = MACHINE_GET_CLASS(current_machine);
> >
> > s->kvm_shadow_mem = -1;
> > + s->kernel_irqchip_allowed = true;
> > + s->kernel_irqchip_split = mc->default_kernel_irqchip_split;
>
> Can you initialize this from the init_machine method instead of assuming that
> current_machine has been initialized earlier?
OK, will do it in v2.
> Thanks for the quick fix!
BTW, it seems that this patch makes kernel_irqchip default on to workaround the
bug.
However, when explicitly configuring kernel_irqchip=off, guest still fails
booting due to "KVM: failed to send PV IPI: -95" with a latest upstream kernel
ubuntu guest. Any idea about this?
> Paolo
> > }
> >
> > static void kvm_accel_class_init(ObjectClass *oc, void *data)
> > diff --git a/include/hw/boards.h b/include/hw/boards.h
> > index 61f8bb8e5a42..fb1b43d5b972 100644
> > --- a/include/hw/boards.h
> > +++ b/include/hw/boards.h
> > @@ -271,9 +271,6 @@ struct MachineState {
> >
> > /*< public >*/
> >
> > - bool kernel_irqchip_allowed;
> > - bool kernel_irqchip_required;
> > - bool kernel_irqchip_split;
> > char *dtb;
> > char *dumpdtb;
> > int phandle_start;