aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/time.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-07-12 18:30:26 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-07-12 18:30:26 +0100
commit4471167789e75e84c36a86e5b44e3dbb80cc2ce2 (patch)
treeec17758d2dc39189224cac2c0dad290fd7354780 /xen/arch/x86/time.c
parent7d343d0e53c881bb6b78db2bf29d584eee467bbf (diff)
downloadxen-4471167789e75e84c36a86e5b44e3dbb80cc2ce2.tar.gz
xen-4471167789e75e84c36a86e5b44e3dbb80cc2ce2.tar.bz2
xen-4471167789e75e84c36a86e5b44e3dbb80cc2ce2.zip
x86, pm: provide core/package cstate residencies
According to Intel 64 and IA32 Architectures SDM 3B Appendix B, Intel Nehalem/Westmere processors provide h/w MSR to report the core/package cstate residencies. Extend sysctl_get_pmstat interface to pass the core/package cstate residencies. Signed-off-by: Wei Gang <gang.wei@intel.com>
Diffstat (limited to 'xen/arch/x86/time.c')
-rw-r--r--xen/arch/x86/time.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 3a824ec516..8a08a53791 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -787,6 +787,13 @@ s_time_t get_s_time(void)
return now;
}
+uint64_t tsc_ticks2ns(uint64_t ticks)
+{
+ struct cpu_time *t = &this_cpu(cpu_time);
+
+ return scale_delta(ticks, &t->tsc_scale);
+}
+
/* Explicitly OR with 1 just in case version number gets out of sync. */
#define version_update_begin(v) (((v)+1)|1)
#define version_update_end(v) ((v)+1)