mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
1a2b85f1e2
Use the new api and associate the seqcounter to the jiffies_lock enabling lockdep support - although for this particular case the write-side locking and non-preemptibility are quite obvious. Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20201021190749.19363-1-dave@stgolabs.net
34 lines
939 B
C
34 lines
939 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _KERNEL_TIME_TIMEKEEPING_H
|
|
#define _KERNEL_TIME_TIMEKEEPING_H
|
|
/*
|
|
* Internal interfaces for kernel/time/
|
|
*/
|
|
extern ktime_t ktime_get_update_offsets_now(unsigned int *cwsseq,
|
|
ktime_t *offs_real,
|
|
ktime_t *offs_boot,
|
|
ktime_t *offs_tai);
|
|
|
|
extern int timekeeping_valid_for_hres(void);
|
|
extern u64 timekeeping_max_deferment(void);
|
|
extern void timekeeping_warp_clock(void);
|
|
extern int timekeeping_suspend(void);
|
|
extern void timekeeping_resume(void);
|
|
#ifdef CONFIG_GENERIC_SCHED_CLOCK
|
|
extern int sched_clock_suspend(void);
|
|
extern void sched_clock_resume(void);
|
|
#else
|
|
static inline int sched_clock_suspend(void) { return 0; }
|
|
static inline void sched_clock_resume(void) { }
|
|
#endif
|
|
|
|
extern void do_timer(unsigned long ticks);
|
|
extern void update_wall_time(void);
|
|
|
|
extern raw_spinlock_t jiffies_lock;
|
|
extern seqcount_raw_spinlock_t jiffies_seq;
|
|
|
|
#define CS_NAME_LEN 32
|
|
|
|
#endif
|