On 2020/9/10 21:37, Daniel P. Berrangé wrote:
> On Wed, Sep 09, 2020 at 10:52:57PM +0800, Chuan Zheng wrote:
>> add trace points for multifd-tls for debug.
>>
>> Signed-off-by: Chuan Zheng <zhengch...@huawei.com>
>> Signed-off-by: Yan Jin <jinya...@huawei.com>
>> ---
>> 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..26935b6 100644
>> --- a/migration/multifd.c
>> +++ b/migration/multifd.c
>> @@ -730,7 +730,11 @@ static void multifd_tls_outgoing_handshake(QIOTask
>> *task,
>> QIOChannel *ioc = QIO_CHANNEL(qio_task_get_source(task));
>> Error *err = NULL;
>>
>> - qio_task_propagate_error(task, &err);
>> + if (qio_task_propagate_error(task, &err)) {
>> + trace_multifd_tls_outgoing_handshake_error(error_get_pretty(err));
>> + } else {
>> + trace_multifd_tls_outgoing_handshake_complete();
>> + }
>> multifd_channel_connect(p, ioc, err);
>> }
>>
>> @@ -747,6 +751,7 @@ static void
>> multifd_tls_channel_connect(MultiFDSendParams *p,
>> return;
>> }
>>
>> + trace_multifd_tls_outgoing_handshake_start(hostname);
>> qio_channel_set_name(QIO_CHANNEL(tioc), "multifd-tls-outgoing");
>> qio_channel_tls_handshake(tioc,
>> multifd_tls_outgoing_handshake,
>> @@ -762,6 +767,9 @@ static bool multifd_channel_connect(MultiFDSendParams *p,
>> {
>> MigrationState *s = p->s;
>>
>> + trace_multifd_set_outgoing_channel(
>> + ioc, object_get_typename(OBJECT(ioc)), s->hostname, error);
>> +
>> if (!error) {
>> if (s->parameters.tls_creds &&
>> *s->parameters.tls_creds &&
>> diff --git a/migration/trace-events b/migration/trace-events
>> index 4ab0a50..860d2c4 100644
>> --- a/migration/trace-events
>> +++ b/migration/trace-events
>> @@ -109,6 +109,11 @@ multifd_send_sync_main_wait(uint8_t id) "channel %d"
>> multifd_send_terminate_threads(bool error) "error %d"
>> multifd_send_thread_end(uint8_t id, uint64_t packets, uint64_t pages)
>> "channel %d packets %" PRIu64 " pages %" PRIu64
>> multifd_send_thread_start(uint8_t id) "%d"
>> +multifd_tls_outgoing_handshake_start(const char *hostname) "hostname=%s"
>> +multifd_tls_outgoing_handshake_error(const char *err) "err=%s"
>> +multifd_tls_outgoing_handshake_complete(void) ""
>
> I'd suggest adding 'void *ioc' for all of these to make it clearer to
> correlate the traces.
>
OK, will add it in v2
>> +multifd_set_outgoing_channel(void *ioc, const char *ioctype, const char
>> *hostname, void *err) "ioc=%p ioctype=%s hostname=%s err=%p"
>> +
>> ram_discard_range(const char *rbname, uint64_t start, size_t len) "%s:
>> start: %" PRIx64 " %zx"
>> ram_load_loop(const char *rbname, uint64_t addr, int flags, void *host)
>> "%s: addr: 0x%" PRIx64 " flags: 0x%x host: %p"
>> ram_load_postcopy_loop(uint64_t addr, int flags) "@%" PRIx64 " %x"
>> --
>> 1.8.3.1
>>
>
> Regards,
> Daniel
>