[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
|