[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv3 2/2] spinlock: fair read-write locks
>>> On 01.02.16 at 12:31, <david.vrabel@xxxxxxxxxx> wrote: > +void queue_write_lock_slowpath(rwlock_t *lock) > +{ > + u32 cnts; > + > + /* Put the writer into the wait queue. */ > + spin_lock(&lock->lock); > + > + /* Try to acquire the lock directly if no reader is present. */ > + if ( !atomic_read(&lock->cnts) && > + (atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0) ) > + goto unlock; > + > + /* > + * Set the waiting flag to notify readers that a writer is pending, > + * or wait for a previous writer to go away. > + */ > + for (;;) Since everything else here has been nicely converted to Xen style, strictly speaking these should be for ( ; ; ) but of course this is no reason to block the patch. Since however, as said in reply to patch 1, ... > --- a/xen/include/xen/rwlock.h > +++ b/xen/include/xen/rwlock.h > @@ -3,6 +3,188 @@ > > #include <xen/spinlock.h> ... this should go away if possible, it would be nice for the cosmetic thing above to also be fixed up at once. With at least the latter taken care of, and assuming this won't incur other changes (apart from adding necessary includes here) Acked-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |