[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/2] IOMMU/spinlock: Make the pcidevs_lock a recursive one
>>> On 09.03.16 at 14:17, <quan.xu@xxxxxxxxx> wrote: > Signed-off-by: Quan Xu <quan.xu@xxxxxxxxx> > Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx> The patch itself looks mostly fine now (see below for the minor left issues), but the complete lack of a description (which should state why this change is being done) makes this not ready to go in anyway. > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -48,7 +48,7 @@ struct pci_seg { > } bus2bridge[MAX_BUSES]; > }; > > -spinlock_t pcidevs_lock = SPIN_LOCK_UNLOCKED; > +static spinlock_t _pcidevs_lock = SPIN_LOCK_UNLOCKED; Why the renaming? > @@ -103,6 +103,26 @@ static int pci_segments_iterate( > return rc; > } > > +void pcidevs_lock(void) > +{ > + spin_lock_recursive(&_pcidevs_lock); > +} > + > +void pcidevs_unlock(void) > +{ > + spin_unlock_recursive(&_pcidevs_lock); > +} > + > +int pcidevs_is_locked(void) bool_t > +{ > + return spin_is_locked(&_pcidevs_lock); > +} > + > +int pcidevs_trylock(void) bool_t (To avoid another round, please be aware that the underlying spin lock primitives still [wrongly] use "int", so to be fully correct you will need to use !! in both return statements, unless you feel like (in another prereq patch) to adjust those primitives too. > +{ > + return spin_trylock_recursive(&_pcidevs_lock); > +} I also think that it would be a good idea to place these helpers and the lock definition next to each other. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |