On Fri, 9 Feb 2018 15:50:00 +0100
Viktor Mihajlovski <mihaj...@linux.vnet.ibm.com> wrote:
> On 09.02.2018 15:27, Eduardo Habkost wrote:
> >> I'm keeping it mainly for s390. Viktor, libvirt is still using
> >> this field in s390, no?
> >> Dropping halted and having management software still using query-cpus
> >> because of halted would be a total failure of query-cpus-fast.
> > If I understood correctly, the CpuInfoS390::cpu_state field added
> > by Viktor in another patch would replace "halted" for the s390
> > case.
> Right, CPUState.halted is derived from CPUS390XState.cpu_state on s390:
> A cpu_state of CPU_STATE_STOPPED or CPU_STATE_CHECK_STOPPED results in
> halted = true. This derivation can be done by libvirt for s390.
> > I'm assuming QEMU will be able to return that field without
> > interrupting the VCPUs. Viktor, is that correct?
> >  https://lists.gnu.org/archive/html/qemu-devel/2018-02/msg02032.html
> That's correct.
> >>>> Also, the code that sets/clears cpu->halted is target-specific,
> >>>> so I wouldn't be so sure that simply checking for
> >>>> !kvm_irqchip_in_kernel() is enough on all targets.
> >> I checked the code and had the impression it was enough, but
> >> I don't have experience with other archs. So, would be nice
> >> if other archs maintainers could review this. I'll try to ping them.
> > I think we need to take a step back and rethink:
> > 1) What the field is supposed to mean? The semantics of "halted"
> > are completely unclear. What exactly we want to communicate
> > to libvirt/management?
> > 2) On which cases the information (whatever it means) is really
> > useful/important? If you are excluding cases with in-kernel
> > irqchip, you are already excluding most users.
> Given that nobody (including myself) sees a need for halted we can
> remove it for the fast version of query-cpus without surprising anyone.
My conclusion too, I'll drop it.