Commit a690ed07 authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Peter Zijlstra

time/sched_clock: Use seqcount_latch_t

Latch sequence counters have unique read and write APIs, and thus
seqcount_latch_t was recently introduced at seqlock.h.

Use that new data type instead of plain seqcount_t. This adds the
necessary type-safety and ensures only latching-safe seqcount APIs are
to be used.
Signed-off-by: default avatarAhmed S. Darwish <a.darwish@linutronix.de>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200827114044.11173-5-a.darwish@linutronix.de
parent 80793c34
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
* into a single 64-byte cache line. * into a single 64-byte cache line.
*/ */
struct clock_data { struct clock_data {
seqcount_t seq; seqcount_latch_t seq;
struct clock_read_data read_data[2]; struct clock_read_data read_data[2];
ktime_t wrap_kt; ktime_t wrap_kt;
unsigned long rate; unsigned long rate;
...@@ -76,7 +76,7 @@ struct clock_read_data *sched_clock_read_begin(unsigned int *seq) ...@@ -76,7 +76,7 @@ struct clock_read_data *sched_clock_read_begin(unsigned int *seq)
int sched_clock_read_retry(unsigned int seq) int sched_clock_read_retry(unsigned int seq)
{ {
return read_seqcount_retry(&cd.seq, seq); return read_seqcount_latch_retry(&cd.seq, seq);
} }
unsigned long long notrace sched_clock(void) unsigned long long notrace sched_clock(void)
......
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