qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH V2 1/2] migration: Introduce interface query-migrationthreads


From: Juan Quintela
Subject: Re: [PATCH V2 1/2] migration: Introduce interface query-migrationthreads
Date: Fri, 03 Feb 2023 20:47:34 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Jiang Jiacheng <jiangjiacheng@huawei.com> wrote:
> Introduce interface query-migrationthreads. The interface is used
> to query information about migration threads and returns with
> migration thread's name and its id.
> Introduce threadinfo.c to manage threads with migration.
>
> Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

I will fix this by hand.

> +MigrationThread* MigrationThreadAdd(const char *name, int thread_id)
* on the left instead of the right.

> +{
> +    MigrationThread *thread = NULL;
> +
> +    thread = g_new0(MigrationThread, 1);

This is too much.

      MigrationThread *thread = g_new0(MigrationThread, 1);

If you initialize a variable, don't do a NULL and just in the next line
the right value.


> +    thread->name = (char*)name;

Why not doing it properly and call it just const char * on the header?

> +    thread->thread_id = thread_id;
> +
> +    QLIST_INSERT_HEAD(&migration_threads, thread, node);
> +
> +    return thread;
> +}
> +
> +void MigrationThreadDel(MigrationThread* thread)
> +{
> +    if (thread) {
> +        QLIST_REMOVE(thread, node);

Spaces for indentation

> +         g_free(thread);

Tabs + spaces.

> +    }
> +}
> +
> +MigrationThreadInfoList* qmp_query_migrationthreads(Error **errp)

* on the worong side.

> +{
> +    MigrationThreadInfoList *head = NULL;
> +    MigrationThreadInfoList **tail = &head;
> +    MigrationThread *thread = NULL;
> +    MigrationThreadInfo *info = NULL;
> +
> +    QLIST_FOREACH(thread, &migration_threads, node) {
> +        info = g_new0(MigrationThreadInfo, 1);

MigrationThreadInfo *info = g_new0(MigrationThreadInfo, 1);

> +        info->name = g_strdup(thread->name);
> +        info->thread_id = thread->thread_id;
> +
> +        QAPI_LIST_APPEND(tail, info);
> +    }
> +
> +    return head;
> +}
> diff --git a/migration/threadinfo.h b/migration/threadinfo.h
> new file mode 100644
> index 0000000000..ebe86a2699
> --- /dev/null
> +++ b/migration/threadinfo.h
> @@ -0,0 +1,28 @@
> +/*
> + *  Migration Threads info
> + *
> + *  Copyright (c) 2022 HUAWEI TECHNOLOGIES CO., LTD.
> + *
> + *  Authors:
> + *  Jiang Jiacheng <jiangjiacheng@huawei.com>
> + *
> + *  This work is licensed under the terms of the GNU GPL, version 2 or later.
> + *  See the COPYING file in the top-level directory.
> + */
> +
> +#include "qemu/queue.h"
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "qapi/qapi-commands-migration.h"
> +
> +typedef struct MigrationThread MigrationThread;
> +
> +struct MigrationThread {
> +    char *name; /* the name of migration thread */
> +    int thread_id; /* ID of the underlying host thread */
> +    QLIST_ENTRY(MigrationThread) node;
> +};
> +
> +MigrationThread *MigrationThreadAdd(const char *name, int thread_id);
> +
> +void MigrationThreadDel(MigrationThread* info);
> diff --git a/qapi/migration.json b/qapi/migration.json
> index 88ecf86ac8..c84fa10e86 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -1958,6 +1958,35 @@
>  { 'command': 'query-vcpu-dirty-limit',
>    'returns': [ 'DirtyLimitInfo' ] }
>  
> +##
> +# @MigrationThreadInfo:
> +#
> +# Information about migrationthreads
> +#
> +# @name: the name of migration thread
> +#
> +# @thread-id: ID of the underlying host thread
> +#
> +# Since: 7.2

            8.0

Same on the next one.

> +##
> +{ 'struct': 'MigrationThreadInfo',
> +  'data': {'name': 'str',
> +           'thread-id': 'int'} }
> +
> +##
> +# @query-migrationthreads:
> +#
> +# Returns information of migration threads
> +#
> +# data: migration thread name
> +#
> +# returns: information about migration threads
> +#
> +# Since: 7.2
> +##
> +{ 'command': 'query-migrationthreads',
> +  'returns': ['MigrationThreadInfo'] }
> +
>  ##
>  # @snapshot-save:
>  #

Later, Juan.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]