Re: [PATCH 7/8] locking: Use [READ,ASSIGN]_ONCE() for non-scalar types

From: Peter Zijlstra
Date: Sun Dec 28 2014 - 11:38:20 EST


On Sun, Dec 28, 2014 at 01:11:22AM -0800, Davidlohr Bueso wrote:
> I guess everyone will eventually have to update, so lets
> do our part... and become the first users of ASSIGN_ONCE().

> - ACCESS_ONCE(prev->next) = node;
> + ASSIGN_ONCE(node, prev->next);

> - struct mcs_spinlock *next = ACCESS_ONCE(node->next);
> + struct mcs_spinlock *next = READ_ONCE(node->next);

That's disgusting and sad, doubly so because I was entirely unaware of that stuff.
--
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/