[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



 


Rackspace

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