[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 7/7] qcow2: do decompression in threads
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-block] [PATCH 7/7] qcow2: do decompression in threads |
Date: |
Wed, 7 Nov 2018 00:40:31 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 |
On 01/11/2018 19:27, Vladimir Sementsov-Ogievskiy wrote:
> -/* See qcow2_compress definition for parameters description */
> -static ssize_t qcow2_co_compress(BlockDriverState *bs,
> - void *dest, size_t dest_size,
> - const void *src, size_t src_size)
> +static ssize_t qcow2_co_do_compress(BlockDriverState *bs,
> + void *dest, size_t dest_size,
> + const void *src, size_t src_size,
> + Qcow2CompressFunc func)
> {
> BDRVQcow2State *s = bs->opaque;
> BlockAIOCB *acb;
> @@ -3838,6 +3842,7 @@ static ssize_t qcow2_co_compress(BlockDriverState *bs,
> .dest_size = dest_size,
> .src = src,
> .src_size = src_size,
> + .func = func,
> };
>
> while (s->nb_compress_threads >= MAX_COMPRESS_THREADS) {
> @@ -3860,6 +3865,22 @@ static ssize_t qcow2_co_compress(BlockDriverState *bs,
> return arg.ret;
> }
>
Not a blocker for this patch, but I'll note that qcow2_co_do_compress
could use thread_pool_submit_co. Also, qcow2_co_do_compress should be a
"coroutine_fn".
Paolo
- [Qemu-block] [PATCH 0/7] qcow2 decompress in threads, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 5/7] qcow2: use byte-based read in qcow2_decompress_cluster, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 7/7] qcow2: do decompression in threads, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 2/7] qcow2: make more generic interface for qcow2_compress, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 4/7] qcow2: refactor decompress_buffer, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 3/7] qcow2: move decompression from qcow2-cluster.c to qcow2.c, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 1/7] qcow2: use Z_OK instead of 0 for deflateInit2 return code check, Vladimir Sementsov-Ogievskiy, 2018/11/01
- [Qemu-block] [PATCH 6/7] qcow2: aio support for compressed cluster read, Vladimir Sementsov-Ogievskiy, 2018/11/01