[PATCH v7 01/12] migration/dirtyrate: setup up query-dirtyrate framwork

2020-09-09 Thread Chuan Zheng
Add get_dirtyrate_thread() functions to setup query-dirtyrate framework. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 38 ++ migration/dirtyrate.h | 29

[PATCH v7 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE

2020-09-09 Thread Chuan Zheng
In order to sample real RAM, skip ramblock with size below MIN_RAMBLOCK_SIZE which is set as 128M. Signed-off-by: Chuan Zheng Reviewed-by: David Edmondson --- migration/dirtyrate.c | 18 ++ migration/dirtyrate.h | 5 + 2 files changed, 23 insertions(+) diff --git

[PATCH v7 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status

2020-09-09 Thread Chuan Zheng
add DirtyRateStatus to denote calculating status. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 22 ++ qapi/migration.json | 17 + 2 files changed, 39 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v7 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function

2020-09-09 Thread Chuan Zheng
Implement calculate_dirtyrate() function. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang --- migration/dirtyrate.c | 45 +++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index

[PATCH v7 03/12] migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info

2020-09-09 Thread Chuan Zheng
Add RamblockDirtyInfo to store sampled page info of each ramblock. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/migration/dirtyrate.h b/migration

[PATCH v1 3/7] migration/tls: add MigrationState into MultiFDSendParams

2020-09-09 Thread Chuan Zheng
MigrationState is need for tls session build, add MigrationState into MultiFDSendParams. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 2 ++ migration/multifd.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/migration/multifd.c b/migration/multifd.c index

[PATCH v1 4/7] migration/tls: extract cleanup function for common-use

2020-09-09 Thread Chuan Zheng
multifd channel cleanup is need if multifd handshake failed, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/migration/multifd.c b/migration

[PATCH v1 5/7] migration/tls: add support for tls check

2020-09-09 Thread Chuan Zheng
add multifd_channel_connect to support for tls check. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 47 +-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index

[PATCH v7 06/12] migration/dirtyrate: Record hash results for each sampled page

2020-09-09 Thread Chuan Zheng
Record hash results for each sampled page, crc32 is taken to calculate hash results for each sampled length in TARGET_PAGE_SIZE. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: David Edmondson --- migration/dirtyrate.c | 125

[PATCH v1 6/7] migration/tls: add support for multifd tls-handshake

2020-09-09 Thread Chuan Zheng
add support for multifd tls-handshake Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 32 +++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b/migration/multifd.c index b2076d7..2509187 100644

[RFC][PATCH v1 0/7] *** Add Multifd support for TLS migration ***

2020-09-09 Thread Chuan Zheng
| 25.334s | | mempress 1024 300| Migration Failed| 25.617s | Chuan

[PATCH v1 7/7] migration/tls: add trace points for multifd-tls

2020-09-09 Thread Chuan Zheng
add trace points for multifd-tls for debug. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c| 10 +- migration/trace-events | 5 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b/migration/multifd.c index 2509187

[PATCH v7 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug

2020-09-09 Thread Chuan Zheng
Add trace_calls to make it easier to debug Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 9 + migration/trace-events | 8 2 files changed, 17 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v7 00/12] *** A Method for evaluating dirty page rate ***

2020-09-09 Thread Chuan Zheng
asured","dirty-rate":374,"start-time":3718293,"calc-time":1},"id":"libvirt-15"} Further test dirtyrate by libvirt api like this: virsh getdirtyrate [vmname] [sleep-time] Chuan Zheng (12): migration/dirtyrate: setup up query-dirtyrate framwo

[PATCH v1 2/7] migration/tls: extract migration_tls_client_create for common-use

2020-09-09 Thread Chuan Zheng
migration_tls_client_create will be used in multifd-tls, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/tls.c | 26 ++ migration/tls.h | 6 ++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/migration/tls.c b

[PATCH v7 04/12] migration/dirtyrate: Add dirtyrate statistics series functions

2020-09-09 Thread Chuan Zheng
Add dirtyrate statistics functions to record/update dirtyrate info. Signed-off-by: Chuan Zheng --- migration/dirtyrate.c | 32 migration/dirtyrate.h | 12 2 files changed, 44 insertions(+) diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c

[PATCH v7 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h

2020-09-09 Thread Chuan Zheng
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure, move the existing definition up into migration/ram.h Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 1 + migration/ram.c | 11 +-- migration/ram.h

[PATCH v7 07/12] migration/dirtyrate: Compare page hash results for recorded sampled page

2020-09-09 Thread Chuan Zheng
Compare page hash results for recorded sampled page. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang --- migration/dirtyrate.c | 63 +++ 1 file changed, 63 insertions(+) diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index

[PATCH v7 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function

2020-09-09 Thread Chuan Zheng
Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be called Signed-off-by: Chuan Zheng --- migration/dirtyrate.c | 62 +++ qapi/migration.json | 50 + 2 files changed, 112

[PATCH v7 09/12] migration/dirtyrate: Implement set_sample_page_period() and get_sample_page_period()

2020-09-09 Thread Chuan Zheng
Implement set_sample_page_period()/get_sample_page_period() to sleep specific time between sample actions. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 24 migration/dirtyrate.h | 6 ++ 2

[PATCH v1 1/7] migration/tls: save hostname into MigrationState

2020-09-09 Thread Chuan Zheng
hostname is need in multifd-tls, save hostname into MigrationState Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/channel.c | 5 + migration/migration.c | 1 + migration/migration.h | 5 + 3 files changed, 11 insertions(+) diff --git a/migration/channel.c b

[PATCH v2 0/6] *** Add Multifd support for TLS migration ***

2020-09-12 Thread Chuan Zheng
34s | | mempress 1024 300| Migration Failed| 25.617s | Chuan Zheng (6): migration/tls: save hostname into MigrationState migration/tls: extr

[PATCH v2 6/6] migration/tls: add trace points for multifd-tls

2020-09-12 Thread Chuan Zheng
add trace points for multifd-tls for debug. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c| 10 +- migration/trace-events | 5 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b/migration/multifd.c index 8aea4e0

[PATCH v2 4/6] migration/tls: extract cleanup function for common-use

2020-09-12 Thread Chuan Zheng
multifd channel cleanup is need if multifd handshake failed, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git

[PATCH v2 3/6] migration/tls: add MigrationState and tls_hostname into MultiFDSendParams

2020-09-12 Thread Chuan Zheng
MigrationState is need for tls session build and tls hostname is need for tls handshake, add both MigrationState and tls_hostname into MultiFDSendParams. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 5 + migration/multifd.h | 4 2 files changed, 9

[PATCH v2 1/6] migration/tls: save hostname into MigrationState

2020-09-12 Thread Chuan Zheng
hostname is need in multifd-tls, save hostname into MigrationState. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/channel.c | 6 ++ migration/migration.c | 1 + migration/migration.h | 5 + 3 files changed, 12 insertions(+) diff --git a/migration/channel.c b

[PATCH v2 5/6] migration/tls: add support for multifd tls-handshake

2020-09-12 Thread Chuan Zheng
Similar like migration main thread, we need to do handshake for each multifd thread. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 77 +++-- 1 file changed, 75 insertions(+), 2

[PATCH v2 2/6] migration/tls: extract migration_tls_client_create for common-use

2020-09-12 Thread Chuan Zheng
migration_tls_client_create will be used in multifd-tls, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/tls.c | 26 ++ migration/tls.h | 6 ++ 2 files changed, 24 insertions(+), 8 deletions

[PATCH v10 01/12] migration/dirtyrate: setup up query-dirtyrate framwork

2020-09-16 Thread Chuan Zheng
Add get_dirtyrate_thread() functions to setup query-dirtyrate framework. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson Reviewed-by: Li Qiang --- migration/dirtyrate.c | 38

[PATCH v10 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function

2020-09-16 Thread Chuan Zheng
Implement calculate_dirtyrate() function. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Li Qiang --- migration/dirtyrate.c | 45 +++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff

[PATCH v10 03/12] migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info

2020-09-16 Thread Chuan Zheng
Add RamblockDirtyInfo to store sampled page info of each ramblock. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson Reviewed-by: Li Qiang --- migration/dirtyrate.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/migration

[PATCH v10 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h

2020-09-16 Thread Chuan Zheng
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure, move the existing definition up into migration/ram.h Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson Reviewed-by: Li Qiang --- migration/dirtyrate.c | 1 + migration/ram.c | 11

[PATCH v10 09/12] migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid()

2020-09-16 Thread Chuan Zheng
Implement is_sample_period_valid() to check if the sample period is vaild and do set_sample_page_period() to sleep specific time between sample actions. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson Reviewed-by: Li Qiang --- migration/dirtyrate.c

[PATCH v10 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug

2020-09-16 Thread Chuan Zheng
Add trace_calls to make it easier to debug Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 9 + migration/trace-events | 8 2 files changed, 17 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v10 06/12] migration/dirtyrate: Record hash results for each sampled page

2020-09-16 Thread Chuan Zheng
Record hash results for each sampled page, crc32 is taken to calculate hash results for each sampled length in TARGET_PAGE_SIZE. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: David Edmondson Reviewed-by: Li Qiang --- migration/dirtyrate.c | 109

[PATCH v10 07/12] migration/dirtyrate: Compare page hash results for recorded sampled page

2020-09-16 Thread Chuan Zheng
Compare page hash results for recorded sampled page. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 63 +++ 1 file changed, 63 insertions(+) diff --git a/migration

[PATCH v10 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function

2020-09-16 Thread Chuan Zheng
Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be called Signed-off-by: Chuan Zheng --- migration/dirtyrate.c | 62 +++ qapi/migration.json | 50 + 2 files changed, 112

[PATCH v10 04/12] migration/dirtyrate: Add dirtyrate statistics series functions

2020-09-16 Thread Chuan Zheng
Add dirtyrate statistics functions to record/update dirtyrate info. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Li Qiang --- migration/dirtyrate.c | 32 migration/dirtyrate.h | 12 2 files changed, 44 insertions

[PATCH v10 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status

2020-09-16 Thread Chuan Zheng
add DirtyRateStatus to denote calculating status. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Li Qiang --- migration/dirtyrate.c | 26 ++ qapi/migration.json | 17 + 2 files changed, 43 insertions(+) diff --git

[PATCH v10 00/12] *** A Method for evaluating dirty page rate ***

2020-09-16 Thread Chuan Zheng
atus":"measured","dirty-rate":374,"start-time":3718293,"calc-time":1},"id":"libvirt-15"} Further test dirtyrate by libvirt api like this: virsh getdirtyrate [vmname] [sleep-time] Chuan Zheng (12): migration/dirtyrate: setup up query-dirtyra

[PATCH v10 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE

2020-09-16 Thread Chuan Zheng
In order to sample real RAM, skip ramblock with size below MIN_RAMBLOCK_SIZE which is set as 128M. Signed-off-by: Chuan Zheng Reviewed-by: David Edmondson Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Li Qiang --- migration/dirtyrate.c | 21 + migration/dirtyrate.h

[PATCH v9 00/12] *** A Method for evaluating dirty page rate ***

2020-09-14 Thread Chuan Zheng
nitor-command [vmname] '{"execute":"query-dirty-rate"}' The qmp command returns like this: {"return":{"status":"measured","dirty-rate":374,"start-time":3718293,"calc-time":1},"id":"libvirt-15"} F

[PATCH v9 03/12] migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info

2020-09-14 Thread Chuan Zheng
Add RamblockDirtyInfo to store sampled page info of each ramblock. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/migration/dirtyrate.h b/migration

[PATCH v9 04/12] migration/dirtyrate: Add dirtyrate statistics series functions

2020-09-14 Thread Chuan Zheng
Add dirtyrate statistics functions to record/update dirtyrate info. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 32 migration/dirtyrate.h | 12 2 files changed, 44 insertions(+) diff --git a/migration

[PATCH v9 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function

2020-09-14 Thread Chuan Zheng
Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be called Signed-off-by: Chuan Zheng --- migration/dirtyrate.c | 62 +++ qapi/migration.json | 50 + 2 files changed, 112

[PATCH v9 06/12] migration/dirtyrate: Record hash results for each sampled page

2020-09-14 Thread Chuan Zheng
Record hash results for each sampled page, crc32 is taken to calculate hash results for each sampled length in TARGET_PAGE_SIZE. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: David Edmondson --- migration/dirtyrate.c | 109

[PATCH v9 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status

2020-09-14 Thread Chuan Zheng
add DirtyRateStatus to denote calculating status. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 26 ++ qapi/migration.json | 17 + 2 files changed, 43 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v9 01/12] migration/dirtyrate: setup up query-dirtyrate framwork

2020-09-14 Thread Chuan Zheng
Add get_dirtyrate_thread() functions to setup query-dirtyrate framework. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 38 ++ migration/dirtyrate.h | 29

[PATCH v9 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function

2020-09-14 Thread Chuan Zheng
Implement calculate_dirtyrate() function. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 45 +++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/migration

[PATCH v9 07/12] migration/dirtyrate: Compare page hash results for recorded sampled page

2020-09-14 Thread Chuan Zheng
Compare page hash results for recorded sampled page. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 63 +++ 1 file changed, 63 insertions(+) diff --git a/migration

[PATCH v9 09/12] migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid()

2020-09-14 Thread Chuan Zheng
Implement is_sample_period_valid() to check if the sample period is vaild and do set_sample_page_period() to sleep specific time between sample actions. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 24

[PATCH v9 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE

2020-09-14 Thread Chuan Zheng
In order to sample real RAM, skip ramblock with size below MIN_RAMBLOCK_SIZE which is set as 128M. Signed-off-by: Chuan Zheng Reviewed-by: David Edmondson Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 21 + migration/dirtyrate.h | 5 + 2 files

[PATCH v9 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h

2020-09-14 Thread Chuan Zheng
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure, move the existing definition up into migration/ram.h Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 1 + migration/ram.c | 11 +-- migration/ram.h

[PATCH v9 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug

2020-09-14 Thread Chuan Zheng
Add trace_calls to make it easier to debug Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 9 + migration/trace-events | 8 2 files changed, 17 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v4 2/6] migration/tls: extract migration_tls_client_create for common-use

2020-09-14 Thread Chuan Zheng
migration_tls_client_create will be used in multifd-tls, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/tls.c | 26 ++ migration/tls.h | 6 ++ 2 files changed, 24 insertions(+), 8 deletions

[PATCH v4 6/6] migration/tls: add trace points for multifd-tls

2020-09-14 Thread Chuan Zheng
add trace points for multifd-tls for debug. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c| 10 +- migration/trace-events | 4 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b

[PATCH v4 1/6] migration/tls: save hostname into MigrationState

2020-09-14 Thread Chuan Zheng
hostname is need in multifd-tls, save hostname into MigrationState. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/channel.c | 1 + migration/migration.c | 1 + migration/migration.h | 5 + migration/tls.c | 2 ++ 4 files changed, 9 insertions(+) diff --git

[PATCH v4 3/6] migration/tls: add tls_hostname into MultiFDSendParams

2020-09-14 Thread Chuan Zheng
Since multifd creation is async with migration_channel_connect, we should pass the hostname from MigrationState to MultiFDSendParams. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 5 + migration/multifd.h | 2 ++ 2 files changed, 7 insertions(+) diff --git

[PATCH v4 5/6] migration/tls: add support for multifd tls-handshake

2020-09-14 Thread Chuan Zheng
Similar like migration main thread, we need to do handshake for each multifd thread. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 77 +++-- 1 file changed, 75 insertions(+), 2

[PATCH v4 0/6] *** Add Multifd support for TLS migration ***

2020-09-14 Thread Chuan Zheng
15.067s | | mempress 1024 200| 48.798s | 25.334s | ++++ Chuan Zheng (6): migration/tls: save hostname into MigrationState

[PATCH v4 4/6] migration/tls: extract cleanup function for common-use

2020-09-14 Thread Chuan Zheng
multifd channel cleanup is need if multifd handshake failed, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git

[PATCH v8 01/12] migration/dirtyrate: setup up query-dirtyrate framwork

2020-09-14 Thread Chuan Zheng
Add get_dirtyrate_thread() functions to setup query-dirtyrate framework. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 38 ++ migration/dirtyrate.h | 29

[PATCH v8 06/12] migration/dirtyrate: Record hash results for each sampled page

2020-09-14 Thread Chuan Zheng
Record hash results for each sampled page, crc32 is taken to calculate hash results for each sampled length in TARGET_PAGE_SIZE. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: David Edmondson --- migration/dirtyrate.c | 111

[PATCH v8 04/12] migration/dirtyrate: Add dirtyrate statistics series functions

2020-09-14 Thread Chuan Zheng
Add dirtyrate statistics functions to record/update dirtyrate info. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 32 migration/dirtyrate.h | 12 2 files changed, 44 insertions(+) diff --git a/migration

[PATCH v8 00/12] *** A Method for evaluating dirty page rate ***

2020-09-14 Thread Chuan Zheng
":374,"start-time":3718293,"calc-time":1},"id":"libvirt-15"} Further test dirtyrate by libvirt api like this: virsh getdirtyrate [vmname] [sleep-time] Chuan Zheng (12): migration/dirtyrate: setup up query-dirtyrate framwork migration/dirtyrate: add DirtyRateS

[PATCH v8 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE

2020-09-14 Thread Chuan Zheng
In order to sample real RAM, skip ramblock with size below MIN_RAMBLOCK_SIZE which is set as 128M. Signed-off-by: Chuan Zheng Reviewed-by: David Edmondson Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 21 + migration/dirtyrate.h | 5 + 2 files

[PATCH v8 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function

2020-09-14 Thread Chuan Zheng
Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be called Signed-off-by: Chuan Zheng --- migration/dirtyrate.c | 62 +++ qapi/migration.json | 50 + 2 files changed, 112

[PATCH v8 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug

2020-09-14 Thread Chuan Zheng
Add trace_calls to make it easier to debug Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 9 + migration/trace-events | 8 2 files changed, 17 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v8 03/12] migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info

2020-09-14 Thread Chuan Zheng
Add RamblockDirtyInfo to store sampled page info of each ramblock. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/migration/dirtyrate.h b/migration

[PATCH v8 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h

2020-09-14 Thread Chuan Zheng
RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure, move the existing definition up into migration/ram.h Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 1 + migration/ram.c | 11 +-- migration/ram.h

[PATCH v8 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function

2020-09-14 Thread Chuan Zheng
Implement calculate_dirtyrate() function. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 45 +++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/migration

[PATCH v8 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status

2020-09-14 Thread Chuan Zheng
add DirtyRateStatus to denote calculating status. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 26 ++ qapi/migration.json | 17 + 2 files changed, 43 insertions(+) diff --git a/migration/dirtyrate.c b

[PATCH v8 07/12] migration/dirtyrate: Compare page hash results for recorded sampled page

2020-09-14 Thread Chuan Zheng
Compare page hash results for recorded sampled page. Signed-off-by: Chuan Zheng Signed-off-by: YanYing Zhuang Reviewed-by: Dr. David Alan Gilbert --- migration/dirtyrate.c | 63 +++ 1 file changed, 63 insertions(+) diff --git a/migration

[PATCH v8 09/12] migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid()

2020-09-14 Thread Chuan Zheng
Implement is_sample_period_valid() to check if the sample period is vaild and do set_sample_page_period() to sleep specific time between sample actions. Signed-off-by: Chuan Zheng Reviewed-by: Dr. David Alan Gilbert Reviewed-by: David Edmondson --- migration/dirtyrate.c | 24

[PATCH v3 5/6] migration/tls: add support for multifd tls-handshake

2020-09-12 Thread Chuan Zheng
Similar like migration main thread, we need to do handshake for each multifd thread. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 77 +++-- 1 file changed, 75 insertions(+), 2

[PATCH v3 2/6] migration/tls: extract migration_tls_client_create for common-use

2020-09-12 Thread Chuan Zheng
migration_tls_client_create will be used in multifd-tls, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/tls.c | 26 ++ migration/tls.h | 6 ++ 2 files changed, 24 insertions(+), 8 deletions

[PATCH v3 0/6] *** Add Multifd support for TLS migration ***

2020-09-12 Thread Chuan Zheng
5.334s | Chuan Zheng (6): migration/tls: save hostname into MigrationState migration/tls: extract migration_tls_client_create for common-use migration/tls: add MigrationState and tls_hostname into MultiFDSendParams mig

[PATCH v3 1/6] migration/tls: save hostname into MigrationState

2020-09-12 Thread Chuan Zheng
hostname is need in multifd-tls, save hostname into MigrationState. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/channel.c | 6 ++ migration/migration.c | 1 + migration/migration.h | 5 + 3 files changed, 12 insertions(+) diff --git a/migration/channel.c b

[PATCH v3 3/6] migration/tls: add MigrationState and tls_hostname into MultiFDSendParams

2020-09-12 Thread Chuan Zheng
MigrationState is need for tls session build and tls hostname is need for tls handshake, add both MigrationState and tls_hostname into MultiFDSendParams. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c | 5 + migration/multifd.h | 4 2 files changed, 9

[PATCH v3 6/6] migration/tls: add trace points for multifd-tls

2020-09-12 Thread Chuan Zheng
add trace points for multifd-tls for debug. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin --- migration/multifd.c| 10 +- migration/trace-events | 4 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b/migration/multifd.c index 8aea4e0

[PATCH v3 4/6] migration/tls: extract cleanup function for common-use

2020-09-12 Thread Chuan Zheng
multifd channel cleanup is need if multifd handshake failed, let's extract it. Signed-off-by: Chuan Zheng Signed-off-by: Yan Jin Reviewed-by: Daniel P. Berrangé --- migration/multifd.c | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git

[PATCH v3 03/18] migration/rdma: create multifd_setup_ops for Tx/Rx thread

2020-10-16 Thread Chuan Zheng
Create multifd_setup_ops for TxRx thread, no logic change. Signed-off-by: Chuan Zheng --- migration/multifd.c | 44 +++- migration/multifd.h | 7 +++ 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/migration/multifd.c b/migration

[PATCH v3 14/18] migration/rdma: register memory for multifd RDMA channels

2020-10-16 Thread Chuan Zheng
Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/multifd.c | 3 ++ migration/rdma.c| 94 +++-- 2 files changed, 95 insertions(+), 2 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 9439b3c..c4d90ef

[PATCH v3 15/18] migration/rdma: only register the memory for multifd channels

2020-10-16 Thread Chuan Zheng
All data is sent by multifd Channels, so we only register its for multifd channels and main channel don't register its. Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/rdma.c | 8 1 file changed, 8 insertions(+) diff --git a/migration/rdma.c b/migration/rdma.c

[PATCH v3 08/18] migration/rdma: export getQIOChannel to get QIOchannel in rdma

2020-10-16 Thread Chuan Zheng
Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/qemu-file.c | 5 + migration/qemu-file.h | 1 + 2 files changed, 6 insertions(+) diff --git a/migration/qemu-file.c b/migration/qemu-file.c index be21518..37f6201 100644 --- a/migration/qemu-file.c +++ b/migration/qemu

[PATCH v3 00/18] Support Multifd for RDMA migration

2020-10-16 Thread Chuan Zheng
dma do not export rdma to avoid multifd code in mess fix build issue for non-rdma fix some codestyle and buggy code Chuan Zheng (18): migration/rdma: add the 'migrate_use_rdma_pin_all' function migration/rdma: judge whether or not the RDMA is used for migration migration/rdma: cre

[PATCH v3 13/18] migration/rdma: Add the function for dynamic page registration

2020-10-16 Thread Chuan Zheng
Add the 'qemu_rdma_registration' function, multifd send threads call it to register memory. Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/rdma.c | 51 +++ 1 file changed, 51 insertions(+) diff --git a/migration/rdma.c b

[PATCH v3 09/18] migration/rdma: add multifd_rdma_load_setup() to setup multifd rdma

2020-10-16 Thread Chuan Zheng
Signed-off-by: Chuan Zheng --- migration/rdma.c | 52 1 file changed, 52 insertions(+) diff --git a/migration/rdma.c b/migration/rdma.c index ad4e4ba..2baa933 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -4010,6 +4010,48 @@ static

[PATCH v3 17/18] migration/rdma: send data for both rdma-pin-all and NOT rdma-pin-all mode

2020-10-16 Thread Chuan Zheng
Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/rdma.c | 67 +++- 1 file changed, 62 insertions(+), 5 deletions(-) diff --git a/migration/rdma.c b/migration/rdma.c index 327f80f..519fa7a 100644 --- a/migration/rdma.c +++ b

[PATCH v3 02/18] migration/rdma: judge whether or not the RDMA is used for migration

2020-10-16 Thread Chuan Zheng
Add enabled_rdma_migration into MigrationState to judge whether or not the RDMA is used for migration. Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/migration.c | 13 + migration/migration.h | 6 ++ 2 files changed, 19 insertions(+) diff --git

[PATCH v3 10/18] migration/rdma: Create the multifd recv channels for RDMA

2020-10-16 Thread Chuan Zheng
We still don't transmit anything through them, and we only build the RDMA connections. Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/rdma.c | 70 ++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git

[PATCH v3 18/18] migration/rdma: RDMA cleanup for multifd migration

2020-10-16 Thread Chuan Zheng
Signed-off-by: Chuan Zheng --- migration/multifd.c | 6 ++ migration/multifd.h | 1 + migration/rdma.c| 16 +++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/migration/multifd.c b/migration/multifd.c index c4d90ef..f548122 100644 --- a/migration/multifd.c

[PATCH v3 05/18] migration/rdma: do not need sync main for rdma

2020-10-16 Thread Chuan Zheng
Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/multifd.c | 8 1 file changed, 8 insertions(+) diff --git a/migration/multifd.c b/migration/multifd.c index 0d494df..8ccfd46 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -580,6 +580,10 @@ void

[PATCH v3 12/18] migration/rdma: Create the multifd send channels for RDMA

2020-10-16 Thread Chuan Zheng
Signed-off-by: Chuan Zheng --- migration/multifd.c | 4 ++-- migration/multifd.h | 2 ++ migration/rdma.c| 56 + 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 03f3a1e

[PATCH v3 11/18] migration/rdma: record host_port for multifd RDMA

2020-10-16 Thread Chuan Zheng
Signed-off-by: Chuan Zheng --- migration/migration.c | 1 + migration/migration.h | 3 +++ migration/rdma.c | 3 +++ 3 files changed, 7 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index be6166a..7061410 100644 --- a/migration/migration.c +++ b/migration

[PATCH v3 16/18] migration/rdma: add rdma_channel into Migrationstate field

2020-10-16 Thread Chuan Zheng
Multifd RDMA is need to poll when we send data, record it. Signed-off-by: Chuan Zheng --- migration/migration.c | 1 + migration/migration.h | 1 + migration/rdma.c | 14 ++ 3 files changed, 16 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index

[PATCH v3 01/18] migration/rdma: add the 'migrate_use_rdma_pin_all' function

2020-10-16 Thread Chuan Zheng
Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/migration.c | 9 + migration/migration.h | 1 + 2 files changed, 10 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index 0575ecb..64ae417 100644 --- a/migration/migration.c +++ b/migration

[PATCH v3 04/18] migration/rdma: add multifd_setup_ops for rdma

2020-10-16 Thread Chuan Zheng
Signed-off-by: Chuan Zheng --- migration/multifd.c | 6 migration/multifd.h | 4 +++ migration/rdma.c| 82 + 3 files changed, 92 insertions(+) diff --git a/migration/multifd.c b/migration/multifd.c index 1f82307..0d494df 100644

[PATCH v3 07/18] migration/rdma: add rdma field into multifd send/recv param

2020-10-16 Thread Chuan Zheng
Note we do want to export any rdma struct, take void * instead. Signed-off-by: Chuan Zheng --- migration/multifd.h | 8 1 file changed, 8 insertions(+) diff --git a/migration/multifd.h b/migration/multifd.h index 2f4e585..ff80bd5 100644 --- a/migration/multifd.h +++ b/migration

[PATCH v3 06/18] migration/rdma: export MultiFDSendParams/MultiFDRecvParams

2020-10-16 Thread Chuan Zheng
MultiFDSendParams and MultiFDRecvParams is need for rdma, export it Signed-off-by: Zhimin Feng Signed-off-by: Chuan Zheng --- migration/multifd.c | 26 ++ migration/multifd.h | 2 ++ 2 files changed, 28 insertions(+) diff --git a/migration/multifd.c b/migration

  1   2   3   >