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: Ahmed S. Darwish <a.darwish@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20200827114044.11173-5-a.darwish@linutronix.de
This commit is contained in:
committed by
Peter Zijlstra
parent
80793c3471
commit
a690ed0735
@@ -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)
|
|||||||
|
|
||||||
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)
|
||||||
|
Reference in New Issue
Block a user