Lines Matching refs:scd
151 struct sched_clock_data *scd = cpu_sdc(cpu); in sched_clock_init() local
153 scd->tick_raw = 0; in sched_clock_init()
154 scd->tick_gtod = ktime_now; in sched_clock_init()
155 scd->clock = ktime_now; in sched_clock_init()
195 static u64 sched_clock_local(struct sched_clock_data *scd) in sched_clock_local() argument
202 delta = now - scd->tick_raw; in sched_clock_local()
206 old_clock = scd->clock; in sched_clock_local()
214 clock = scd->tick_gtod + delta; in sched_clock_local()
215 min_clock = wrap_max(scd->tick_gtod, old_clock); in sched_clock_local()
216 max_clock = wrap_max(old_clock, scd->tick_gtod + TICK_NSEC); in sched_clock_local()
221 if (cmpxchg64(&scd->clock, old_clock, clock) != old_clock) in sched_clock_local()
227 static u64 sched_clock_remote(struct sched_clock_data *scd) in sched_clock_remote() argument
252 remote_clock = cmpxchg64(&scd->clock, 0, 0); in sched_clock_remote()
261 remote_clock = scd->clock; in sched_clock_remote()
271 ptr = &scd->clock; in sched_clock_remote()
296 struct sched_clock_data *scd; in sched_clock_cpu() local
306 scd = cpu_sdc(cpu); in sched_clock_cpu()
309 clock = sched_clock_remote(scd); in sched_clock_cpu()
311 clock = sched_clock_local(scd); in sched_clock_cpu()
319 struct sched_clock_data *scd; in sched_clock_tick() local
330 scd = this_scd(); in sched_clock_tick()
334 scd->tick_raw = now; in sched_clock_tick()
335 scd->tick_gtod = now_gtod; in sched_clock_tick()
336 sched_clock_local(scd); in sched_clock_tick()