[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH v2 02/13] block: Introduce bdrv_loc
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [Qemu-block] [PATCH v2 02/13] block: Introduce bdrv_lock and bdrv_unlock API |
Date: |
Wed, 24 Jun 2015 10:35:30 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Jun 24, 2015 at 10:47:47AM +0800, Fam Zheng wrote:
> On Tue, 06/16 17:07, Stefan Hajnoczi wrote:
> > On Tue, Jun 02, 2015 at 11:21:51AM +0800, Fam Zheng wrote:
> > 2. Is this about thread safety? (No, it's about exclusive access to a
> > BDS *within* the AioContext.)
>
> As it has to quiesce iothreads as well (for now it's even more urgent than
> exclusive access within the same AioContext), I'd rather take it as yes.
This mechanism is not about threads and it is also not thread-safe (the
caller must acquire AioContext themselves).
The mechanism is about notifying the users of a drive that no requests
should be submitted.
> BTW, is there any semantics in here that we can use for multiqueue block
> layer?
The callback to remove/add ioeventfd is needed by multiqueue in the same
way as dataplane.
I think the actual multiqueue I/O will need to be more fine-grained
because the goal is to process I/O requests in parallel and
independently. Multiqueue should not require exclusive access (which
this mechanism provides) - that would defeat the point of multiqueue.
Stefan
pgp53jURZ5L0Z.pgp
Description: PGP signature
- [Qemu-devel] [PATCH v2 00/13] block: Protect block jobs with lock / unlock API, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 03/13] blockdev: Lock BDS during internal snapshot transaction, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 04/13] blockdev: Lock BDS during external snapshot transaction, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 05/13] blockdev: Lock BDS during drive-backup transaction, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 06/13] blockdev: Lock BDS during blockdev-backup transaction, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 07/13] mirror: Protect source between bdrv_drain and bdrv_swap, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 08/13] block: Add bdrv_add_lock_unlock_notifier, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 09/13] block-backend: Add blk_add_lock_unlock_notifier, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 10/13] virtio-blk: Move complete_request to 'ops' structure, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 11/13] virtio-blk: Don't handle output when backend is locked, Fam Zheng, 2015/06/01
- [Qemu-devel] [PATCH v2 12/13] virtio-scsi-dataplane: Add backend lock listener, Fam Zheng, 2015/06/01