[libvirt] [PATCH v5 4/5] qemu: Add support to pin IOThreads to specific CPU

John Ferlan jferlan at redhat.com
Tue Mar 10 15:20:43 UTC 2015



On 03/10/2015 09:51 AM, Ján Tomko wrote:
> On Fri, Mar 06, 2015 at 09:05:44AM -0500, John Ferlan wrote:

<...snip...>

>> +
>> +    /* pinning to all physical cpus means resetting,
> 
> It doesn't.
> By default the iothreads inherit the pinning from the domain's cpumask.
> 
> A completely clear bitmap would be a better value to mean resetting,
> since it makes no sense otherwise. But getting the cpumask in that case
> won't be that easy.
> 

So again - this is taken from qemuDomainPinVcpuFlags() - if it's invalid
here, then it's invalid there as well.

Is your objection the comment?  Should it be striken or restated?

>> +     * so check if we can reset setting.
>> +     */
>> +    if (virBitmapIsAllSet(pcpumap))
>> +        doReset = true;
>> +
>> +    if (flags & VIR_DOMAIN_AFFECT_LIVE) {
>> +
>> +        if (priv->iothreadpids == NULL) {
>> +            virReportError(VIR_ERR_OPERATION_INVALID,
>> +                           "%s", _("IOThread affinity is not supported"));
>> +            goto endjob;
>> +        }
>> +
>> +        if (iothread_id > priv->niothreadpids) {
>> +            virReportError(VIR_ERR_INVALID_ARG,
>> +                           _("iothread value out of range %d > %d"),
>> +                           iothread_id, priv->niothreadpids);
>> +            goto endjob;
>> +        }
>> +
>> +        if (vm->def->cputune.iothreadspin) {
>> +            /* The VcpuPinDefCopy works for IOThreads too */
> 
> Maybe it should be renamed to something like virDomainPinDefCopy then?
> 

Perhaps, but that seems outside the scope of these changes.  The 'reuse'
of virDomainVcpuPinDefPtr by the IOThreads code was an "optimization"
that could also then be generalized I suppose (eg change from
virDomainVcpuPinDefPtr to virDomainPinDefPtr), but that's a much more
invasive change which would seemingly require change the structure
"vcpuid" value to just "id".

John




More information about the libvir-list mailing list