[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v8 0/6] Device tree based NUMA support for Arm - Part#2


  • To: Wei Chen <wei.chen@xxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 14 Nov 2022 09:05:20 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hzeG/rUAn0/ElhMrKWbiKgW5t+kpvQ1MfO9huLRsLtQ=; b=JAI+g+Y752E16vx4LxVHiJqJntbgOBHIf7hx1GYrKfch2nmRaotX45hou75t8DLPjXfOMpufRqfRkRpe1HXE4seO9OH1dNyOktsZdSYOLv9V6TUS2fdWLvHYnFIPoTU0JKiwDlNm/+7ICvnZ8uUDj7rUsrnFjb8+hw0iYYGFdSWzRJCI8hX7Dx5FSQWdsXfDlqgSF5rc2m5hh5u/bkW9QggRYvL55Y7D3rHKcQFwzqJe2BDQEaS8C165EDZ6yUDQbXnlfVKQpuQQ0jEvQVY3tSs6btii1DZU11eBpOcrGRY7IppvM3Mh6sbwtjeMloOty2BR14ptBOvnNTfU0gL77A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ENJwJIshxyLE8QFcmVcIRiwDpWqWm42jsjEhgukiz84cHAqKZT9NttAhKThTDEfT5Dz5zB8VG6rhPoq2VpT4rO+ad/o6QsAutRqFiVZc+IuutpkBMjvxQ3NCTaBk+MLK+at3F+S/p49vfVtOfAP1ltyzWsrpl7TW0RCKRJSwO8Z0GyGN1BvU1JK6mLkV5pHcS1w9aqASXJMquSOYJPDsS2Dpw+JtWYX7nNFa++vCevGRYaajWFRZaWiCI0wRpEPihKD2znKpg/2umPQyoTNPVRrdR/OuZInDUexqBKs/MIK/IypyBywUvaJfSyZH0AYD1Q1ULFl44Td2beqnMvvEVw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: nd@xxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 14 Nov 2022 08:05:27 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 14.11.2022 07:34, Wei Chen wrote:
> (The Arm device tree based NUMA support patch set contains 35
> patches. In order to make stuff easier for reviewers, I split
> them into 3 parts:
> 1. Preparation. I have re-sorted the patch series. And moved
>    independent patches to the head of the series - merged in [1]
> 2. Move generically usable code from x86 to common - this series.
> 3. Add new code to support Arm.
> 
> This series only contains the second part patches. As the whole NUMA
> series has been reviewed for 1 round in [2], so this series would
> be v8)
> 
> Xen memory allocation and scheduler modules are NUMA aware.
> But actually, on x86 has implemented the architecture APIs
> to support NUMA. Arm was providing a set of fake architecture
> APIs to make it compatible with NUMA awared memory allocation
> and scheduler.
> 
> Arm system was working well as a single node NUMA system with
> these fake APIs, because we didn't have multiple nodes NUMA
> system on Arm. But in recent years, more and more Arm devices
> support multiple nodes NUMA system.
> 
> So now we have a new problem. When Xen is running on these Arm
> devices, Xen still treat them as single node SMP systems. The
> NUMA affinity capability of Xen memory allocation and scheduler
> becomes meaningless. Because they rely on input data that does
> not reflect real NUMA layout.
> 
> Xen still think the access time for all of the memory is the
> same for all CPUs. However, Xen may allocate memory to a VM
> from different NUMA nodes with different access speeds. This
> difference can be amplified in workloads inside VM, causing
> performance instability and timeouts.
> 
> So in this patch series, we implement a set of NUMA API to use
> device tree to describe the NUMA layout. We reuse most of the
> code of x86 NUMA to create and maintain the mapping between
> memory and CPU, create the matrix between any two NUMA nodes.
> Except ACPI and some x86 specified code, we have moved other
> code to common. In next stage, when we implement ACPI based
> NUMA for Arm64, we may move the ACPI NUMA code to common too,
> but in current stage, we keep it as x86 only.
> 
> This patch serires has been tested and booted well on one
> Arm64 NUMA machine and one HPE x86 NUMA machine.
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2022-06/msg00499.html
> [2] https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg01903.html
> 
> ---
> v7 -> v8:
>  1. Rebase code to resolve merge conflict.

You mention this here but not in any of the patches. Which leaves
reviewers guessing where the re-base actually was: Re-bases, at
least sometimes, also need (re-)reviewing.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.