ia64/pv_ops/pv_time_ops: add sched_clock hook.
add sched_clock() hook to paravirtualize sched_clock(). ia64 sched_clock() is based on ar.itc which isn't stable on virtualized environment because vcpu may move around on pcpus. So it needs paravirtualization. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
committed by
Tony Luck
parent
496203b15b
commit
f927da1786
@@ -225,6 +225,8 @@ struct pv_time_ops {
|
||||
int (*do_steal_accounting)(unsigned long *new_itm);
|
||||
|
||||
void (*clocksource_resume)(void);
|
||||
|
||||
unsigned long long (*sched_clock)(void);
|
||||
};
|
||||
|
||||
extern struct pv_time_ops pv_time_ops;
|
||||
@@ -242,6 +244,11 @@ paravirt_do_steal_accounting(unsigned long *new_itm)
|
||||
return pv_time_ops.do_steal_accounting(new_itm);
|
||||
}
|
||||
|
||||
static inline unsigned long long paravirt_sched_clock(void)
|
||||
{
|
||||
return pv_time_ops.sched_clock();
|
||||
}
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#else
|
||||
|
Reference in New Issue
Block a user