[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [RFC] Correct/fast timestamping in apps under Xen [4 of 4]: Virt-aware apps

Premise 4: Apps can become "virtualization aware"
in that they can access certain information directly
from Xen utilizing an OS-independent mechanism.
This information includes not only "Am I running
on Xen?" but also, for example, "Is TSC reliable
on this physical machine?", "Is rdtsc emulated
or native on this virtual machine?",  "What is
the current incarnation number for this virtual
machine?", "Is this virtual machine landlocked?",
"What are the pvclock parameters for this
virtual machine?", etc.

While I am proposing this change in the context of
correct/fast timestamping, many industry pundits
(including very recently Citrix's Simon Crosby)
have observed that this concept is inevitable
because, in many case, a hypervisor obviates the
need for an operating system.  OS advocates may
argue that an app should never circumvent the OS
as it makes the app non-portable.

Different mechanism can be discussed, e.g.
Userland hypercalls, userland-hypervisor shared
page, and "special" rdmsr instructions.  I like
the rdmsr because it is easy to implement and
useful for passing a small amount of information.
Over time more than one mechanism can evolve.

Note that this effectively adds an ABI between
the app layer and the hypervisor.  So some
planning should be employed to ensure that
the ABI can be easily extensible and backwards-
compatible essentially forever.  And since
this is an app layer ABI, it might make sense
to consider the possibility of standardization
across all hypervisors too (e.g. VMware, KVM,

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.