[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: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Thu, 11 Aug 2022 15:09:30 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.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=TLGp5dnrcZ7yzcqXuBT5hQELMhz0zQwP28EYOVgCd/g=; b=WxKveXxv9hVmIdQRCAVseSCwZDfhaSg4riaCZ5nIl12KtEzYQJmtIKZJaWdjZlm8yhIyvWI8FysppqW2OISbkpV4ezPDyRdi1A6TZOa7ZkTrbDsPHbNAAmwjFFB+S8E68iIxCmRxvUS31e2mdt+ziz08TUYs2pt0wct3ONkb2ci/oX7mBopMlQ2Wigt0dvrYnTrhRHr8A4E/u7ppWIcg41lFst+tU1kQfYi3ay4SrTfHbAfGVDloSRXAy3wulrbN90RS/gBBLMLKwZagoLzLCpNQ68+mkwjeQuOKLkE1ymrOW/lzlOznM1xOjL4l10V6+ygb2kC/nqKxJIT7SZ866A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kRgacQU6fB3PlBx9JD/fRwD46UBc6e1l4uRh321E/r+5OIb/819mxOCqbxKTC6bWC11Um/aXRzOTbaNZClDsK8OihJEZobI6oJ0HuIz0V2wpyf3uSumi3hb96GQgMlIvDu53je76jiHDA41iHNd4slkpLIEd6Y7oXVGcRcRJTIDfnk2BnYu3QABZSfbj+oJUnqmixtw9YAv+x9a5RCnnyzBvS/gC1pbdro+AjTXDzefo5ziDtacBCDoXvzQVGaakrH1XKhiM2PC91zEYDnpEsp/zFe33uCB96NB3eEWFZ8Xvx0Exi0H11BxfdIN0sQSgUtR29vx02LqmJmFHSLWExQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.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 15:09:41 +0000
  • Ironport-data: A9a23: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
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYrXBuhfhLVAQnY0WV4dbewZaCI62pr6eAgAABgwCAABypgA==
  • Thread-topic: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()

On 11/08/2022 14:26, Jan Beulich wrote:
> 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.

What's the likelihood of getting to that before 4.17 goes out?

I'd prefer to see it fixed, and obviously even more conversion to sbdf_t
is better.

Basically, I'm happy for the conversion to not be in this patch, as long
it's not going to get forgotten.

~Andrew

 


Rackspace

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