Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/ram.c | 3 +++
migration/trace-events | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/migration/ram.c b/migration/ram.c
index f1aec95f83..25a211c3fb 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1173,6 +1173,7 @@ static void *multifd_send_thread(void *opaque)
out:
if (local_err) {
+ trace_multifd_send_error(p->id);
multifd_send_terminate_threads(local_err);
}
@@ -1203,6 +1204,7 @@ static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
QIOChannel *sioc = QIO_CHANNEL(qio_task_get_source(task));
Error *local_err = NULL;
+ trace_multifd_new_send_channel_async(p->id);
if (qio_task_propagate_error(task, &local_err)) {
migrate_set_error(migrate_get_current(), local_err);
multifd_save_cleanup();
@@ -1496,6 +1498,7 @@ bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp)
atomic_read(&multifd_recv_state->count));
return false;
}
+ trace_multifd_recv_new_channel(id);
p = &multifd_recv_state->params[id];
if (p->c != NULL) {
diff --git a/migration/trace-events b/migration/trace-events
index 9fbef614ab..5d85f8bf83 100644
--- a/migration/trace-events
+++ b/migration/trace-events
@@ -81,7 +81,9 @@ migration_bitmap_sync_start(void) ""
migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64
migration_bitmap_clear_dirty(char *str, uint64_t start, uint64_t size, unsigned long page) "rb %s start 0x%"PRIx64" size 0x%"PRIx64" page 0x%lx"
migration_throttle(void) ""
+multifd_new_send_channel_async(uint8_t id) "channel %d"
multifd_recv(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
+multifd_recv_new_channel(uint8_t id) "channel %d"
multifd_recv_sync_main(long packet_num) "packet num %ld"
multifd_recv_sync_main_signal(uint8_t id) "channel %d"
multifd_recv_sync_main_wait(uint8_t id) "channel %d"
@@ -89,7 +91,9 @@ multifd_recv_terminate_threads(bool error) "error %d"
multifd_recv_thread_can_start(uint8_t id) "channel %d"
multifd_recv_thread_end(uint8_t id, uint64_t packets, uint64_t pages) "channel %d packets %" PRIu64 " pages %" PRIu64
multifd_recv_thread_start(uint8_t id) "%d"
+multifd_save_setup_wait(uint8_t id) "%d"
multifd_send(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
+multifd_send_error(uint8_t id) "channel %d"
multifd_send_sync_main(long packet_num) "packet num %ld"
multifd_send_sync_main_signal(uint8_t id) "channel %d"
multifd_send_sync_main_wait(uint8_t id) "channel %d"
--
2.21.0
* Juan Quintela (quintela@redhat.com) wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Queued
> ---
> migration/ram.c | 3 +++
> migration/trace-events | 4 ++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index f1aec95f83..25a211c3fb 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1173,6 +1173,7 @@ static void *multifd_send_thread(void *opaque)
>
> out:
> if (local_err) {
> + trace_multifd_send_error(p->id);
> multifd_send_terminate_threads(local_err);
> }
>
> @@ -1203,6 +1204,7 @@ static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
> QIOChannel *sioc = QIO_CHANNEL(qio_task_get_source(task));
> Error *local_err = NULL;
>
> + trace_multifd_new_send_channel_async(p->id);
> if (qio_task_propagate_error(task, &local_err)) {
> migrate_set_error(migrate_get_current(), local_err);
> multifd_save_cleanup();
> @@ -1496,6 +1498,7 @@ bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp)
> atomic_read(&multifd_recv_state->count));
> return false;
> }
> + trace_multifd_recv_new_channel(id);
>
> p = &multifd_recv_state->params[id];
> if (p->c != NULL) {
> diff --git a/migration/trace-events b/migration/trace-events
> index 9fbef614ab..5d85f8bf83 100644
> --- a/migration/trace-events
> +++ b/migration/trace-events
> @@ -81,7 +81,9 @@ migration_bitmap_sync_start(void) ""
> migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64
> migration_bitmap_clear_dirty(char *str, uint64_t start, uint64_t size, unsigned long page) "rb %s start 0x%"PRIx64" size 0x%"PRIx64" page 0x%lx"
> migration_throttle(void) ""
> +multifd_new_send_channel_async(uint8_t id) "channel %d"
> multifd_recv(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
> +multifd_recv_new_channel(uint8_t id) "channel %d"
> multifd_recv_sync_main(long packet_num) "packet num %ld"
> multifd_recv_sync_main_signal(uint8_t id) "channel %d"
> multifd_recv_sync_main_wait(uint8_t id) "channel %d"
> @@ -89,7 +91,9 @@ multifd_recv_terminate_threads(bool error) "error %d"
> multifd_recv_thread_can_start(uint8_t id) "channel %d"
> multifd_recv_thread_end(uint8_t id, uint64_t packets, uint64_t pages) "channel %d packets %" PRIu64 " pages %" PRIu64
> multifd_recv_thread_start(uint8_t id) "%d"
> +multifd_save_setup_wait(uint8_t id) "%d"
> multifd_send(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
> +multifd_send_error(uint8_t id) "channel %d"
> multifd_send_sync_main(long packet_num) "packet num %ld"
> multifd_send_sync_main_signal(uint8_t id) "channel %d"
> multifd_send_sync_main_wait(uint8_t id) "channel %d"
> --
> 2.21.0
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 8/14/19 4:02 AM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> migration/ram.c | 3 +++
> migration/trace-events | 4 ++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index f1aec95f83..25a211c3fb 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1173,6 +1173,7 @@ static void *multifd_send_thread(void *opaque)
>
> out:
> if (local_err) {
> + trace_multifd_send_error(p->id);
> multifd_send_terminate_threads(local_err);
> }
>
> @@ -1203,6 +1204,7 @@ static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
> QIOChannel *sioc = QIO_CHANNEL(qio_task_get_source(task));
> Error *local_err = NULL;
>
> + trace_multifd_new_send_channel_async(p->id);
> if (qio_task_propagate_error(task, &local_err)) {
> migrate_set_error(migrate_get_current(), local_err);
> multifd_save_cleanup();
> @@ -1496,6 +1498,7 @@ bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp)
> atomic_read(&multifd_recv_state->count));
> return false;
> }
> + trace_multifd_recv_new_channel(id);
>
> p = &multifd_recv_state->params[id];
> if (p->c != NULL) {
> diff --git a/migration/trace-events b/migration/trace-events
> index 9fbef614ab..5d85f8bf83 100644
> --- a/migration/trace-events
> +++ b/migration/trace-events
> @@ -81,7 +81,9 @@ migration_bitmap_sync_start(void) ""
> migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64
> migration_bitmap_clear_dirty(char *str, uint64_t start, uint64_t size, unsigned long page) "rb %s start 0x%"PRIx64" size 0x%"PRIx64" page 0x%lx"
> migration_throttle(void) ""
> +multifd_new_send_channel_async(uint8_t id) "channel %d"
> multifd_recv(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
> +multifd_recv_new_channel(uint8_t id) "channel %d"
> multifd_recv_sync_main(long packet_num) "packet num %ld"
> multifd_recv_sync_main_signal(uint8_t id) "channel %d"
> multifd_recv_sync_main_wait(uint8_t id) "channel %d"
> @@ -89,7 +91,9 @@ multifd_recv_terminate_threads(bool error) "error %d"
> multifd_recv_thread_can_start(uint8_t id) "channel %d"
> multifd_recv_thread_end(uint8_t id, uint64_t packets, uint64_t pages) "channel %d packets %" PRIu64 " pages %" PRIu64
> multifd_recv_thread_start(uint8_t id) "%d"
> +multifd_save_setup_wait(uint8_t id) "%d"
This one is not used.
For the rest:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> multifd_send(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
> +multifd_send_error(uint8_t id) "channel %d"
> multifd_send_sync_main(long packet_num) "packet num %ld"
> multifd_send_sync_main_signal(uint8_t id) "channel %d"
> multifd_send_sync_main_wait(uint8_t id) "channel %d"
>
On 8/19/19 1:10 PM, Philippe Mathieu-Daudé wrote:
> On 8/14/19 4:02 AM, Juan Quintela wrote:
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>> ---
>> migration/ram.c | 3 +++
>> migration/trace-events | 4 ++++
>> 2 files changed, 7 insertions(+)
>>
>> diff --git a/migration/ram.c b/migration/ram.c
>> index f1aec95f83..25a211c3fb 100644
>> --- a/migration/ram.c
>> +++ b/migration/ram.c
>> @@ -1173,6 +1173,7 @@ static void *multifd_send_thread(void *opaque)
>>
>> out:
>> if (local_err) {
>> + trace_multifd_send_error(p->id);
>> multifd_send_terminate_threads(local_err);
>> }
>>
>> @@ -1203,6 +1204,7 @@ static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
>> QIOChannel *sioc = QIO_CHANNEL(qio_task_get_source(task));
>> Error *local_err = NULL;
>>
>> + trace_multifd_new_send_channel_async(p->id);
>> if (qio_task_propagate_error(task, &local_err)) {
>> migrate_set_error(migrate_get_current(), local_err);
>> multifd_save_cleanup();
>> @@ -1496,6 +1498,7 @@ bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp)
>> atomic_read(&multifd_recv_state->count));
>> return false;
>> }
>> + trace_multifd_recv_new_channel(id);
>>
>> p = &multifd_recv_state->params[id];
>> if (p->c != NULL) {
>> diff --git a/migration/trace-events b/migration/trace-events
>> index 9fbef614ab..5d85f8bf83 100644
>> --- a/migration/trace-events
>> +++ b/migration/trace-events
>> @@ -81,7 +81,9 @@ migration_bitmap_sync_start(void) ""
>> migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64
>> migration_bitmap_clear_dirty(char *str, uint64_t start, uint64_t size, unsigned long page) "rb %s start 0x%"PRIx64" size 0x%"PRIx64" page 0x%lx"
>> migration_throttle(void) ""
>> +multifd_new_send_channel_async(uint8_t id) "channel %d"
>> multifd_recv(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
>> +multifd_recv_new_channel(uint8_t id) "channel %d"
>> multifd_recv_sync_main(long packet_num) "packet num %ld"
>> multifd_recv_sync_main_signal(uint8_t id) "channel %d"
>> multifd_recv_sync_main_wait(uint8_t id) "channel %d"
>> @@ -89,7 +91,9 @@ multifd_recv_terminate_threads(bool error) "error %d"
>> multifd_recv_thread_can_start(uint8_t id) "channel %d"
>> multifd_recv_thread_end(uint8_t id, uint64_t packets, uint64_t pages) "channel %d packets %" PRIu64 " pages %" PRIu64
>> multifd_recv_thread_start(uint8_t id) "%d"
>> +multifd_save_setup_wait(uint8_t id) "%d"
>
> This one is not used.
>
> For the rest:
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Oh I forgot, uint8_t format is "%u", we don't care so far but it could
be useful to enable the -Wformat-signedness cflag one day.
>> multifd_send(uint8_t id, uint64_t packet_num, uint32_t used, uint32_t flags, uint32_t next_packet_size) "channel %d packet_num %" PRIu64 " pages %d flags 0x%x next packet size %d"
>> +multifd_send_error(uint8_t id) "channel %d"
>> multifd_send_sync_main(long packet_num) "packet num %ld"
>> multifd_send_sync_main_signal(uint8_t id) "channel %d"
>> multifd_send_sync_main_wait(uint8_t id) "channel %d"
>>
© 2016 - 2026 Red Hat, Inc.