Messages in this thread | | | Date | Fri, 11 Jun 2010 15:40:16 -0400 | From | Mathieu Desnoyers <> | Subject | sequence lock in Linux |
| |
Hi Paul,
(CCing lkml)
Is it just me, or the following code:
static __always_inline unsigned read_seqbegin(const seqlock_t *sl) { unsigned ret;
repeat: ret = sl->sequence; smp_rmb(); if (unlikely(ret & 1)) { cpu_relax(); goto repeat; }
return ret; }
could use a ACCESS_ONCE() around the sl->sequence read ? I'm concerned about the compiler generating code that reads the sequence number chunkwise.
The same apply to all other reads of the sequence number in seqlock.h (including the retry code).
Thoughts ?
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |