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

Re: [PATCH v2 10/11] vpci: Add initial support for virtual PCI bus topology


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
  • Date: Wed, 29 Sep 2021 13:16:11 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.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; bh=xul+tKc9Ri+hyTebX1TzVUIGgFxYiU4G3VIfMrQDQJg=; b=ZFNFreQTGVqY39Gu9EfSHjHgt60jdETfldX0hTQmk395FLZ5gELsNVPYfs67Si8Kl58zu8GHfp2X8s2zVwsVj4Tnpt3Ntqs/XsOnM0h9M9X9n8GrXLMsvk48Fdwh52BUvjK1fzTjoG+EfYd17biKmb8xzOipQqbFa6hgK3F+2n6dbdku5QXn9eZ/9klW2HOYtN8jmMRfWXAVHkxs34TUHB49pUiZbgI9jm7zkROxbpU2SbmK3PBqI3htX4Y7IRzxSNNHpYG8h8WKIvVGf7nnuSGnqEB3fQMh6F4U4HuEX9HRtbMqftsB3VsXGS06YLqBuVJOYbs3RE6i7sN6pGYlJg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mM3dmphBoB1ny7yVlImfhSWZSIlwK7Cqa3WoGcUMbt9u8Cq+punH5opiQcpmHZ9rbkh3w6mscMiM3482RDP1GsdyRLAOunVLD1cLWF+RVRd/S0vu9ia9fFKTlBFKH/Ebgtu5+98YZAJo/ak/7GbvmpIur6hqtjMlbRKeO4zRBS6QSooxXVN35FlGvLo6GWqnAbm/uMbmLeddmbTDv16895pW3C+QksjvvA3P++mV5IPFs7IFwmjfkC8ZfoQsKvvzmjWPqYPG4Lk76pd0x6lPAiaTy96JtbaqTUKBAWoe7OVUn0fVaQxNVGQrOXA46uk2wDvXyicQQA5sce5xX7Tdkw==
  • Authentication-results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=epam.com;
  • Cc: "julien@xxxxxxx" <julien@xxxxxxx>, "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Artem Mygaiev <Artem_Mygaiev@xxxxxxxx>, "roger.pau@xxxxxxxxxx" <roger.pau@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Rahul Singh <rahul.singh@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
  • Delivery-date: Wed, 29 Sep 2021 13:16:31 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHXsHpEaYKJY1uGNUmlwbBKeBrI6Ku5GYwAgAAC+oCAAAUNAIAATmyAgAFQpACAAAGzgIAALsGAgAAQSwCAAAYBgA==
  • Thread-topic: [PATCH v2 10/11] vpci: Add initial support for virtual PCI bus topology

On 29.09.21 15:54, Jan Beulich wrote:
> On 29.09.2021 13:56, Oleksandr Andrushchenko wrote:
>> On 29.09.21 12:09, Jan Beulich wrote:
>>> On 29.09.2021 11:03, Oleksandr Andrushchenko wrote:
>>>> Sorry for top posting, but this is a general question on this 
>>>> patch/functionality.
>>>>
>>>> Do you see we need to gate all this with CONFIG_HAS_VPCI_GUEST_SUPPORT
>>>> as this renders in somewhat dead code for x86 for now? I do think this 
>>>> still
>>>> needs to be in the common code though.
>>> I agree it wants to live in common code, but I'd still like the code to
>>> not bloat x86 binaries. Hence yes, I think there want to be
>>> "if ( !IS_ENABLED() )" early bailout paths or, whenever this isn't
>>> possible without breaking the build, respective #ifdef-s.
>> Then it needs to be defined as (xen/drivers/Kconfig):
>>
>> config HAS_VPCI_GUEST_SUPPORT
>>       # vPCI guest support is only enabled for Arm now
>>       def_bool y if ARM
>>       depends on HAS_VPCI
>>
>> Because it needs to be defined as "y" for Arm with vPCI support.
>>
>> Otherwise it breaks the PCI passthrough feature, e.g. it compiles,
>>
>> but the resulting binary behaves wrong.
>>
>> Do you see this as an acceptable solution?
> Like all (or at least the majority) of other HAS_*, it ought to be
> "select"-ed (by arm/Kconfig). Is there a reason this isn't possible?
> (I don't mind the "depends on", as long as it's clear that it exists
> solely to allow kconfig to warn about bogus "select"s.)

There is yet no Kconfig exists (even for Arm) that enables HAS_VPCI,

thus I can't do that at the moment even if I want to. Yes, this can be deferred

to the later stage when we enable VPCI for Arm, bit this config option is still

considered as "common code" as the functionality being added

to the common code is just gated with CONFIG_HAS_VPCI_GUEST_SUPPORT.

With this defined now and not later the code seems to be complete and more clean

as it is seen what is this configuration option and how it is enabled and used 
in the

code.

So, I see no problem if it is defined in this Kconfig and evaluates to "n" for 
x86

and eventually will be "y" for Arm when it enables HAS_VPCI.


>
> Jan
>
Thank you,

Oleksandr

 


Rackspace

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