qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 0/9] jobs: Job Exit Refactoring Pt 1


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v3 0/9] jobs: Job Exit Refactoring Pt 1
Date: Fri, 31 Aug 2018 16:12:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 2018-08-30 03:57, John Snow wrote:
> This is part one of a two part series that refactors the exit logic
> of jobs.
> 
> Part one removes job_defer_to_main_loop.
> Part two removes the job->exit() callback introduced in part one.
> 
> It's redundant to have each job manage deferring to the main loop
> itself. Unifying this makes sense from an API standpoint.
> Doing so also allows us to remove a tricky case where the completion
> code is called under an aio_context lock, which then calls the
> finalization code which is itself executed under a second aio_context
> lock, leading to deadlocks.
> 
> Removing this recursive lock acquisition is necessary for converting
> mirror to only modify its graph post-finalization, but it's also just
> safer and will bite us less in the future.
> 
> This series introduces a job->exit callback, but after jobs are
> fully transitioned to using the .commit/.abort callbacks in Pt 2,
> this new completion callback will be removed again. It's only here
> as a crutch to let us investigate the completion refactoring in Pt 2
> more carefully.

Thanks, dropped the superfluous g_strdup() in patch 2 and applied to my
block branch:

https://git.xanclic.moe/XanClic/qemu/commits/branch/block

Max

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]