From nobody Wed Nov 12 11:54:55 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1570183220; cv=none; d=zoho.com; s=zohoarc; b=GRYwEimkJVVUVW3Z6EtINHiCtTM50ZdMMaAhD4LoWgXJdaSeyD7HzTQvmu7xfbiMb8jPOHvHVLIKGkcyZq9ywofwIsijG/fRVFE2/BWLQ3tnjyi2k+jG9jtJ33fGqES097212EZGoJDaqT0jJKv8uc74wiiXScMW+aFNGSA7c3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570183220; h=Content-Type: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:ARC-Authentication-Results; bh=pN91AYL9HRtyPPToJybISf9adEpqC5jCGziK/58Dvto=; b=HvzlpIlNY/DMmdZ/GZna9qxjlMM0W3nxy25sMoRNSwtZQg6/MumualQDfdfCG33AdWEQcepeZefyW8ecvHMjXJWAE1JfRTs6c2RDAG0O0cESGPET0ryKaiyBEIsdMy8xraUsm0N7llX/El7qDQmRJkVGpRb5XfNlH9b0lvjXHew= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570183220355752.6764343057781; Fri, 4 Oct 2019 03:00:20 -0700 (PDT) Received: from localhost ([::1]:43978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGKNm-0001yX-HI for importer@patchew.org; Fri, 04 Oct 2019 06:00:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52469) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGK2M-0004yp-1E for qemu-devel@nongnu.org; Fri, 04 Oct 2019 05:38:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGK2J-000588-T9 for qemu-devel@nongnu.org; Fri, 04 Oct 2019 05:38:09 -0400 Received: from ozlabs.org ([2401:3900:2:1::2]:60441) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGK2J-00054j-DD; Fri, 04 Oct 2019 05:38:07 -0400 Received: by ozlabs.org (Postfix, from userid 1007) id 46l4YH48pvz9sRf; Fri, 4 Oct 2019 19:37:55 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1570181875; bh=xY4OGrUKEbU4bMX/8oj3IWDkzKs4o9UUNxOR/KQ9Avo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=I2a34dL7jl+ebcGt5Iiy0NW5P8SjhOgPI5CLQo7r+6woluetnzziE85tZhw4cNF8X TD26sTkJ1YA1aDdgBtAIaVJKjS99VCQwVUDQTMo+Td4D7ebTnLd/nZUIP6aJJJhCfl 8ad9nbDMSiHQx6HUumzXWs+VzBsH4icd4tc4QK2g= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 16/53] spapr: Move handling of special NVLink numa node from reset to init Date: Fri, 4 Oct 2019 19:37:10 +1000 Message-Id: <20191004093747.31350-17-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191004093747.31350-1-david@gibson.dropbear.id.au> References: <20191004093747.31350-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 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: lvivier@redhat.com, aik@ozlabs.ru, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson 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 number of NUMA nodes in the system is fixed from the command line. Therefore, there's no need to recalculate it at reset time, and we can determine the special gpu_numa_id value used for NVLink2 devices at init time. This simplifies the reset path a bit which will make further improvements easier. Signed-off-by: David Gibson Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Greg Kurz Tested-by: Alexey Kardashevskiy Reviewed-by: Alexey Kardashevskiy --- hw/ppc/spapr.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index b906ac6547..7c3a443776 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1739,16 +1739,6 @@ static void spapr_machine_reset(MachineState *machin= e) spapr_setup_hpt_and_vrma(spapr); } =20 - /* - * NVLink2-connected GPU RAM needs to be placed on a separate NUMA nod= e. - * We assign a new numa ID per GPU in spapr_pci_collect_nvgpu() which = is - * called from vPHB reset handler so we initialize the counter here. - * If no NUMA is configured from the QEMU side, we start from 1 as GPU= RAM - * must be equally distant from any other node. - * The final value of spapr->gpu_numa_id is going to be written to - * max-associativity-domains in spapr_build_fdt(). - */ - spapr->gpu_numa_id =3D MAX(1, machine->numa_state->num_nodes); qemu_devices_reset(); =20 /* @@ -2887,6 +2877,17 @@ static void spapr_machine_init(MachineState *machine) =20 } =20 + /* + * NVLink2-connected GPU RAM needs to be placed on a separate NUMA nod= e. + * We assign a new numa ID per GPU in spapr_pci_collect_nvgpu() which = is + * called from vPHB reset handler so we initialize the counter here. + * If no NUMA is configured from the QEMU side, we start from 1 as GPU= RAM + * must be equally distant from any other node. + * The final value of spapr->gpu_numa_id is going to be written to + * max-associativity-domains in spapr_build_fdt(). + */ + spapr->gpu_numa_id =3D MAX(1, machine->numa_state->num_nodes); + if ((!kvm_enabled() || kvmppc_has_cap_mmu_radix()) && ppc_type_check_compat(machine->cpu_type, CPU_POWERPC_LOGICAL_3_00,= 0, spapr->max_compat_pvr)) { --=20 2.21.0