[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 14/16] qcow2: Execute run_dependent_requests
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH 14/16] qcow2: Execute run_dependent_requests() without lock |
Date: |
Tue, 18 Sep 2012 16:33:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 |
Il 18/09/2012 13:40, Kevin Wolf ha scritto:
> static void run_dependent_requests(BDRVQcowState *s, QCowL2Meta *m)
> {
> - /* Take the request off the list of running requests */
> - if (m->nb_clusters != 0) {
> - QLIST_REMOVE(m, next_in_flight);
> - }
> -
> /* Restart all dependent requests */
> if (!qemu_co_queue_empty(&m->dependent_requests)) {
> - qemu_co_mutex_unlock(&s->lock);
> qemu_co_queue_restart_all(&m->dependent_requests);
> - qemu_co_mutex_lock(&s->lock);
> }
The comment and if can go away.
Perhaps this patch could be moved earlier in the series? (Just asking,
in case the rebase is not too painful).
Paolo
> }
>
> @@ -800,10 +793,18 @@ again:
> goto again;
> }
>
> + qemu_co_mutex_unlock(&s->lock);
> +
> + /* Take the request off the list of running requests */
> + if (m->nb_clusters != 0) {
> + QLIST_REMOVE(m, next_in_flight);
> + }
> +
> + /* Meanwhile some new dependencies could have accumulated */
- [Qemu-devel] [RFC PATCH 08/16] qcow2: Reading from areas not in L2 tables yet, (continued)
- [Qemu-devel] [RFC PATCH 08/16] qcow2: Reading from areas not in L2 tables yet, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 16/16] [BROKEN] qcow2: Overwrite COW and allocate new cluster at the same time, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 02/16] qcow2: Introduce Qcow2COWRegion, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 01/16] qcow2: Round QCowL2Meta.offset down to cluster boundary, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 04/16] qcow2: Drop l2meta.cluster_offset, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 07/16] qcow2: Factor out handle_dependencies(), Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 06/16] qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 05/16] qcow2: Allocate l2meta only for cluster allocations, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 12/16] qcow2: Handle dependencies earlier, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 14/16] qcow2: Execute run_dependent_requests() without lock, Kevin Wolf, 2012/09/18
- Re: [Qemu-devel] [RFC PATCH 14/16] qcow2: Execute run_dependent_requests() without lock,
Paolo Bonzini <=
- [Qemu-devel] [RFC PATCH 09/16] qcow2: Move COW and L2 update into own coroutine, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 13/16] qcow2: Change handle_dependency to byte granularity, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 11/16] qcow2: Add error handling to the l2meta coroutine, Kevin Wolf, 2012/09/18
- [Qemu-devel] [RFC PATCH 10/16] qcow2: Delay the COW, Kevin Wolf, 2012/09/18