From nobody Tue Nov 26 16:38:45 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=1706695316; cv=none; d=zohomail.com; s=zohoarc; b=aacIMkFyorpajI0z06Ksk5SAFsNi3tYaACZiIdFjeJaKPl3lcYz1sGcJM+d44hUz7h2bWJG29M8NASWiOLORNsebxn+n2XsdXuU69MWbjVAYPHWyFJp+Xur9tqsvbv/isN13nCddnEQgAKr7lcMFnP0QR3KPYZC4JX1e3IYXJWM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1706695316; 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=PZWH1yLuxa5naxGngRMAa/bqR6dAoAcn271oXavZ6TzpLDRMfn2SHEY8BDDoBca/rCWEg1GKwUnavL3plliMvHOFQfYhEXzBm/Q/HLriUfsWl/2SM5cvtQHNPwW7o4ZOTWCXuPipVuPdEeYbK6wAQSRjFSvcIFykeb+7htDowCA= 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 170669531694184.68152313402481; Wed, 31 Jan 2024 02:01:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rV7PB-0004Nt-Ky; Wed, 31 Jan 2024 05:01:17 -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 1rV7Oz-0004Jw-56 for qemu-devel@nongnu.org; Wed, 31 Jan 2024 05:01:08 -0500 Received: from mgamail.intel.com ([192.198.163.7]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rV7Ov-0008Lk-C4 for qemu-devel@nongnu.org; Wed, 31 Jan 2024 05:01:03 -0500 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jan 2024 02:01:00 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 31 Jan 2024 02:00:55 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1706695261; x=1738231261; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P75hIY8ln1D9u2W+mLieQMGqsvAMwEhg8IjnXVe3yso=; b=Tp8PPsJw/bsgRgkc/AdajOT4yXHFnmjH+2SRBpMUpKtmN46QOyerwi/v kNUCONZuwqqtP1xn7VA5mbMxBjgGvNLUJw/IJwt/NBMiGdlLUfRYw39me YhuGnkm8Ek6WUHzlzBk5hROLNey23LnHDbzbmHa/tM5oBquJzSogVp1gj xNbMFjlNpI554o7y97Lg7OodQfj4hGI9NMbybBgYJx3rnLDLOzGRAOfAS wjl67K7QYVX+8GxV9aEfLgMwiT1qSd6wnM8a8pB0Yp00/dwqLNozWvm6X woTv7YCm84UD1VaVAyvj3LphAdsLLuY0OKUVkPmPL3yi5wmnFdcsXpJMQ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10969"; a="25032560" X-IronPort-AV: E=Sophos;i="6.05,231,1701158400"; d="scan'208";a="25032560" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,231,1701158400"; d="scan'208";a="4035962" From: Zhao Liu To: Eduardo Habkost , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , "Michael S . Tsirkin" , Paolo Bonzini , Richard Henderson , Eric Blake , Markus Armbruster , Marcelo Tosatti Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Babu Moger , Xiaoyao Li , Zhenyu Wang , Zhuocheng Ding , Yongwei Ma , Zhao Liu Subject: [PATCH v8 04/21] hw/core: Support module-id in numa configuration Date: Wed, 31 Jan 2024 18:13:33 +0800 Message-Id: <20240131101350.109512-5-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240131101350.109512-1-zhao1.liu@linux.intel.com> References: <20240131101350.109512-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.7; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -32 X-Spam_score: -3.3 X-Spam_bar: --- X-Spam_report: (-3.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.292, 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: 1706695317584100001 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