[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/3] vl: Don't silently change topology when
From: |
Andrew Jones |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/3] vl: Don't silently change topology when all -smp options were set |
Date: |
Wed, 12 Nov 2014 10:38:34 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Nov 11, 2014 at 04:50:56PM -0200, Eduardo Habkost wrote:
> QEMU tries to change the "threads" option even if it was explicitly set
> in the command-line, and it shouldn't do that.
>
> The right thing to do when all options (cpus, sockets, cores, threds)
> are explicitly set is to sanity check them and abort in case they don't
> make sense (i.e. when sockets*cores*threads < cpus).
>
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> vl.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/vl.c b/vl.c
> index 2ed8b07..8880a4e 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1287,8 +1287,14 @@ static void smp_parse(QemuOpts *opts)
> } else if (cores == 0) {
> threads = threads > 0 ? threads : 1;
> cores = cpus / (sockets * threads);
> - } else {
> + } else if (threads == 0) {
> threads = cpus / (cores * sockets);
> + } else if (sockets * cores * threads < cpus) {
> + fprintf(stderr, "cpu topology: error: "
> + "sockets (%u) * cores (%u) * threads (%u) < "
> + "smp_cpus (%u)\n",
> + sockets, cores, threads, cpus);
> + exit(1);
> }
>
> max_cpus = qemu_opt_get_number(opts, "maxcpus", 0);
> --
> 1.9.3
>
Reviewed-by: Andrew Jones <address@hidden>