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

Re: [PATCH] device-tree: Improve hwdom memory allocation for DMA


  • To: Michal Orzel <michal.orzel@xxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Mon, 20 Apr 2026 14:54:56 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=amd.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=kWpjB2JvLWoy1kis/0rOO/HjxxEQBOIOH8FqHFE9iio=; b=jyhwVRLglBy6Llw6nV7lNps6JAK37I5xz6FFdjLGdOZz8G47a1ewUALdq6znd24vpud5cIIaDbvnmGtdoN93OSbJnKWn14ktCLhi7nvmaC4V9Sc925CqC0hHdN1IXllOxjKFEynf3JCcwev3z9t3hb1ebpnpVcvK+/hdCg57vCDvOdaaUTHaKlG5SCyK56nI68ew7RDCN+yWbyA21WmxKsDpaC3dfY+qRApoW6egpv59kHwt92xKjgU7sUxAxcMfoEPLmxuga24MFOexXBBKPlnL6lavK8SY0yXgyONbK7yxpu0q2Fbmlc6RqkSBNM6YMUgEN3RsikGUxll3jeEVvA==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=kWpjB2JvLWoy1kis/0rOO/HjxxEQBOIOH8FqHFE9iio=; b=PJZ7bamJhElGlkqKl3oQ0VMgChZM9VZoHzzqh4UKHdemdsqeEhYE2UkaLL/Gj58eahkyHudgypaHvi7M64EvT+/mpoYz/caxYNsI60JG4bmv9/Jx/yqIiNBeAaIoFtKqGtlmNWsm52mzqDSjtyZX0WaHLvoVh+xqfVx04E7j1Enrrzrzs5Ppk0ByRBkZPSfxWgByFUuZvNwNjZnHzpVKPEJH8aT1VH4qB8uKCH7qFJAA3TMYGm7WcJfKY0JRbRPiZ/ja33cYmLiNsz6qOiFCWqbZYF0JDs//bzBnU03p8gM29g+2SokkHlXZRkAtNk6Od9ZL/IbtGZOShgm32tdXGw==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=fSLzaywK1OCM3uxx2F+Zbk9hl1EQHRWSGt4iVUhjROR/oKPfGdBmpJcngHIaXelGP/zKJTyiU17VEKvJHCzX01FtX6jJf8kD+nFeUOE9aJMbrUZbcvjpnU6MmEYv4R6JV3G9yUvKzvnLd8B/YZnYvIbxDGiE4uYWMeN7yiq/BDaWCl2de3Y7Kln5TwI1fcrBJcYm0IdzGyq5QJ6ipydxYcyhA9jL1dRzIhJicwpxfiLAwlC+LZd1yQs0Bq7snxPjWwELhxL0abBD7snWxMmM8bpQFhQYzae/izHRDYDHwLGtfBdlAGOUDJwLeifzroLX87Px1JjmE/eMwCkmoEYL7g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X7Md+201UA3xKsPClInKmfICDOV+gq8obrVqQ20PzmziXbm09rIrXV3GFH41kLUPL1VLY0+nzONKkIQxmvAOrzES8ddaLjJe2JtWMBA4t6475ivkq1bpw99g0UO5hrrSE/YzWxrP9XhSpRmqHABMJYNsP9Il9YeLFs1qVSY17XSCHt0kNPvDwdRE9C6IzX1M6bHOz0fR6qOOaidRyAiBj5zMJxaf/m7pVfICOM/n8DXGU1i4nUxPjDj+goM7TPeL8lTT6VBTig2LzJeNd35x0dj27qFjcPW8K0kT1W3mBBKJiO9n8Kbhqo5vFkbTWg0Y54JBQZ8hlL3eXDFsJ+Cqdw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Delivery-date: Mon, 20 Apr 2026 14:56:17 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHczkpLp1xSo4q8Z0ODZraWVEzberXoDpSA
  • Thread-topic: [PATCH] device-tree: Improve hwdom memory allocation for DMA

Hi Michal,

> On 17 Apr 2026, at 10:11, Michal Orzel <michal.orzel@xxxxxxx> wrote:
> 
> When LLC coloring is enabled, the hardware domain gets memory from
> host free regions rather than the fixed guest RAM banks.  The previous
> code sorted these regions by descending size, which usually causes
> high-address memory to be allocated first.
> 
> All allocated memory could reside above 4 GB leaving DMA non-functional
> for devices with limited addressing capabilities.
> 
> Improve the handling as follows:
> - Sort free regions by ascending address instead of descending size,
>  so low-memory banks are allocated first,
> - Skip banks smaller than 128 MB (or the total remaining allocation,
>  whichever is less) until the first bank is placed, ensuring
>  place_modules() has enough contiguous space,
> - Extract the hardware domain allocation path into its own function
>  (allocate_hwdom_memory) for clarity.
> 
> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
> ---
> xen/common/device-tree/domain-build.c | 152 ++++++++++++++++----------
> 1 file changed, 96 insertions(+), 56 deletions(-)

It looks ok to me, the only thing is that if we have many smaller banks < 128 
Mb before reaching
one that is at least 128 Mb, we won’t allocate them and loose them forever.

It feels only a corner case so for me it’s ok

Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx 
<mailto:luca.fancellu@xxxxxxx>>

Cheers,
Luca



 


Rackspace

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