[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
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH v3 5/9] block/mirror: utilize job_exit shim, (continued)
- [Qemu-devel] [PATCH v3 7/9] block/backup: make function variables consistently named, John Snow, 2018/08/29
- [Qemu-devel] [PATCH v3 8/9] jobs: remove ret argument to job_completed; privatize it, John Snow, 2018/08/29
- [Qemu-devel] [PATCH v3 9/9] jobs: remove job_defer_to_main_loop, John Snow, 2018/08/29
- [Qemu-devel] [PATCH v3 4/9] block/commit: utilize job_exit shim, John Snow, 2018/08/29
- [Qemu-devel] [PATCH v3 6/9] jobs: utilize job_exit shim, John Snow, 2018/08/29
- [Qemu-devel] [PATCH v3 3/9] jobs: add exit shim, John Snow, 2018/08/29
- Re: [Qemu-devel] [PATCH v3 0/9] jobs: Job Exit Refactoring Pt 1,
Max Reitz <=