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
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
>&
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.
>> ---
>
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
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
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
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
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
>&
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
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
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
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
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
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
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
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
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
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
>
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
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.
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!
>>>
>>>
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!
>>>
>>>
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
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
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
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
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
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
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
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
-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 +++
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
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
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
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
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
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
>
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
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
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
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:
>>>
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
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
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
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
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()
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
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
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
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"
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
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
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
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
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
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
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
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
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
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
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
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
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..
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
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
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
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
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
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..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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 ++
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
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
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
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
-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
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
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
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
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
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
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
, 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
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
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
401 - 500 of 505 matches
Mail list logo