mirror of https://gitee.com/openkylin/linux.git
[hrtimer] Change resolution storage to ktime_t format
Change the storage format of the per base resolution to ktime_t to make it easier accessible in the hrtimers code. Change the resolution from (NSEC_PER_SEC/HZ) to TICK_NSEC as Roman pointed out. TICK_NSEC is closer to the real resolution. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
288867ec5c
commit
e2787630c1
|
@ -85,7 +85,7 @@ struct hrtimer_base {
|
|||
spinlock_t lock;
|
||||
struct rb_root active;
|
||||
struct rb_node *first;
|
||||
unsigned long resolution;
|
||||
ktime_t resolution;
|
||||
ktime_t (*get_time)(void);
|
||||
struct hrtimer *curr_timer;
|
||||
};
|
||||
|
|
|
@ -272,8 +272,8 @@ static inline u64 ktime_to_ns(const ktime_t kt)
|
|||
* idea of the (in)accuracy of timers. Timer values are rounded up to
|
||||
* this resolution values.
|
||||
*/
|
||||
#define KTIME_REALTIME_RES (NSEC_PER_SEC/HZ)
|
||||
#define KTIME_MONOTONIC_RES (NSEC_PER_SEC/HZ)
|
||||
#define KTIME_REALTIME_RES (ktime_t){ .tv64 = TICK_NSEC }
|
||||
#define KTIME_MONOTONIC_RES (ktime_t){ .tv64 = TICK_NSEC }
|
||||
|
||||
/* Get the monotonic time in timespec format: */
|
||||
extern void ktime_get_ts(struct timespec *ts);
|
||||
|
|
|
@ -518,9 +518,8 @@ int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp)
|
|||
{
|
||||
struct hrtimer_base *bases;
|
||||
|
||||
tp->tv_sec = 0;
|
||||
bases = per_cpu(hrtimer_bases, raw_smp_processor_id());
|
||||
tp->tv_nsec = bases[which_clock].resolution;
|
||||
*tp = ktime_to_timespec(bases[which_clock].resolution);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue