From patchwork Tue Feb 27 10:32:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Liu X-Patchwork-Id: 13573460 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2BB01384AF for ; Tue, 27 Feb 2024 10:19:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709029156; cv=none; b=pAufMcfhwMgkpSXN67roLOSjH5j7TDaGgovO7GeAkyby3/L7gkvd4Tovx4IbTnjON3h8UZqKJlanFdRCYGYaUcXmomBlK0W4/HTH78+bqvJZ/UajtTaY0Oo21ohsK4JES/l3j1n7cSONkTkqh0lli7MKMauG4jKaP1CwzK/Rj0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709029156; c=relaxed/simple; bh=P75hIY8ln1D9u2W+mLieQMGqsvAMwEhg8IjnXVe3yso=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OifiyM3yJW1wJ+yWyBqIHtndAsdejLR5bDs49DYM/RjfWAa2VFRcLuadrdZvySxaaxCNgd0UuymN8ll1aoj7EOj+B80b9TLYVOD3qLctXY/AK7n1bZV6IWWX9TZGPWdAi5rSIYLoXLklHG1eKABPMtMYn722wdqqp+xVdYL6/Tg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=iEYhbfdC; arc=none smtp.client-ip=192.198.163.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="iEYhbfdC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709029154; x=1740565154; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P75hIY8ln1D9u2W+mLieQMGqsvAMwEhg8IjnXVe3yso=; b=iEYhbfdCedqKtjzW48kbRwpjrCKxfUWl9wyVpMV9ryFKCf7K3ehiBL1T P2X8qW+eLgQsM+/gpWUlccqhVdRfvnAhzcjmlu4xX+RAOsctes5ti31c4 CWLreva+tIOSVvc5SHOz7YpiJjSqwughSOw7IeffTPEeRVKB/I1JMikh7 wBVCDoLsyVKCYUTqOoc6yTFpro+Io+I/C7of85m1eFOm/FzuA40/Qg8Pv l4VmxthBbY4CWSHYrcNCETW6COFisg8X3TqxGHAs01HFzkIDRfoXZlQgL 0Z2GQNnS/yo0y+WAMywogv32yNJrNYca/yO1fks/iSfZa/ue3p1mJW3Al w==; X-IronPort-AV: E=McAfee;i="6600,9927,10996"; a="6310233" X-IronPort-AV: E=Sophos;i="6.06,187,1705392000"; d="scan'208";a="6310233" 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 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,187,1705392000"; d="scan'208";a="6954771" 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 From: Zhao Liu To: Eduardo Habkost , Marcel Apfelbaum , =?utf-8?q?Philippe_Mathieu-D?= =?utf-8?q?aud=C3=A9?= , Yanan Wang , "Michael S . Tsirkin" , Richard Henderson , Paolo Bonzini , Eric Blake , Markus Armbruster , Marcelo Tosatti , =?utf-8?q?Daniel_P_=2E_Berrang=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> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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; } + 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; } + if (props->has_module_id && + props->module_id != slot->props.module_id) { + continue; + } + if (props->has_cluster_id && props->cluster_id != 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.cluster_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, ", ");