Re: [Qemu-devel] [Qemu-block] [PATCH v4] qemu-io: add pattern file for write command

2019-05-31 Thread Denis Plotnikov
On 31.05.2019 10:14, Stefano Garzarella wrote: > On Fri, May 31, 2019 at 06:21:13AM +0000, Denis Plotnikov wrote: >> >> >> On 30.05.2019 11:26, Stefano Garzarella wrote: >>> On Thu, May 30, 2019 at 11:10:55AM +0300, Denis Plotnikov wrote: >>>> The patch

Re: [Qemu-devel] [Qemu-block] [PATCH v4] qemu-io: add pattern file for write command

2019-05-31 Thread Denis Plotnikov
On 30.05.2019 11:26, Stefano Garzarella wrote: > On Thu, May 30, 2019 at 11:10:55AM +0300, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >&

Re: [Qemu-devel] [Qemu-block] [PATCH v2] qemu-io: add pattern file for write command

2019-05-30 Thread Denis Plotnikov
On 30.05.2019 10:51, Stefano Garzarella wrote: > On Wed, May 29, 2019 at 02:46:24PM +0300, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> --- >

[Qemu-devel] [PATCH v4] qemu-io: add pattern file for write command

2019-05-30 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 81 ++ 1 file changed, 75 insertions(+), 6 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

[Qemu-devel] [PATCH v3] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. --- qemu-io-cmds.c | 80 ++ 1 file changed, 74 insertions(+), 6 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c index

[Qemu-devel] [PATCH v2] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c index

[Qemu-devel] [PATCH v1] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

Re: [Qemu-devel] [PATCH v0] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
On 29.05.2019 11:11, Vladimir Sementsov-Ogievskiy wrote: > 29.05.2019 9:48, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >&

[Qemu-devel] [PATCH v0] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

[Qemu-devel] [PATCH v0 2/3] qcow2: add compression type processing

2019-05-28 Thread Denis Plotnikov
With the patch, qcow2 is able to process image compression type defined in the image header and choose the corresponding method for clusters compressing. Also, it rework the cluster compression code for adding more compression types. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 103

[Qemu-devel] [PATCH v0 0/3] add zstd cluster compression

2019-05-28 Thread Denis Plotnikov
compression ratio: ~1.5 compressed image size in both cases: ~1.4G Denis Plotnikov (3): qcow2: introduce compression type feature qcow2: add compression type processing qcow2: add zstd cluster compression block/qcow2.c | 240 -- block/qcow2.h

[Qemu-devel] [PATCH v0 3/3] qcow2: add zstd cluster compression

2019-05-28 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2.c | 82 +++ configure | 26 2 files changed, 108 insertions(+) diff --git a/block/qcow2.c b/block/qcow2.c index 90f15cc3c9..58901f9f79 100644 --- a/block

[Qemu-devel] [PATCH v0 1/3] qcow2: introduce compression type feature

2019-05-28 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provide a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type is backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 61

[Qemu-devel] [PATCH v2] [RFC] qcow2: add compression type feature

2019-05-20 Thread Denis Plotnikov
be wise to use it for data compression e.g. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 29 ++--- docs/interop/qcow2.txt | 34

Re: [Qemu-devel] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-17 Thread Denis Plotnikov
On 16.05.2019 17:42, Eric Blake wrote: > On 5/16/19 8:48 AM, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using a cer

Re: [Qemu-devel] [Qemu-block] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-17 Thread Denis Plotnikov
On 17.05.2019 2:25, John Snow wrote: > > > On 5/16/19 9:48 AM, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using

[Qemu-devel] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
be wise to use it for data compression e.g. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 29 ++--- docs/interop/qcow2.txt | 25 - qapi

Re: [Qemu-devel] [PATCH] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
On 16.05.2019 13:40, Max Reitz wrote: > On 16.05.19 09:50, Denis Plotnikov wrote: >> >> >> On 29.04.2019 1:32, Max Reitz wrote: >>> On 05.02.19 10:08, Denis Plotnikov wrote: >>>> The patch adds some preparation parts for incompatible compression type >

Re: [Qemu-devel] [PATCH] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
On 29.04.2019 1:32, Max Reitz wrote: > On 05.02.19 10:08, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using a cer

Re: [Qemu-devel] [PING PING PING] [PATCH 0/3] migration: add sztd compression

2019-04-25 Thread Denis Plotnikov
On 05.04.2019 14:40, Denis Plotnikov wrote: > ping! > > On 26.03.2019 18:51, Denis Plotnikov wrote: >> ping ping ping ping ping! >> >> On 18.03.2019 10:53, Denis Plotnikov wrote: >>> ping ping ping ping! >>> >>> On 11.03.

[Qemu-devel] [PINGl] [PATCH 0/3] migration: add sztd compression

2019-04-05 Thread Denis Plotnikov
ping! On 26.03.2019 18:51, Denis Plotnikov wrote: > ping ping ping ping ping! > > On 18.03.2019 10:53, Denis Plotnikov wrote: >> ping ping ping ping! >> >> On 11.03.2019 11:20, Denis Plotnikov wrote: >>> ping ping ping! >>> >>>

[Qemu-devel] [PING] [PATCH 0/3] migration: add sztd compression

2019-04-05 Thread Denis Plotnikov
ping! On 26.03.2019 18:51, Denis Plotnikov wrote: > ping ping ping ping ping! > > On 18.03.2019 10:53, Denis Plotnikov wrote: >> ping ping ping ping! >> >> On 11.03.2019 11:20, Denis Plotnikov wrote: >>> ping ping ping! >>> >>>

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-04-02 Thread Denis Plotnikov
On 13.03.2019 19:04, Kevin Wolf wrote: > Am 14.12.2018 um 12:54 hat Denis Plotnikov geschrieben: >> On 13.12.2018 15:20, Kevin Wolf wrote: >>> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>>> Sounds it should be so, but it doesn't work that way and that

Re: [Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-03-26 Thread Denis Plotnikov
ping ping ping ping ping! On 18.03.2019 10:53, Denis Plotnikov wrote: > ping ping ping ping! > > On 11.03.2019 11:20, Denis Plotnikov wrote: >> ping ping ping! >> >> On 04.03.2019 18:10, Denis Plotnikov wrote: >>> ping! >>> >>> On 2

Re: [Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-03-18 Thread Denis Plotnikov
ping ping ping ping! On 11.03.2019 11:20, Denis Plotnikov wrote: > ping ping ping! > > On 04.03.2019 18:10, Denis Plotnikov wrote: >> ping! >> >> On 26.02.2019 16:15, Denis Plotnikov wrote: >>> zstd date compression algorithm shows better performance on

Re: [Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-03-11 Thread Denis Plotnikov
ping ping ping! On 04.03.2019 18:10, Denis Plotnikov wrote: > ping! > > On 26.02.2019 16:15, Denis Plotnikov wrote: >> zstd date compression algorithm shows better performance on data compression. >> It might be useful to employ the algorithm in VM migration to reduce CPU

Re: [Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-03-07 Thread Denis Plotnikov
ping ping On 04.03.2019 18:10, Denis Plotnikov wrote: > ping! > > On 26.02.2019 16:15, Denis Plotnikov wrote: >> zstd date compression algorithm shows better performance on data compression. >> It might be useful to employ the algorithm in VM migration to reduce CPU

Re: [Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-03-04 Thread Denis Plotnikov
ping! On 26.02.2019 16:15, Denis Plotnikov wrote: > zstd date compression algorithm shows better performance on data compression. > It might be useful to employ the algorithm in VM migration to reduce CPU > usage. > A user will be able to choose between those algorithms, therefor c

[Qemu-devel] [PATCH 0/3] migration: add sztd compression

2019-02-26 Thread Denis Plotnikov
154 | 22 23 27 | 23 23 25 cpu idle, % 99| 45 30 12 | 70 52 23 cpu idle diff to zlib | | -25%-22%-11% Denis Plotnikov (3): migration: rework compression code for adding more data

[Qemu-devel] [PATCH 1/3] migration: rework compression code for adding more data compressors

2019-02-26 Thread Denis Plotnikov
Also, the patch adds new migration parameter parameter: compress-type to be able choose between data compressors available. By the moment, the only available data compressor is gzip (zlib) Signed-off-by: Denis Plotnikov --- migration/migration.c | 42 - migration/migration.h | 1

[Qemu-devel] [PATCH 3/3] migration: add zstd compression

2019-02-26 Thread Denis Plotnikov
-22 should be used with care because they lead to significant growth of CPU and memory usage. Signed-off-by: Denis Plotnikov --- configure | 26 migration/migration.c | 5 ++- migration/qemu-file.h | 1 + migration/ram.c | 95 +++

[Qemu-devel] [PATCH 2/3] hmp: add compress-type parameter to migration parameters

2019-02-26 Thread Denis Plotnikov
Signed-off-by: Denis Plotnikov --- hmp.c | 8 1 file changed, 8 insertions(+) diff --git a/hmp.c b/hmp.c index b2a2b1f84e..5f105b816f 100644 --- a/hmp.c +++ b/hmp.c @@ -334,6 +334,10 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict) params

[Qemu-devel] [PATCH v2] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
the VM disk bds is protected with walking_aio_notifiers flag from double processing in recursive calls, the assert fires. Signed-off-by: Denis Plotnikov --- block.c | 4 1 file changed, 4 insertions(+) diff --git a/block.c b/block.c index adda221c2c..5742545e7a 100644 --- a/block.c +++ b/block.c

Re: [Qemu-devel] [PATCH] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
On 15.02.2019 15:29, Eric Blake wrote: > On 2/15/19 3:19 AM, Denis Plotnikov wrote: >> Adds a fast path on aio context setting preventing >> unnecessary context setting routine. >> Also, it prevents issues with cyclic walk of child >> bds-es appeared becaus

[Qemu-devel] [PATCH] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
the VM disk bds is protected with walking_aio_notifiers flag from double processing in recursive calls, the assert fires. Signed-off-by: Denis Plotnikov --- block.c | 4 1 file changed, 4 insertions(+) diff --git a/block.c b/block.c index adda221c2c..5742545e7a 100644 --- a/block.c +++ b/block.c

Re: [Qemu-devel] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-02-15 Thread Denis Plotnikov
On 08.02.2019 14:03, Kevin Wolf wrote: > Am 24.01.2019 um 08:48 hat Denis Plotnikov geschrieben: >> When there is a Backup Block Job running and shutdown command is sent to >> a guest, the guest crushes due to assert(!bs->walking_aio_notifiers). >> >> Call s

Re: [Qemu-devel] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-02-08 Thread Denis Plotnikov
ping ping! On 24.01.2019 10:48, Denis Plotnikov wrote: > When there is a Backup Block Job running and shutdown command is sent to > a guest, the guest crushes due to assert(!bs->walking_aio_notifiers). > > Call stack: > > 0 __GI_raise > 1 __GI_abort >

[Qemu-devel] [PATCH] [RFC] qcow2: add compression type feature

2019-02-05 Thread Denis Plotnikov
to use it for data compression f.e. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 26 ++ 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/block/qcow2.c b/block

[Qemu-devel] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-01-23 Thread Denis Plotnikov
e processing in recursive calls, the assert fires. The patch fixes the problem by skipping the bds-es in recursive calls which have started attachment/detachment already. Signed-off-by: Denis Plotnikov --- block.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/blo

Re: [Qemu-devel] PING: [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-17 Thread Denis Plotnikov
On 17.01.2019 17:23, Kevin Wolf wrote: > Am 17.01.2019 um 13:57 hat Denis Plotnikov geschrieben: >> Kevin, >> >> could you please take a look at my last comments? > > I read it, and what it told me is essentially that I need to work on it > myself to fully under

[Qemu-devel] PING: [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-17 Thread Denis Plotnikov
Kevin, could you please take a look at my last comments? Thanks! Denis On 15.01.2019 10:22, Denis Plotnikov wrote: > ping ping ping ping > > On 09.01.2019 11:18, Denis Plotnikov wrote: >> ping ping!!! >> >> On 18.12.2018 11:53, Denis Plotnikov wrote: >>>

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-14 Thread Denis Plotnikov
ping ping ping ping On 09.01.2019 11:18, Denis Plotnikov wrote: > ping ping!!! > > On 18.12.2018 11:53, Denis Plotnikov wrote: >> ping ping >> >> On 14.12.2018 14:54, Denis Plotnikov wrote: >>> >>> >>> On 13.12.2018 15:20, Kevin Wolf

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-09 Thread Denis Plotnikov
ping ping!!! On 18.12.2018 11:53, Denis Plotnikov wrote: > ping ping > > On 14.12.2018 14:54, Denis Plotnikov wrote: >> >> >> On 13.12.2018 15:20, Kevin Wolf wrote: >>> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>>> On 12.12.2018 15

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-18 Thread Denis Plotnikov
ping ping On 14.12.2018 14:54, Denis Plotnikov wrote: > > > On 13.12.2018 15:20, Kevin Wolf wrote: >> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>> On 12.12.2018 15:24, Kevin Wolf wrote: >>>> Am 11.12.2018 um 17:55 hat Denis Plotnikov geschriebe

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-14 Thread Denis Plotnikov
On 13.12.2018 15:20, Kevin Wolf wrote: > Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >> On 12.12.2018 15:24, Kevin Wolf wrote: >>> Am 11.12.2018 um 17:55 hat Denis Plotnikov geschrieben: >>>>> Why involve the AioContext at all? This could all be kep

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-13 Thread Denis Plotnikov
On 12.12.2018 15:24, Kevin Wolf wrote: > Am 11.12.2018 um 17:55 hat Denis Plotnikov geschrieben: >>> Why involve the AioContext at all? This could all be kept at the >>> BlockBackend level without extending the layering violation that >>> aio_disable_external()

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-11 Thread Denis Plotnikov
On 07.12.2018 15:26, Kevin Wolf wrote: > Am 05.12.2018 um 13:23 hat Denis Plotnikov geschrieben: >> At the time, the "drained section" doesn't protect Block Driver State >> from the requests appearing in the vCPU threads. >> This could lead to the data

Re: [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-10 Thread Denis Plotnikov
On 07.12.2018 15:26, Kevin Wolf wrote: > Am 05.12.2018 um 13:23 hat Denis Plotnikov geschrieben: >> At the time, the "drained section" doesn't protect Block Driver State >> from the requests appearing in the vCPU threads. >> This could lead to the data

[Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-05 Thread Denis Plotnikov
ear in vCPU context (here is the race) Signed-off-by: Denis Plotnikov --- block/block-backend.c | 31 +++ block/io.c| 3 ++- dma-helpers.c | 4 ++-- hw/block/nvme.c | 8 hw/block/xen_disk.c | 8 hw/ide/core

Re: [Qemu-devel] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-09-12 Thread Denis Plotnikov
On 12.09.2018 16:15, Kevin Wolf wrote: Am 12.09.2018 um 14:03 hat Denis Plotnikov geschrieben: On 10.09.2018 15:41, Kevin Wolf wrote: Am 29.06.2018 um 14:40 hat Denis Plotnikov geschrieben: Fixes the problem of ide request appearing when the BDS is in the "drained section"

Re: [Qemu-devel] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-09-12 Thread Denis Plotnikov
On 10.09.2018 15:41, Kevin Wolf wrote: Am 29.06.2018 um 14:40 hat Denis Plotnikov geschrieben: Fixes the problem of ide request appearing when the BDS is in the "drained section". Without the patch the request can come and be processed by the main event loop, as the id

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-09-10 Thread Denis Plotnikov
PING PING! On 28.08.2018 13:23, Denis Plotnikov wrote: On 27.08.2018 19:05, John Snow wrote: On 08/27/2018 03:05 AM, Denis Plotnikov wrote: PING! PING! Sorry, Kevin and Stefan are both on PTO right now, I think. I can't promise I have the time to look soon, but you at least deserve

Re: [Qemu-devel] [PATCH v1 00/17] Background snapshots

2018-09-05 Thread Denis Plotnikov
04, 2018 at 04:00:31PM +0300, Denis Plotnikov wrote: Hi Peter Hi, Denis, I moved the code to the repository https://github.com/denis-plotnikov/qemu/tree/background-snapshot-kvm. the current version includes fixes with respect to your comments for version 1. I moved KVM related patches

Re: [Qemu-devel] [PATCH v1 00/17] Background snapshots

2018-09-04 Thread Denis Plotnikov
Hi Peter I moved the code to the repository https://github.com/denis-plotnikov/qemu/tree/background-snapshot-kvm. the current version includes fixes with respect to your comments for version 1. I moved KVM related patches to the end of the branch (formerly patch series). Since, the KVM

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-28 Thread Denis Plotnikov
On 27.08.2018 19:05, John Snow wrote: On 08/27/2018 03:05 AM, Denis Plotnikov wrote: PING! PING! Sorry, Kevin and Stefan are both on PTO right now, I think. I can't promise I have the time to look soon, but you at least deserve an answer for the radio silence the last week. --js

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-27 Thread Denis Plotnikov
PING! PING! On 14.08.2018 10:08, Denis Plotnikov wrote: On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-20 Thread Denis Plotnikov
ping ping! On 14.08.2018 10:08, Denis Plotnikov wrote: On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-20 Thread Denis Plotnikov
ping ping! On 14.08.2018 10:08, Denis Plotnikov wrote: On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-14 Thread Denis Plotnikov
On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? --js

Re: [Qemu-devel] [PATCH v0 0/7] Background snapshots

2018-08-13 Thread Denis Plotnikov
On 26.07.2018 12:23, Peter Xu wrote: On Thu, Jul 26, 2018 at 10:51:33AM +0200, Paolo Bonzini wrote: On 25/07/2018 22:04, Andrea Arcangeli wrote: It may look like the uffd-wp model is wish-feature similar to an optimization, but without the uffd-wp model when the WP fault is triggered by

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-08-13 Thread Denis Plotnikov
Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? --js Yes, I did. I talked to Stefan why the patch set appeared. On 29.06.2018 15:40, Denis Plotnikov

[Qemu-devel] [PATCH v1 10/17] background snapshots: adapt the page queueing code for using page copies

2018-07-18 Thread Denis Plotnikov
The background snapshot uses memeory page copying to seal the page memory content. The patch adapts the migration infrastructure to save copies of the pages. Signed-off-by: Denis Plotnikov --- migration/migration.c | 2 +- migration/ram.c | 59

[Qemu-devel] [PATCH v1 17/17] background snapshot: enable background snapshot

2018-07-18 Thread Denis Plotnikov
pshot" migration capability and start the migration Signed-off-by: Denis Plotnikov --- migration/migration.c | 103 +- 1 file changed, 101 insertions(+), 2 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 131d0904e4..

[Qemu-devel] [PATCH v1 16/17] migration: move the device state saving logic to a separate function

2018-07-18 Thread Denis Plotnikov
The logic being split will be reused by the background snapshot. Signed-off-by: Denis Plotnikov --- migration/savevm.c | 91 +- migration/savevm.h | 2 + 2 files changed, 52 insertions(+), 41 deletions(-) diff --git a/migration/savevm.c b/migration

[Qemu-devel] [PATCH v1 11/17] background snapshot: add a memory page copying function

2018-07-18 Thread Denis Plotnikov
It's the only function making a memory page copy. It supports multithreading semantics ensuring that the page is copied by one thread only and releasing the copied page from write protection. Signed-off-by: Denis Plotnikov --- migration/ram.c | 56

[Qemu-devel] [PATCH v1 08/17] migration: add helpers to change VM memory protection rights

2018-07-18 Thread Denis Plotnikov
Signed-off-by: Denis Plotnikov --- migration/ram.c | 54 + migration/ram.h | 3 +++ 2 files changed, 57 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 27d3403435..ce3dead932 100644 --- a/migration/ram.c +++ b/migration/ram.c

[Qemu-devel] [PATCH v1 03/17] threads: add infrastructure to process sigsegv

2018-07-18 Thread Denis Plotnikov
Allows to define sigsegv handler temporary for all threads. This is useful to implement copy-on-write logic while linux usefaultfd doesn't support write-protected faults. In the future, switch to using WP userfaultfd when it's available. Signed-off-by: Denis Plotnikov --- include/qemu/thread.h

[Qemu-devel] [PATCH v1 02/17] bitops: add some atomic versions of bitmap operations

2018-07-18 Thread Denis Plotnikov
1. test bit 2. test and set bit Signed-off-by: Denis Plotnikov --- include/qemu/bitops.h | 25 + 1 file changed, 25 insertions(+) diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h index 3f0926cf40..72afcfaec5 100644 --- a/include/qemu/bitops.h +++ b/include

[Qemu-devel] [PATCH v1 07/17] background snapshot: introduce page buffer

2018-07-18 Thread Denis Plotnikov
anonymous memory mapping and releasing it by the existing code. Signed-off-by: Denis Plotnikov --- migration/ram.c | 91 + migration/ram.h | 3 ++ 2 files changed, 94 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 4399c31606..

[Qemu-devel] [PATCH v1 01/17] migration: add background snapshot capability

2018-07-18 Thread Denis Plotnikov
The capability is used for the background vmstate saving using the migration infrastructure. Background vmstate saving means that the majority of vmstate (RAM) is saved in the background when VM's vCPUS are running. This helps to reduce the VM downtime on VM snapshotting. Signed-off-by: Denis

[Qemu-devel] [PATCH v1 06/17] background snapshot: add helpers to manage a copy of ram block list

2018-07-18 Thread Denis Plotnikov
The VM ramblock list may be changed during the snapshotting. We want to make sure that we have the same ramblock list as it was at the time of snapshot beginning. So, we create a copy of the list at the beginning of the snapshotting and use it during the process. Signed-off-by: Denis Plotnikov

[Qemu-devel] [PATCH v1 12/17] ram: add background snapshot support in ram page saving part of migration

2018-07-18 Thread Denis Plotnikov
Unify the function saving the ram pages for using in both the migration and the background snapshots. Signed-off-by: Denis Plotnikov --- migration/ram.c | 17 + 1 file changed, 17 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 10b6fdf23e..b1623e96e7 100644

[Qemu-devel] [PATCH v1 00/17] Background snapshots

2018-07-18 Thread Denis Plotnikov
ot applied to the mainstream, it's in the kvm mailing list) -- Change log: v0 => v1: the patch series has been split in smaller chunks Denis Plotnikov (17): migration: add background snapshot capability bitops: add some atomic versions of bitmap operations threads: add i

[Qemu-devel] [PATCH v1 13/17] background snapshot: add write-protected page access handler function

2018-07-18 Thread Denis Plotnikov
The handler does all the necessary operations to save the page being accessed to the snapshot file(stream). Signed-off-by: Denis Plotnikov --- migration/ram.c | 43 +++ migration/ram.h | 1 + 2 files changed, 44 insertions(+) diff --git a/migration

[Qemu-devel] [PATCH v1 04/17] background snapshot: make a dedicated type for ram block list

2018-07-18 Thread Denis Plotnikov
The type will be used later to hold a list of ram blocks which memory content to be used for the vm state saving when making a background snapshot. Signed-off-by: Denis Plotnikov --- include/exec/ramlist.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/exec

[Qemu-devel] [PATCH v1 14/17] kvm: add failed memeory access exit reason

2018-07-18 Thread Denis Plotnikov
The patch allows qemu to be aware of how to read kvm failed memeory access. This is a temporary patch. It sould be removed on importing the kvm failed memeory access exit from the linux branch. Signed-off-by: Denis Plotnikov --- linux-headers/linux/kvm.h | 5 + 1 file changed, 5 insertions

[Qemu-devel] [PATCH v1 05/17] ram: extend the data structures for background snapshotting

2018-07-18 Thread Denis Plotnikov
Signed-off-by: Denis Plotnikov --- include/exec/ram_addr.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index 6cbc02aa0f..5b403d537d 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -36,6 +36,8 @@ struct

[Qemu-devel] [PATCH v1 15/17] kvm: add vCPU failed memeory access processing

2018-07-18 Thread Denis Plotnikov
Is done with support of the KVM patch returning the faulting address. Signed-off-by: Denis Plotnikov --- target/i386/kvm.c | 17 + 1 file changed, 17 insertions(+) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 3ac5302bc5..55b8860d1a 100644 --- a/target/i386/kvm.c

[Qemu-devel] [PATCH v1 09/17] background snapshot: extend RAM request for holding a page copy pointer

2018-07-18 Thread Denis Plotnikov
This pointer is going to be used to transfer a memory. Once the memory page is copied the content the snapshot interested in is saved for writing and we can make the page writable again. Signed-off-by: Denis Plotnikov --- migration/ram.c | 3 +++ 1 file changed, 3 insertions(+) diff --git

Re: [Qemu-devel] [Qemu-block] [PATCH v0 0/2] Postponed actions

2018-07-18 Thread Denis Plotnikov
On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? For some reason, there are no Stefan's replies on my server. Found it in the web. Will respond to it shortly

Re: [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-07-16 Thread Denis Plotnikov
Ping! On 29.06.2018 15:40, Denis Plotnikov wrote: There are cases when a request to a block driver state shouldn't have appeared producing dangerous race conditions. This misbehaviour is usually happens with storage devices emulated without eventfd for guest to host notifications like IDE

Re: [Qemu-devel] [PATCH v0 0/7] Background snapshots

2018-07-16 Thread Denis Plotnikov
On 13.07.2018 08:20, Peter Xu wrote: On Fri, Jun 29, 2018 at 11:03:13AM +0300, Denis Plotnikov wrote: The patch set adds the ability to make external snapshots while VM is running. The workflow to make a snapshot is the following: 1. Pause the vm 2. Make a snapshot of block devices using

Re: [Qemu-devel] [PATCH v0 0/7] Background snapshots

2018-07-02 Thread Denis Plotnikov
On 02.07.2018 14:23, Peter Xu wrote: On Fri, Jun 29, 2018 at 11:03:13AM +0300, Denis Plotnikov wrote: The patch set adds the ability to make external snapshots while VM is running. Hi, Denis, This work is interesting, though I have a few questions to ask in general below. The workflow

Re: [Qemu-devel] about live memory snapshot

2018-07-02 Thread Denis Plotnikov
On 02.07.2018 13:53, Peter Xu wrote: On Sat, Jun 30, 2018 at 01:45:29AM +, Gonglei (Arei) wrote: Hi Peter, As we discussed in LC3 China, the current scheme of "migration to file" can't fit on production environment, which will cause the snapshot file bigger and bigger when the guest is

[Qemu-devel] [PATCH v0 1/2] async: add infrastructure for postponed actions

2018-06-29 Thread Denis Plotnikov
of the requests appeared when the context was in "drained section". Signed-off-by: Denis Plotnikov --- include/block/aio.h | 63 + util/async.c| 33 2 files changed, 96 insertions(+) diff --git a/include/block/aio.

[Qemu-devel] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-06-29 Thread Denis Plotnikov
quests arisen when in "drained section" to remove the possibility of request appearing for all the infrastructure clients. This approach doesn't make vCPU processing the request wait untill the end of request processing. Signed-off-by: Denis Plotnikov --- block/block-backend.c | 58 ++

[Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-06-29 Thread Denis Plotnikov
h series introduces the mechanism to postpone the requests until the BDS leaves "drained" section for the devices not using iothreads. Also, it modifies the asynchronous block backend infrastructure to use that mechanism to release the assert bug for IDE devices. Denis Plotnikov (2): async: add i

[Qemu-devel] [PATCH v0 4/7] migration: add background snapshot infrastructure

2018-06-29 Thread Denis Plotnikov
It allows to intercept VM's RAM access and write them into the snapshot. Signed-off-by: Denis Plotnikov --- include/exec/ram_addr.h | 7 + include/exec/ramlist.h | 4 +- migration/migration.c | 2 +- migration/ram.c | 333 ++-- migration

[Qemu-devel] [PATCH v0 0/7] Background snapshots

2018-06-29 Thread Denis Plotnikov
vcpu->run->hw.hardware_exit_reason = EXIT_REASON_EPT_VIOLATION; + vcpu->run->fail_mem_access.hva = hva | (gpa & (PAGE_SIZE-1)); + r = 0; + + } + return r; The patch to KVM can be sent if the patch set approved Denis Plotnikov (7): mig

[Qemu-devel] [PATCH v0 2/7] bitops: add some atomic versions of bitmap operations

2018-06-29 Thread Denis Plotnikov
1. test bit 2. test and set bit Signed-off-by: Denis Plotnikov --- include/qemu/bitops.h | 24 1 file changed, 24 insertions(+) diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h index 3f0926cf40..7b1c8c7baf 100644 --- a/include/qemu/bitops.h +++ b/include/qemu

[Qemu-devel] [PATCH v0 3/7] threads: add infrastructure to process sigsegv

2018-06-29 Thread Denis Plotnikov
-off-by: Denis Plotnikov --- include/qemu/thread.h| 5 util/qemu-thread-posix.c | 50 2 files changed, 55 insertions(+) diff --git a/include/qemu/thread.h b/include/qemu/thread.h index 9910f49b3a..886985d289 100644 --- a/include/qemu/thread.h +++ b

[Qemu-devel] [PATCH v0 5/7] kvm: add failed memeory access exit reason

2018-06-29 Thread Denis Plotnikov
The patch allows qemu to be aware of how to read kvm failed memeory access. This is a temporary patch. It sould be removed on importing the kvm failed memeory access exit from the linux branch. Signed-off-by: Denis Plotnikov --- linux-headers/linux/kvm.h | 5 + 1 file changed, 5 insertions

[Qemu-devel] [PATCH v0 6/7] kvm: add vCPU failed memeory access processing

2018-06-29 Thread Denis Plotnikov
Is done with support of the KVM patch returning the faulting address. Signed-off-by: Denis Plotnikov --- target/i386/kvm.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 3ac5302bc5..b87881a8f1 100644 --- a/target/i386/kvm.c

[Qemu-devel] [PATCH v0 7/7] migration: add background snapshotting

2018-06-29 Thread Denis Plotnikov
pshot" migration capability and start the migration. Signed-off-by: Denis Plotnikov --- migration/migration.c | 104 +- migration/savevm.c| 91 +++- migration/savevm.h| 2 + 3 files changed, 154 inserti

[Qemu-devel] [PATCH v0 1/7] migration: add background snapshot capability

2018-06-29 Thread Denis Plotnikov
The capability is used for the background vmstate saving using the migration infrastructure. Background vmstate saving means that the majority of vmstate (RAM) is saved in the background when VM's vCPUS are running. This helps to reduce the VM downtime on VM snapshotting. Signed-off-by: Denis

[Qemu-devel] [PATCH v0 1/2] block: check for read-only on copy-on-read setting

2018-06-13 Thread Denis Plotnikov
We should always check whether block device is in the read-only state before enabling copy-on-read. The patch embeds the check in the copy-on-read setter. Signed-off-by: Denis Plotnikov --- block.c | 4 +--- block/io.c| 10 -- block/stream.c| 5

[Qemu-devel] [PATCH v0 2/2] qmp: add block-set-copy-on-read command

2018-06-13 Thread Denis Plotnikov
The command enables/disables copy-on-read mode for VM's disk while VM is running. This is needed when using external disk readers to shape access pattern to the disk backend. Signed-off-by: Denis Plotnikov --- blockdev.c | 38 ++ qapi/block

[Qemu-devel] [PATCH v0 0/2] enable/disable copy-on-read via qmp

2018-06-13 Thread Denis Plotnikov
, there is no such ability. The patch set adds qmp command to enable/disable the copy-on-read mode. Denis Plotnikov (2): block: check for read-only on copy-on-read setting qmp: add block-set-copy-on-read command block.c | 4 +--- block/io.c| 10 -- block/stream.c

Re: [Qemu-devel] [Qemu-block] [PATCH 1/2] Add save-snapshot, load-snapshot and delete-snapshot to QAPI

2018-02-13 Thread Denis Plotnikov
On 13.02.2018 17:43, Kevin Wolf wrote: Am 13.02.2018 um 15:30 hat Roman Kagan geschrieben: On Tue, Feb 13, 2018 at 11:50:24AM +0100, Kevin Wolf wrote: Am 11.01.2018 um 14:04 hat Daniel P. Berrange geschrieben: Then you could just use the regular migrate QMP commands for loading and saving

Re: [Qemu-devel] [Qemu-block] [PATCH 1/2] Add save-snapshot, load-snapshot and delete-snapshot to QAPI

2018-02-13 Thread Denis Plotnikov
On 13.02.2018 18:05, Dr. David Alan Gilbert wrote: * Denis V. Lunev (d...@virtuozzo.com) wrote: On 02/13/2018 05:59 PM, Dr. David Alan Gilbert wrote: * Daniel P. Berrangé (berra...@redhat.com) wrote: On Tue, Feb 13, 2018 at 03:45:21PM +0100, Kevin Wolf wrote: Am 13.02.2018 um 15:36 hat

<    1   2   3   4   5   6   >