[PATCH v3 00/25] Setup iothread polling attributes in the XML

Peter Krempa posted 25 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1681905482.git.pkrempa@redhat.com
docs/formatdomain.rst                         |  11 +-
include/libvirt/libvirt-domain.h              |   4 +-
src/admin/admin_server.c                      | 118 ++---
src/conf/domain_conf.c                        |  41 +-
src/conf/domain_conf.h                        |   7 +
src/conf/schemas/domaincommon.rng             |  19 +
src/driver.c                                  |   7 +-
src/libvirt-domain.c                          |  14 +-
src/libvirt_private.syms                      |   7 +-
src/qemu/qemu_command.c                       |  18 +
src/qemu/qemu_domainjob.c                     |  49 +--
src/qemu/qemu_driver.c                        | 409 ++++++------------
src/qemu/qemu_monitor.h                       |   4 +-
src/qemu/qemu_monitor_json.c                  |  48 +-
src/remote/remote_daemon_dispatch.c           |   8 +-
src/test/test_driver.c                        |  34 +-
src/util/virtypedparam.c                      | 401 +++++++++++------
src/util/virtypedparam.h                      | 187 +++++---
...othreads-ids-pool-sizes.x86_64-latest.args |   6 +-
.../iothreads-ids-pool-sizes.xml              |  12 +-
tools/virsh-domain.c                          |  83 ++--
21 files changed, 781 insertions(+), 706 deletions(-)
[PATCH v3 00/25] Setup iothread polling attributes in the XML
Posted by Peter Krempa 1 year ago
Previous version:

https://listman.redhat.com/archives/libvir-list/2023-March/239164.html

Changes:
 - patches 1 - 23 are new and do the following
    - refactors to typed param handling 1 - 15, 18
    - addition of new typed param APIs needed for changing the type we
      use to store the poll parameters currently, 16, 17, 19
    - conversion of the existing parameter handling for iothread poll
      attributes to unsigned long long 20 - 23
 - patches 24 and 25 are patches 1 and 2 of the previous posting:
    - use unsigned long long to store the values and adjust the code

Peter Krempa (25):
  virTypedParameterAssignValue: Drop 'copystr' parameter
  util: virtypedparam: Use proper enum type for all switch() statements
  virTypedParamsDeserialize: Remove unnecessary line breaks
  virTypedParameterAssignValueVArgs: Ensure proper typed param type in
    caller
  util: virtypedparam: Simplify error handling in virTypedParamListAdd*
  virtypedparam.h: Consistently use contemporary header style
  util: virtypedparam: Introduce virTypedParamListNew()
  util: typedparam: Introduce 'virTypedParamListConcat'
  qemuDomainGetStatsBlock: Don't directly access virTypedParamList
  util: virtypedparam: Introduce 'virTypedParamListFetch'
  Use 'virTypedParamListFetch' for extracting identity parameters list
  util: virtypedparam: Privatize definition of struct _virTypedParamList
  util: virtypedparam: Refactor return value of
    virTypedParamListStealParams
  util: virtypedparam: Store errors inside virTypedParamList
  util: virtypedparam: Remove return values from virTypedParamListAdd*
    APIs
  util: typedparam: Introduce virTypedParamListAddUnsigned
  util: virtypedparam: Introduce virTypedParamsGetUnsigned
  virTypedParamsValidate: Refactor variable declaration and cleanup
  virTypedParamsValidate: Allow typed params to be both _UINT and
    _ULLONG
  virsh: cmdIOThreadSet: Refactor to use virTypedParamList
  qemu: Remove iothread 'poll-' value validation
  qemu: Store all iothread's 'poll*' attributes as unsigned long long
  virsh: cmdIOThreadSet: Use bigger types for --poll-grow and
    --poll-shrink
  conf: Store the iothread 'poll' settings in the XML
  qemu: Use configured iothread poll parameters on startup

 docs/formatdomain.rst                         |  11 +-
 include/libvirt/libvirt-domain.h              |   4 +-
 src/admin/admin_server.c                      | 118 ++---
 src/conf/domain_conf.c                        |  41 +-
 src/conf/domain_conf.h                        |   7 +
 src/conf/schemas/domaincommon.rng             |  19 +
 src/driver.c                                  |   7 +-
 src/libvirt-domain.c                          |  14 +-
 src/libvirt_private.syms                      |   7 +-
 src/qemu/qemu_command.c                       |  18 +
 src/qemu/qemu_domainjob.c                     |  49 +--
 src/qemu/qemu_driver.c                        | 409 ++++++------------
 src/qemu/qemu_monitor.h                       |   4 +-
 src/qemu/qemu_monitor_json.c                  |  48 +-
 src/remote/remote_daemon_dispatch.c           |   8 +-
 src/test/test_driver.c                        |  34 +-
 src/util/virtypedparam.c                      | 401 +++++++++++------
 src/util/virtypedparam.h                      | 187 +++++---
 ...othreads-ids-pool-sizes.x86_64-latest.args |   6 +-
 .../iothreads-ids-pool-sizes.xml              |  12 +-
 tools/virsh-domain.c                          |  83 ++--
 21 files changed, 781 insertions(+), 706 deletions(-)

-- 
2.39.2
Re: [PATCH v3 00/25] Setup iothread polling attributes in the XML
Posted by Ján Tomko 1 year ago
On a Wednesday in 2023, Peter Krempa wrote:
>Previous version:
>
>https://listman.redhat.com/archives/libvir-list/2023-March/239164.html
>
>Changes:
> - patches 1 - 23 are new and do the following
>    - refactors to typed param handling 1 - 15, 18
>    - addition of new typed param APIs needed for changing the type we
>      use to store the poll parameters currently, 16, 17, 19
>    - conversion of the existing parameter handling for iothread poll
>      attributes to unsigned long long 20 - 23
> - patches 24 and 25 are patches 1 and 2 of the previous posting:
>    - use unsigned long long to store the values and adjust the code
>
>Peter Krempa (25):
>  virTypedParameterAssignValue: Drop 'copystr' parameter
>  util: virtypedparam: Use proper enum type for all switch() statements
>  virTypedParamsDeserialize: Remove unnecessary line breaks
>  virTypedParameterAssignValueVArgs: Ensure proper typed param type in
>    caller
>  util: virtypedparam: Simplify error handling in virTypedParamListAdd*
>  virtypedparam.h: Consistently use contemporary header style
>  util: virtypedparam: Introduce virTypedParamListNew()
>  util: typedparam: Introduce 'virTypedParamListConcat'
>  qemuDomainGetStatsBlock: Don't directly access virTypedParamList
>  util: virtypedparam: Introduce 'virTypedParamListFetch'
>  Use 'virTypedParamListFetch' for extracting identity parameters list
>  util: virtypedparam: Privatize definition of struct _virTypedParamList
>  util: virtypedparam: Refactor return value of
>    virTypedParamListStealParams
>  util: virtypedparam: Store errors inside virTypedParamList
>  util: virtypedparam: Remove return values from virTypedParamListAdd*
>    APIs
>  util: typedparam: Introduce virTypedParamListAddUnsigned
>  util: virtypedparam: Introduce virTypedParamsGetUnsigned
>  virTypedParamsValidate: Refactor variable declaration and cleanup
>  virTypedParamsValidate: Allow typed params to be both _UINT and
>    _ULLONG
>  virsh: cmdIOThreadSet: Refactor to use virTypedParamList
>  qemu: Remove iothread 'poll-' value validation
>  qemu: Store all iothread's 'poll*' attributes as unsigned long long
>  virsh: cmdIOThreadSet: Use bigger types for --poll-grow and
>    --poll-shrink
>  conf: Store the iothread 'poll' settings in the XML
>  qemu: Use configured iothread poll parameters on startup
>

[..]

> 21 files changed, 781 insertions(+), 706 deletions(-)

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano