[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 02/13] vpci: use per-domain PCI lock to protect vpci structure
On 21.07.2023 09:43, Roger Pau Monné wrote: > On Fri, Jul 21, 2023 at 08:02:33AM +0200, Jan Beulich wrote: >> On 20.07.2023 18:14, Roger Pau Monné wrote: >>> Strictly speaking however the init >>> handlers don't require the lock in write mode unless we use such >>> locking to get exclusive access to all the devices assigned to the >>> domain BARs array for modify_bars(). >> >> Aiui in the present model modify_bars() has to use the vpci lock for >> protection. > > But the current protection is insufficient, as we only hold the vpci > lock of the current device, but we don't hold the vpci lock of the > other devices when we iterate over in order to find overlapping bars > (or else it wold be an ABBA deadlock situation). > > So my suggestion (which can be done later) is to take the newly > introduced per-domain rwlock in exclusive mode for modify_bars() in > order to assert there are no changes to the other devices vpci bar > fields. I think this makes sense, just that it doesn't belong in this patch. Jan >> Therefore imo in any of the init functions the assertions >> should either express the real requirements of those functions, or be >> omitted on the basis that they're all called out of add-handlers >> anyway. > > I'm happy to omit for the time being. Iff we agree that modify_bars() > requires the rwlock in exclusive mode then we could add the assertion > there, but not in the init functions themselves. > > Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |