Commit e2787630 authored by Thomas Gleixner's avatar Thomas Gleixner

[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: default avatarThomas Gleixner <tglx@linutronix.de>
parent 288867ec
...@@ -85,7 +85,7 @@ struct hrtimer_base { ...@@ -85,7 +85,7 @@ struct hrtimer_base {
spinlock_t lock; spinlock_t lock;
struct rb_root active; struct rb_root active;
struct rb_node *first; struct rb_node *first;
unsigned long resolution; ktime_t resolution;
ktime_t (*get_time)(void); ktime_t (*get_time)(void);
struct hrtimer *curr_timer; struct hrtimer *curr_timer;
}; };
......
...@@ -272,8 +272,8 @@ static inline u64 ktime_to_ns(const ktime_t kt) ...@@ -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 * idea of the (in)accuracy of timers. Timer values are rounded up to
* this resolution values. * this resolution values.
*/ */
#define KTIME_REALTIME_RES (NSEC_PER_SEC/HZ) #define KTIME_REALTIME_RES (ktime_t){ .tv64 = TICK_NSEC }
#define KTIME_MONOTONIC_RES (NSEC_PER_SEC/HZ) #define KTIME_MONOTONIC_RES (ktime_t){ .tv64 = TICK_NSEC }
/* Get the monotonic time in timespec format: */ /* Get the monotonic time in timespec format: */
extern void ktime_get_ts(struct timespec *ts); extern void ktime_get_ts(struct timespec *ts);
......
...@@ -518,9 +518,8 @@ int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp) ...@@ -518,9 +518,8 @@ int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp)
{ {
struct hrtimer_base *bases; struct hrtimer_base *bases;
tp->tv_sec = 0;
bases = per_cpu(hrtimer_bases, raw_smp_processor_id()); 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; return 0;
} }
......
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