qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v6 01/12] monitor: Add Monitor parameter to monitor_set_cpu()


From: Markus Armbruster
Subject: Re: [PATCH v6 01/12] monitor: Add Monitor parameter to monitor_set_cpu()
Date: Tue, 04 Aug 2020 13:19:31 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Kevin Wolf <kwolf@redhat.com> writes:

> Most callers actually don't have to rely on cur_mon, but already know
> for which monitor they call monitor_set_cpu().
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  include/monitor/monitor.h |  2 +-
>  monitor/hmp-cmds.c        |  2 +-
>  monitor/misc.c            | 10 +++++-----
>  3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
> index 1018d754a6..0dcaefd4f9 100644
> --- a/include/monitor/monitor.h
> +++ b/include/monitor/monitor.h
> @@ -33,7 +33,7 @@ int monitor_vprintf(Monitor *mon, const char *fmt, va_list 
> ap)
>      GCC_FMT_ATTR(2, 0);
>  int monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
>  void monitor_flush(Monitor *mon);
> -int monitor_set_cpu(int cpu_index);
> +int monitor_set_cpu(Monitor *mon, int cpu_index);
>  int monitor_get_cpu_index(void);

monitor_set_cpu() now takes a Monitor * argument, while
monitor_get_cpu_index() continues to assume cur_mon.  Not wrong, but the
asymmetry bothers me.

Both callers of the latter look like they could easily pass a Monitor *
argument.  What do you think?

>  
>  void monitor_read_command(MonitorHMP *mon, int show_prompt);
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index 9c61e769ca..5e22ee2556 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -969,7 +969,7 @@ void hmp_cpu(Monitor *mon, const QDict *qdict)
>      /* XXX: drop the monitor_set_cpu() usage when all HMP commands that
>              use it are converted to the QAPI */
>      cpu_index = qdict_get_int(qdict, "index");
> -    if (monitor_set_cpu(cpu_index) < 0) {
> +    if (monitor_set_cpu(mon, cpu_index) < 0) {
>          monitor_printf(mon, "invalid CPU index\n");
>      }
>  }
> diff --git a/monitor/misc.c b/monitor/misc.c
> index f5207cd242..bdf49e49e5 100644
> --- a/monitor/misc.c
> +++ b/monitor/misc.c
> @@ -130,7 +130,7 @@ char *qmp_human_monitor_command(const char *command_line, 
> bool has_cpu_index,
>      cur_mon = &hmp.common;
>  
>      if (has_cpu_index) {
> -        int ret = monitor_set_cpu(cpu_index);
> +        int ret = monitor_set_cpu(&hmp.common, cpu_index);
>          if (ret < 0) {
>              cur_mon = old_mon;
>              error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index",
> @@ -256,7 +256,7 @@ static void monitor_init_qmp_commands(void)
>  }
>  
>  /* Set the current CPU defined by the user. Callers must hold BQL. */
> -int monitor_set_cpu(int cpu_index)
> +int monitor_set_cpu(Monitor *mon, int cpu_index)
>  {
>      CPUState *cpu;
>  
> @@ -264,8 +264,8 @@ int monitor_set_cpu(int cpu_index)
>      if (cpu == NULL) {
>          return -1;
>      }
> -    g_free(cur_mon->mon_cpu_path);
> -    cur_mon->mon_cpu_path = object_get_canonical_path(OBJECT(cpu));
> +    g_free(mon->mon_cpu_path);
> +    mon->mon_cpu_path = object_get_canonical_path(OBJECT(cpu));
>      return 0;
>  }
>  
> @@ -286,7 +286,7 @@ static CPUState *mon_get_cpu_sync(bool synchronize)
>          if (!first_cpu) {
>              return NULL;
>          }
> -        monitor_set_cpu(first_cpu->cpu_index);
> +        monitor_set_cpu(cur_mon, first_cpu->cpu_index);
>          cpu = first_cpu;
>      }
>      assert(cpu != NULL);

Patch looks good otherwise.




reply via email to

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