Hi,
10.04.2019, 16:58, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> Currently such case is possible for incoming:
>> QMP: add-fd (fdset = 0, fd of some file):
>> adds fd to fdset 0 and returns QEMU's fd (e.g. 33)
>
11.04.2019, 15:04, "Daniel P. Berrangé" :
> On Wed, Apr 10, 2019 at 12:26:52PM +0300, Yury Kotov wrote:
>> Currently such case is possible for incoming:
>> QMP: add-fd (fdset = 0, fd of some file):
>> adds fd to fdset 0 and returns QEMU's fd (e.g. 33)
>
11.04.2019, 15:39, "Daniel P. Berrangé" :
> On Thu, Apr 11, 2019 at 03:31:43PM +0300, Yury Kotov wrote:
>> 11.04.2019, 15:04, "Daniel P. Berrangé" :
>> > On Wed, Apr 10, 2019 at 12:26:52PM +0300, Yury Kotov wrote:
>> >> Currently such case is
Signed-off-by: Yury Kotov
---
tests/libqtest.c | 83 +++--
tests/libqtest.h | 51 +-
tests/migration-test.c | 117 +
3 files changed, 236 insertions(+), 15 deletions(-)
diff --git a/tests/libqtest.c b
Signed-off-by: Yury Kotov
---
include/monitor/monitor.h | 1 +
monitor.c | 15 +++
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index c1b40a9cac..9b9e593fb3 100644
--- a/include/monitor
d-fd commands.
If client doesn't want to work with this fd before or after migration then it's
easier to send an fd with the migrate-* command. Also, client shouldn't maintain
this fd.
Usage:
{ 'execute': 'migrate', 'arguments': { 'uri':
d:' proto to work with sent fd.
Usage:
{ 'execute': 'migrate', 'arguments': { 'uri': 'inline-fd:' } }
{ 'execute': 'migrate-incoming', 'arguments': { 'uri': 'inline-fd:' } }
Signed-off-by: Yur
fd), so adding additional logic might not be
a very good idea.
I don't see any other solution, but I might miss something.
What do you think?
Regards,
Yury
11.04.2019, 15:58, "Yury Kotov" :
> 11.04.2019, 15:39, "Daniel P. Berrangé" :
>> On Thu, Apr 11, 2019 at 03:
15.04.2019, 13:11, "Daniel P. Berrangé" :
> On Mon, Apr 15, 2019 at 12:50:08PM +0300, Yury Kotov wrote:
>> Hi,
>>
>> Just to clarify. I see two possible solutions:
>>
>> 1) Since the migration code doesn't receive fd, it isn't respon
15.04.2019, 13:17, "Yury Kotov" :
> 15.04.2019, 13:11, "Daniel P. Berrangé" :
>> On Mon, Apr 15, 2019 at 12:50:08PM +0300, Yury Kotov wrote:
>>> Hi,
>>>
>>> Just to clarify. I see two possible solutions:
>>>
>>>
15.04.2019, 13:25, "Daniel P. Berrangé" :
> On Mon, Apr 15, 2019 at 01:17:06PM +0300, Yury Kotov wrote:
>> 15.04.2019, 13:11, "Daniel P. Berrangé" :
>> > On Mon, Apr 15, 2019 at 12:50:08PM +0300, Yury Kotov wrote:
>> >> Hi,
>>
15.04.2019, 14:30, "Dr. David Alan Gilbert" :
> * Daniel P. Berrangé (berra...@redhat.com) wrote:
>> On Mon, Apr 15, 2019 at 12:15:12PM +0100, Dr. David Alan Gilbert wrote:
>> > * Daniel P. Berrangé (berra...@redhat.com) wrote:
>> > > On Mon, Apr 15, 20
Ping
23.05.2019, 12:45, "Yury Kotov" :
> monitor_fdset_dup_fd_find_remove() and monitor_fdset_dup_fd_find()
> return mon_fdset->id which is int64_t. Downcasting from int64_t to int
> leads to a bug with removing fd from fdset with id >= 2^32.
> So, fix return types fo
:"fd-mig")
4. Source VM: getfd("fd-mig")
5. Source VM: migrate("fd-mig")
Currently, it's not possible to do the step 3, because for incoming migration
"fd:" protocol expects an integer, not the name of fd.
Yury Kotov (2):
migration: Fix fd protocol
icular fds.
To work with getfd in incoming defer it's enough to use monitor_fd_param
instead of strtol. monitor_fd_param supports both cases:
* fd:123
* fd:fd_name (added by getfd).
Signed-off-by: Yury Kotov
---
migration/fd.c | 8 +---
migration/fd.h | 2 +-
2 files changed, 6 i
Signed-off-by: Yury Kotov
---
tests/libqtest.c | 83 ++--
tests/libqtest.h | 51 +++-
tests/migration-test.c | 107 +++--
3 files changed, 233 insertions(+), 8 deletions(-)
diff --git a/tests
27.05.2019, 12:35, "Yury Kotov" :
> Signed-off-by: Yury Kotov
> ---
> tests/libqtest.c | 83 ++--
> tests/libqtest.h | 51 +++-
> tests/migration-test.c | 107 +++--
> 3 files c
icular fds.
To work with getfd in incoming defer it's enough to use monitor_fd_param
instead of strtol. monitor_fd_param supports both cases:
* fd:123
* fd:fd_name (added by getfd).
And also the use of monitor_fd_param improves error messages.
Signed-off-by: Yury Kotov
Reviewed-by: Juan
Signed-off-by: Yury Kotov
---
tests/libqtest.c | 80 ++--
tests/libqtest.h | 51 -
tests/migration-test.c | 101 +
3 files changed, 227 insertions(+), 5 deletions(-)
diff --git a/tests
incoming migration
"fd:" protocol expects an integer, not the name of fd.
Yury Kotov (2):
migration: Fix fd protocol for incoming defer
migration-test: Add a test for fd protocol
migration/fd.c | 8 ++--
migration/fd.h | 2 +-
tests/libqt
Hi,
10.07.2019, 12:26, "Yury Kotov" :
> Throttling thread sleeps in VCPU thread. For high throttle percentage
> this sleep is more than 10ms. E.g. for 60% - 15ms, for 99% - 990ms.
> vm_stop() kicks all VCPUs and waits for them. It's called at the end of
> migration an
15.07.2019, 14:00, "Paolo Bonzini" :
> On 15/07/19 11:40, Yury Kotov wrote:
>> Hi,
>>
>> 10.07.2019, 12:26, "Yury Kotov" :
>>> Throttling thread sleeps in VCPU thread. For high throttle percentage
>>> this sleep is more than 10ms. E.g
ck.
I tried to fix it by using timedwait for ms part of sleep.
E.g timedwait(halt_cond, 1ms) + usleep(500).
Regards,
Yury
Yury Kotov (3):
qemu-thread: Add qemu_cond_timedwait
cpus: Fix throttling during vm_stop
tests/migration: Add a test for auto converge
cpus.c | 2
100ms even for downtime-limit 1ms.
Use qemu_cond_timedwait for high percentage to wake up during vm_stop.
Signed-off-by: Yury Kotov
---
cpus.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/cpus.c b/cpus.c
index ffc57119ca..c8817c9da7 100644
Signed-off-by: Yury Kotov
---
include/qemu/thread.h| 18 ++
util/qemu-thread-posix.c | 40
util/qemu-thread-win32.c | 16
util/qsp.c | 18 ++
4 files changed, 80 insertions(+), 12
Signed-off-by: Yury Kotov
---
tests/migration-test.c | 119 +
1 file changed, 108 insertions(+), 11 deletions(-)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index e0407576cb..8a755dfaf2 100644
--- a/tests/migration-test.c
+++ b/tests
Hi, I'm a bit worried that this patch might have been forgotten.
Is it queued? Thanks!
14.06.2019, 19:56, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> Currently, there is no information about error if outgoing migration was
>&
100ms even for downtime-limit 1ms.
Use qemu_cond_timedwait for high percentage to wake up during vm_stop.
Signed-off-by: Yury Kotov
---
cpus.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/cpus.c b/cpus.c
index 927a00aa90..3baedd554c 100644
tle percentage (>=95%) in VCPU thread.
And it sleeps even after a cpu kick.
Fixed it by using timedwait for ms part of sleep.
E.g timedwait(halt_cond, 1ms) + usleep(500).
Regards,
Yury
Yury Kotov (3):
qemu-thread: Add qemu_cond_timedwait
cpus: Fix throttling during vm_stop
tests/mi
Signed-off-by: Yury Kotov
---
include/qemu/thread.h| 18 ++
util/qemu-thread-posix.c | 40
util/qemu-thread-win32.c | 16
util/qsp.c | 18 ++
4 files changed, 80 insertions(+), 12
Signed-off-by: Yury Kotov
---
tests/migration-test.c | 119 +
1 file changed, 108 insertions(+), 11 deletions(-)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index a4feb9545d..bb69517fc8 100644
--- a/tests/migration-test.c
+++ b/tests
22.07.2019, 20:35, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> Signed-off-by: Yury Kotov
>
> This looks OK to me, but have you tried it on a really really overloaded
> host?
> I worry that you might skip some of the percentage s
100ms even for downtime-limit 1ms.
Use qemu_cond_timedwait for high percentage to wake up during vm_stop.
Signed-off-by: Yury Kotov
---
cpus.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/cpus.c b/cpus.c
index 927a00aa90..3baedd554c 100644
hrottle_thread()
function sleeps for 100ms+ for high throttle percentage (>=95%) in VCPU thread.
And it sleeps even after a cpu kick.
Fixed it by using timedwait for ms part of sleep.
E.g timedwait(halt_cond, 1ms) + usleep(500).
Regards,
Yury
Yury Kotov (3):
qemu-thread: Add qemu_cond_time
Signed-off-by: Yury Kotov
---
include/qemu/thread.h| 18 ++
util/qemu-thread-posix.c | 40
util/qemu-thread-win32.c | 16
util/qsp.c | 18 ++
4 files changed, 80 insertions(+), 12
Signed-off-by: Yury Kotov
---
tests/migration-test.c | 103 -
1 file changed, 92 insertions(+), 11 deletions(-)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index a4feb9545d..b783ae47b3 100644
--- a/tests/migration-test.c
+++ b/tests
Signed-off-by: Yury Kotov
---
include/qemu/thread.h| 12
util/qemu-thread-posix.c | 40
util/qemu-thread-win32.c | 16
3 files changed, 56 insertions(+), 12 deletions(-)
diff --git a/include/qemu/thread.h b/include/qemu
using qemu_bql_mutex_lock_func function which could be anything.
This is why the series is RFC.
What do you think?
Thanks!
Yury Kotov (2):
qemu-thread: Add qemu_cond_timedwait
cpus: Fix throttling during vm_stop
cpus.c | 27 +++
include/qemu/thread.h
100ms even for downtime-limit 1ms.
Use qemu_cond_timedwait for high percentage to wake up during vm_stop.
Signed-off-by: Yury Kotov
---
cpus.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/cpus.c b/cpus.c
index ffc57119ca..3c069cdc33 100644
10.07.2019, 12:57, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> Hi,
>>
>> I wrote a test for migration auto converge and found out a strange thing:
>> 1. Enable auto converge
>> 2. Set max-bandwidth 1Gb/s
>> 3
15.04.2019, 15:21, "Yury Kotov" :
> 15.04.2019, 14:30, "Dr. David Alan Gilbert" :
>> * Daniel P. Berrangé (berra...@redhat.com) wrote:
>>> On Mon, Apr 15, 2019 at 12:15:12PM +0100, Dr. David Alan Gilbert wrote:
>>> > * Daniel P. Berrangé (be
15.04.2019, 14:30, "Dr. David Alan Gilbert" :
> * Daniel P. Berrangé (berra...@redhat.com) wrote:
>> On Mon, Apr 15, 2019 at 12:15:12PM +0100, Dr. David Alan Gilbert wrote:
>> > * Daniel P. Berrangé (berra...@redhat.com) wrote:
>> > > On Mon, Apr 15, 20
Ping
08.04.2019, 14:34, "Yury Kotov" :
> It fixes heap-use-after-free which was found by clang's ASAN.
>
> Control flow of this use-after-free:
> main_thread:
> * Got SIGTERM and completes main loop
> * Calls migration_shutdown
> - migrate_fd_ca
Ping
04.04.2019, 13:01, "Yury Kotov" :
> I saw Catherine Ho's patch series and it seems ok to me, but in this RFC I
> asked
> about a way how to detect other writes which may not be covered by particular
> fixes.
> Perhaps this is excessive caution...
>
> R
18.04.2019, 17:20, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> 15.04.2019, 14:30, "Dr. David Alan Gilbert" :
>> > * Daniel P. Berrangé (berra...@redhat.com) wrote:
>> >> On Mon, Apr 15, 2019
18.04.2019, 19:03, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> 18.04.2019, 17:20, "Dr. David Alan Gilbert" :
>> > * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> >> 15.04.2019, 14:30, "Dr. Davi
18.04.2019, 20:01, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> 18.04.2019, 19:03, "Dr. David Alan Gilbert" :
>> > * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> >> 18.04.2019, 17:20, "Dr. David Al
or_obj/qemu_file_set_error_obj
3) And finally using of qemu_file_get_error_obj in migration.c
And now, the status for the mentioned fail will be:
-> { "execute": "query-migrate" }
<- { "return": { "status": "failed",
"erro
Signed-off-by: Yury Kotov
---
vl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vl.c b/vl.c
index ff5dfb6fbc..ad9b181e57 100644
--- a/vl.c
+++ b/vl.c
@@ -725,7 +725,7 @@ void runstate_set(RunState new_state)
assert(new_state < RUN_STATE__
t;, "state": true } ]
} }
4. Start migration.
Another use case I keep in mind is to migrate to file. Usage is very similar.
V1 to V2:
* Keep migration stream compatibility
* Reuse the existing code to ignore unwanted RAMBlocks
* Add capability validation feature
* ignore-external ->
Signed-off-by: Yury Kotov
---
tests/migration-test.c | 109 +
1 file changed, 89 insertions(+), 20 deletions(-)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 8352612364..485f42b2d2 100644
--- a/tests/migration-test.c
+++ b/tests
assed.
Signed-off-by: Yury Kotov
---
exec.c| 21 +
include/exec/cpu-common.h | 6 --
migration/postcopy-ram.c | 36 +---
migration/rdma.c | 7 +--
util/vfio-helpers.c | 6 +++---
5 files change
uires access to the migration capabilities.
Signed-off-by: Yury Kotov
---
exec.c| 19 ---
include/exec/cpu-common.h | 1 -
migration/migration.c | 9
migration/migration.h | 5 +-
migration/postcopy-ram.c | 12 ++---
migration/ram.c
igned-off-by: Yury Kotov
---
migration/savevm.c | 101 +
1 file changed, 101 insertions(+)
diff --git a/migration/savevm.c b/migration/savevm.c
index 322660438d..9603a38bca 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -57,6 +57,7 @@
#in
15.03.2019, 12:46, "Daniel P. Berrangé" :
> On Thu, Mar 14, 2019 at 03:31:47PM +0300, Yury Kotov wrote:
>> Hi,
>>
>> 14.03.2019, 14:44, "Daniel P. Berrangé" :
>> > On Thu, Mar 14, 2019 at 07:34:03AM -0400, Michael S. Tsirkin wrote:
>>
19.03.2019, 12:39, "Dr. David Alan Gilbert" :
> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>> This patch isn't intended to merge. Just to reproduce a problem.
>>
>> The test for x-ignore-shread capability fails on aarch64 + tcg:
>> Memory conten
Hi,
19.03.2019, 14:52, "Dr. David Alan Gilbert" :
> * Peter Maydell (peter.mayd...@linaro.org) wrote:
>> On Tue, 19 Mar 2019 at 11:03, Dr. David Alan Gilbert
>> wrote:
>> >
>> > * Peter Maydell (peter.mayd...@linaro.org) wrote:
>> > > I didn't think migration distinguished between "main memo
64/clone.S:109
Signed-off-by: Yury Kotov
---
backends/hostmem.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/backends/hostmem.c b/backends/hostmem.c
index f61093654e..5c71bd3f6b 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -18,6 +18,7 @@
#inc
Ping
18.04.2019, 20:46, "Yury Kotov" :
> 18.04.2019, 20:01, "Dr. David Alan Gilbert" :
>> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>>> 18.04.2019, 19:03, "Dr. David Alan Gilbert" :
>>> > * Yury Kotov (yury-ko...@yandex-
Ping ping
17.04.2019, 15:44, "Yury Kotov" :
> Ping
>
> 08.04.2019, 14:34, "Yury Kotov" :
>> It fixes heap-use-after-free which was found by clang's ASAN.
>>
>> Control flow of this use-after-free:
>> main_thread:
>> * Got SI
Ping ping
17.04.2019, 15:46, "Yury Kotov" :
> Ping
>
> 04.04.2019, 13:01, "Yury Kotov" :
>> I saw Catherine Ho's patch series and it seems ok to me, but in this RFC I
>> asked
>> about a way how to detect other writes which may not be cove
monitor_fdset_dup_fd_find_remove() and monitor_fdset_dup_fd_find()
returns mon_fdset->id which is int64_t. Downcast from int64_t to int leads to
a bug with removing fd from fdset which id >= 2^32.
So, fix return types for these function.
Signed-off-by: Yury Kotov
---
include/monitor/mon
14.05.2019, 17:05, "Eric Blake" :
> On 5/14/19 8:15 AM, Yury Kotov wrote:
>> monitor_fdset_dup_fd_find_remove() and monitor_fdset_dup_fd_find()
>> returns mon_fdset->id which is int64_t. Downcast from int64_t to int leads
>> to
>> a bug with removing fd
14.05.2019, 17:01, "Markus Armbruster" :
> Yury Kotov writes:
>
>> monitor_fdset_dup_fd_find_remove() and monitor_fdset_dup_fd_find()
>> returns mon_fdset->id which is int64_t. Downcast from int64_t to int leads
>> to
>
> Grammar nits:
>
>
d-off-by: Yury Kotov
---
include/monitor/monitor.h | 6 +++---
monitor.c | 18 +-
qapi/misc.json| 10 +-
stubs/fdset.c | 4 ++--
util/osdep.c | 4 ++--
vl.c | 2 +-
6 files changed, 22 inser
se cases in
> the future?
>
> On Tue, May 14, 2019 at 12:42:14PM +0300, Yury Kotov wrote:
>> Ping ping
>>
>> 17.04.2019, 15:46, "Yury Kotov" :
>> > Ping
>> >
>> > 04.04.2019, 13:01, "Yury Kotov" :
>> >> I
Ping
14.05.2019, 18:20, "Yury Kotov" :
> Now, fdset_id is int64, but in some places we work with it as int.
> It seems that there is no sense to use int64 for fdset_id, so it's
> better to fix inconsistency by changing fdset_id type to int and by
> fixing the ref
Ping
14.05.2019, 12:36, "Yury Kotov" :
> Ping
>
> 18.04.2019, 20:46, "Yury Kotov" :
>> 18.04.2019, 20:01, "Dr. David Alan Gilbert" :
>>> * Yury Kotov (yury-ko...@yandex-team.ru) wrote:
>>>> 18.04.2019, 19:03, "Dr.
22.05.2019, 19:40, "Markus Armbruster" :
> Yury Kotov writes:
>
>> Now, fdset_id is int64, but in some places we work with it as int.
>> It seems that there is no sense to use int64 for fdset_id, so it's
>> better to fix inconsistency by changing fds
monitor_fdset_dup_fd_find_remove() and monitor_fdset_dup_fd_find()
return mon_fdset->id which is int64_t. Downcasting from int64_t to int
leads to a bug with removing fd from fdset with id >= 2^32.
So, fix return types for these function.
Signed-off-by: Yury Kotov
Reviewed-by: Markus Armb
Hi,
Just want to clarify your suggestions.
1) migrate=off/share=on
I'm not sure that adding new flag 'migrate=off' is a good idea. I think that
share=on as you suggested at first is enough.
* It's a new flag which has sense only with share=on
* It seems to that the meaning of this flag isn't cle
101 - 171 of 171 matches
Mail list logo