Commit 0ea5a520 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by John Stultz

seqcount: Provide raw_read_seqcount()

raw_read_seqcount opens a read critical section of the given seqcount
without any lockdep checking and without checking or masking the
LSB. Calling code is responsible for handling that.

Preparatory patch to provide a NMI safe clock monotonic accessor
function.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
parent 0e5ac3a8
...@@ -116,6 +116,22 @@ static inline unsigned __read_seqcount_begin(const seqcount_t *s) ...@@ -116,6 +116,22 @@ static inline unsigned __read_seqcount_begin(const seqcount_t *s)
return ret; return ret;
} }
/**
* raw_read_seqcount - Read the raw seqcount
* @s: pointer to seqcount_t
* Returns: count to be passed to read_seqcount_retry
*
* raw_read_seqcount opens a read critical section of the given
* seqcount without any lockdep checking and without checking or
* masking the LSB. Calling code is responsible for handling that.
*/
static inline unsigned raw_read_seqcount(const seqcount_t *s)
{
unsigned ret = ACCESS_ONCE(s->sequence);
smp_rmb();
return ret;
}
/** /**
* raw_read_seqcount_begin - start seq-read critical section w/o lockdep * raw_read_seqcount_begin - start seq-read critical section w/o lockdep
* @s: pointer to seqcount_t * @s: pointer to seqcount_t
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment