[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 07/19] arm/gnttab: Break cycle between asm/grant_table.h and xen/grant_table.h
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Alejandro Vallejo <agarciav@xxxxxxx>
- Date: Mon, 2 Jun 2025 16:30:56 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
- 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=DztQnG2UMubC+EwWW6HqFUliBpkKn8jWegdjsxqAeQo=; b=AwKwfzr6A8ESISWbCt9ivfcUib6cOkfw+2wigtTp2TgOVQ5VqRgcdSteFtsCuCj5AjOPBCBYWoN+Ehzbg0JelexdaMw6fIC1oJLaNt5Isz4TrosTJGMiVPpDs+8tnpJxEweOLvb471h57WOQyc7EpnvBSrZ5zD/HBxTllbUzTC59bzrh0GWqYQIiFNI9SWUK5ARjTfJ8htj9UthFLw3Q4laefXglI8whZdUNzz37AHoM83xdEud1k6qDWNOESYtB+9c5aIWOyoV8wFdsobVDrZIMAj6aRWTnW0gfKuiXnzveGA25dvkV8/QZZkK5iQgooBgI3qEQEDFIJ0ads1qGuQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YgylZAB+tO8GOrpFvLqcBMQbf6yKFOf9ktAdf8NCyEukiwe9uFD9lcaM+uXkfSLtbgQCCR0Km7LuUOV2VIWtKhGc1+kximjxoWUD0kdum3Zq/0DG2kufHYTe2nbWkDCvM4OHyy5yzVvfRNC99MEunN/E1a7qzY1i4VPGAibL3U3xCCLDGxlTwkYwzxETFoq+6kQmghngFoMjqQ7NJntStYn/KYZCADRva/47XI4Dxo/+Cvyi0jObmJCggnkRVgeQHIfrbL1QDNOzNhAozJr9xTN/uQpDWheVZwZBZROsDZktn8vJkRtRTfjX1duVPXt2boxBMoSypVsoVz/gJoZRqQ==
- Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Mon, 02 Jun 2025 14:31:10 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Mon Jun 2, 2025 at 9:53 AM CEST, Jan Beulich wrote:
> On 30.05.2025 14:02, Alejandro Vallejo wrote:> ---
> a/xen/include/xen/grant_table.h
>> +++ b/xen/include/xen/grant_table.h
>> @@ -27,7 +27,7 @@
>> #include <xen/rwlock.h>
>> #include <public/grant_table.h>
>>
>> -#ifdef CONFIG_GRANT_TABLE
>> +#if __has_include("asm/grant_table.h")
>> #include <asm/grant_table.h>
>> #endif
>
> This change looks wrong (or otherwise is lacking justification): With
> GRANT_TABLE=n
> the arch header isn't supposed to be included.
>
> Jan
It's not equivalent to the previous code; but that's a feature, not a bug.
Not including the header with GRANT_TABLE=n was the best we could with
the older toolchains in order to not try to include a header that might not
exist. The high number of sequential inclusions of xen/grant_table.h and
asm/grant_table.h seem to attest to that.
I can ammend the commit message to be clearer, but IMO this is what it was
always
meant to be. I can replace the current commit message with:
"The previous toolchain base version didn't provide __has_include(), which
allows conditional inclusion based on a header's existence. Lacking that
feature the inclusion was guarded by the GRANT_TABLE option being present
but even then sometimes the arch-specific header is required even when
the option is not selected. This causes inclusion sites to needlessly
include both asm/grant_table.h and xen/grant_table.h.
Using __has_include() removes this requirement at inclusion sites."
Thoughts?
Cheers,
Alejandro
|