[libvirt] [PATCH v2 RFC 0/4] qemu: replace nested job with interruptible async job state

Nikolay Shirokovskiy posted 4 patches 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/1493719596-35375-1-git-send-email-nshirokovskiy@virtuozzo.com
There is a newer version of this series
src/conf/domain_conf.c    |  19 ----
src/conf/domain_conf.h    |   1 -
src/libvirt_private.syms  |   1 -
src/qemu/qemu_domain.c    | 253 +++++++++++++++++++++++++++++-----------------
src/qemu/qemu_domain.h    |  29 ++++--
src/qemu/qemu_driver.c    |   2 +-
src/qemu/qemu_migration.c |  70 +++++++------
src/qemu/qemu_process.c   |  31 ++----
8 files changed, 225 insertions(+), 181 deletions(-)
[libvirt] [PATCH v2 RFC 0/4] qemu: replace nested job with interruptible async job state
Posted by Nikolay Shirokovskiy 6 years, 11 months ago
This is the next version of RFC [1] 'drop nested job concept'. Actually
it is quite different from the first. Patches that accomodate callers to
use functions to enter/exit monitor with without driver and asyncJob arguments
are moved out of this series. I guess this can be done as soon as this series
is upstream. Most of approach details are in the first patch.

Pros:
- better async job and concurrent regular job isolation
- more straightforward implementation
- more simple to use - no need to pass async job argument down the stack
- safer to use - no warnings to be fixed if function is started to be
  used from asynchronous job context.

TODO:
- replace qemuDomainObjEnterMonitorAsync with qemuDomainObjEnterMonitor
- accomodate callers to qemuDomainObjExitMonitor became returning void
- remove passing driver and asyncJob down the stack
- reflect changes in THREADS.txt


[1] https://www.redhat.com/archives/libvir-list/2016-November/msg01357.html

Nikolay Shirokovskiy (4):
  qemu: replace nested job with interruptible async job state
  qemu: remove liveness check from qemuDomainObjExitMonitor
  qemu: remove nesting job usage from qemuProcessStop
  qemu: remove the rest of nested job parts

 src/conf/domain_conf.c    |  19 ----
 src/conf/domain_conf.h    |   1 -
 src/libvirt_private.syms  |   1 -
 src/qemu/qemu_domain.c    | 253 +++++++++++++++++++++++++++++-----------------
 src/qemu/qemu_domain.h    |  29 ++++--
 src/qemu/qemu_driver.c    |   2 +-
 src/qemu/qemu_migration.c |  70 +++++++------
 src/qemu/qemu_process.c   |  31 ++----
 8 files changed, 225 insertions(+), 181 deletions(-)

-- 
1.8.3.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 RFC 0/4] qemu: replace nested job with interruptible async job state
Posted by Nikolay Shirokovskiy 6 years, 11 months ago
ping

On 02.05.2017 13:06, Nikolay Shirokovskiy wrote:
> This is the next version of RFC [1] 'drop nested job concept'. Actually
> it is quite different from the first. Patches that accomodate callers to
> use functions to enter/exit monitor with without driver and asyncJob arguments
> are moved out of this series. I guess this can be done as soon as this series
> is upstream. Most of approach details are in the first patch.
> 
> Pros:
> - better async job and concurrent regular job isolation
> - more straightforward implementation
> - more simple to use - no need to pass async job argument down the stack
> - safer to use - no warnings to be fixed if function is started to be
>   used from asynchronous job context.
> 
> TODO:
> - replace qemuDomainObjEnterMonitorAsync with qemuDomainObjEnterMonitor
> - accomodate callers to qemuDomainObjExitMonitor became returning void
> - remove passing driver and asyncJob down the stack
> - reflect changes in THREADS.txt
> 
> 
> [1] https://www.redhat.com/archives/libvir-list/2016-November/msg01357.html
> 
> Nikolay Shirokovskiy (4):
>   qemu: replace nested job with interruptible async job state
>   qemu: remove liveness check from qemuDomainObjExitMonitor
>   qemu: remove nesting job usage from qemuProcessStop
>   qemu: remove the rest of nested job parts
> 
>  src/conf/domain_conf.c    |  19 ----
>  src/conf/domain_conf.h    |   1 -
>  src/libvirt_private.syms  |   1 -
>  src/qemu/qemu_domain.c    | 253 +++++++++++++++++++++++++++++-----------------
>  src/qemu/qemu_domain.h    |  29 ++++--
>  src/qemu/qemu_driver.c    |   2 +-
>  src/qemu/qemu_migration.c |  70 +++++++------
>  src/qemu/qemu_process.c   |  31 ++----
>  8 files changed, 225 insertions(+), 181 deletions(-)
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list