Lines Matching refs:a
3 As of Xen 4.0, a new config option called tsc_mode may be specified
6 for Xen users and administrators that may need to select a non-default
28 per second per processor, we call this a "high-TSC-frequency"
36 we call this a "TSC-sensitive" app or OS; otherwise it is "TSC-resilient".
42 failure cases. As a result, unless proven otherwise, any app
66 worst-case performance degradation for a specific hardware environment.
82 If tsc_mode is left unspecified (or set to B<tsc_mode=0>), a hybrid
108 an "xl" command can be used by a privileged user of domain0. The
120 The x86 "timestamp counter", or TSC, is a 64-bit register on each
123 at a constant rate even if the processor changes frequency (for example,
126 so it is often used as a foundation for performance monitoring.
129 sometimes used as a random number or a unique sequence identifier,
130 such as to stamp transactions so they can be replayed in a specific
138 apps were ported from a uniprocessor to an SMP environment; as a result,
148 in all power states, even on multi-socket machines, and provide a
158 As a result of TSC's sordid history, two classes of applications use
163 We will refer to apps that might break if running on a TSC-unsafe
165 TSC but use it in a way that monotonicity and frequency invariance
170 a guest OS and all its currently running applications may be invisibly
173 synchronize TSC across a data center or even a pool of machines. As
174 a result, when run in a virtualized environment, rare and obscure
176 TSC-sensitive applications. Worse, if a guest OS moves from, for
177 example, a 3GHz
178 machine to a 1.5GHz machine, attempts by an OS/app to measure time
179 intervals with TSC may without notice be incorrect by a factor of two.
182 TSC register. The rdtscp instruction is a variant of rdtsc on recent
185 privileged software may set a cpuid bit to cause all rdtsc family
190 To provide a "safe" TSC, i.e. to ensure both TSC monotonicity and a
192 explicitly specified by a per-VM configuration option. TSC emulation is
195 the rdtsc instruction at a high frequency (e.g. more than about 10,000 times
200 "TSC-safeness" is not necessary) and highest performance is a
206 will be emulated. Once a virtual machine is save/restored or migrated,
215 even across migration is a requirement, application code can be specially
219 on top of Xen), and utilizes a variation of the rdtsc instruction
223 When a pvrdtscp-modified app is running on a processor that is both TSC-safe
227 running on a TSC-unsafe processor or a processor that doesn't support
242 might be encountered by a tsc_mode==0 domain after migration occurs,
243 or a tsc_mode==3 domain when it is running on TSC-unsafe hardware.
248 once per second in a guest, and the guest is saved when the TSC is 1000,
256 in a cpuid bit on the most recent x86 processors. If set, TSC invariance
257 ensures that the TSC is "safe", that is it will increment at a constant rate
261 TSC will be safe and continuously incremented at a fixed rate and thus
262 can be used as a system "clocksource".
265 version 2.6.30(?), to select TSC as a system clocksource. Once selected,
267 a virtualized environment, since it is not possible to synchronize TSC
268 across all the machines in a pool or data center, a migration may "break"
269 TSC as a usable clocksource; while time will not go backwards, it may
271 consequences. As a result, Xen can only expose the TSC Invariant bit
272 to a guest OS if it is certain that the domain will never migrate.
275 on a physical machine with "TSC Invariant", Linux 2.6.30+ will safely
281 to Xen, where Xen can "filter" the result. In a PV OS, all cpuid instructions
282 have been replaced by a paravirtualized equivalent of the cpuid instruction
283 ("pvcpuid") and also trap to Xen. But apps in a PV guest that use a
284 cpuid instruction execute it directly, without a trap to Xen. As a result,
287 a workaround exists as part of the PVRDTSCP tsc_mode for apps that
293 of time. This sophisticated algorithm obtains information from a memory
297 this shared page nor the vcpu information is available to a userland
302 As a result, as of 4.0, Xen provides capabilities for a userland app
310 and, when the domain is running on a physical machine that either
315 Xen also provides pvclock information via a "pvcpuid" instruction.
316 While this results in a slow trap, the information changes
318 has changed, which should be very rare relative to a high
328 As a result, a pvrdtscp-modified app has sufficient information
330 be used as a timestamp. And this can be done nearly as
331 fast as a native rdtsc instruction, much faster than emulation,
335 obtain a significant performance gain.
340 by guest rdtsc/p increasing in a different frequency than the host
343 If a HVM container in default TSC mode (tsc_mode=0) or PVRDTSCP mode
344 (tsc_mode=3) is created on a host that provides constant TSC, its