Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-31 Thread Oleksandr Andrushchenko
Hi, Roger! On 31.01.22 10:56, Roger Pau Monné wrote: > On Fri, Jan 28, 2022 at 02:15:08PM +, Oleksandr Andrushchenko wrote: >> Hi, Roger, Jan! >> >> On 13.01.22 10:58, Roger Pau Monné wrote: >>> On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote: On 12.01.2022 16:42, Roger Pau

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-31 Thread Roger Pau Monné
On Fri, Jan 28, 2022 at 02:15:08PM +, Oleksandr Andrushchenko wrote: > Hi, Roger, Jan! > > On 13.01.22 10:58, Roger Pau Monné wrote: > > On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote: > >> On 12.01.2022 16:42, Roger Pau Monné wrote: > >>> On Wed, Jan 12, 2022 at 03:57:36PM

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-30 Thread Oleksandr Andrushchenko
Hi, Jan, Roger! On 26.01.22 13:13, Roger Pau Monné wrote: > On Wed, Jan 26, 2022 at 08:40:09AM +, Oleksandr Andrushchenko wrote: >> Hello, Roger, Jan! >> >> On 12.01.22 16:42, Jan Beulich wrote: >>> On 11.01.2022 16:17, Roger Pau Monné wrote: On Thu, Nov 25, 2021 at 01:02:40PM +0200,

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-28 Thread Oleksandr Andrushchenko
Hi, Jan! On 12.01.22 16:57, Jan Beulich wrote: > On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: >> @@ -68,12 +84,13 @@ int vpci_add_handlers(struct pci_dev *pdev) >> /* We should not get here twice for the same device. */ >> ASSERT(!pdev->vpci); >> >> -pdev->vpci =

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-28 Thread Oleksandr Andrushchenko
Hi, Roger, Jan! On 13.01.22 10:58, Roger Pau Monné wrote: > On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote: >> On 12.01.2022 16:42, Roger Pau Monné wrote: >>> On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote: On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: >

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-26 Thread Roger Pau Monné
On Wed, Jan 26, 2022 at 08:40:09AM +, Oleksandr Andrushchenko wrote: > Hello, Roger, Jan! > > On 12.01.22 16:42, Jan Beulich wrote: > > On 11.01.2022 16:17, Roger Pau Monné wrote: > >> On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote: > >>> diff --git

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-26 Thread Oleksandr Andrushchenko
Hello, Roger, Jan! On 12.01.22 16:42, Jan Beulich wrote: > On 11.01.2022 16:17, Roger Pau Monné wrote: >> On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote: >>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c >>> index 657697fe3406..ceaac4516ff8 100644 >>> ---

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-13 Thread Roger Pau Monné
On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote: > On 12.01.2022 16:42, Roger Pau Monné wrote: > > On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote: > >> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: > >>> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf,

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-12 Thread Jan Beulich
On 12.01.2022 16:42, Roger Pau Monné wrote: > On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote: >> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: >>> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, >>> unsigned int size) >>> >>> data =

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-12 Thread Roger Pau Monné
On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote: > On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: > > @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, > > unsigned int size) > > > > data = merge_result(data, tmp_data, size - data_offset, > >

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-12 Thread Jan Beulich
On 25.11.2021 12:02, Oleksandr Andrushchenko wrote: > @@ -68,12 +84,13 @@ int vpci_add_handlers(struct pci_dev *pdev) > /* We should not get here twice for the same device. */ > ASSERT(!pdev->vpci); > > -pdev->vpci = xzalloc(struct vpci); > -if ( !pdev->vpci ) > +vpci =

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-12 Thread Jan Beulich
On 11.01.2022 16:17, Roger Pau Monné wrote: > On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote: >> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c >> index 657697fe3406..ceaac4516ff8 100644 >> --- a/xen/drivers/vpci/vpci.c >> +++ b/xen/drivers/vpci/vpci.c >>

Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci

2022-01-11 Thread Roger Pau Monné
On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote: > diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c > index 657697fe3406..ceaac4516ff8 100644 > --- a/xen/drivers/vpci/vpci.c > +++ b/xen/drivers/vpci/vpci.c > @@ -35,12 +35,10 @@ extern vpci_register_init_t

[PATCH v5 03/14] vpci: move lock outside of struct vpci

2021-11-25 Thread Oleksandr Andrushchenko
From: Roger Pau Monne This way the lock can be used to check whether vpci is present, and removal can be performed while holding the lock, in order to make sure there are no accesses to the contents of the vpci struct. Previously removal could race with vpci_read for example, since the lock was