From nobody Sat Feb 7 08:07:29 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601386893; cv=none; d=zohomail.com; s=zohoarc; b=My+4Xn6pEdQzwwQVPhYot53hn0zX1Fafouv8KdGoqJ01mMUwmvBeSE7svj0w4nfHPLFJAhXH94tqHoiGtn6p1K2igAXnrY+LEhISGRIYwge1vfs7pYpDVoAmoF1ndpXZw1Z/7zB0gORwmYJS4EPyqsuq5Tb7gkEaCYnFx5zGutI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601386893; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=R4x7UXQx3o9BKP7QdPkixkdBnA0FbHUH8NO4L6FHy/8=; b=PvqC0P48F/TP1LeSCe/+zKCaWk/TIIghFtEj+QynplCngZzVe4pjvCUEKAX5YdvhLy2gqQ3dPNbmGoxidxcKTUuOfa6ADsE7LlSzss7vSlfSF541gJBIK8SnHw14EbLcnb3gJzKXNrlwql/5pQXleA7qBrgZa5mNpd359j4spYU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601386893352386.61442743253247; Tue, 29 Sep 2020 06:41:33 -0700 (PDT) Received: from localhost ([::1]:44452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNFsq-00011j-25 for importer@patchew.org; Tue, 29 Sep 2020 09:41:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNFqE-0007XT-8L; Tue, 29 Sep 2020 09:38:51 -0400 Received: from mail-qk1-x742.google.com ([2607:f8b0:4864:20::742]:34611) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNFqC-0001Ca-Gp; Tue, 29 Sep 2020 09:38:49 -0400 Received: by mail-qk1-x742.google.com with SMTP id c62so4302876qke.1; Tue, 29 Sep 2020 06:38:47 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c7:c625:6c0e:4720:8228:5f68]) by smtp.gmail.com with ESMTPSA id j88sm5239938qte.96.2020.09.29.06.38.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Sep 2020 06:38:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=R4x7UXQx3o9BKP7QdPkixkdBnA0FbHUH8NO4L6FHy/8=; b=sYbGRo9oOVgPESa02XkvUKC2mYS83l3eDmPVjlJwRu9uVNZZMWDTT9NATjCJK9aDun H+5bx8lzNEmaROIUVGAXLPE008vfoFoGqY4PADWVZYiL2WQDzD++vYy4UFsoJBWFBMih 36mafA8YNGZtRUBGpVAKT3uFnjTNh8bjKvILHaTk0rGcV2NCZ+6Zu+JE7tT+8nYk5ur9 UF5QMrrQ5OmWC8Urx1U83oiT42Qzo9HJrRI6I0/CB4/+6XiEYjY8n8BZKARdQMbX6DVQ 2NgvtuvJVe56H7y9T4Y7fbLz9lexKQgWNocyvOMNWfPdad5+nrcBKbTLGKonHTOAiN6V D0VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=R4x7UXQx3o9BKP7QdPkixkdBnA0FbHUH8NO4L6FHy/8=; b=HCDhh8XAzAzShCUZAlE9W0e/3l0IxxProe3w8D1HXxeZkyCaiGyRqcFtTb0gqIOrpO EsT01O+x352EKkOuRRLPKWm24vKsMmrxW2UfS74Re2nrJZYmOkHEe3f7/niJN4YW4EZj wBtyxJbS8Q6sXD/ZXKVLnP+VeMgN/vBlBRRvzcJzJ10F0R4vstOFN+PdId9uub6TVPcZ Vcg6Gk4tMkzJJrc6EYtHp1YQ69xrsH6y9HNnHLHd89fF2MluCRWSSMxz6co5fRzn8s+d VNP4dtOxmeLgO41IGfhkwW4mYLRWWPyNUDE+zdkOh4Qj6h9rsG+kmg3OQsPA3AcaQbLS Ot3Q== X-Gm-Message-State: AOAM5312pQKeGPweUwh7kAmyzDPdosFSGWj3zghqCsqCdmKfaC9qVSO7 /irLfypN34v2InEBgYoVhalOuRoLFoc= X-Google-Smtp-Source: ABdhPJxIZhqRcW9tj8LD5NJibbEd7dYqUlfsgUYeeSHFrJmtKQyNdIZgjE6t0KH+7KFoQMNpfoM3dA== X-Received: by 2002:a05:620a:218b:: with SMTP id g11mr4380983qka.494.1601386726924; Tue, 29 Sep 2020 06:38:46 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Subject: [PATCH v3 2/5] spapr_numa: forbid asymmetrical NUMA setups Date: Tue, 29 Sep 2020 10:38:14 -0300 Message-Id: <20200929133817.560278-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200929133817.560278-1-danielhb413@gmail.com> References: <20200929133817.560278-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::742; envelope-from=danielhb413@gmail.com; helo=mail-qk1-x742.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Henrique Barboza , qemu-ppc@nongnu.org, groug@kaod.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The pSeries machine does not support asymmetrical NUMA configurations. This doesn't make much of a different since we're not using user input for pSeries NUMA setup, but this will change in the next patches. To avoid breaking existing setups, gate this change by checking for legacy NUMA support. Reviewed-by: Greg Kurz Reviewed-by: David Gibson Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr_numa.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/hw/ppc/spapr_numa.c b/hw/ppc/spapr_numa.c index 64fe567f5d..fe395e80a3 100644 --- a/hw/ppc/spapr_numa.c +++ b/hw/ppc/spapr_numa.c @@ -19,6 +19,24 @@ /* Moved from hw/ppc/spapr_pci_nvlink2.c */ #define SPAPR_GPU_NUMA_ID (cpu_to_be32(1)) =20 +static bool spapr_numa_is_symmetrical(MachineState *ms) +{ + int src, dst; + int nb_numa_nodes =3D ms->numa_state->num_nodes; + NodeInfo *numa_info =3D ms->numa_state->nodes; + + for (src =3D 0; src < nb_numa_nodes; src++) { + for (dst =3D src; dst < nb_numa_nodes; dst++) { + if (numa_info[src].distance[dst] !=3D + numa_info[dst].distance[src]) { + return false; + } + } + } + + return true; +} + void spapr_numa_associativity_init(SpaprMachineState *spapr, MachineState *machine) { @@ -61,6 +79,22 @@ void spapr_numa_associativity_init(SpaprMachineState *sp= apr, =20 spapr->numa_assoc_array[i][MAX_DISTANCE_REF_POINTS] =3D cpu_to_be3= 2(i); } + + /* + * Legacy NUMA guests (pseries-5.1 and older, or guests with only + * 1 NUMA node) will not benefit from anything we're going to do + * after this point. + */ + if (spapr_machine_using_legacy_numa(spapr)) { + return; + } + + if (!spapr_numa_is_symmetrical(machine)) { + error_report("Asymmetrical NUMA topologies aren't supported " + "in the pSeries machine"); + exit(EXIT_FAILURE); + } + } =20 void spapr_numa_write_associativity_dt(SpaprMachineState *spapr, void *fdt, --=20 2.26.2