On Thu, Feb 27, 2025 at 12:41:10 +0100, Anthony Harivel wrote:
> Hi Peter,
>
> >> @@ -7062,6 +7065,15 @@ qemuBuildAccelCommandLine(virCommand *cmd,
> >> def->kvm_features->features[VIR_DOMAIN_KVM_DIRTY_RING] ==
> >> VIR_TRISTATE_SWITCH_ON) {
> >> virBufferAsprintf(&buf, ",dirty-ring-size=%d",
> >> def->kvm_features->dirty_ring_size);
> >> }
> >> +
> >> + if (def->features[VIR_DOMAIN_FEATURE_KVM] ==
> >> VIR_TRISTATE_SWITCH_ON &&
> >> + def->kvm_features->features[VIR_DOMAIN_KVM_RAPL] ==
> >> VIR_TRISTATE_SWITCH_ON) {
> >> + virBufferAddLit(&buf, ",rapl=true");
> >> +
> >> + if (def->kvm_features->rapl_helper_socket != NULL) {
> >> + virBufferAsprintf(&buf, ",rapl-helper-socket=%s",
> >> def->kvm_features->rapl_helper_socket);
> >> + }
> >
> > As noted above; qemu makes the socket mandatory so the check doesn't
> > make much sense.
> >
>
> I'm not sure to follow the above remark. The socket is mandatory in QEMU
> yes, so it should also be mandatory in libvirt so that we don't make the
> QEMU process fails at start ?
You should validate that the socket is present; either provided by user
or auto-generated once managed mode will be introduced.
Also you then don't need to conditionally format it any more once
you check that it's present.
> Or do we just let the user check what QEMU is returning so that the user
> correct later the XML ?
Normally we validate config beforehand; the errors from qemu can be iffy
sometimes.
>
> Thanks
> Anthony
>
> > Also we'll most likely need to use virQEMUBuildBufferEscapeComma here to
Also don't forget this ^^^
> > properly format paths with a comma since they are user-provided.
> >
>
>