Re: [PATCH 1/1] docs: fix mistake in dirty bitmap feature description

2021-02-02 Thread Denis V. Lunev
On 2/3/21 1:15 AM, Eric Blake wrote: > On 1/28/21 11:21 AM, Vladimir Sementsov-Ogievskiy wrote: >> 28.01.2021 20:13, Denis V. Lunev wrote: >>> Original specification says that l1 table size if 64 * l1_size, which >>> is obviously wrong. The size of the l1 entry is 64 _bi

[PATCH 1/1] docs: fix mistake in dirty bitmap feature description

2021-01-28 Thread Denis V. Lunev
with the later text. Signed-off-by: Denis V. Lunev CC: Stefan Hajnoczi CC: Vladimir Sementsov-Ogievskiy --- docs/interop/parallels.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/interop/parallels.txt b/docs/interop/parallels.txt index e9271eba5d..f15bf35bd1 100644

Re: [PATCH 1/2] savevm: Remove dead code in save_snapshot()

2020-12-17 Thread Denis V. Lunev
edundant after Denis's 0b46160 - but > I don't know the snapshot code much; > > Denis - do you agree this is correct? For me it looks too that the code becomes redundant, thus Reviewed-by: Denis V. Lunev > Dave > >> --- >> migration/savevm.c | 10 ++ >> 1

Re: QEMU 5.0 virtio-blk performance regression with high queue depths

2020-09-18 Thread Denis V. Lunev
On 9/17/20 3:41 PM, Stefan Hajnoczi wrote: > On Wed, Sep 16, 2020 at 5:43 PM Denis V. Lunev wrote: >> On 9/16/20 5:07 PM, Denis V. Lunev wrote: >>> I will make a check today. >>> >>> Talking about our performance measurements, we have not >>> seen

Re: [PATCH 2/3] block: add logging facility for long standing IO requests

2020-09-17 Thread Denis V. Lunev
On 9/17/20 4:56 PM, Max Reitz wrote: > On 10.08.20 12:14, Denis V. Lunev wrote: >> There are severe delays with IO requests processing if QEMU is running in >> virtual machine or over software defined storage. Such delays potentially >> results in unpredictable guest behavior

Re: QEMU 5.0 virtio-blk performance regression with high queue depths

2020-09-16 Thread Denis V. Lunev
On 9/16/20 5:07 PM, Denis V. Lunev wrote: > On 9/16/20 4:32 PM, Stefan Hajnoczi wrote: >> On Thu, Aug 27, 2020 at 3:24 PM Stefan Hajnoczi wrote: >>> Hi Denis, >>> A performance regression was found after the virtio-blk queue-size >>> property was increased f

Re: QEMU 5.0 virtio-blk performance regression with high queue depths

2020-09-16 Thread Denis V. Lunev
On 9/16/20 4:32 PM, Stefan Hajnoczi wrote: > On Thu, Aug 27, 2020 at 3:24 PM Stefan Hajnoczi wrote: >> Hi Denis, >> A performance regression was found after the virtio-blk queue-size >> property was increased from 128 to 256 in QEMU 5.0 in commit >> c9b7d9ec21dfca716f0bb3b68dee75660d86629c

Re: [PATCH 4/6] block, migration: add bdrv_finalize_vmstate helper

2020-08-27 Thread Denis V. Lunev
On 8/27/20 3:58 PM, Daniel P. Berrangé wrote: > On Thu, Jul 09, 2020 at 04:26:42PM +0300, Denis V. Lunev wrote: >> Right now bdrv_fclose() is just calling bdrv_flush(). >> >> The problem is that migration code is working inefficiently from block >> layer terms and are

Re: [PATCH v8 0/6] block: seriously improve savevm/loadvm performance

2020-08-27 Thread Denis V. Lunev
On 8/20/20 10:42 AM, Denis V. Lunev wrote: > On 7/9/20 4:26 PM, Denis V. Lunev wrote: >> This series do standard basic things: >> - it creates intermediate buffer for all writes from QEMU migration code >> to QCOW2 image, >> - this buffer is sent to disk asynchronous

Re: [PATCH 2/3] block: add logging facility for long standing IO requests

2020-08-24 Thread Denis V. Lunev
On 8/20/20 11:03 AM, David Edmondson wrote: > On Monday, 2020-08-10 at 13:14:46 +03, Denis V. Lunev wrote: > >> +strftime(buf, sizeof(buf), "%m-%d %H:%M:%S", > "%F %T" would include the year, which can be useful. ok > >> + localtime_

Re: [PATCH v8 0/6] block: seriously improve savevm/loadvm performance

2020-08-20 Thread Denis V. Lunev
On 7/9/20 4:26 PM, Denis V. Lunev wrote: > This series do standard basic things: > - it creates intermediate buffer for all writes from QEMU migration code > to QCOW2 image, > - this buffer is sent to disk asynchronously, allowing several writes to > run in parallel. > >

Re: [PATCH v2 for 5.2 0/3] block: add logging facility for long standing IO requests

2020-08-20 Thread Denis V. Lunev
On 8/12/20 5:00 PM, Stefan Hajnoczi wrote: > On Mon, Aug 10, 2020 at 01:14:44PM +0300, Denis V. Lunev wrote: >> There are severe delays with IO requests processing if QEMU is running in >> virtual machine or over software defined storage. Such delays potentially >> results i

Re: [PATCH for 5.2 1/1] qemu-io: add -V flag for read sub-command

2020-08-10 Thread Denis V. Lunev
On 8/10/20 5:40 PM, Kevin Wolf wrote: > Am 10.08.2020 um 16:02 hat Vladimir Sementsov-Ogievskiy geschrieben: >> 10.08.2020 15:35, Denis V. Lunev wrote: >>> The problem this patch is trying to address is libguestfs behavior on the >>> appliance startup. It starts

Re: [PATCH for 5.2 1/1] qemu-io: add -V flag for read sub-command

2020-08-10 Thread Denis V. Lunev
On 8/10/20 3:52 PM, Richard W.M. Jones wrote: > On Mon, Aug 10, 2020 at 03:35:55PM +0300, Denis V. Lunev wrote: >> The problem this patch is trying to address is libguestfs behavior on the >> appliance startup. It starts supporting to use root=UUID definition in >> the kerne

[PATCH for 5.2 1/1] qemu-io: add -V flag for read sub-command

2020-08-10 Thread Denis V. Lunev
much more intrusive. Signed-off-by: Denis V. Lunev CC: Andrey Shinkevich CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Richard W.M. Jones --- P.S. Patch to libguestfs will follow. qemu-io-cmds.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-)

[PATCH 2/3] block: add logging facility for long standing IO requests

2020-08-10 Thread Denis V. Lunev
than 10 seconds. Such reports are very complex to process. Some good starting point for this seems quite reasonable. This patch provides one. It adds logging of such potentially dangerous long IO operations. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Stefan

[PATCH 3/3] block: enable long IO requests report by default

2020-08-10 Thread Denis V. Lunev
Latency threshold is set to 10 seconds following guest request timeout on legacy storage controller. Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Stefan Hajnoczi CC: Kevin Wolf CC: Max Reitz --- blockdev.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion

[PATCH v2 for 5.2 0/3] block: add logging facility for long standing IO requests

2020-08-10 Thread Denis V. Lunev
timeout selection to patch 3 Changes from v1: - fixed conversions using macros suggested by Stefan - fixed option declaration - enabled by default with patch 3 Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi

[PATCH 1/3] block/block-backend: add converter from BlockAcctStats to BlockBackend

2020-08-10 Thread Denis V. Lunev
Right now BlockAcctStats is always reside on BlockBackend. This structure is not used in any other place. Thus we are able to create a converter from one pointer to another. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Stefan Hajnoczi CC: Kevin Wolf CC: Max

Re: [PATCH 2/3] block: add logging facility for long standing IO requests

2020-08-05 Thread Denis V. Lunev
On 8/5/20 4:51 PM, Philippe Mathieu-Daudé wrote: > On 8/5/20 12:08 PM, Denis V. Lunev wrote: >> There are severe delays with IO requests processing if QEMU is running in >> virtual machine or over software defined storage. Such delays potentially >> results in unpredi

[PATCH 1/3] block/block-backend: add converter from BlockAcctStats to BlockBackend

2020-08-05 Thread Denis V. Lunev
Right now BlockAcctStats is always reside on BlockBackend. This structure is not used in any other place. Thus we are able to create a converter from one pointer to another. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Stefan Hajnoczi CC: Kevin Wolf CC: Max

[PATCH 3/3] block: enable long IO requests report by default

2020-08-05 Thread Denis V. Lunev
Latency threshold is set to 10 seconds following guest request timeout on legacy storage controller. Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Stefan Hajnoczi CC: Kevin Wolf CC: Max Reitz --- blockdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff

[PATCH 2/3] block: add logging facility for long standing IO requests

2020-08-05 Thread Denis V. Lunev
than 10 seconds. Such reports are very complex to process. Some good starting point for this seems quite reasonable. This patch provides one. It adds logging of such potentially dangerous long IO operations. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Stefan

[PATCH v2 0/3] block: add logging facility for long standing IO requests

2020-08-05 Thread Denis V. Lunev
declaration - enabled by default with patch 3 Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi

Re: [PATCH 0/2] block: add logging facility for long standing IO requests

2020-07-31 Thread Denis V. Lunev
On 7/31/20 1:25 PM, Stefan Hajnoczi wrote: > On Fri, Jul 10, 2020 at 08:27:09PM +0300, Denis V. Lunev wrote: >> There are severe delays with IO requests processing if QEMU is running in >> virtual machine or over software defined storage. Such delays potentially >> results i

Re: [PATCH 2/2] block: add logging facility for long standing IO requests

2020-07-29 Thread Denis V. Lunev
On 7/29/20 1:30 PM, Stefan Hajnoczi wrote: > On Fri, Jul 10, 2020 at 08:27:11PM +0300, Denis V. Lunev wrote: >> +static void block_acct_report_long(BlockAcctStats *stats, >> + BlockAcctCookie *cookie, int64_t >> latency_ns) >> +{

[PATCH 0/2] block: add logging facility for long standing IO requests

2020-07-10 Thread Denis V. Lunev
than 10 seconds. Such reports are very complex to process. Some good starting point for this seems quite reasonable. This patch provides one. It adds logging of such potentially dangerous long IO operations. Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

[PATCH 2/2] block: add logging facility for long standing IO requests

2020-07-10 Thread Denis V. Lunev
than 10 seconds. Such reports are very complex to process. Some good starting point for this seems quite reasonable. This patch provides one. It adds logging of such potentially dangerous long IO operations. Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

[PATCH 1/2] block/block-backend: add converter from BlockAcctStats to BlockBackend

2020-07-10 Thread Denis V. Lunev
Right now BlockAcctStats is always reside on BlockBackend. This structure is not used in any other place. Thus we are able to create a converter from one pointer to another. Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz --- block/block-backend.c

[PATCH 5/6] block/io: improve savevm performance

2020-07-09 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng

[PATCH 6/6] block/io: improve loadvm performance

2020-07-09 Thread Denis V. Lunev
Fedora 31 VM over NVME storage are the following: original fixed cached: 1.84s 1.16s non-cached: 12.74s 1.27s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

[PATCH v8 0/6] block: seriously improve savevm/loadvm performance

2020-07-09 Thread Denis V. Lunev
gested with waiting fixes from me Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sem

[PATCH 1/6] block/aio_task: allow start/wait task from any coroutine

2020-07-09 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

[PATCH 3/6] block/block-backend: remove always true check from blk_save_vmstate

2020-07-09 Thread Denis V. Lunev
bdrv_save_vmstate() returns either error with negative return value or size. Thus this check is useless. Signed-off-by: Denis V. Lunev Suggested-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC

[PATCH 2/6] block/aio_task: drop aio_task_pool_wait_one() helper

2020-07-09 Thread Denis V. Lunev
It is not used outside the module. Actually there are 2 kind of waiters: - for a slot and - for all tasks to finish This patch limits external API to listed types. Signed-off-by: Denis V. Lunev Suggested-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf

[PATCH 4/6] block, migration: add bdrv_finalize_vmstate helper

2020-07-09 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

Re: [PATCH 2/2] util/qemu-sockets: make keep-alive enabled by default

2020-07-09 Thread Denis V. Lunev
On 7/9/20 11:29 AM, Daniel P. Berrangé wrote: > On Wed, Jul 08, 2020 at 10:15:39PM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Keep-alive won't hurt, let's try to enable it even if not requested by >> user. > Keep-alive intentionally breaks TCP connections earlier than normal > in face of

Re: [PATCH 0/6] migration: bring savevm/loadvm/delvm over to QMP

2020-07-06 Thread Denis V. Lunev
On 7/6/20 7:03 PM, Daniel P. Berrangé wrote: > On Mon, Jul 06, 2020 at 05:50:11PM +0200, Kevin Wolf wrote: >> Am 06.07.2020 um 17:29 hat Daniel P. Berrangé geschrieben: >>> On Mon, Jul 06, 2020 at 05:27:01PM +0200, Kevin Wolf wrote: >>>> Am 03.07.2020 um 19:29

Re: [PATCH 0/6] migration: bring savevm/loadvm/delvm over to QMP

2020-07-06 Thread Denis V. Lunev
On 7/6/20 5:28 PM, Daniel P. Berrangé wrote: > On Fri, Jul 03, 2020 at 08:29:08PM +0300, Denis V. Lunev wrote: >> On 7/3/20 8:22 PM, Daniel P. Berrangé wrote: >>> On Fri, Jul 03, 2020 at 08:15:44PM +0300, Denis V. Lunev wrote: >>>> On 7/2/20 8:57 PM, Daniel P.

[PATCH v7 0/7] block: seriously improve savevm/loadvm performance

2020-07-03 Thread Denis V. Lunev
waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov

[PATCH 6/7] block/io: improve savevm performance

2020-07-03 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng

[PATCH 4/7] block/block-backend: remove always true check from blk_save_vmstate

2020-07-03 Thread Denis V. Lunev
bdrv_save_vmstate() returns either error with negative return value or size. Thus this check is useless. Signed-off-by: Denis V. Lunev Suggested-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC

[PATCH 7/7] block/io: improve loadvm performance

2020-07-03 Thread Denis V. Lunev
Fedora 31 VM over NVME storage are the following: original fixed cached: 1.84s 1.16s non-cached: 12.74s 1.27s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

Re: [PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-07-03 Thread Denis V. Lunev
On 6/11/20 8:16 PM, Denis V. Lunev wrote: > Nowaday SCSI drivers in guests are able to align UNMAP requests before > sending to the device. Right now QEMU provides an ability to set > this via "discard_granularity" property of the block device which could > be used by manage

[PATCH 2/7] block/aio_task: allow start/wait task from any coroutine

2020-07-03 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

[PATCH 1/7] migration/savevm: respect qemu_fclose() error code in save_snapshot()

2020-07-03 Thread Denis V. Lunev
qemu_fclose() could return error, f.e. if bdrv_co_flush() will return the error. This validation will become more important once we will start waiting of asynchronous IO operations, started from bdrv_write_vmstate(), which are coming soon. Signed-off-by: Denis V. Lunev Reviewed-by: "Dr.

[PATCH 5/7] block, migration: add bdrv_finalize_vmstate helper

2020-07-03 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

[PATCH 3/7] block/aio_task: drop aio_task_pool_wait_one() helper

2020-07-03 Thread Denis V. Lunev
It is not used outside the module. Actually there are 2 kind of waiters: - for a slot and - for all tasks to finish This patch limits external API to listed types. Signed-off-by: Denis V. Lunev Suggested-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf

Re: [PATCH 0/6] migration: bring savevm/loadvm/delvm over to QMP

2020-07-03 Thread Denis V. Lunev
On 7/3/20 8:22 PM, Daniel P. Berrangé wrote: > On Fri, Jul 03, 2020 at 08:15:44PM +0300, Denis V. Lunev wrote: >> On 7/2/20 8:57 PM, Daniel P. Berrangé wrote: >>> When QMP was first introduced some 10+ years ago now, the snapshot >>> related commands (savevm/loadv

Re: [PATCH 2/6] migration: introduce savevm, loadvm, delvm QMP commands

2020-07-03 Thread Denis V. Lunev
On 7/2/20 8:57 PM, Daniel P. Berrangé wrote: > savevm, loadvm and delvm are some of the few commands that have never > been converted to use QMP. The primary reason for this lack of > conversion is that they block execution of the thread for as long as > they run. > > Despite this downside,

Re: [PATCH 0/6] migration: bring savevm/loadvm/delvm over to QMP

2020-07-03 Thread Denis V. Lunev
On 7/2/20 8:57 PM, Daniel P. Berrangé wrote: > When QMP was first introduced some 10+ years ago now, the snapshot > related commands (savevm/loadvm/delvm) were not converted. This was > primarily because their implementation causes blocking of the thread > running the monitor commands. This was

[PATCH 5/7] block, migration: add bdrv_finalize_vmstate helper

2020-07-03 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

[PATCH 2/7] block/aio_task: allow start/wait task from any coroutine

2020-07-03 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

[PATCH 6/7] block/io: improve savevm performance

2020-07-03 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng

[PATCH 3/7] block/aio_task: drop aio_task_pool_wait_one() helper

2020-07-03 Thread Denis V. Lunev
It is not used outside the module. Actually there are 2 kind of waiters: - for a slot and - for all tasks to finish This patch limits external API to listed types. Signed-off-by: Denis V. Lunev Suggested-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf

[PATCH 7/7] block/io: improve loadvm performance

2020-07-03 Thread Denis V. Lunev
Fedora 31 VM over NVME storage are the following: original fixed cached: 1.84s 1.16s non-cached: 12.74s 1.27s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

[PATCH 4/7] block/block-backend: remove always true check from blk_save_vmstate

2020-07-03 Thread Denis V. Lunev
bdrv_save_vmstate() returns either error with negative return value or size. Thus this check is useless. Signed-off-by: Denis V. Lunev Suggested-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC

[PATCH 1/7] migration/savevm: respect qemu_fclose() error code in save_snapshot()

2020-07-03 Thread Denis V. Lunev
qemu_fclose() could return error, f.e. if bdrv_co_flush() will return the error. This validation will become more important once we will start waiting of asynchronous IO operations, started from bdrv_write_vmstate(), which are coming soon. Signed-off-by: Denis V. Lunev Reviewed-by: "Dr.

[PATCH v6 0/7] block: seriously improve savevm/loadvm performance

2020-07-03 Thread Denis V. Lunev
t;file in bdrv_co_flush_vmstate (fix 267) - fixed blk_save_vmstate helper - fixed coroutine wait as Vladimir suggested with waiting fixes from me Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max

Re: [PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-06-26 Thread Denis V. Lunev
On 6/11/20 8:16 PM, Denis V. Lunev wrote: > Nowaday SCSI drivers in guests are able to align UNMAP requests before > sending to the device. Right now QEMU provides an ability to set > this via "discard_granularity" property of the block device which could > be used by manage

Re: [PATCH 7/6] block/io: improve loadvm performance

2020-06-22 Thread Denis V. Lunev
On 6/22/20 8:02 PM, Vladimir Sementsov-Ogievskiy wrote: > 22.06.2020 11:33, Denis V. Lunev wrote: >> This patch creates intermediate buffer for reading from block driver >> state and performs read-ahead to this buffer. Snapshot code performs >> reads sequentially and thus

Re: [PATCH v5 0/6] block: seriously improve savevm performance

2020-06-22 Thread Denis V. Lunev
On 6/19/20 2:02 PM, no-re...@patchew.org wrote: > Patchew URL: https://patchew.org/QEMU/20200619100708.30440-1-...@openvz.org/ > > > > Hi, > > This series failed the asan build test. Please find the testing commands and > their output below. If you have Docker installed, you can probably reproduce

[PATCH 7/6] block/io: improve loadvm performance

2020-06-22 Thread Denis V. Lunev
Fedora 31 VM over NVME storage are the following: original fixed cached: 1.84s 1.16s non-cached: 12.74s 1.27s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max

Re: [PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-06-19 Thread Denis V. Lunev
On 6/19/20 7:20 PM, Eduardo Habkost wrote: > On Thu, Jun 11, 2020 at 08:16:06PM +0300, Denis V. Lunev wrote: >> Nowaday SCSI drivers in guests are able to align UNMAP requests before >> sending to the device. Right now QEMU provides an ability to set >> this via "dis

[PATCH 6/6] block/io: improve savevm performance

2020-06-19 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng

[PATCH v5 0/6] block: seriously improve savevm performance

2020-06-19 Thread Denis V. Lunev
fixed coroutine wait as Vladimir suggested with waiting fixes from me Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr.

[PATCH 2/6] block/aio_task: allow start/wait task from any coroutine

2020-06-19 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

[PATCH 4/6] block/block-backend: remove always true check from blk_save_vmstate

2020-06-19 Thread Denis V. Lunev
bdrv_save_vmstate() returns either error with negative return value or size. Thus this check is useless. Signed-off-by: Denis V. Lunev Suggested-by: Eric Blake CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC

[PATCH 3/6] block/aio_task: drop aio_task_pool_wait_one() helper

2020-06-19 Thread Denis V. Lunev
It is not used outside the module. Actually there are 2 kind of waiters: - for a slot and - for all tasks to finish This patch limits external API to listed types. Signed-off-by: Denis V. Lunev Suggested-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf

[PATCH 5/6] block, migration: add bdrv_finalize_vmstate helper

2020-06-19 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

[PATCH 1/6] migration/savevm: respect qemu_fclose() error code in save_snapshot()

2020-06-19 Thread Denis V. Lunev
qemu_fclose() could return error, f.e. if bdrv_co_flush() will return the error. This validation will become more important once we will start waiting of asynchronous IO operations, started from bdrv_write_vmstate(), which are coming soon. Signed-off-by: Denis V. Lunev Reviewed-by: "Dr.

Re: pls consider this is [v3] Re: [PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-06-19 Thread Denis V. Lunev
On 6/11/20 8:21 PM, Denis V. Lunev wrote: > On 6/11/20 8:16 PM, Denis V. Lunev wrote: >> Nowaday SCSI drivers in guests are able to align UNMAP requests before >> sending to the device. Right now QEMU provides an ability to set >> this via "discard_granularity" pro

Re: [PATCH 5/5] block/io: improve savevm performance

2020-06-18 Thread Denis V. Lunev
On 6/18/20 1:56 PM, Vladimir Sementsov-Ogievskiy wrote: > 16.06.2020 19:20, Denis V. Lunev wrote: >> This patch does 2 standard basic things: >> - it creates intermediate buffer for all writes from QEMU migration code >>    to block driver, >> - this buffer is sent to di

Re: [PATCH 4/5] block, migration: add bdrv_flush_vmstate helper

2020-06-16 Thread Denis V. Lunev
On 6/17/20 12:11 AM, Eric Blake wrote: > On 6/16/20 11:20 AM, Denis V. Lunev wrote: >> Right now bdrv_fclose() is just calling bdrv_flush(). >> >> The problem is that migration code is working inefficently from black > > inefficiently, block > >> layer term

[PATCH 4/5] block, migration: add bdrv_flush_vmstate helper

2020-06-16 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

[PATCH v4 0/4] block: seriously improve savevm performance

2020-06-16 Thread Denis V. Lunev
ile in bdrv_co_flush_vmstate (fix 267) - fixed blk_save_vmstate helper - fixed coroutine wait as Vladimir suggested with waiting fixes from me Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Ste

[PATCH 3/5] block/aio_task: drop aio_task_pool_wait_one() helper

2020-06-16 Thread Denis V. Lunev
It is not used outside the module. Actually there are 2 kind of waiters: - for a slot and - for all tasks to finish This patch limits external API to listed types. Signed-off-by: Denis V. Lunev Suggested-by: Vladimir Sementsov-Ogievskiy CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC

[PATCH 1/5] migration/savevm: respect qemu_fclose() error code in save_snapshot()

2020-06-16 Thread Denis V. Lunev
qemu_fclose() could return error, f.e. if bdrv_co_flush() will return the error. This validation will become more important once we will start waiting of asynchronous IO operations, started from bdrv_write_vmstate(), which are coming soon. Signed-off-by: Denis V. Lunev Reviewed-by: "Dr.

[PATCH 5/5] block/io: improve savevm performance

2020-06-16 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gi

[PATCH 2/5] block/aio_task: allow start/wait task from any coroutine

2020-06-16 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

Re: [PATCH 2/4] block/aio_task: allow start/wait task from any coroutine

2020-06-16 Thread Denis V. Lunev
On 6/15/20 12:34 PM, Vladimir Sementsov-Ogievskiy wrote: > 15.06.2020 10:47, Vladimir Sementsov-Ogievskiy wrote: >> 11.06.2020 20:11, Denis V. Lunev wrote: >>> From: Vladimir Sementsov-Ogievskiy >>> >>> Currently, aio task pool assumes that there is a mai

Re: [PATCH v3 0/4] block: seriously improve savevm performance

2020-06-15 Thread Denis V. Lunev
On 6/15/20 3:17 PM, Dr. David Alan Gilbert wrote: > * Denis V. Lunev (d...@openvz.org) wrote: >> This series do standard basic things: >> - it creates intermediate buffer for all writes from QEMU migration code >> to QCOW2 image, >> - this buffer is sent to disk async

pls consider this is [v3] Re: [PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-06-11 Thread Denis V. Lunev
On 6/11/20 8:16 PM, Denis V. Lunev wrote: > Nowaday SCSI drivers in guests are able to align UNMAP requests before > sending to the device. Right now QEMU provides an ability to set > this via "discard_granularity" property of the block device which could > be used by manage

[PATCH 2/2] iotests: fix 172 test

2020-06-11 Thread Denis V. Lunev
Default discard granularity is set to -2 now. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Eduardo Habkost CC: Marcel Apfelbaum CC: John Snow CC: Paolo Bonzini CC: Fam Zheng --- tests/qemu-iotests/172.out | 106 ++--- 1 file changed, 53

[PATCH 1/2] block: propagate discard alignment from format drivers to the guest

2020-06-11 Thread Denis V. Lunev
nt of QEMU, there is pdiscard_granularity on the format driver level, f.e. on QCOW2 or iSCSI. It would be beneficial to pass this value as a default for this property. Technically this should reduce the amount of use less UNMAP requests from the guest to the host. Basic test confirms this. Signed-off-by: Deni

[PATCH 0/2] block: propagate discard alignment from format drivers to the guest

2020-06-11 Thread Denis V. Lunev
ng 'fstrim /' on 32 Gb disk has issued 401/415 requests with/without proper alignment to QEMU. Changes from v2: - 172 iotest fixed Changes from v1: - fixed typos in description - added machine type compatibility layer as suggested by Kevin Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max

[PATCH 3/4] block, migration: add bdrv_flush_vmstate helper

2020-06-11 Thread Denis V. Lunev
is used from qemu-io only. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/block-backend.c | 6 +- block/io.c

[PATCH v3 0/4] block: seriously improve savevm performance

2020-06-11 Thread Denis V. Lunev
ate helper - fixed coroutine wait as Vladimir suggested with waiting fixes from me Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela

[PATCH 2/4] block/aio_task: allow start/wait task from any coroutine

2020-06-11 Thread Denis V. Lunev
-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gilbert" CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-)

[PATCH 4/4] block/io: improve savevm performance

2020-06-11 Thread Denis V. Lunev
): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Stefan Hajnoczi CC: Fam Zheng CC: Juan Quintela CC: "Dr. David Alan Gi

[PATCH 1/4] migration/savevm: respect qemu_fclose() error code in save_snapshot()

2020-06-11 Thread Denis V. Lunev
qemu_fclose() could return error, f.e. if bdrv_co_flush() will return the error. This validation will become more important once we will start waiting of asynchronous IO operations, started from bdrv_write_vmstate(), which are coming soon. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max

Re: [PATCH] block/aio_task: allow start/wait task from any coroutine

2020-06-11 Thread Denis V. Lunev
On 6/11/20 10:36 AM, Vladimir Sementsov-Ogievskiy wrote: > Currently, aio task pool assumes that there is a main coroutine, which > creates tasks and wait for them. Let's remove the restriction by using > CoQueue. Code becomes clearer, interface more obvious. > > Signed-off-by: Vladimir

Re: [PATCH 2/2] qcow2: improve savevm performance

2020-06-11 Thread Denis V. Lunev
On 6/11/20 11:04 AM, Vladimir Sementsov-Ogievskiy wrote: > 10.06.2020 22:00, Denis V. Lunev wrote: >> This patch does 2 standard basic things: >> - it creates intermediate buffer for all writes from QEMU migration code >>    to QCOW2 image, >> - this buffer is sent to di

Re: [PATCH 2/2] qcow2: improve savevm performance - please ignore

2020-06-10 Thread Denis V. Lunev
On 6/10/20 9:58 PM, Denis V. Lunev wrote: > This patch does 2 standard basic things: > - it creates intermediate buffer for all writes from QEMU migration code > to QCOW2 image, > - this buffer is sent to disk asynchronously, allowing several writes to > run in parallel.

[PATCH v2 0/2] qcow2: seriously improve savevm performance

2020-06-10 Thread Denis V. Lunev
: 1.79s 2.38s 1.27s non-cached: 3.29s 1.31s 0.81s Changes from v1: - patchew warning fixed - fixed validation that only 1 waiter is allowed in patch 1 Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov

[PATCH 1/2] aio: allow to wait for coroutine pool from different coroutine

2020-06-10 Thread Denis V. Lunev
ake_co != NULL'. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/block/aio_task.c b/block/aio_task.c index 88989fa248..5183

Re: [PATCH 1/2] aio: allow to wait for coroutine pool from different coroutine - please ignore

2020-06-10 Thread Denis V. Lunev
On 6/10/20 9:58 PM, Denis V. Lunev wrote: > The patch preserves the constraint that the only waiter is allowed. > > The patch renames AioTaskPool->main_co to wake_co and removes > AioTaskPool->waiting flag. wake_co keeps coroutine, which is > waiting for wakeup on worker comp

[PATCH 2/2] qcow2: improve savevm performance

2020-06-10 Thread Denis V. Lunev
writes to such new clusters. Snapshot creation time (2 GB Fedora-31 VM running over NVME storage): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Kevin

[PATCH 1/2] aio: allow to wait for coroutine pool from different coroutine

2020-06-10 Thread Denis V. Lunev
ake_co != NULL'. Signed-off-by: Denis V. Lunev CC: Kevin Wolf CC: Max Reitz CC: Vladimir Sementsov-Ogievskiy CC: Denis Plotnikov --- block/aio_task.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/block/aio_task.c b/block/aio_task.c index 88989fa248..5183

[PATCH 2/2] qcow2: improve savevm performance

2020-06-10 Thread Denis V. Lunev
writes to such new clusters. Snapshot creation time (2 GB Fedora-31 VM running over NVME storage): original fixed cached: 1.79s 1.27s non-cached: 3.29s 0.81s The difference over HDD would be more significant :) Signed-off-by: Denis V. Lunev CC: Kevin

<    1   2   3   4   5   6   7   8   9   10   >