From: Markus Armbruster <armbru@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Igor Mammedov <imammedo@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PULL 23/29] numa: use possible_cpus for not mapped CPUs check
Date: Wed, 17 May 2017 10:07:18 +0200 [thread overview]
Message-ID: <87wp9f6h55.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20170511191843.13784-24-ehabkost@redhat.com> (Eduardo Habkost's message of "Thu, 11 May 2017 16:18:37 -0300")
Eduardo Habkost <ehabkost@redhat.com> writes:
> From: Igor Mammedov <imammedo@redhat.com>
>
> and remove corresponding part in numa.c that uses
> node_cpu bitmaps.
>
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> Reviewed-by: Andrew Jones <drjones@redhat.com>
> Message-Id: <1494415802-227633-16-git-send-email-imammedo@redhat.com>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> hw/core/machine.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> numa.c | 10 ----------
> 2 files changed, 58 insertions(+), 10 deletions(-)
>
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 64e2a4ff2c..fd6a436064 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -20,6 +20,7 @@
> #include "sysemu/numa.h"
> #include "qemu/error-report.h"
> #include "qemu/cutils.h"
> +#include "sysemu/numa.h"
>
> static char *machine_get_accel(Object *obj, Error **errp)
> {
> @@ -678,9 +679,66 @@ bool machine_mem_merge(MachineState *machine)
> return machine->mem_merge;
> }
>
> +static char *cpu_slot_to_string(const CPUArchId *cpu)
> +{
> + GString *s = g_string_new(NULL);
> + if (cpu->props.has_socket_id) {
> + g_string_append_printf(s, "socket-id: %"PRId64, cpu->props.socket_id);
> + }
> + if (cpu->props.has_core_id) {
> + if (s->len) {
> + g_string_append_printf(s, ", ");
> + }
> + g_string_append_printf(s, "core-id: %"PRId64, cpu->props.core_id);
> + }
> + if (cpu->props.has_thread_id) {
> + if (s->len) {
> + g_string_append_printf(s, ", ");
> + }
> + g_string_append_printf(s, "thread-id: %"PRId64, cpu->props.thread_id);
> + }
> + return g_string_free(s, false);
> +}
> +
> +static void machine_numa_validate(MachineState *machine)
> +{
> + int i;
> + GString *s = g_string_new(NULL);
> + MachineClass *mc = MACHINE_GET_CLASS(machine);
> + const CPUArchIdList *possible_cpus = mc->possible_cpu_arch_ids(machine);
> +
> + assert(nb_numa_nodes);
> + for (i = 0; i < possible_cpus->len; i++) {
> + const CPUArchId *cpu_slot = &possible_cpus->cpus[i];
> +
> + /* at this point numa mappings are initilized by CLI options
> + * or with default mappings so it's sufficient to list
> + * all not yet mapped CPUs here */
> + /* TODO: make it hard error in future */
> + if (!cpu_slot->props.has_node_id) {
> + char *cpu_str = cpu_slot_to_string(cpu_slot);
> + g_string_append_printf(s, "%sCPU %d [%s]", s->len ? ", " : "", i,
> + cpu_str);
> + g_free(cpu_str);
> + }
> + }
> + if (s->len) {
> + error_report("warning: CPU(s) not present in any NUMA nodes: %s",
> + s->str);
> + error_report("warning: All CPU(s) up to maxcpus should be described "
> + "in NUMA config, ability to start up with partial NUMA "
> + "mappings is obsoleted and will be removed in future");
I can see this gripes in output of make check. Shouldn't you suppress
them on qtest_enabled(), like we do elsewhere?
> + }
> + g_string_free(s, true);
> +}
[...]
next prev parent reply other threads:[~2017-05-17 8:07 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-11 19:18 [Qemu-devel] [PULL 00/29] x86 and machine queue, 2017-05-11 Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 01/29] i386: rewrite way CPUID index is validated Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 02/29] numa: Allow setting NUMA distance for different NUMA nodes Eduardo Habkost
2017-05-30 10:45 ` Peter Maydell
2017-05-30 14:01 ` Eduardo Habkost
2017-05-30 15:28 ` Eric Blake
2017-05-30 18:10 ` Eduardo Habkost
2017-05-30 18:21 ` Eric Blake
2017-05-30 17:08 ` Peter Maydell
2017-05-30 17:12 ` Daniel P. Berrange
2017-05-11 19:18 ` [Qemu-devel] [PULL 03/29] numa: equally distribute memory on nodes Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 04/29] tests: acpi: extend cphp and memhp testcase with numa distance check Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 05/29] tests: add CPUs to numa node mapping test Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 06/29] hw/arm/virt: extract mp-affinity calculation in separate function Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 07/29] hw/arm/virt: use machine->possible_cpus for storing possible topology info Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 08/29] hw/arm/virt: explicitly allocate cpu_index for cpus Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 09/29] numa: move source of default CPUs to NUMA node mapping into boards Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 10/29] spapr: add node-id property to sPAPR core Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 11/29] pc: add node-id property to CPU Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 12/29] virt-arm: " Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 13/29] numa: add check that board supports cpu_index to node mapping Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 14/29] numa: mirror cpu to node mapping in MachineState::possible_cpus Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 15/29] numa: do default mapping based on possible_cpus instead of node_cpu bitmaps Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 16/29] pc: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu() Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 17/29] spapr: " Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 18/29] virt-arm: " Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 19/29] QMP: include CpuInstanceProperties into query_cpus output output Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 20/29] tests: numa: add case for QMP command query-cpus Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 21/29] numa: remove no longer need numa_post_machine_init() Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 22/29] machine: call machine init from wrapper Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 23/29] numa: use possible_cpus for not mapped CPUs check Eduardo Habkost
2017-05-17 8:07 ` Markus Armbruster [this message]
2017-05-17 9:09 ` Igor Mammedov
2017-05-11 19:18 ` [Qemu-devel] [PULL 24/29] numa: remove node_cpu bitmaps as they are no longer used Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 25/29] numa: add '-numa cpu, ...' option for property based node mapping Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 26/29] tests: check -numa node, cpu=props_list usecase Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 27/29] migration/i386: Remove old non-softfloat 64bit FP support Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 28/29] vmstatification: i386 FPReg Eduardo Habkost
2017-05-11 19:18 ` [Qemu-devel] [PULL 29/29] migration/i386: Remove support for pre-0.12 formats Eduardo Habkost
2017-05-15 13:15 ` [Qemu-devel] [PULL 00/29] x86 and machine queue, 2017-05-11 Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wp9f6h55.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.