Re: [PATCH v4 1/3] qrwlock: A queue read/write lock implementation

From: Thomas Gleixner
Date: Thu Oct 24 2013 - 06:15:23 EST


On Wed, 23 Oct 2013, Waiman Long wrote:
> On 10/23/2013 08:00 AM, walken@xxxxxxxxxx wrote:
> > > + /*
> > > + * Wait until the next one in queue set up the next field
> > > + */
> > > + while (likely(!(next = ACCESS_ONCE(node->next))))
> > > + cpu_relax();
> > > + /*
> > > + * The next one in queue is now at the head
> > > + */
> > > +notify_next:
> > > + barrier();
> > > + ACCESS_ONCE(next->wait) = false;
> > > + smp_wmb();
> > > +}
> > I believe this could be unified with mspin_lock() / mspin_unlock() in
> > kernel/mutex.c ? (there is already talk of extending these functions
> > to be used by rwsem for adaptive spinning as well...)
>
> It probably can, but the unification can wait until the code are in.

The unification has to be done as a part of this series. Cleanups are
part of the development process of new code and not an optional
feature.

Thanks,

tglx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/