Re: [PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-12 Thread Jan Beulich
On 09.08.2024 17:02, Stewart Hildebrand wrote: > On 8/9/24 09:05, Jan Beulich wrote: >> On 09.08.2024 06:09, Stewart Hildebrand wrote: >>> On 8/7/24 11:21, Jan Beulich wrote: On 07.08.2024 07:20, Stewart Hildebrand wrote: > --- a/xen/arch/x86/msi.c > +++ b/xen/arch/x86/msi.c > @@ -

Re: [PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-09 Thread Stewart Hildebrand
On 8/9/24 09:05, Jan Beulich wrote: > On 09.08.2024 06:09, Stewart Hildebrand wrote: >> On 8/7/24 11:21, Jan Beulich wrote: >>> On 07.08.2024 07:20, Stewart Hildebrand wrote: --- a/xen/arch/x86/msi.c +++ b/xen/arch/x86/msi.c @@ -662,7 +662,8 @@ static int msi_capability_init(struct p

Re: [PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-09 Thread Jan Beulich
On 09.08.2024 06:09, Stewart Hildebrand wrote: > On 8/7/24 11:21, Jan Beulich wrote: >> On 07.08.2024 07:20, Stewart Hildebrand wrote: >>> --- a/xen/arch/x86/msi.c >>> +++ b/xen/arch/x86/msi.c >>> @@ -662,7 +662,8 @@ static int msi_capability_init(struct pci_dev *dev, >>> return 0; >>> } >>>

Re: [PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-08 Thread Stewart Hildebrand
Hi Jan, Thanks for the feedback. On 8/7/24 11:21, Jan Beulich wrote: > On 07.08.2024 07:20, Stewart Hildebrand wrote: >> --- a/xen/arch/x86/msi.c >> +++ b/xen/arch/x86/msi.c >> @@ -662,7 +662,8 @@ static int msi_capability_init(struct pci_dev *dev, >> return 0; >> } >> >> -static u64 read

Re: [PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-07 Thread Jan Beulich
On 07.08.2024 07:20, Stewart Hildebrand wrote: > --- a/xen/arch/x86/msi.c > +++ b/xen/arch/x86/msi.c > @@ -662,7 +662,8 @@ static int msi_capability_init(struct pci_dev *dev, > return 0; > } > > -static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int > vf) > +static u64

[PATCH v2] x86/msi: fix locking for SR-IOV devices

2024-08-06 Thread Stewart Hildebrand
In commit 4f78438b45e2 ("vpci: use per-domain PCI lock to protect vpci structure") a lock moved from allocate_and_map_msi_pirq() to the caller and changed from pcidevs_lock() to read_lock(&d->pci_lock). However, one call path wasn't updated to reflect the change, leading to a failed assertion obser