[PATCH] qemu_monitor_json: Implement logic for setting iothread.thread-pool-{min, max}

Martin Kletzander mkletzan at redhat.com
Thu Jul 7 15:15:29 UTC 2022


On Thu, Jun 30, 2022 at 02:48:01PM +0200, Michal Privoznik wrote:
>When virDomainSetIOThreadParams() API is called, well its QEMU
>impl: qemuDomainSetIOThreadParams() then typed params are parsed
>by qemuDomainIOThreadParseParams() into this
>qemuMonitorIOThreadInfo struct. In the struct we have a <int,
>bool> pair for every IOThread attribute we can tune through
>monitor. The struct is then passed to
>qemuMonitorJSONSetIOThread() which looks at the bool and if set
>then the corresponding attribute is set to given value. Each
>attribute is thus changed in a separate call. While this works
>for attributes independent of each other ("poll-max-ns",
>"poll-grow", "poll-shrink"), it does not always work for the
>other attributes ("thread-pool-min" and "thread-pool-max").
>
>The limitation here is that the lower boundary (minimum) has to
>be lower (or equal to) the upper boundary (maximum) at all times.
>
>This means, that in some cases we might need to set attributes in
>reversed order to meet the constraint.
>
>Resolves: https://gitlab.com/libvirt/libvirt/-/issues/339
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>

Reviewed-by: Martin Kletzander <mkletzan at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20220707/82a06fb7/attachment.sig>


More information about the libvir-list mailing list