[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/5] migration: improve multithreads
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/5] migration: improve multithreads |
Date: |
Tue, 20 Nov 2018 19:27:38 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 |
On 12/11/18 04:07, Xiao Guangrong wrote:
>
> Hi,
>
> Ping...
Hi Guangrong, I think this isn't being reviewed because we're in freeze.
Paolo
> On 11/6/18 8:20 PM, address@hidden wrote:
>> From: Xiao Guangrong <address@hidden>
>>
>> Changelog in v2:
>> These changes are based on Paolo's suggestion:
>> 1) rename the lockless multithreads model to threaded workqueue
>> 2) hugely improve the internal design, that make all the request be
>> a large array, properly partition it, assign requests to threads
>> respectively and use bitmaps to sync up threads and the submitter,
>> after that ptr_ring and spinlock are dropped
>> 3) introduce event wait for the submitter
>>
>> These changes are based on Emilio's review:
>> 4) make more detailed description for threaded workqueue
>> 5) add a benchmark for threaded workqueue
>>
>> The previous version can be found at
>> https://marc.info/?l=kvm&m=153968821910007&w=2
>>
>> There's the simple performance measurement comparing these two versions,
>> the environment is the same as we listed in the previous version.
>>
>> Use 8 threads to compress the data in the source QEMU
>> - with compress-wait-thread = off
>>
>>
>> total time busy-ratio
>> --------------------------------------------------
>> v1 125066 0.38
>> v2 120444 0.35
>>
>> - with compress-wait-thread = on
>> total time busy-ratio
>> --------------------------------------------------
>> v1 164426 0
>> v2 142609 0
>>
>> The v2 win slightly.
>>
>> Xiao Guangrong (5):
>> bitops: introduce change_bit_atomic
>> util: introduce threaded workqueue
>> migration: use threaded workqueue for compression
>> migration: use threaded workqueue for decompression
>> tests: add threaded-workqueue-bench
>>
>> include/qemu/bitops.h | 13 +
>> include/qemu/threaded-workqueue.h | 94 +++++++
>> migration/ram.c | 538
>> ++++++++++++++------------------------
>> tests/Makefile.include | 5 +-
>> tests/threaded-workqueue-bench.c | 256 ++++++++++++++++++
>> util/Makefile.objs | 1 +
>> util/threaded-workqueue.c | 466
>> +++++++++++++++++++++++++++++++++
>> 7 files changed, 1030 insertions(+), 343 deletions(-)
>> create mode 100644 include/qemu/threaded-workqueue.h
>> create mode 100644 tests/threaded-workqueue-bench.c
>> create mode 100644 util/threaded-workqueue.c
>>
- [Qemu-devel] [PATCH v2 1/5] bitops: introduce change_bit_atomic, (continued)
- [Qemu-devel] [PATCH v2 1/5] bitops: introduce change_bit_atomic, guangrong . xiao, 2018/11/06
- [Qemu-devel] [PATCH v2 2/5] util: introduce threaded workqueue, guangrong . xiao, 2018/11/06
- [Qemu-devel] [PATCH v2 3/5] migration: use threaded workqueue for compression, guangrong . xiao, 2018/11/06
- [Qemu-devel] [PATCH v2 4/5] migration: use threaded workqueue for decompression, guangrong . xiao, 2018/11/06
- [Qemu-devel] [PATCH v2 5/5] tests: add threaded-workqueue-bench, guangrong . xiao, 2018/11/06
- Re: [Qemu-devel] [PATCH v2 0/5] migration: improve multithreads, no-reply, 2018/11/06
- Re: [Qemu-devel] [PATCH v2 0/5] migration: improve multithreads, Xiao Guangrong, 2018/11/11
- Re: [Qemu-devel] [PATCH v2 0/5] migration: improve multithreads,
Paolo Bonzini <=