From nobody Tue Nov 26 08:27:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; 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=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1709029217; cv=none; d=zohomail.com; s=zohoarc; b=PT7Idb+3I3PTSPrVF5P2GtHFlx8sFl76P2SIMinuv6zcDvqdP5E87hWrKMct11MilaDop5IRKAHfIsrYcURn+M/UWQP1WZEmunmYkc8Gj4W0HbG6Okir9k0P3QXXGl5JMMvnaaA/r8egRz98DFE7tKrg6HD0+ugi//3P5qUxqIw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1709029217; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KucoHRI/3CKrlPm1GbP9vwMnB8mghCjVDD0M1DnDUxw=; b=gAiitTaar84U0fvfeO7wPXR6cMluFH6ZGeNyi8shTWMsHGXGK3qe1+ZbxGto3Iq7cCDmiJsuIue/tgMdXNbetAK8/jLk/R/He+0Mn1Y/+jHimVsSLkyxnZV1Oey46i8JuikmqcYHdGS3VZp2Phf+FsW/nbU/0U162qq+QkVOfww= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1709029217402851.3247989964296; Tue, 27 Feb 2024 02:20:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reuYR-00049s-HQ; Tue, 27 Feb 2024 05:19:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reuYP-00049b-Pf for qemu-devel@nongnu.org; Tue, 27 Feb 2024 05:19:17 -0500 Received: from mgamail.intel.com ([192.198.163.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reuYO-00036Z-2t for qemu-devel@nongnu.org; Tue, 27 Feb 2024 05:19:17 -0500 Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2024 02:19:14 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa010.fm.intel.com with ESMTP; 27 Feb 2024 02:19:10 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709029156; x=1740565156; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P75hIY8ln1D9u2W+mLieQMGqsvAMwEhg8IjnXVe3yso=; b=Sc/X4XyvmNct11i5884dYyc00tuP1gOZuoYfNpJb7v1JgAeYErGWSNoN +YQ1FobLlm9y87aXoa9mDhXEFowRMsP5qBgbZgGf/xThThQJ+QN0HVAiv /2wXDDaV/zOr9E63OdHt3QK/WHDdcJL3h6g9wcYJLOGv84ZVihsgVy1Fg jUCbnndThD5txzoAch0wTVAsG3qhlXFfjputHjIxBQw4JQ3obBUdb6D6M Ts7ph/BJA8GJWqL8or4T8FZbNJTi4u58kIYZDnnpwgH4dubwOAdMCWM0g x2aMO8c1BQF1JqkfkW7LVi37ukduKKW4LlIQrrI1uYFX6IzZP4v1+c19X w==; X-IronPort-AV: E=McAfee;i="6600,9927,10996"; a="6310235" X-IronPort-AV: E=Sophos;i="6.06,187,1705392000"; d="scan'208";a="6310235" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,187,1705392000"; d="scan'208";a="6954771" From: Zhao Liu To: Eduardo Habkost , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , "Michael S . Tsirkin" , Richard Henderson , Paolo Bonzini , Eric Blake , Markus Armbruster , Marcelo Tosatti , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Xiaoyao Li Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhenyu Wang , Zhuocheng Ding , Babu Moger , Yongwei Ma , Zhao Liu Subject: [PATCH v9 04/21] hw/core: Support module-id in numa configuration Date: Tue, 27 Feb 2024 18:32:14 +0800 Message-Id: <20240227103231.1556302-5-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240227103231.1556302-1-zhao1.liu@linux.intel.com> References: <20240227103231.1556302-1-zhao1.liu@linux.intel.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: none client-ip=192.198.163.13; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.014, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1709029218632100003 Content-Type: text/plain; charset="utf-8" From: Zhao Liu Module is a level above the core, thereby supporting numa configuration on the module level can bring user more numa flexibility. This is the natural further support for module level. Add module level support in numa configuration. Tested-by: Yongwei Ma Signed-off-by: Zhao Liu --- Changes since v7: * New commit to support module level. --- hw/core/machine.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hw/core/machine.c b/hw/core/machine.c index 030b7e250ac5..b3199c710194 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -791,6 +791,11 @@ void machine_set_cpu_numa_node(MachineState *machine, return; } =20 + if (props->has_module_id && !slot->props.has_module_id) { + error_setg(errp, "module-id is not supported"); + return; + } + if (props->has_cluster_id && !slot->props.has_cluster_id) { error_setg(errp, "cluster-id is not supported"); return; @@ -815,6 +820,11 @@ void machine_set_cpu_numa_node(MachineState *machine, continue; } =20 + if (props->has_module_id && + props->module_id !=3D slot->props.module_id) { + continue; + } + if (props->has_cluster_id && props->cluster_id !=3D slot->props.cluster_id) { continue; @@ -1212,6 +1222,12 @@ static char *cpu_slot_to_string(const CPUArchId *cpu) } g_string_append_printf(s, "cluster-id: %"PRId64, cpu->props.cluste= r_id); } + if (cpu->props.has_module_id) { + if (s->len) { + g_string_append_printf(s, ", "); + } + g_string_append_printf(s, "module-id: %"PRId64, cpu->props.module_= id); + } if (cpu->props.has_core_id) { if (s->len) { g_string_append_printf(s, ", "); --=20 2.34.1