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

Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()


  • To: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 11 Aug 2022 15:26:54 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dZcPGgeiH61EGCv6EwTUFJqLvVZ7xjcfLcZdbsm1rik=; b=lpLTjWog1yYp0Ke27773rkLxy5gR6+c33Ob/G2bW7/0duW/k1yt/R+Wnur8h1ZEawSXWfRVPh94IeZeAgMXVkdhDxyB0qOxKH5RbxpAkJ2UCErQiCHx4ihBc8+rD1Zf0eKK9uk5Gju/0Dv9L824JwYJI3z2afU8bDpDAZRJmejeOFFAojo2+Tl0CabLeD4pc+4VR0Kn8L5kkFQUq3hLsB9mumbnaS64zp2dFOQyMZvq+by71ROUr7CiqJ9rYdWccjKNT6NRq9OQQnzhVITLQg+vGeYYoe3Idj8LKYxRO2Z34sVp2m3vMfSa5h82Z9zvXRJQJ7w9mqbY6xtle+zc7vg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R9VoU9NJL9zZpsbI6xjOPpBCCZ+YZhi7ANaTg461YP+y+Z98GnsxFIKKdJVUQLzn0/IOjSo9R6cL3XtDP3ibGb3Eva77NDi3hKyv+F7g81bCD0Qsur+rT/ECsyR49nH4/0fMHz43JZqP9A/wYFwwb2+nLFm3LRGNiHiC8HS4h0Hzka/qiWPzayXW22lM1hZaLDCTFBOQlH0wmXfhylGnlFOHMUypm37mZmwlzCfHjjXe3C4sXPMaTNNpicyB1GMxE0kwUVvyXYoWNX/tQeWmC4OxxTix9g0LRflU1s6k7GT7SUSYRbemVTc6bvYs78LX4jvMjCZTX1nFpVzJv34mqA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Paul Durrant <paul@xxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Rahul Singh <Rahul.Singh@xxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 11 Aug 2022 13:27:06 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 11.08.2022 15:21, Andrew Cooper wrote:
> On 11/08/2022 11:52, Jan Beulich wrote:
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -2162,7 +2162,7 @@ int map_domain_pirq(
>>          if ( !cpu_has_apic )
>>              goto done;
>>  
>> -        pdev = pci_get_pdev_by_domain(d, msi->seg, msi->bus, msi->devfn);
>> +        pdev = pci_get_pdev(d, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
> 
> Oh, I should really have read this patch before trying to do the sbdf
> conversion in patch 1.
> 
> However, it occurs to me that this:
> 
> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
> index 117379318f2c..6f0ab845017c 100644
> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -59,9 +59,14 @@
>  #define FIX_MSIX_MAX_PAGES              512
>  
>  struct msi_info {
> -    u16 seg;
> -    u8 bus;
> -    u8 devfn;
> +    union {
> +        struct {
> +            u8 devfn;
> +            u8 bus;
> +            u16 seg;
> +        };
> +        pci_sbdf_t sbdf;
> +    };
>      int irq;
>      int entry_nr;
>      uint64_t table_base;
> 
> will simplify several hunks in this patch, because you can just pass
> msi->sbdf rather than reconstructing it by reversing 32 bits worth of
> data from their in-memory representation.

No, I'm strictly against introducing a 2nd instance of such aliasing
(we already have one in struct pci_dev, and that's bad enough). There
could be _only_ an "sbdf" field here, yes, but that'll have knock-on
effects elsewhere, so wants to be a separate change. And there are far
more places where imo we'll want to use pci_sbdf_t.

> Preferably with something to this effect included, Reviewed-by: Andrew
> Cooper <andrew.cooper3@xxxxxxxxxx>

Thanks.

Jan



 


Rackspace

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